From: Martin Hansson Date: May 24 2012 8:31am Subject: bzr push into mysql-trunk branch (martin.hansson:3778 to 3779) Bug#13985071 List-Archive: http://lists.mysql.com/commits/143933 X-Bug: 13985071 Message-Id: <201205240831.q4O8VKgE002434@acsmt358.oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit 3779 Martin Hansson 2012-05-24 Bug#13985071: DEPRECATE INSERT DELAYED Follow-up patch. The test script in create_recursive_construct.inc needed to be aware that deprecation messages don't show up when running with --ps-protocol. This is because deprecation warnings are suppressed in prepared statements. modified: mysql-test/extra/rpl_tests/create_recursive_construct.inc mysql-test/suite/binlog/r/binlog_unsafe.result 3778 Sunny Bains 2012-05-24 Bug#13641926 - INNODB ASSERTS: ERROR: A RECORD LOCK WAIT HAPPENS IN A DICTIONARY OPERATION! Reset the transaction's dict operation flag at transaction commit. Truncate and drop table use foreground transactions for DDL operations and therefore they can be reused. If we don't reset the flag then the next transaction that reused the trx_t instance will have the dict operation flag set. Approved by Jimmy Yang over IM. modified: storage/innobase/trx/trx0trx.cc === modified file 'mysql-test/extra/rpl_tests/create_recursive_construct.inc' --- a/mysql-test/extra/rpl_tests/create_recursive_construct.inc 2012-05-18 11:06:00 +0000 +++ b/mysql-test/extra/rpl_tests/create_recursive_construct.inc 2012-05-24 08:30:38 +0000 @@ -166,6 +166,8 @@ --let $CRC_name= --let $CRC_create= --let $CRC_expected_number_of_warnings= $CRC_ARG_expected_number_of_warnings +--let $CRC_expected_number_of_warnings_normal_protocol= $CRC_ARG_expected_number_of_warnings +--let $CRC_expected_number_of_warnings_ps_protocol= $CRC_ARG_expected_number_of_warnings --let $CRC_expected_number_of_warnings_after_reset= 0 ######## func_retval ######## @@ -291,8 +293,18 @@ if ($CRC_ARG_type == 7) { --let $CRC_RET_drop= --let $CRC_RET_is_toplevel= 1 --let $CRC_RET_desc= $CRC_ARG_desc - --let $CRC_expected_number_of_warnings= `select $CRC_ARG_expected_number_of_deprecation_warnings + $CRC_ARG_expected_number_of_warnings` - --let $CRC_expected_number_of_warnings_after_reset= `select $CRC_ARG_expected_number_of_deprecation_warnings + $CRC_expected_number_of_warnings_after_reset` + --let $CRC_expected_number_of_warnings_normal_protocol= `select $CRC_ARG_expected_number_of_deprecation_warnings + $CRC_ARG_expected_number_of_warnings` + --let $CRC_expected_number_of_warnings_ps_protocol= $CRC_ARG_expected_number_of_warnings + --let $CRC_expected_number_of_warnings_after_reset_normal_protocol= `select $CRC_ARG_expected_number_of_deprecation_warnings + $CRC_expected_number_of_warnings_after_reset` + --let $CRC_expected_number_of_warnings_after_reset_ps_protocol= $CRC_expected_number_of_warnings_after_reset + + --let $CRC_expected_number_of_warnings= $CRC_expected_number_of_warnings_normal_protocol + --let $CRC_expected_number_of_warnings_after_reset= $CRC_expected_number_of_warnings_after_reset_normal_protocol + if ($PS_PROTOCOL) + { + --let $CRC_expected_number_of_warnings= $CRC_expected_number_of_warnings_ps_protocol + --let $CRC_expected_number_of_warnings_after_reset= $CRC_expected_number_of_warnings_after_reset_ps_protocol + } } ######## execute! ######## @@ -303,7 +315,14 @@ if ($CRC_RET_stmt_sidef) { --eval $CRC_create } - --echo * binlog_format = STATEMENT: expect $CRC_expected_number_of_warnings warnings. + if ($CRC_expected_number_of_warnings_normal_protocol == $CRC_expected_number_of_warnings_ps_protocol) + { + --echo * binlog_format = STATEMENT: expect $CRC_expected_number_of_warnings warnings. + } + if ($CRC_expected_number_of_warnings_normal_protocol != $CRC_expected_number_of_warnings_ps_protocol) + { + --echo * binlog_format = STATEMENT: expect $CRC_expected_number_of_warnings_normal_protocol warnings. $CRC_expected_number_of_warnings_ps_protocol with ps-protocol. + } --eval $CRC_RET_stmt_sidef --let $n_warnings= `SHOW COUNT(*) WARNINGS` === modified file 'mysql-test/suite/binlog/r/binlog_unsafe.result' --- a/mysql-test/suite/binlog/r/binlog_unsafe.result 2012-05-18 11:06:00 +0000 +++ b/mysql-test/suite/binlog/r/binlog_unsafe.result 2012-05-24 08:30:38 +0000 @@ -1009,7 +1009,7 @@ EXECUTE prep_1; DROP PREPARE prep_1; Invoking unsafe INSERT DELAYED statement. -* binlog_format = STATEMENT: expect 1 warnings. +* binlog_format = STATEMENT: expect 1 warnings. 0 with ps-protocol. INSERT DELAYED INTO t0 VALUES (1), (2); Warnings: Warning 1287 'INSERT DELAYED' is deprecated and will be removed in a future release. Please use INSERT instead @@ -2061,7 +2061,7 @@ Note 1592 Unsafe statement written to th DROP PREPARE prep_1; Invoking statement that is unsafe in many ways. -* binlog_format = STATEMENT: expect 8 warnings. +* binlog_format = STATEMENT: expect 8 warnings. 7 with ps-protocol. INSERT DELAYED INTO double_autoinc_table SELECT CONCAT(UUID(), @@hostname, myfunc_int(), NULL) FROM mysql.general_log LIMIT 1; Warnings: Warning 1287 'INSERT DELAYED' is deprecated and will be removed in a future release. Please use INSERT instead No bundle (reason: useless for push emails).