summaryrefslogtreecommitdiff
path: root/sql/sql_base.h
diff options
context:
space:
mode:
authorOleksandr Byelkin <sanja@mariadb.com>2017-02-18 17:47:31 +0100
committerOleksandr Byelkin <sanja@mariadb.com>2017-10-13 19:32:38 +0200
commit235b68299bc112f9cb7be97af8d01bf904919a6b (patch)
treed108e57b12187165b353220c85e088c68df2b005 /sql/sql_base.h
parent2bab29ebba7a641d43a98737fd1c160971357cd4 (diff)
downloadmariadb-git-235b68299bc112f9cb7be97af8d01bf904919a6b.tar.gz
MDEV-9619: Assertion `null_ref_table' failed in virtual table_map Item_direct_view_ref::used_tables() const on 2nd execution of PS
Refer left expression indirectly in case it changes from execution to execution.
Diffstat (limited to 'sql/sql_base.h')
-rw-r--r--sql/sql_base.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/sql/sql_base.h b/sql/sql_base.h
index d49554d5473..0cde933afb8 100644
--- a/sql/sql_base.h
+++ b/sql/sql_base.h
@@ -216,7 +216,8 @@ int setup_wild(THD *thd, TABLE_LIST *tables, List<Item> &fields,
List<Item> *sum_func_list, uint wild_num);
bool setup_fields(THD *thd, Item** ref_pointer_array,
List<Item> &item, enum_mark_columns mark_used_columns,
- List<Item> *sum_func_list, bool allow_sum_func);
+ List<Item> *sum_func_list, List<Item> *pre_fix,
+ bool allow_sum_func);
void unfix_fields(List<Item> &items);
bool fill_record(THD *thd, Field **field, List<Item> &values,
bool ignore_errors, bool use_value);
@@ -407,7 +408,7 @@ inline bool setup_fields_with_no_wrap(THD *thd, Item **ref_pointer_array,
bool res;
thd->lex->select_lex.no_wrap_view_item= TRUE;
res= setup_fields(thd, ref_pointer_array, item, mark_used_columns,
- sum_func_list, allow_sum_func);
+ sum_func_list, NULL, allow_sum_func);
thd->lex->select_lex.no_wrap_view_item= FALSE;
return res;
}