1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-27 18:02:13 +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:
unknown
2007-02-12 16:46:42 +01:00
parent c34940a078
commit e4146a9f7a
38 changed files with 549 additions and 267 deletions

View File

@ -31,13 +31,13 @@ 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=InnoDB
master-bin.000001 210 Query 1 97 use `test`; INSERT INTO t1 VALUES (1,1), (2,2)
master-bin.000001 307 Xid 1 334 COMMIT /* xid= */
master-bin.000001 334 Query 1 80 use `test`; TRUNCATE TABLE t1
master-bin.000001 414 Xid 1 441 COMMIT /* xid= */
master-bin.000001 441 Query 1 517 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=InnoDB
master-bin.000001 213 Query 1 97 use `test`; INSERT INTO t1 VALUES (1,1), (2,2)
master-bin.000001 310 Xid 1 337 COMMIT /* xid= */
master-bin.000001 337 Query 1 80 use `test`; TRUNCATE TABLE t1
master-bin.000001 417 Xid 1 444 COMMIT /* xid= */
master-bin.000001 444 Query 1 520 use `test`; DROP TABLE t1
**** On Master ****
SET SESSION BINLOG_FORMAT=MIXED;
SET GLOBAL BINLOG_FORMAT=MIXED;
@ -65,13 +65,13 @@ 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=InnoDB
master-bin.000001 210 Query 1 97 use `test`; INSERT INTO t1 VALUES (1,1), (2,2)
master-bin.000001 307 Xid 1 334 COMMIT /* xid= */
master-bin.000001 334 Query 1 80 use `test`; TRUNCATE TABLE t1
master-bin.000001 414 Xid 1 441 COMMIT /* xid= */
master-bin.000001 441 Query 1 517 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=InnoDB
master-bin.000001 213 Query 1 97 use `test`; INSERT INTO t1 VALUES (1,1), (2,2)
master-bin.000001 310 Xid 1 337 COMMIT /* xid= */
master-bin.000001 337 Query 1 80 use `test`; TRUNCATE TABLE t1
master-bin.000001 417 Xid 1 444 COMMIT /* xid= */
master-bin.000001 444 Query 1 520 use `test`; DROP TABLE t1
**** On Master ****
SET SESSION BINLOG_FORMAT=ROW;
SET GLOBAL BINLOG_FORMAT=ROW;
@ -99,14 +99,14 @@ 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=InnoDB
master-bin.000001 210 Table_map 1 40 table_id: # (test.t1)
master-bin.000001 250 Write_rows 1 87 table_id: # flags: STMT_END_F
master-bin.000001 297 Xid 1 324 COMMIT /* xid= */
master-bin.000001 324 Query 1 80 use `test`; TRUNCATE TABLE t1
master-bin.000001 404 Xid 1 431 COMMIT /* xid= */
master-bin.000001 431 Query 1 507 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=InnoDB
master-bin.000001 213 Table_map 1 40 table_id: # (test.t1)
master-bin.000001 253 Write_rows 1 87 table_id: # flags: STMT_END_F
master-bin.000001 300 Xid 1 327 COMMIT /* xid= */
master-bin.000001 327 Query 1 80 use `test`; TRUNCATE TABLE t1
master-bin.000001 407 Xid 1 434 COMMIT /* xid= */
master-bin.000001 434 Query 1 510 use `test`; DROP TABLE t1
**** On Master ****
SET SESSION BINLOG_FORMAT=STATEMENT;
SET GLOBAL BINLOG_FORMAT=STATEMENT;
@ -134,13 +134,13 @@ 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=InnoDB
master-bin.000001 210 Query 1 97 use `test`; INSERT INTO t1 VALUES (1,1), (2,2)
master-bin.000001 307 Xid 1 334 COMMIT /* xid= */
master-bin.000001 334 Query 1 77 use `test`; DELETE FROM t1
master-bin.000001 411 Xid 1 438 COMMIT /* xid= */
master-bin.000001 438 Query 1 514 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=InnoDB
master-bin.000001 213 Query 1 97 use `test`; INSERT INTO t1 VALUES (1,1), (2,2)
master-bin.000001 310 Xid 1 337 COMMIT /* xid= */
master-bin.000001 337 Query 1 77 use `test`; DELETE FROM t1
master-bin.000001 414 Xid 1 441 COMMIT /* xid= */
master-bin.000001 441 Query 1 517 use `test`; DROP TABLE t1
**** On Master ****
SET SESSION BINLOG_FORMAT=MIXED;
SET GLOBAL BINLOG_FORMAT=MIXED;
@ -168,13 +168,13 @@ 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=InnoDB
master-bin.000001 210 Query 1 97 use `test`; INSERT INTO t1 VALUES (1,1), (2,2)
master-bin.000001 307 Xid 1 334 COMMIT /* xid= */
master-bin.000001 334 Query 1 77 use `test`; DELETE FROM t1
master-bin.000001 411 Xid 1 438 COMMIT /* xid= */
master-bin.000001 438 Query 1 514 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=InnoDB
master-bin.000001 213 Query 1 97 use `test`; INSERT INTO t1 VALUES (1,1), (2,2)
master-bin.000001 310 Xid 1 337 COMMIT /* xid= */
master-bin.000001 337 Query 1 77 use `test`; DELETE FROM t1
master-bin.000001 414 Xid 1 441 COMMIT /* xid= */
master-bin.000001 441 Query 1 517 use `test`; DROP TABLE t1
**** On Master ****
SET SESSION BINLOG_FORMAT=ROW;
SET GLOBAL BINLOG_FORMAT=ROW;
@ -203,12 +203,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=InnoDB
master-bin.000001 210 Table_map 1 40 table_id: # (test.t1)
master-bin.000001 250 Write_rows 1 87 table_id: # flags: STMT_END_F
master-bin.000001 297 Xid 1 324 COMMIT /* xid= */
master-bin.000001 324 Table_map 1 40 table_id: # (test.t1)
master-bin.000001 364 Delete_rows 1 87 table_id: # flags: STMT_END_F
master-bin.000001 411 Xid 1 438 COMMIT /* xid= */
master-bin.000001 438 Query 1 514 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=InnoDB
master-bin.000001 213 Table_map 1 40 table_id: # (test.t1)
master-bin.000001 253 Write_rows 1 87 table_id: # flags: STMT_END_F
master-bin.000001 300 Xid 1 327 COMMIT /* xid= */
master-bin.000001 327 Table_map 1 40 table_id: # (test.t1)
master-bin.000001 367 Delete_rows 1 87 table_id: # flags: STMT_END_F
master-bin.000001 414 Xid 1 441 COMMIT /* xid= */
master-bin.000001 441 Query 1 517 use `test`; DROP TABLE t1