diff options
author | Marko Mäkelä <marko.makela@mariadb.com> | 2022-01-04 10:30:45 +0200 |
---|---|---|
committer | Marko Mäkelä <marko.makela@mariadb.com> | 2022-01-04 10:30:45 +0200 |
commit | daf4fa5238a67fcf47075721d86d4348adab687b (patch) | |
tree | fff85b8f2e11607c93d806e787475ad82f5055f6 /sql/sql_tvc.cc | |
parent | 756568f26c6a23c537f4d93ff00f485c6291c92e (diff) | |
parent | 7dfaded9625e832fade4ef1678bcb21c445dad2b (diff) | |
download | mariadb-git-st-10.8-merge.tar.gz |
Merge 10.7 into 10.8st-10.8-merge
Diffstat (limited to 'sql/sql_tvc.cc')
-rw-r--r-- | sql/sql_tvc.cc | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/sql/sql_tvc.cc b/sql/sql_tvc.cc index 49f319b3856..bdaf6829fbd 100644 --- a/sql/sql_tvc.cc +++ b/sql/sql_tvc.cc @@ -571,7 +571,10 @@ bool Item_func_in::create_value_list_for_tvc(THD *thd, if (is_list_of_rows) { - Item_row *row_list= (Item_row *)(args[i]); + Item_row *row_list= (Item_row *)(args[i]->build_clone(thd)); + + if (!row_list) + return true; for (uint j=0; j < row_list->cols(); j++) { @@ -593,7 +596,8 @@ bool Item_func_in::create_value_list_for_tvc(THD *thd, sprintf(col_name, "_col_%i", 1); args[i]->set_name(thd, col_name, strlen(col_name), thd->charset()); } - if (tvc_value->push_back(args[i]->real_item())) + Item *arg_clone= args[i]->build_clone(thd); + if (!arg_clone || tvc_value->push_back(arg_clone)) return true; } |