From: Evgeny Potemkin Date: November 3 2009 1:04pm Subject: bzr push into mysql-6.0-codebase-bugfixing branch (epotemkin:3694 to 3695) Bug#42742 List-Archive: http://lists.mysql.com/commits/89132 X-Bug: 42742 Message-Id: <0KSJ001SZAZ3YXC0@fe-emea-10.sun.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="Boundary_(ID_UEe+3SgX6rFRR3LlkagIOg)" --Boundary_(ID_UEe+3SgX6rFRR3LlkagIOg) MIME-version: 1.0 Content-type: text/plain; CHARSET=US-ASCII Content-transfer-encoding: 7BIT Content-disposition: inline 3695 Evgeny Potemkin 2009-11-03 [merge] Auto-merged fix for the bug#42742. modified: mysql-test/r/subselect_sj2.result mysql-test/r/subselect_sj2_jcl6.result mysql-test/t/subselect_sj2.test sql/sql_select.cc 3694 Vladislav Vaintroub 2009-11-03 [merge] Merge from next-mr-bugfixing (manual). modified: client/mysqlbinlog.cc client/mysqltest.cc include/violite.h mysql-test/lib/My/ConfigFactory.pm sql-common/client.c sql/mysqld.cc storage/mysql_storage_engine.cmake tests/mysql_client_test.c vio/vio.c vio/vio_priv.h vio/viosocket.c === modified file 'mysql-test/r/subselect_sj2.result' --- a/mysql-test/r/subselect_sj2.result 2009-03-21 15:31:38 +0000 +++ b/mysql-test/r/subselect_sj2.result 2009-10-22 10:45:44 +0000 @@ -689,3 +689,19 @@ explain select 1 from t2 where c2 = any id select_type table type possible_keys key key_len ref rows Extra 1 PRIMARY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables drop table t1, t2; +# +# BUG#42742: crash in setup_sj_materialization, Copy_field::set +# +create table t3 ( c1 year) engine=innodb; +insert into t3 values (2135),(2142); +create table t2 (c1 tinytext,c2 text,c6 timestamp) engine=innodb; +# The following must not crash, EXPLAIN should show one SJ strategy, not a mix: +explain select 1 from t2 where +c2 in (select 1 from t3, t2) and +c1 in (select convert(c6,char(1)) from t2); +id select_type table type possible_keys key key_len ref rows Extra +1 PRIMARY t2 ALL NULL NULL NULL NULL 1 Using where +1 PRIMARY t2 ALL NULL NULL NULL NULL 1 +1 PRIMARY t2 ALL NULL NULL NULL NULL 1 Using where; Using join buffer +1 PRIMARY t3 ALL NULL NULL NULL NULL 2 FirstMatch(t2); Using join buffer +drop table t2, t3; === modified file 'mysql-test/r/subselect_sj2_jcl6.result' --- a/mysql-test/r/subselect_sj2_jcl6.result 2009-06-19 09:12:06 +0000 +++ b/mysql-test/r/subselect_sj2_jcl6.result 2009-10-22 10:45:44 +0000 @@ -693,6 +693,22 @@ explain select 1 from t2 where c2 = any id select_type table type possible_keys key key_len ref rows Extra 1 PRIMARY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables drop table t1, t2; +# +# BUG#42742: crash in setup_sj_materialization, Copy_field::set +# +create table t3 ( c1 year) engine=innodb; +insert into t3 values (2135),(2142); +create table t2 (c1 tinytext,c2 text,c6 timestamp) engine=innodb; +# The following must not crash, EXPLAIN should show one SJ strategy, not a mix: +explain select 1 from t2 where +c2 in (select 1 from t3, t2) and +c1 in (select convert(c6,char(1)) from t2); +id select_type table type possible_keys key key_len ref rows Extra +1 PRIMARY t2 ALL NULL NULL NULL NULL 1 Using where +1 PRIMARY t2 ALL NULL NULL NULL NULL 1 Using join buffer +1 PRIMARY t2 ALL NULL NULL NULL NULL 1 Using where; Using join buffer +1 PRIMARY t3 ALL NULL NULL NULL NULL 2 FirstMatch(t2); Using join buffer +drop table t2, t3; set join_cache_level=default; show variables like 'join_cache_level'; Variable_name Value === modified file 'mysql-test/t/subselect_sj2.test' --- a/mysql-test/t/subselect_sj2.test 2009-03-21 15:31:38 +0000 +++ b/mysql-test/t/subselect_sj2.test 2009-10-22 10:45:44 +0000 @@ -872,3 +872,15 @@ create table t2 (c2 double) engine=innod explain select 1 from t2 where c2 = any (select log10(null) from t1 where c6 best_positions[first].n_sj_tables; for (uint i= first; i < i_end; i++) + { + if (i != first) + join->best_positions[i].sj_strategy= SJ_OPT_NONE; handled_tabs |= join->best_positions[i].table->table->map; + } if (tablenr != first) pos->sj_strategy= SJ_OPT_NONE; --Boundary_(ID_UEe+3SgX6rFRR3LlkagIOg) MIME-version: 1.0 Content-type: text/bzr-bundle; CHARSET=US-ASCII; name="bzr/epotemkin@stripped" Content-transfer-encoding: 7BIT Content-disposition: inline; filename="bzr/epotemkin@stripped" # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: epotemkin@stripped # target_branch: file:///work/bzrroot/mysql-6.0-codebase-bugfixing/ # testament_sha1: a295be2a3262d12e9eb88ef3f0ca0b31817e782a # timestamp: 2009-11-03 16:04:10 +0300 # source_branch: file:///work/bzrroot/45227-bug-next/ # base_revision_id: vvaintroub@stripped\ # o05y0l8tqf6nb2q1 # # Begin bundle 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 --Boundary_(ID_UEe+3SgX6rFRR3LlkagIOg)--