diff --git a/sql/sql_optimizer.cc b/sql/sql_optimizer.cc index 25f969813736..e3b11a9563db 100644 --- a/sql/sql_optimizer.cc +++ b/sql/sql_optimizer.cc @@ -4798,7 +4798,7 @@ bool JOIN::update_equalities_for_sjm() uint fieldno= 0; while ((old= it++)) { - if (old->real_item()->eq(keyuse->val, false)) + if (old->real_item()->eq(keyuse->val->real_item(), false)) { /* Replace the expression selected from the subquery with the diff --git a/sql/sql_select.cc b/sql/sql_select.cc index 0fefea2fbe53..74f4e942d69c 100644 --- a/sql/sql_select.cc +++ b/sql/sql_select.cc @@ -1199,7 +1199,7 @@ void calc_length_and_keyparts(Key_use *keyuse, JOIN_TAB *tab, const uint key, } keyuse++; } while (keyuse->table_ref == tab->table_ref && keyuse->key == key); - DBUG_ASSERT(length > 0 && keyparts != 0); + DBUG_ASSERT(keyparts > 0); *length_out= length; *keyparts_out= keyparts; }