diff options
Diffstat (limited to 'sql/item_cmpfunc.cc')
-rw-r--r-- | sql/item_cmpfunc.cc | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/sql/item_cmpfunc.cc b/sql/item_cmpfunc.cc index e5544bc7bc2..923bbccde24 100644 --- a/sql/item_cmpfunc.cc +++ b/sql/item_cmpfunc.cc @@ -37,10 +37,16 @@ longlong Item_func_not::val_int() return !null_value && value == 0 ? 1 : 0; } +/* + Convert a constant expression or string to an integer. + This is done when comparing DATE's of different formats and + also when comparing bigint to strings (in which case the string + is converted once to a bigint). +*/ static bool convert_constant_item(Field *field, Item **item) { - if ((*item)->const_item()) + if ((*item)->const_item() && (*item)->type() != Item::INT_ITEM) { if (!(*item)->save_in_field(field) && !((*item)->null_value)) |