From: Tor Didriksen Date: February 14 2012 3:07pm Subject: bzr push into mysql-trunk branch (tor.didriksen:3900 to 3901) List-Archive: http://lists.mysql.com/commits/142878 Message-Id: <201202141507.q1EF7cvS021167@acsmt358.oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit 3901 Tor Didriksen 2012-02-14 Make result files json compliant. modified: mysql-test/suite/opt_trace/include/general.inc mysql-test/suite/opt_trace/include/general2.inc mysql-test/suite/opt_trace/include/subquery.inc mysql-test/suite/opt_trace/r/general2_no_prot.result mysql-test/suite/opt_trace/r/general2_ps_prot.result mysql-test/suite/opt_trace/r/general_no_prot_all.result mysql-test/suite/opt_trace/r/general_no_prot_none.result mysql-test/suite/opt_trace/r/general_ps_prot_all.result mysql-test/suite/opt_trace/r/general_ps_prot_none.result mysql-test/suite/opt_trace/r/subquery_no_prot.result mysql-test/suite/opt_trace/r/subquery_ps_prot.result 3900 Olav Sandstaa 2012-02-14 Fix for Bug#13655397 CRASH IN SYNC_THREAD_LEVELS_NONEMPTY_TRX This crash occured due to pushing an index condition down to InnoDB that contained a call to a stored function. When the index condition was executed from within InnoDB, the stored function caused a second call from the server into InnoDB. Since InnoDB does not handle that the same session executes more than one operation against InnoDB at a given time this triggered an assert in InnoDB. The fix is to prevent that we push down index conditions to the storage engine that contain calls to stored functions. @ mysql-test/include/icp_tests.inc Test case for Bug#13655397 CRASH IN SYNC_THREAD_LEVELS_NONEMPTY_TRX @ mysql-test/r/innodb_icp.result Test case for Bug#13655397 CRASH IN SYNC_THREAD_LEVELS_NONEMPTY_TRX @ mysql-test/r/innodb_icp_all.result Test case for Bug#13655397 CRASH IN SYNC_THREAD_LEVELS_NONEMPTY_TRX @ mysql-test/r/innodb_icp_none.result Test case for Bug#13655397 CRASH IN SYNC_THREAD_LEVELS_NONEMPTY_TRX @ mysql-test/r/myisam_icp.result Test case for Bug#13655397 CRASH IN SYNC_THREAD_LEVELS_NONEMPTY_TRX @ mysql-test/r/myisam_icp_all.result Test case for Bug#13655397 CRASH IN SYNC_THREAD_LEVELS_NONEMPTY_TRX @ mysql-test/r/myisam_icp_none.result Test case for Bug#13655397 CRASH IN SYNC_THREAD_LEVELS_NONEMPTY_TRX @ sql/sql_optimizer.cc Bug#13655397: Avoid that pushed down index conditions (ICP) contain stored functions. modified: mysql-test/include/icp_tests.inc mysql-test/r/innodb_icp.result mysql-test/r/innodb_icp_all.result mysql-test/r/innodb_icp_none.result mysql-test/r/myisam_icp.result mysql-test/r/myisam_icp_all.result mysql-test/r/myisam_icp_none.result sql/sql_optimizer.cc === modified file 'mysql-test/suite/opt_trace/include/general.inc' --- a/mysql-test/suite/opt_trace/include/general.inc 2012-02-08 15:25:17 +0000 +++ b/mysql-test/suite/opt_trace/include/general.inc 2012-02-14 15:07:11 +0000 @@ -311,7 +311,7 @@ select * from information_schema.OPTIMIZ # HAVING select t1.a,avg(t2.c) as moyenne from t1, t2 where t2.c>-1 group by t1.a having moyenne<>0; ---replace_regex /("sort_buffer_size":) [0-9]+/\1 NNN/ +--replace_regex /("sort_buffer_size":) [0-9]+/\1 "NNN"/ select trace from information_schema.OPTIMIZER_TRACE; # impossible HAVING select t1.a,avg(t2.c) as moyenne from t1, t2 where t2.c>-1 === modified file 'mysql-test/suite/opt_trace/include/general2.inc' --- a/mysql-test/suite/opt_trace/include/general2.inc 2012-01-03 11:04:14 +0000 +++ b/mysql-test/suite/opt_trace/include/general2.inc 2012-02-14 15:07:11 +0000 @@ -156,7 +156,7 @@ SELECT t1.f2 FROM t1 STRAIGHT_JOIN (t2 JOIN t3 ON t3.f2 = t2.f2 ) ON t3 .f2 = t2 .f2 HAVING ('v', 'i') NOT IN (SELECT f2, MIN(f2) FROM t1) ORDER BY f2; ---replace_regex /("sort_buffer_size":) [0-9]+/\1 NNN/ +--replace_regex /("sort_buffer_size":) [0-9]+/\1 "NNN"/ select TRACE from information_schema.OPTIMIZER_TRACE; DROP TABLES t1,t2,t3; @@ -169,7 +169,7 @@ DROP TABLES t1,t2,t3; create table t1 (a int, b int); insert into t1 values (1,1), (2,null), (3, 4); select max(x) from (select sum(a) as x from t1 group by b) as teeone; ---replace_regex /("sort_buffer_size":) [0-9]+/\1 NNN/ +--replace_regex /("sort_buffer_size":) [0-9]+/\1 "NNN"/ select TRACE from information_schema.OPTIMIZER_TRACE; drop table t1; @@ -613,7 +613,7 @@ SELECT SUM(alias2.col_varchar_nokey) , a STRAIGHT_JOIN t2 AS alias2 ON alias2.pk = alias1.col_int_key WHERE alias1.pk GROUP BY field2 ORDER BY alias1.col_int_key,alias2.pk ; eval $query; ---replace_regex /("sort_buffer_size":) [0-9]+/\1 NNN/ +--replace_regex /("sort_buffer_size":) [0-9]+/\1 "NNN"/ SELECT * FROM INFORMATION_SCHEMA.OPTIMIZER_TRACE; DROP TABLE t1,t2; === modified file 'mysql-test/suite/opt_trace/include/subquery.inc' --- a/mysql-test/suite/opt_trace/include/subquery.inc 2011-11-18 12:17:45 +0000 +++ b/mysql-test/suite/opt_trace/include/subquery.inc 2012-02-14 15:07:11 +0000 @@ -175,7 +175,7 @@ sq4_alias3.`col_varchar_nokey` <> alias1 alias1.`col_int_key` not in (214) group by field1,field2,field3, field4,field5,field6; ---replace_regex /("sort_buffer_size":) [0-9]+/\1 NNN/ +--replace_regex /("sort_buffer_size":) [0-9]+/\1 "NNN"/ select * from information_schema.optimizer_trace; set optimizer_switch=@old_opt_switch; drop table t1,t2,t3,t4,t5; === modified file 'mysql-test/suite/opt_trace/r/general2_no_prot.result' --- a/mysql-test/suite/opt_trace/r/general2_no_prot.result 2012-02-13 15:23:37 +0000 +++ b/mysql-test/suite/opt_trace/r/general2_no_prot.result 2012-02-14 15:07:11 +0000 @@ -1164,7 +1164,7 @@ TRACE "rows": 4, "examined_rows": 4, "number_of_tmp_files": 0, - "sort_buffer_size": NNN, + "sort_buffer_size": "NNN", "sort_mode": "" } /* filesort_summary */ } @@ -1424,7 +1424,7 @@ TRACE "rows": 3, "examined_rows": 3, "number_of_tmp_files": 0, - "sort_buffer_size": NNN, + "sort_buffer_size": "NNN", "sort_mode": "" } /* filesort_summary */ } @@ -4950,7 +4950,7 @@ GROUP BY field2 ORDER BY alias1.col_int_ "rows": 8, "examined_rows": 8, "number_of_tmp_files": 0, - "sort_buffer_size": NNN, + "sort_buffer_size": "NNN", "sort_mode": "" } /* filesort_summary */ } === modified file 'mysql-test/suite/opt_trace/r/general2_ps_prot.result' --- a/mysql-test/suite/opt_trace/r/general2_ps_prot.result 2012-02-13 15:23:37 +0000 +++ b/mysql-test/suite/opt_trace/r/general2_ps_prot.result 2012-02-14 15:07:11 +0000 @@ -1180,7 +1180,7 @@ TRACE "rows": 4, "examined_rows": 4, "number_of_tmp_files": 0, - "sort_buffer_size": NNN, + "sort_buffer_size": "NNN", "sort_mode": "" } /* filesort_summary */ } @@ -1440,7 +1440,7 @@ TRACE "rows": 3, "examined_rows": 3, "number_of_tmp_files": 0, - "sort_buffer_size": NNN, + "sort_buffer_size": "NNN", "sort_mode": "" } /* filesort_summary */ } @@ -5001,7 +5001,7 @@ GROUP BY field2 ORDER BY alias1.col_int_ "rows": 8, "examined_rows": 8, "number_of_tmp_files": 0, - "sort_buffer_size": NNN, + "sort_buffer_size": "NNN", "sort_mode": "" } /* filesort_summary */ } === modified file 'mysql-test/suite/opt_trace/r/general_no_prot_all.result' --- a/mysql-test/suite/opt_trace/r/general_no_prot_all.result 2012-02-08 15:25:17 +0000 +++ b/mysql-test/suite/opt_trace/r/general_no_prot_all.result 2012-02-14 15:07:11 +0000 @@ -6624,7 +6624,7 @@ trace "rows": 2, "examined_rows": 2, "number_of_tmp_files": 0, - "sort_buffer_size": NNN, + "sort_buffer_size": "NNN", "sort_mode": "" } /* filesort_summary */ } === modified file 'mysql-test/suite/opt_trace/r/general_no_prot_none.result' --- a/mysql-test/suite/opt_trace/r/general_no_prot_none.result 2012-02-08 15:25:17 +0000 +++ b/mysql-test/suite/opt_trace/r/general_no_prot_none.result 2012-02-14 15:07:11 +0000 @@ -5764,7 +5764,7 @@ trace "rows": 2, "examined_rows": 2, "number_of_tmp_files": 0, - "sort_buffer_size": NNN, + "sort_buffer_size": "NNN", "sort_mode": "" } /* filesort_summary */ } === modified file 'mysql-test/suite/opt_trace/r/general_ps_prot_all.result' --- a/mysql-test/suite/opt_trace/r/general_ps_prot_all.result 2012-02-08 15:25:17 +0000 +++ b/mysql-test/suite/opt_trace/r/general_ps_prot_all.result 2012-02-14 15:07:11 +0000 @@ -6590,7 +6590,7 @@ trace "rows": 2, "examined_rows": 2, "number_of_tmp_files": 0, - "sort_buffer_size": NNN, + "sort_buffer_size": "NNN", "sort_mode": "" } /* filesort_summary */ } === modified file 'mysql-test/suite/opt_trace/r/general_ps_prot_none.result' --- a/mysql-test/suite/opt_trace/r/general_ps_prot_none.result 2012-02-08 15:25:17 +0000 +++ b/mysql-test/suite/opt_trace/r/general_ps_prot_none.result 2012-02-14 15:07:11 +0000 @@ -5722,7 +5722,7 @@ trace "rows": 2, "examined_rows": 2, "number_of_tmp_files": 0, - "sort_buffer_size": NNN, + "sort_buffer_size": "NNN", "sort_mode": "" } /* filesort_summary */ } === modified file 'mysql-test/suite/opt_trace/r/subquery_no_prot.result' --- a/mysql-test/suite/opt_trace/r/subquery_no_prot.result 2012-02-08 15:25:17 +0000 +++ b/mysql-test/suite/opt_trace/r/subquery_no_prot.result 2012-02-14 15:07:11 +0000 @@ -1781,7 +1781,7 @@ field4,field5,field6 { "rows": 0, "examined_rows": 0, "number_of_tmp_files": 0, - "sort_buffer_size": NNN, + "sort_buffer_size": "NNN", "sort_mode": "" } /* filesort_summary */ } === modified file 'mysql-test/suite/opt_trace/r/subquery_ps_prot.result' --- a/mysql-test/suite/opt_trace/r/subquery_ps_prot.result 2012-02-08 15:25:17 +0000 +++ b/mysql-test/suite/opt_trace/r/subquery_ps_prot.result 2012-02-14 15:07:11 +0000 @@ -1759,7 +1759,7 @@ field4,field5,field6 { "rows": 0, "examined_rows": 0, "number_of_tmp_files": 0, - "sort_buffer_size": NNN, + "sort_buffer_size": "NNN", "sort_mode": "" } /* filesort_summary */ } No bundle (reason: useless for push emails).