From: Martin Hansson Date: January 12 2011 9:53am Subject: bzr push into mysql-trunk branch (martin.hansson:3486 to 3487) Bug#58207 List-Archive: http://lists.mysql.com/commits/128489 X-Bug: 58207 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0783471476==" --===============0783471476== MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline 3487 Martin Hansson 2011-01-12 [merge] Merge of fix for Bug#58207. modified: mysql-test/include/subquery.inc mysql-test/r/subquery_nomat_nosj.result mysql-test/r/subquery_none.result sql/sql_select.cc 3486 Dmitry Shulga 2011-01-11 [merge] Merge of mysql-5.5 into mysql-trunk. modified: sql/net_serv.cc === modified file 'mysql-test/include/subquery.inc' --- a/mysql-test/include/subquery.inc 2010-11-23 15:18:44 +0000 +++ b/mysql-test/include/subquery.inc 2011-01-12 09:52:10 +0000 @@ -5141,3 +5141,12 @@ WHERE ( 1, 2 ) IN ( SELECT SUBQUERY1_t1. ; drop table t1; +--echo # +--echo # Bug#58207: invalid memory reads when using default column value and +--echo # tmptable needed +--echo # +CREATE TABLE t(a VARCHAR(245) DEFAULT +'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'); +INSERT INTO t VALUES (''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''); +SELECT * FROM (SELECT default(a) FROM t GROUP BY a) d; +DROP TABLE t; === modified file 'mysql-test/r/subquery_nomat_nosj.result' --- a/mysql-test/r/subquery_nomat_nosj.result 2010-11-30 13:55:22 +0000 +++ b/mysql-test/r/subquery_nomat_nosj.result 2011-01-12 09:52:10 +0000 @@ -6300,4 +6300,15 @@ SUBQUERY1_t1.col_varchar) ) ) ; pk drop table t1; +# +# Bug#58207: invalid memory reads when using default column value and +# tmptable needed +# +CREATE TABLE t(a VARCHAR(245) DEFAULT +'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'); +INSERT INTO t VALUES (''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''); +SELECT * FROM (SELECT default(a) FROM t GROUP BY a) d; +default(a) +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +DROP TABLE t; set optimizer_switch=default; === modified file 'mysql-test/r/subquery_none.result' --- a/mysql-test/r/subquery_none.result 2010-11-29 13:30:18 +0000 +++ b/mysql-test/r/subquery_none.result 2011-01-12 09:52:10 +0000 @@ -6299,4 +6299,15 @@ SUBQUERY1_t1.col_varchar) ) ) ; pk drop table t1; +# +# Bug#58207: invalid memory reads when using default column value and +# tmptable needed +# +CREATE TABLE t(a VARCHAR(245) DEFAULT +'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'); +INSERT INTO t VALUES (''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''); +SELECT * FROM (SELECT default(a) FROM t GROUP BY a) d; +default(a) +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +DROP TABLE t; set optimizer_switch=default; === modified file 'sql/sql_select.cc' --- a/sql/sql_select.cc 2011-01-11 11:45:02 +0000 +++ b/sql/sql_select.cc 2011-01-12 09:52:10 +0000 @@ -15084,7 +15084,12 @@ Field *create_tmp_field(THD *thd, TABLE convert_blob_length); if (orig_type == Item::REF_ITEM && orig_modify) ((Item_ref*)orig_item)->set_result_field(result); - if (field->field->eq_def(result)) + /* + Fields that are used as arguments to the DEFAULT() function already have + their data pointers set to the default value during name resulotion. See + Item_default_value::fix_fields. + */ + if (orig_type != Item::DEFAULT_VALUE_ITEM && field->field->eq_def(result)) *default_field= field->field; return result; } --===============0783471476== MIME-Version: 1.0 Content-Type: text/bzr-bundle; charset="us-ascii"; name="bzr/martin.hansson@stripped" Content-Transfer-Encoding: 7bit Content-Disposition: inline # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: martin.hansson@stripped\ # xz9u5ivl9saryjz0 # target_branch: file:///data0/martin/bzrroot/bug58207/t/ # testament_sha1: cdf5d486d592b05a919863d46c8df3530958a7a4 # timestamp: 2011-01-12 10:53:56 +0100 # source_branch: file:///data0/martin/bzrroot/bug58207/5.5/ # base_revision_id: dmitry.shulga@stripped\ # uvff16i445mk2spu # # Begin bundle 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 --===============0783471476==--