diff options
author | Sergei Golubchik <sergii@pisem.net> | 2013-11-13 12:43:39 +0100 |
---|---|---|
committer | Sergei Golubchik <sergii@pisem.net> | 2013-11-13 12:43:39 +0100 |
commit | b468cd47493cb687ce38aad01ea19f719cd8491f (patch) | |
tree | 59cb0a5ab5ca566c6ae71c436588746941bbfba3 /sql/opt_subselect.cc | |
parent | 441192bfb0e620b49cb58eaef96132151531fc54 (diff) | |
download | mariadb-git-b468cd47493cb687ce38aad01ea19f719cd8491f.tar.gz |
MDEV-5284 Assertion `!(*expr)->fixed' fails in replace_where_subcondition with IN suquery
Diffstat (limited to 'sql/opt_subselect.cc')
-rw-r--r-- | sql/opt_subselect.cc | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/sql/opt_subselect.cc b/sql/opt_subselect.cc index c5f692f8128..74bb2875638 100644 --- a/sql/opt_subselect.cc +++ b/sql/opt_subselect.cc @@ -420,9 +420,7 @@ Currently, solution #2 is implemented. static bool subquery_types_allow_materialization(Item_in_subselect *in_subs); -static bool replace_where_subcondition(JOIN *join, Item **expr, - Item *old_cond, Item *new_cond, - bool do_fix_fields); +static bool replace_where_subcondition(JOIN *, Item **, Item *, Item *, bool); static int subq_sj_candidate_cmp(Item_in_subselect* el1, Item_in_subselect* el2, void *arg); static bool convert_subq_to_sj(JOIN *parent_join, Item_in_subselect *subq_pred); @@ -1293,7 +1291,7 @@ static bool replace_where_subcondition(JOIN *join, Item **expr, } else if (item->type() == Item::COND_ITEM) { - DBUG_ASSERT(!(*expr)->fixed); + DBUG_ASSERT(!do_fix_fields || !(*expr)->fixed); replace_where_subcondition(join, li.ref(), old_cond, new_cond, do_fix_fields); |