diff options
author | Sergei Golubchik <serg@mariadb.org> | 2015-06-11 20:20:35 +0200 |
---|---|---|
committer | Sergei Golubchik <serg@mariadb.org> | 2015-06-11 20:20:35 +0200 |
commit | 810cf362eae28d4a096e0acea7efa67dd32aa05b (patch) | |
tree | 4f7b2f858e8a57022e790bcac6d88b5e3451ee0f /sql/item_sum.cc | |
parent | a99efc00a68fe2406343e63b67fc4ea58bed345a (diff) | |
parent | d199a0ffb0aac86881ea2db7dd78bc07b438dc67 (diff) | |
download | mariadb-git-810cf362eae28d4a096e0acea7efa67dd32aa05b.tar.gz |
Merge branch '5.5' into 10.0
Diffstat (limited to 'sql/item_sum.cc')
-rw-r--r-- | sql/item_sum.cc | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/sql/item_sum.cc b/sql/item_sum.cc index 21f14ae8435..1c5682417a5 100644 --- a/sql/item_sum.cc +++ b/sql/item_sum.cc @@ -1,5 +1,5 @@ -/* Copyright (c) 2000, 2013, Oracle and/or its affiliates. - Copyright (c) 2008, 2014, SkySQL Ab. +/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. + Copyright (c) 2008, 2015, MariaDB This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -3311,7 +3311,19 @@ void Item_func_group_concat::cleanup() } DBUG_ASSERT(tree == 0); } - + /* + As the ORDER structures pointed to by the elements of the + 'order' array may be modified in find_order_in_list() called + from Item_func_group_concat::setup() to point to runtime + created objects, we need to reset them back to the original + arguments of the function. + */ + ORDER **order_ptr= order; + for (uint i= 0; i < arg_count_order; i++) + { + (*order_ptr)->item= &args[arg_count_field + i]; + order_ptr++; + } DBUG_VOID_RETURN; } |