From: Martin Zaun Date: March 22 2012 6:37pm Subject: bzr push into mysql-trunk branch (martin.zaun:3838 to 3839) List-Archive: http://lists.mysql.com/commits/143289 Message-Id: <201203221837.q2MIbWvP017600@acsmt358.oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit 3839 Martin Zaun 2012-03-22 [merge] merge renamed: mysql-test/suite/rpl/t/rpl_skip_ddl_errors_cli.cnf => mysql-test/suite/rpl/t/rpl_skip_ddl_errors_cli-slave.opt modified: mysql-test/suite/rpl/r/rpl_skip_ddl_errors_cli.result mysql-test/suite/rpl/t/rpl_skip_ddl_errors_cli.test mysql-test/suite/rpl/t/rpl_skip_ddl_errors_cli-slave.opt 3838 Nuno Carvalho 2012-03-22 BUG#13799489: ROWS_QUERY_LOG_EVENTS CORRUPTED IF QUERY LONGER THAN 255 BYTES Problem: In Rows_query_log_events, the length of the query is stored using only one byte, length is stored on the first index of the stored char array and the complete query on the following indexes. When the query was read its length was set against the stored length on the first position, what made queries longer than 255 truncated. Solution: 1. Change Rows_query_log_event::Rows_query_log_event(...) so that it ignores the length byte and uses the full length of the event. 2. In log_event.cc, rename functions: - read_str -> read_str_at_most_255_bytes; - write_str -> write_str_at_most_255_bytes. Just to reduce the risk of future bugs. added: mysql-test/suite/binlog/r/binlog_row_query_log_events.result mysql-test/suite/binlog/t/binlog_row_query_log_events.test modified: sql/log_event.cc === modified file 'mysql-test/suite/rpl/r/rpl_skip_ddl_errors_cli.result' --- a/mysql-test/suite/rpl/r/rpl_skip_ddl_errors_cli.result 2012-03-22 06:25:38 +0000 +++ b/mysql-test/suite/rpl/r/rpl_skip_ddl_errors_cli.result 2012-03-22 18:32:52 +0000 @@ -1,5 +1,11 @@ +include/master-slave.inc +Warnings: +Note 1756 Sending passwords in plain text without SSL/TLS is extremely insecure. +Note 1757 Storing MySQL user name or password information in the master.info repository is not secure and is therefore not recommended. Please see the MySQL Manual for more about this issue and possible alternatives. +[connection master] Show the effect of the server command line option slave-skip-errors being passed the alias ignore_ddl_errors and a numeric error code SHOW VARIABLES LIKE 'slave_skip_errors'; Variable_name Value slave_skip_errors 1003,1007,1008,1050,1051,1054,1060,1061,1068,1091,1146 +include/rpl_end.inc === renamed file 'mysql-test/suite/rpl/t/rpl_skip_ddl_errors_cli.cnf' => 'mysql-test/suite/rpl/t/rpl_skip_ddl_errors_cli-slave.opt' --- a/mysql-test/suite/rpl/t/rpl_skip_ddl_errors_cli.cnf 2012-03-22 06:25:38 +0000 +++ b/mysql-test/suite/rpl/t/rpl_skip_ddl_errors_cli-slave.opt 2012-03-22 18:32:52 +0000 @@ -1,7 +1 @@ -!include include/default_mysqld.cnf - -[mysqld] -# expect combined error codes -slave-skip-errors=ddl_exist_errors,1003 - -[mysqld.1.1] +--slave-skip-errors=ddl_exist_errors,1003 === modified file 'mysql-test/suite/rpl/t/rpl_skip_ddl_errors_cli.test' --- a/mysql-test/suite/rpl/t/rpl_skip_ddl_errors_cli.test 2012-03-22 06:25:38 +0000 +++ b/mysql-test/suite/rpl/t/rpl_skip_ddl_errors_cli.test 2012-03-22 18:32:52 +0000 @@ -1,3 +1,9 @@ +--source include/master-slave.inc +--source include/have_binlog_format_mixed.inc + +--connection slave --echo Show the effect of the server command line option slave-skip-errors --echo being passed the alias ignore_ddl_errors and a numeric error code SHOW VARIABLES LIKE 'slave_skip_errors'; + +--source include/rpl_end.inc No bundle (reason: useless for push emails).