mirror of
https://github.com/MariaDB/server.git
synced 2025-10-22 19:52:58 +03:00
BUG#22583 (RBR between MyISAM and non-MyISAM tables containing BIT field
does not work): Changing packed row format to only include null bits for those columns that are present in the row as well as writing BIT columns in a storage engine-independent format. The change in row format is incompatible with the previous format and a slave will not be able to read the new events. mysql-test/extra/rpl_tests/rpl_deadlock.test: Position change since Format_description_log_event is longer. mysql-test/extra/rpl_tests/rpl_log.test: Position change since Format_description_log_event is longer. mysql-test/extra/rpl_tests/rpl_row_charset.test: Position change since Format_description_log_event is longer. mysql-test/r/rpl_000015.result: Result change. mysql-test/r/rpl_change_master.result: Result change. mysql-test/r/rpl_deadlock_innodb.result: Result change. mysql-test/r/rpl_flushlog_loop.result: Result change. mysql-test/r/rpl_log_pos.result: Result change. mysql-test/r/rpl_row_basic_11bugs.result: Result change. mysql-test/r/rpl_row_charset.result: Result change. mysql-test/r/rpl_row_create_table.result: Result change. mysql-test/r/rpl_row_delayed_ins.result: Result change. mysql-test/r/rpl_row_drop.result: Result change. mysql-test/r/rpl_row_flsh_tbls.result: Result change. mysql-test/r/rpl_row_inexist_tbl.result: Result change. mysql-test/r/rpl_row_log.result: Result change. mysql-test/r/rpl_row_log_innodb.result: Result change. mysql-test/r/rpl_row_max_relay_size.result: Result change. mysql-test/r/rpl_row_reset_slave.result: Result change. mysql-test/r/rpl_row_until.result: Result change. mysql-test/r/rpl_server_id1.result: Result change. mysql-test/r/rpl_server_id2.result: Result change. mysql-test/r/rpl_switch_stm_row_mixed.result: Result change. mysql-test/r/rpl_truncate_2myisam.result: Result change. mysql-test/r/rpl_truncate_3innodb.result: Result change. mysql-test/t/rpl_loaddata_s.test: Position change since Format_description_log_event is longer. mysql-test/t/rpl_log_pos.test: Position change since Format_description_log_event is longer. mysql-test/t/rpl_row_basic_11bugs-master.opt: Adding --innodb option mysql-test/t/rpl_row_basic_11bugs.test: Testing explicitly for RBR MyISAM -> InnoDB and vice versa. Position change since Format_description_log_event is longer. mysql-test/t/rpl_row_create_table.test: Position change since Format_description_log_event is longer. mysql-test/t/rpl_row_flsh_tbls.test: Position change since Format_description_log_event is longer. mysql-test/t/rpl_row_mysqlbinlog.test: Position change since Format_description_log_event is longer. mysql-test/t/rpl_switch_stm_row_mixed.test: Position change since Format_description_log_event is longer. mysql-test/t/user_var-binlog.test: Position change since Format_description_log_event is longer. sql/log_event.cc: Changing packed row format to only include null bits for those columns that are present in the row as well as writing BIT columns in a storage engine-independent format. Changing unpack_row() to accomodate for the changes. sql/log_event.h: Renumbering old row events and adding new codes. sql/sql_class.cc: Changing packed row format to only include null bits for those columns that are present in the row as well as writing BIT columns in a storage engine-independent format. Changing THD::pack_row() to accomodate for the changes and adding documentation. mysql-test/t/rpl_row_basic_11bugs-slave.opt: New BitKeeper file ``mysql-test/t/rpl_row_basic_11bugs-slave.opt''
This commit is contained in:
@@ -31,11 +31,11 @@ a b
|
||||
DROP TABLE t1;
|
||||
SHOW BINLOG EVENTS;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 4 Format_desc 1 102 Server ver: SERVER_VERSION, Binlog ver: 4
|
||||
master-bin.000001 102 Query 1 210 use `test`; CREATE TABLE t1 (a INT, b LONG) ENGINE=MyISAM
|
||||
master-bin.000001 210 Query 1 307 use `test`; INSERT INTO t1 VALUES (1,1), (2,2)
|
||||
master-bin.000001 307 Query 1 387 use `test`; TRUNCATE TABLE t1
|
||||
master-bin.000001 387 Query 1 463 use `test`; DROP TABLE t1
|
||||
master-bin.000001 4 Format_desc 1 105 Server ver: SERVER_VERSION, Binlog ver: 4
|
||||
master-bin.000001 105 Query 1 213 use `test`; CREATE TABLE t1 (a INT, b LONG) ENGINE=MyISAM
|
||||
master-bin.000001 213 Query 1 310 use `test`; INSERT INTO t1 VALUES (1,1), (2,2)
|
||||
master-bin.000001 310 Query 1 390 use `test`; TRUNCATE TABLE t1
|
||||
master-bin.000001 390 Query 1 466 use `test`; DROP TABLE t1
|
||||
**** On Master ****
|
||||
SET SESSION BINLOG_FORMAT=MIXED;
|
||||
SET GLOBAL BINLOG_FORMAT=MIXED;
|
||||
@@ -63,11 +63,11 @@ a b
|
||||
DROP TABLE t1;
|
||||
SHOW BINLOG EVENTS;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 4 Format_desc 1 102 Server ver: SERVER_VERSION, Binlog ver: 4
|
||||
master-bin.000001 102 Query 1 210 use `test`; CREATE TABLE t1 (a INT, b LONG) ENGINE=MyISAM
|
||||
master-bin.000001 210 Query 1 307 use `test`; INSERT INTO t1 VALUES (1,1), (2,2)
|
||||
master-bin.000001 307 Query 1 387 use `test`; TRUNCATE TABLE t1
|
||||
master-bin.000001 387 Query 1 463 use `test`; DROP TABLE t1
|
||||
master-bin.000001 4 Format_desc 1 105 Server ver: SERVER_VERSION, Binlog ver: 4
|
||||
master-bin.000001 105 Query 1 213 use `test`; CREATE TABLE t1 (a INT, b LONG) ENGINE=MyISAM
|
||||
master-bin.000001 213 Query 1 310 use `test`; INSERT INTO t1 VALUES (1,1), (2,2)
|
||||
master-bin.000001 310 Query 1 390 use `test`; TRUNCATE TABLE t1
|
||||
master-bin.000001 390 Query 1 466 use `test`; DROP TABLE t1
|
||||
**** On Master ****
|
||||
SET SESSION BINLOG_FORMAT=ROW;
|
||||
SET GLOBAL BINLOG_FORMAT=ROW;
|
||||
@@ -95,12 +95,12 @@ a b
|
||||
DROP TABLE t1;
|
||||
SHOW BINLOG EVENTS;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 4 Format_desc 1 102 Server ver: SERVER_VERSION, Binlog ver: 4
|
||||
master-bin.000001 102 Query 1 210 use `test`; CREATE TABLE t1 (a INT, b LONG) ENGINE=MyISAM
|
||||
master-bin.000001 210 Table_map 1 250 table_id: # (test.t1)
|
||||
master-bin.000001 250 Write_rows 1 297 table_id: # flags: STMT_END_F
|
||||
master-bin.000001 297 Query 1 377 use `test`; TRUNCATE TABLE t1
|
||||
master-bin.000001 377 Query 1 453 use `test`; DROP TABLE t1
|
||||
master-bin.000001 4 Format_desc 1 105 Server ver: SERVER_VERSION, Binlog ver: 4
|
||||
master-bin.000001 105 Query 1 213 use `test`; CREATE TABLE t1 (a INT, b LONG) ENGINE=MyISAM
|
||||
master-bin.000001 213 Table_map 1 253 table_id: # (test.t1)
|
||||
master-bin.000001 253 Write_rows 1 300 table_id: # flags: STMT_END_F
|
||||
master-bin.000001 300 Query 1 380 use `test`; TRUNCATE TABLE t1
|
||||
master-bin.000001 380 Query 1 456 use `test`; DROP TABLE t1
|
||||
**** On Master ****
|
||||
SET SESSION BINLOG_FORMAT=STATEMENT;
|
||||
SET GLOBAL BINLOG_FORMAT=STATEMENT;
|
||||
@@ -128,11 +128,11 @@ a b
|
||||
DROP TABLE t1;
|
||||
SHOW BINLOG EVENTS;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 4 Format_desc 1 102 Server ver: SERVER_VERSION, Binlog ver: 4
|
||||
master-bin.000001 102 Query 1 210 use `test`; CREATE TABLE t1 (a INT, b LONG) ENGINE=MyISAM
|
||||
master-bin.000001 210 Query 1 307 use `test`; INSERT INTO t1 VALUES (1,1), (2,2)
|
||||
master-bin.000001 307 Query 1 384 use `test`; DELETE FROM t1
|
||||
master-bin.000001 384 Query 1 460 use `test`; DROP TABLE t1
|
||||
master-bin.000001 4 Format_desc 1 105 Server ver: SERVER_VERSION, Binlog ver: 4
|
||||
master-bin.000001 105 Query 1 213 use `test`; CREATE TABLE t1 (a INT, b LONG) ENGINE=MyISAM
|
||||
master-bin.000001 213 Query 1 310 use `test`; INSERT INTO t1 VALUES (1,1), (2,2)
|
||||
master-bin.000001 310 Query 1 387 use `test`; DELETE FROM t1
|
||||
master-bin.000001 387 Query 1 463 use `test`; DROP TABLE t1
|
||||
**** On Master ****
|
||||
SET SESSION BINLOG_FORMAT=MIXED;
|
||||
SET GLOBAL BINLOG_FORMAT=MIXED;
|
||||
@@ -160,11 +160,11 @@ a b
|
||||
DROP TABLE t1;
|
||||
SHOW BINLOG EVENTS;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 4 Format_desc 1 102 Server ver: SERVER_VERSION, Binlog ver: 4
|
||||
master-bin.000001 102 Query 1 210 use `test`; CREATE TABLE t1 (a INT, b LONG) ENGINE=MyISAM
|
||||
master-bin.000001 210 Query 1 307 use `test`; INSERT INTO t1 VALUES (1,1), (2,2)
|
||||
master-bin.000001 307 Query 1 384 use `test`; DELETE FROM t1
|
||||
master-bin.000001 384 Query 1 460 use `test`; DROP TABLE t1
|
||||
master-bin.000001 4 Format_desc 1 105 Server ver: SERVER_VERSION, Binlog ver: 4
|
||||
master-bin.000001 105 Query 1 213 use `test`; CREATE TABLE t1 (a INT, b LONG) ENGINE=MyISAM
|
||||
master-bin.000001 213 Query 1 310 use `test`; INSERT INTO t1 VALUES (1,1), (2,2)
|
||||
master-bin.000001 310 Query 1 387 use `test`; DELETE FROM t1
|
||||
master-bin.000001 387 Query 1 463 use `test`; DROP TABLE t1
|
||||
**** On Master ****
|
||||
SET SESSION BINLOG_FORMAT=ROW;
|
||||
SET GLOBAL BINLOG_FORMAT=ROW;
|
||||
@@ -193,10 +193,10 @@ a b
|
||||
DROP TABLE t1;
|
||||
SHOW BINLOG EVENTS;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 4 Format_desc 1 102 Server ver: SERVER_VERSION, Binlog ver: 4
|
||||
master-bin.000001 102 Query 1 210 use `test`; CREATE TABLE t1 (a INT, b LONG) ENGINE=MyISAM
|
||||
master-bin.000001 210 Table_map 1 250 table_id: # (test.t1)
|
||||
master-bin.000001 250 Write_rows 1 297 table_id: # flags: STMT_END_F
|
||||
master-bin.000001 297 Table_map 1 337 table_id: # (test.t1)
|
||||
master-bin.000001 337 Delete_rows 1 384 table_id: # flags: STMT_END_F
|
||||
master-bin.000001 384 Query 1 460 use `test`; DROP TABLE t1
|
||||
master-bin.000001 4 Format_desc 1 105 Server ver: SERVER_VERSION, Binlog ver: 4
|
||||
master-bin.000001 105 Query 1 213 use `test`; CREATE TABLE t1 (a INT, b LONG) ENGINE=MyISAM
|
||||
master-bin.000001 213 Table_map 1 253 table_id: # (test.t1)
|
||||
master-bin.000001 253 Write_rows 1 300 table_id: # flags: STMT_END_F
|
||||
master-bin.000001 300 Table_map 1 340 table_id: # (test.t1)
|
||||
master-bin.000001 340 Delete_rows 1 387 table_id: # flags: STMT_END_F
|
||||
master-bin.000001 387 Query 1 463 use `test`; DROP TABLE t1
|
||||
|
Reference in New Issue
Block a user