mirror of
https://github.com/MariaDB/server.git
synced 2026-04-22 08:15:31 +02:00
Adjust full test suite to work with GTID. Huge patch, mainly due to having to update .result file for all SHOW BINLOG EVENTS and mysqlbinlog outputs, where the new GTID events pop up. Everything was painstakingly checked to be still correct and valid .result file updates.
108 lines
3.3 KiB
Text
108 lines
3.3 KiB
Text
SET @old_binlog_format=@@binlog_format;
|
|
SET BINLOG_FORMAT=ROW;
|
|
RESET MASTER;
|
|
CREATE TABLE t1 (a INT) ENGINE=MyISAM;
|
|
CREATE TABLE t2 (a INT) ENGINE=MyISAM;
|
|
INSERT INTO t2 VALUES (1),(2),(3);
|
|
**** Truncate of empty table shall be logged
|
|
TRUNCATE TABLE t1;
|
|
TRUNCATE TABLE t2;
|
|
show binlog events from <binlog_start>;
|
|
Log_name Pos Event_type Server_id End_log_pos Info
|
|
master-bin.000001 # Gtid # # GTID #-#-#
|
|
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE t1
|
|
master-bin.000001 # Gtid # # GTID #-#-#
|
|
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE t2
|
|
DROP TABLE t1,t2;
|
|
#
|
|
# Bug#42643: InnoDB does not support replication of TRUNCATE TABLE
|
|
#
|
|
CREATE TABLE t1 (a INT) ENGINE=MyISAM;
|
|
CREATE TABLE t2 (a INT) ENGINE=MyISAM;
|
|
INSERT INTO t1 VALUES (1),(2);
|
|
# Connection: default
|
|
BEGIN;
|
|
INSERT INTO t2 SELECT * FROM t1;
|
|
# Connection: truncate
|
|
TRUNCATE TABLE t1;
|
|
# Connection: default
|
|
INSERT INTO t2 SELECT * FROM t1;
|
|
SELECT COUNT(*) FROM t2;
|
|
COUNT(*)
|
|
4
|
|
COMMIT;
|
|
# Connection: truncate
|
|
# Reaping TRUNCATE TABLE
|
|
SELECT COUNT(*) FROM t1;
|
|
COUNT(*)
|
|
0
|
|
SELECT COUNT(*) FROM t2;
|
|
COUNT(*)
|
|
4
|
|
# Connection: default
|
|
show binlog events from <binlog_start>;
|
|
Log_name Pos Event_type Server_id End_log_pos Info
|
|
master-bin.000001 # Gtid # # BEGIN GTID #-#-#
|
|
master-bin.000001 # Table_map # # table_id: # (test.t2)
|
|
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
|
master-bin.000001 # Query # # COMMIT
|
|
master-bin.000001 # Gtid # # BEGIN GTID #-#-#
|
|
master-bin.000001 # Table_map # # table_id: # (test.t2)
|
|
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
|
master-bin.000001 # Query # # COMMIT
|
|
master-bin.000001 # Gtid # # GTID #-#-#
|
|
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE t1
|
|
DROP TABLE t1,t2;
|
|
SET BINLOG_FORMAT=STATEMENT;
|
|
RESET MASTER;
|
|
CREATE TABLE t1 (a INT) ENGINE=MyISAM;
|
|
CREATE TABLE t2 (a INT) ENGINE=MyISAM;
|
|
INSERT INTO t2 VALUES (1),(2),(3);
|
|
**** Truncate of empty table shall be logged
|
|
TRUNCATE TABLE t1;
|
|
TRUNCATE TABLE t2;
|
|
show binlog events from <binlog_start>;
|
|
Log_name Pos Event_type Server_id End_log_pos Info
|
|
master-bin.000001 # Gtid # # GTID #-#-#
|
|
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE t1
|
|
master-bin.000001 # Gtid # # GTID #-#-#
|
|
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE t2
|
|
DROP TABLE t1,t2;
|
|
#
|
|
# Bug#42643: InnoDB does not support replication of TRUNCATE TABLE
|
|
#
|
|
CREATE TABLE t1 (a INT) ENGINE=MyISAM;
|
|
CREATE TABLE t2 (a INT) ENGINE=MyISAM;
|
|
INSERT INTO t1 VALUES (1),(2);
|
|
# Connection: default
|
|
BEGIN;
|
|
INSERT INTO t2 SELECT * FROM t1;
|
|
# Connection: truncate
|
|
TRUNCATE TABLE t1;
|
|
# Connection: default
|
|
INSERT INTO t2 SELECT * FROM t1;
|
|
SELECT COUNT(*) FROM t2;
|
|
COUNT(*)
|
|
4
|
|
COMMIT;
|
|
# Connection: truncate
|
|
# Reaping TRUNCATE TABLE
|
|
SELECT COUNT(*) FROM t1;
|
|
COUNT(*)
|
|
0
|
|
SELECT COUNT(*) FROM t2;
|
|
COUNT(*)
|
|
4
|
|
# Connection: default
|
|
show binlog events from <binlog_start>;
|
|
Log_name Pos Event_type Server_id End_log_pos Info
|
|
master-bin.000001 # Gtid # # BEGIN GTID #-#-#
|
|
master-bin.000001 # Query # # use `test`; INSERT INTO t2 SELECT * FROM t1
|
|
master-bin.000001 # Query # # COMMIT
|
|
master-bin.000001 # Gtid # # BEGIN GTID #-#-#
|
|
master-bin.000001 # Query # # use `test`; INSERT INTO t2 SELECT * FROM t1
|
|
master-bin.000001 # Query # # COMMIT
|
|
master-bin.000001 # Gtid # # GTID #-#-#
|
|
master-bin.000001 # Query # # use `test`; TRUNCATE TABLE t1
|
|
DROP TABLE t1,t2;
|
|
SET BINLOG_FORMAT=@old_binlog_format;
|