summaryrefslogtreecommitdiff
path: root/sql/item_row.cc
diff options
context:
space:
mode:
authorIgor Babaev <igor@askmonty.org>2016-08-31 16:16:54 -0700
committerIgor Babaev <igor@askmonty.org>2016-08-31 16:16:54 -0700
commit3fb4f9bb93868ce5c7e385d0545c00755d8e23bd (patch)
tree8ea1c005920b2ef9d7c7f1114c5433c728751b72 /sql/item_row.cc
parent670760d504bebdf542df890f4d40f4cd3ff7a2c8 (diff)
parenteb2c1474752a5f743db638d5b06612c9e3f07f74 (diff)
downloadmariadb-git-3fb4f9bb93868ce5c7e385d0545c00755d8e23bd.tar.gz
Merge branch '10.2-mdev9197-cons' of github.com:shagalla/server
into branch 10.2-mdev9197.
Diffstat (limited to 'sql/item_row.cc')
-rw-r--r--sql/item_row.cc18
1 files changed, 18 insertions, 0 deletions
diff --git a/sql/item_row.cc b/sql/item_row.cc
index a17d2507547..ddbb0736d54 100644
--- a/sql/item_row.cc
+++ b/sql/item_row.cc
@@ -160,3 +160,21 @@ void Item_row::bring_value()
for (uint i= 0; i < arg_count; i++)
args[i]->bring_value();
}
+
+
+Item* Item_row::build_clone(THD *thd, MEM_ROOT *mem_root)
+{
+ Item_row *copy= (Item_row *) get_copy(thd, mem_root);
+ if (!copy)
+ return 0;
+ copy->args= (Item**) alloc_root(mem_root, sizeof(Item*) * arg_count);
+ for (uint i= 0; i < arg_count; i++)
+ {
+ Item *arg_clone= args[i]->build_clone(thd, mem_root);
+ if (!arg_clone)
+ return 0;
+ copy->args[i]= arg_clone;
+ }
+ return copy;
+}
+