From: Sergey Glukhov Date: May 16 2011 11:01am Subject: bzr commit into mysql-trunk branch (sergey.glukhov:3088) Bug#12402590 List-Archive: http://lists.mysql.com/commits/137417 X-Bug: 12402590 Message-Id: <201105161106.p4GB6sG2021519@acsmt357.oracle.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============4041625744767200129==" --===============4041625744767200129== 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:andrei.elkin@stripped 3088 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 11:01:28 +0000 @@ -589,3 +589,27 @@ 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, 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 11:01:28 +0000 @@ -615,3 +615,31 @@ drop table `t1`; --echo End of 5.5 tests +--echo # +--echo # Bug#12402590 ASSERT AT PROTOCOL::END_STATEMENT ON MYSQL-TRUNK +--echo # 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, t2; + +--echo End of 5.6 tests === modified file 'sql/sql_select.cc' --- a/sql/sql_select.cc 2011-05-06 12:56:36 +0000 +++ b/sql/sql_select.cc 2011-05-16 11:01:28 +0000 @@ -3342,7 +3342,8 @@ JOIN::exec() if (curr_table->pre_idx_push_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_cond= --===============4041625744767200129== 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\ # pt8eq343xtfdhiez # target_branch: file:///home/gluh/MySQL/mysql-trunk/ # testament_sha1: 574cd3722dbf2ccf9d7015ecb4962b5e948b731d # timestamp: 2011-05-16 15:01:36 +0400 # source_branch: file:///home/gluh/MySQL/mysql-5.5/ # base_revision_id: andrei.elkin@stripped\ # 93n3pu5b4moj8wsy # # Begin bundle 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 --===============4041625744767200129==--