diff options
author | Alexander Barkov <bar@mariadb.org> | 2017-11-09 14:05:53 +0400 |
---|---|---|
committer | Alexander Barkov <bar@mariadb.org> | 2017-11-09 14:05:53 +0400 |
commit | 0fdb0bdf2769dc4e69d46b342200d3fd333fa3a5 (patch) | |
tree | 542689300b4ebd90eed162a54870fc1a57261eca /sql/opt_subselect.cc | |
parent | 644ffdeb9290a5fc861ecd286a5af4388b4339ad (diff) | |
parent | c2c93fc6e460fd32b6ef179686c2b3b2045f75eb (diff) | |
download | mariadb-git-0fdb0bdf2769dc4e69d46b342200d3fd333fa3a5.tar.gz |
Merge remote-tracking branch 'origin/10.0' into 10.1
Diffstat (limited to 'sql/opt_subselect.cc')
-rw-r--r-- | sql/opt_subselect.cc | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/sql/opt_subselect.cc b/sql/opt_subselect.cc index 26e854cfbfd..138af3f14b3 100644 --- a/sql/opt_subselect.cc +++ b/sql/opt_subselect.cc @@ -1665,7 +1665,7 @@ static bool convert_subq_to_sj(JOIN *parent_join, Item_in_subselect *subq_pred) { tl->jtbm_table_no= table_no; Item *dummy= tl->jtbm_subselect; - tl->jtbm_subselect->fix_after_pullout(parent_lex, &dummy); + tl->jtbm_subselect->fix_after_pullout(parent_lex, &dummy, true); DBUG_ASSERT(dummy == tl->jtbm_subselect); } SELECT_LEX *old_sl= tl->select_lex; @@ -1806,7 +1806,8 @@ static bool convert_subq_to_sj(JOIN *parent_join, Item_in_subselect *subq_pred) Walk through sj nest's WHERE and ON expressions and call item->fix_table_changes() for all items. */ - sj_nest->sj_on_expr->fix_after_pullout(parent_lex, &sj_nest->sj_on_expr); + sj_nest->sj_on_expr->fix_after_pullout(parent_lex, &sj_nest->sj_on_expr, + TRUE); fix_list_after_tbl_changes(parent_lex, &sj_nest->nested_join->join_list); @@ -1965,7 +1966,7 @@ static bool convert_subq_to_jtbm(JOIN *parent_join, DBUG_ASSERT(parent_join->table_count < MAX_TABLES); Item *conds= hash_sj_engine->semi_join_conds; - conds->fix_after_pullout(parent_lex, &conds); + conds->fix_after_pullout(parent_lex, &conds, TRUE); DBUG_EXECUTE("where", print_where(conds,"SJ-EXPR", QT_ORDINARY);); @@ -2017,7 +2018,7 @@ void fix_list_after_tbl_changes(SELECT_LEX *new_parent, List<TABLE_LIST> *tlist) while ((table= it++)) { if (table->on_expr) - table->on_expr->fix_after_pullout(new_parent, &table->on_expr); + table->on_expr->fix_after_pullout(new_parent, &table->on_expr, TRUE); if (table->nested_join) fix_list_after_tbl_changes(new_parent, &table->nested_join->join_list); } |