1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-29 05:21:33 +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.
This commit is contained in:
mats@romeo.(none)
2007-02-12 16:46:42 +01:00
parent 0b4e65e12b
commit e61a1841a5
38 changed files with 549 additions and 267 deletions

View File

@ -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