diff options
author | Igor Babaev <igor@askmonty.org> | 2016-08-31 16:16:54 -0700 |
---|---|---|
committer | Igor Babaev <igor@askmonty.org> | 2016-08-31 16:16:54 -0700 |
commit | 3fb4f9bb93868ce5c7e385d0545c00755d8e23bd (patch) | |
tree | 8ea1c005920b2ef9d7c7f1114c5433c728751b72 /sql/item_row.cc | |
parent | 670760d504bebdf542df890f4d40f4cd3ff7a2c8 (diff) | |
parent | eb2c1474752a5f743db638d5b06612c9e3f07f74 (diff) | |
download | mariadb-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.cc | 18 |
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; +} + |