diff options
author | Julius Goryavsky <julius.goryavsky@mariadb.com> | 2021-12-26 12:51:04 +0100 |
---|---|---|
committer | Julius Goryavsky <julius.goryavsky@mariadb.com> | 2021-12-26 12:51:04 +0100 |
commit | 55bb933a880bf048ebc4ce6c6e239dcc8268958d (patch) | |
tree | a3a24c56995df41758205f8f6a4e3cbccf793a19 /sql/sql_tvc.cc | |
parent | be20b3b03f9c522d17b3454214981506549063eb (diff) | |
parent | 681b7784b6bb3d735d0a745f5891844f43becc90 (diff) | |
download | mariadb-git-55bb933a880bf048ebc4ce6c6e239dcc8268958d.tar.gz |
Merge branch 10.4 into 10.5st-10.5-julius
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 6984fdd6bcf..9b9b07d55cd 100644 --- a/sql/sql_tvc.cc +++ b/sql/sql_tvc.cc @@ -570,7 +570,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++) { @@ -592,7 +595,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; } |