diff --git a/sql/item_cmpfunc.cc b/sql/item_cmpfunc.cc index 0966ab91c45..b503b32e83c 100644 --- a/sql/item_cmpfunc.cc +++ b/sql/item_cmpfunc.cc @@ -5803,7 +5803,9 @@ void Item_equal::add_const(Item *c, Item *f) func->quick_fix_field(); cond_false= !func->val_int(); } - if (cond_false) + if (with_const && equal_items.elements == 1) + cond_true= TRUE; + if (cond_false || cond_true) const_item_cache= 1; } @@ -6057,9 +6059,6 @@ void Item_equal::update_const() { it.remove(); add_const(item); - if (equal_items.elements == 1) - cond_true= TRUE; - update_used_tables(); } } }