summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorunknown <holyfoot@mysql.com>2006-03-02 12:34:05 +0400
committerunknown <holyfoot@mysql.com>2006-03-02 12:34:05 +0400
commit306621137a58f9b915556163be3e24b3ca3809e0 (patch)
tree38d7db7ac60f42d8ae9bd191987f9db82c5bb4dd /sql
parent5af68d301d205fad8c2f87a14db75b7a1dd10365 (diff)
parentb17bb278f760bdd646192eb6bff51ea5ad5c3975 (diff)
downloadmariadb-git-306621137a58f9b915556163be3e24b3ca3809e0.tar.gz
Merge bk@192.168.21.1:mysql-5.0
into mysql.com:/home/hf/work/mysql-5.0.9088
Diffstat (limited to 'sql')
-rw-r--r--sql/item.h5
-rw-r--r--sql/item_cmpfunc.cc3
2 files changed, 5 insertions, 3 deletions
diff --git a/sql/item.h b/sql/item.h
index 2029658d476..a859b067632 100644
--- a/sql/item.h
+++ b/sql/item.h
@@ -1887,9 +1887,10 @@ class Item_int_with_ref :public Item_int
{
Item *ref;
public:
- Item_int_with_ref(longlong i, Item *ref_arg) :Item_int(i), ref(ref_arg)
+ Item_int_with_ref(longlong i, Item *ref_arg, my_bool unsigned_arg) :
+ Item_int(i), ref(ref_arg)
{
- unsigned_flag= ref_arg->unsigned_flag;
+ unsigned_flag= unsigned_arg;
}
int save_in_field(Field *field, bool no_conversions)
{
diff --git a/sql/item_cmpfunc.cc b/sql/item_cmpfunc.cc
index d812ce913c5..7ba8a536ac7 100644
--- a/sql/item_cmpfunc.cc
+++ b/sql/item_cmpfunc.cc
@@ -216,7 +216,8 @@ static bool convert_constant_item(THD *thd, Field *field, Item **item)
field->table->in_use->variables.sql_mode|= MODE_INVALID_DATES;
if (!(*item)->save_in_field(field, 1) && !((*item)->null_value))
{
- Item *tmp=new Item_int_with_ref(field->val_int(), *item);
+ Item *tmp=new Item_int_with_ref(field->val_int(), *item,
+ test(field->flags & UNSIGNED_FLAG));
field->table->in_use->variables.sql_mode= orig_sql_mode;
if (tmp)
thd->change_item_tree(item, tmp);