From: Sergey Glukhov Date: May 16 2011 8:44am Subject: bzr commit into mysql-trunk branch (sergey.glukhov:3328) Bug#12402590 List-Archive: http://lists.mysql.com/commits/137386 X-Bug: 12402590 Message-Id: <201105160849.p4G8nLd9015306@acsmt358.oracle.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1616948190231392942==" --===============1616948190231392942== MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline #At file:///home/gluh/MySQL/mysql-trunk/ based on revid:sergey.glukhov@stripped 3328 Sergey Glukhov 2011-05-16 Bug#12402590 ASSERT AT PROTOCOL::END_STATEMENT ON MYSQL-TRUNK RUNNING RQG_OPT_SUBQUERY TEST There are two problems: 1. make_cond_for_table() fails to extract sort table condition for ICP The fix is to use (table_map) 0 instead of used_tables in third argument for make_cond_for_table() function. (for more info see bug11756928). 2. when we exit from JOIN::exec due to failed extraction of sort table condition for ICP we do not set proper diagnostic status of Diagnostics_area(should be my_error() call or something similar). There are many places in JOIN::exec (DBUG_VOID_RETURN on error without my_error() call) which could have the same problems. This problem will be fixed separatly. @ mysql-test/r/having.result test case @ mysql-test/t/having.test test case @ sql/sql_select.cc use (table_map) 0 instead of used_tables in third argument for make_cond_for_table() function. (for more info see bug11756928). modified: mysql-test/r/having.result mysql-test/t/having.test sql/sql_select.cc === modified file 'mysql-test/r/having.result' --- a/mysql-test/r/having.result 2011-04-22 08:05:02 +0000 +++ b/mysql-test/r/having.result 2011-05-16 08:43:57 +0000 @@ -589,3 +589,19 @@ pk field1 1 7 drop table `t1`; End of 5.5 tests +# +# Bug#12402590 ASSERT AT PROTOCOL::END_STATEMENT ON MYSQL-TRUNK RUNNING RQG_OPT_SUBQUERY TEST +# +CREATE TABLE t2 (f1 INT, PRIMARY KEY (f1)); +INSERT INTO t2 VALUES (1), (2); +CREATE TABLE t1 (f1 INT, f2 VARCHAR(1), f3 VARCHAR(1), +PRIMARY KEY (f1), KEY (f2, f1)); +INSERT INTO t1 VALUES (8, 'g', 'g'), (11, 'a', 'a'); +SELECT t1.f1 FROM t1 JOIN t2 ON t2.f1 = t1.f1 +WHERE t1.f3 AND t1.f2 IN ('f') +HAVING (1 ,6) IN (SELECT 3, 6) +ORDER BY t1.f1; +f1 +DROP TABLE t1; +DROP TABLE t2; +End of 5.6 tests === modified file 'mysql-test/t/having.test' --- a/mysql-test/t/having.test 2011-04-22 08:05:02 +0000 +++ b/mysql-test/t/having.test 2011-05-16 08:43:57 +0000 @@ -615,3 +615,23 @@ drop table `t1`; --echo End of 5.5 tests +--echo # +--echo # Bug#12402590 ASSERT AT PROTOCOL::END_STATEMENT ON MYSQL-TRUNK RUNNING RQG_OPT_SUBQUERY TEST +--echo # + +CREATE TABLE t2 (f1 INT, PRIMARY KEY (f1)); +INSERT INTO t2 VALUES (1), (2); + +CREATE TABLE t1 (f1 INT, f2 VARCHAR(1), f3 VARCHAR(1), +PRIMARY KEY (f1), KEY (f2, f1)); +INSERT INTO t1 VALUES (8, 'g', 'g'), (11, 'a', 'a'); + +SELECT t1.f1 FROM t1 JOIN t2 ON t2.f1 = t1.f1 +WHERE t1.f3 AND t1.f2 IN ('f') +HAVING (1 ,6) IN (SELECT 3, 6) +ORDER BY t1.f1; + +DROP TABLE t1; +DROP TABLE t2; + +--echo End of 5.6 tests === modified file 'sql/sql_select.cc' --- a/sql/sql_select.cc 2011-04-26 08:49:10 +0000 +++ b/sql/sql_select.cc 2011-05-16 08:43:57 +0000 @@ -3262,7 +3262,8 @@ JOIN::exec() if (curr_table->pre_idx_push_select_cond) { sort_table_cond= make_cond_for_table(curr_join->tmp_having, - used_tables, used_tables, 0); + used_tables, + (table_map) 0, 0); if (!sort_table_cond) DBUG_VOID_RETURN; Item* new_pre_idx_push_select_cond= --===============1616948190231392942== 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\ # 5e7tthk2u0y6a8dm # target_branch: file:///home/gluh/MySQL/mysql-trunk/ # testament_sha1: dad0fb43b5b21642ca95362007e375768ded2110 # timestamp: 2011-05-16 12:44:04 +0400 # source_branch: file:///home/gluh/MySQL/mysql-5.5/ # base_revision_id: sergey.glukhov@stripped\ # b4jn9d63oqjtsbsh # # Begin bundle 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 JFOFCQrNSkMA --===============1616948190231392942==--