bug #26225 Engine condition pushdown doesn't work with prepare statements...

bug #26225  Engine condition pushdown doesn't work with prepare statements (ps_7ndb): ensure that query plan for prepared statement is analyzed correctly
parent 2d0bd82a
...@@ -7058,7 +7058,7 @@ void ndb_serialize_cond(const Item *item, void *arg) ...@@ -7058,7 +7058,7 @@ void ndb_serialize_cond(const Item *item, void *arg)
Check that the field is part of the table of the handler Check that the field is part of the table of the handler
instance and that we expect a field with of this result type. instance and that we expect a field with of this result type.
*/ */
if (context->table == field->table) if (context->table->s == field->table->s)
{ {
const NDBTAB *tab= (const NDBTAB *) context->ndb_table; const NDBTAB *tab= (const NDBTAB *) context->ndb_table;
DBUG_PRINT("info", ("FIELD_ITEM")); DBUG_PRINT("info", ("FIELD_ITEM"));
......
...@@ -231,6 +231,8 @@ void Item_func::traverse_cond(Cond_traverser traverser, ...@@ -231,6 +231,8 @@ void Item_func::traverse_cond(Cond_traverser traverser,
(*traverser)(this, argument); (*traverser)(this, argument);
} }
} }
else
(*traverser)(this, argument);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment