diff options
author | Marko Mäkelä <marko.makela@mariadb.com> | 2022-01-04 09:26:38 +0200 |
---|---|---|
committer | Marko Mäkelä <marko.makela@mariadb.com> | 2022-01-04 09:26:38 +0200 |
commit | 3f5726768f17342fd6dfec1be1e4d71814bc8564 (patch) | |
tree | cc85210cf84b11f0543d9a20bcb78f40cb32c140 /sql/sql_tvc.cc | |
parent | c410f7aaea400eb98f13552725b685a2513aafcb (diff) | |
parent | 4c3ad24413f234599eda27f4958dd3ff21df3203 (diff) | |
download | mariadb-git-3f5726768f17342fd6dfec1be1e4d71814bc8564.tar.gz |
Merge 10.5 into 10.6
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; } |