From: Sergey Glukhov Date: December 13 2010 10:39am Subject: bzr commit into mysql-5.1-bugteam branch (sergey.glukhov:3517) Bug#58396 List-Archive: http://lists.mysql.com/commits/126611 X-Bug: 58396 Message-Id: <201012131049.oBDAnq7l018541@rcsinet13.oracle.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============6253222683072918839==" --===============6253222683072918839== MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline #At file:///home/gluh/MySQL/mysql-5.1-bugteam/ based on revid:davi.arnaut@stripped 3517 Sergey Glukhov 2010-12-13 Bug#58396 group_concat and explain extended are still crashy Explain fails at fix_fields stage and some items are left unfixed, particulary Item_group_concat. Item_group_concat::orig_args field is uninitialized in this case and Item_group_concat::print call leads to crash. The fix: move the initialization of Item_group_concat::orig_args into constructor. @ mysql-test/r/func_gconcat.result test case @ mysql-test/t/func_gconcat.test test case @ sql/item_sum.cc move the initialization of Item_group_concat::orig_args into constructor. modified: mysql-test/r/func_gconcat.result mysql-test/t/func_gconcat.test sql/item_sum.cc === modified file 'mysql-test/r/func_gconcat.result' --- a/mysql-test/r/func_gconcat.result 2010-10-29 07:44:32 +0000 +++ b/mysql-test/r/func_gconcat.result 2010-12-13 10:39:26 +0000 @@ -1037,4 +1037,16 @@ INSERT INTO t1 values (0),(0); SELECT POLYGON((SELECT 1 FROM (SELECT 1 IN (GROUP_CONCAT(t1.f1)) FROM t1, t1 t GROUP BY t.f1 ) d)); ERROR 22007: Illegal non geometric '(select 1 from (select (1 = group_concat(`test`.`t1`.`f1` separator ',')) AS `1 IN (GROUP_CONCAT(t1.f1))` from `test`.`t1` join `test`.`t1` `t` group by `t`.`f1`) `d`)' value found during parsing DROP TABLE t1; +# +# Bug#58396 group_concat and explain extended are still crashy +# +CREATE TABLE t1(a INT); +EXPLAIN EXTENDED SELECT UPDATEXML('1', a, '1') +FROM t1 ORDER BY (SELECT GROUP_CONCAT(1) FROM t1); +ERROR HY000: Only constant XPATH queries are supported +SHOW WARNINGS; +Level Code Message +Error 1105 Only constant XPATH queries are supported +Note 1003 select updatexml('1',`test`.`t1`.`a`,'1') AS `UPDATEXML('1', a, '1')` from `test`.`t1` order by (select group_concat(1 separator ',') from `test`.`t1`) +DROP TABLE t1; End of 5.1 tests === modified file 'mysql-test/t/func_gconcat.test' --- a/mysql-test/t/func_gconcat.test 2010-11-01 06:47:57 +0000 +++ b/mysql-test/t/func_gconcat.test 2010-12-13 10:39:26 +0000 @@ -746,4 +746,15 @@ SELECT POLYGON((SELECT 1 FROM (SELECT 1 --enable_ps_protocol DROP TABLE t1; +--echo # +--echo # Bug#58396 group_concat and explain extended are still crashy +--echo # + +CREATE TABLE t1(a INT); +--error ER_UNKNOWN_ERROR +EXPLAIN EXTENDED SELECT UPDATEXML('1', a, '1') +FROM t1 ORDER BY (SELECT GROUP_CONCAT(1) FROM t1); +SHOW WARNINGS; +DROP TABLE t1; + --echo End of 5.1 tests === modified file 'sql/item_sum.cc' --- a/sql/item_sum.cc 2010-10-29 07:44:32 +0000 +++ b/sql/item_sum.cc 2010-12-13 10:39:26 +0000 @@ -3003,6 +3003,7 @@ Item_func_group_concat(Name_resolution_c order_item->item= arg_ptr++; } } + memcpy(orig_args, args, sizeof(Item*) * arg_count); } @@ -3233,7 +3234,6 @@ Item_func_group_concat::fix_fields(THD * if (check_sum_func(thd, ref)) return TRUE; - memcpy (orig_args, args, sizeof (Item *) * arg_count); fixed= 1; return FALSE; } --===============6253222683072918839== MIME-Version: 1.0 Content-Type: text/bzr-bundle; charset="us-ascii"; name="bzr/sergey.glukhov@stripped" Content-Transfer-Encoding: 7bit Content-Disposition: inline # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: sergey.glukhov@stripped\ # okypkn10adeeyns8 # target_branch: file:///home/gluh/MySQL/mysql-5.1-bugteam/ # testament_sha1: 84f9eed42537d9d828a7a666594e3f8ed636e6d0 # timestamp: 2010-12-13 13:39:33 +0300 # base_revision_id: davi.arnaut@stripped\ # s49dstok48oy585o # # Begin bundle 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 usC108jO8zV0vuN9DsP/F3JFOFCQ2ZsEuA== --===============6253222683072918839==--