mirror of
https://github.com/MariaDB/server.git
synced 2025-08-31 22:22:30 +03:00
Post-push fix for BUG#51251.
The test case added in previous patch missed a RESET MASTER on test start up. Without it, showing binary log contents can sometimes show spurious entries from previously executed tests, ultimately causing test failure - result mismatch. The test file was added in: revid:luis.soares@sun.com-20100224190153-k0bpdx9abe88uoo2 This patch also moves the test case into binlog_innodb_row.test file. This way we avoid having yet another test file, binlog_row_innodb_truncate.test, whose only purpose is to host one test case. This had been actually suggested during original patch review, but somehow the binlog_innodb_row was missed when searching for a file to host the test case.
This commit is contained in:
@@ -29,3 +29,32 @@ master-bin.000001 # Table_map # # table_id: # (test.t1)
|
|||||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
RESET MASTER;
|
||||||
|
CREATE TABLE t1 ( c1 int , primary key (c1)) ENGINE=InnoDB;
|
||||||
|
INSERT INTO t1 VALUES (1), (2), (3);
|
||||||
|
CREATE TEMPORARY TABLE IF NOT EXISTS t2 LIKE t1;
|
||||||
|
TRUNCATE TABLE t2;
|
||||||
|
DROP TABLE t1;
|
||||||
|
###############################################
|
||||||
|
### assertion: No event for 'TRUNCATE TABLE t2'
|
||||||
|
###############################################
|
||||||
|
show binlog events from <binlog_start>;
|
||||||
|
Log_name Pos Event_type Server_id End_log_pos Info
|
||||||
|
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 ( c1 int , primary key (c1)) ENGINE=InnoDB
|
||||||
|
master-bin.000001 # Query # # BEGIN
|
||||||
|
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
||||||
|
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
||||||
|
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||||
|
master-bin.000001 # Query # # use `test`; DROP TABLE t1
|
||||||
|
###############################################
|
||||||
|
RESET MASTER;
|
||||||
|
CREATE TEMPORARY TABLE t1 (c1 int) Engine=InnoDB;
|
||||||
|
INSERT INTO t1 VALUES (1), (2), (3);
|
||||||
|
TRUNCATE t1;
|
||||||
|
DROP TEMPORARY TABLE t1;
|
||||||
|
###############################################
|
||||||
|
### assertion: No event for 'TRUNCATE TABLE t1'
|
||||||
|
###############################################
|
||||||
|
show binlog events from <binlog_start>;
|
||||||
|
Log_name Pos Event_type Server_id End_log_pos Info
|
||||||
|
###############################################
|
||||||
|
@@ -1,28 +0,0 @@
|
|||||||
CREATE TABLE t1 ( c1 int , primary key (c1)) ENGINE=InnoDB;
|
|
||||||
INSERT INTO t1 VALUES (1), (2), (3);
|
|
||||||
CREATE TEMPORARY TABLE IF NOT EXISTS t2 LIKE t1;
|
|
||||||
TRUNCATE TABLE t2;
|
|
||||||
DROP TABLE t1;
|
|
||||||
###############################################
|
|
||||||
### assertion: No event for 'TRUNCATE TABLE t2'
|
|
||||||
###############################################
|
|
||||||
show binlog events from <binlog_start>;
|
|
||||||
Log_name Pos Event_type Server_id End_log_pos Info
|
|
||||||
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 ( c1 int , primary key (c1)) ENGINE=InnoDB
|
|
||||||
master-bin.000001 # Query # # BEGIN
|
|
||||||
master-bin.000001 # Table_map # # table_id: # (test.t1)
|
|
||||||
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
|
|
||||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
|
||||||
master-bin.000001 # Query # # use `test`; DROP TABLE t1
|
|
||||||
###############################################
|
|
||||||
RESET MASTER;
|
|
||||||
CREATE TEMPORARY TABLE t1 (c1 int) Engine=InnoDB;
|
|
||||||
INSERT INTO t1 VALUES (1), (2), (3);
|
|
||||||
TRUNCATE t1;
|
|
||||||
DROP TEMPORARY TABLE t1;
|
|
||||||
###############################################
|
|
||||||
### assertion: No event for 'TRUNCATE TABLE t1'
|
|
||||||
###############################################
|
|
||||||
show binlog events from <binlog_start>;
|
|
||||||
Log_name Pos Event_type Server_id End_log_pos Info
|
|
||||||
###############################################
|
|
@@ -40,3 +40,40 @@ commit;
|
|||||||
source include/show_binlog_events.inc;
|
source include/show_binlog_events.inc;
|
||||||
|
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
|
||||||
|
#
|
||||||
|
# BUG#51251
|
||||||
|
#
|
||||||
|
# The test case checks if truncating a temporary table created with
|
||||||
|
# engine InnoDB will not cause the truncate statement to be binlogged.
|
||||||
|
|
||||||
|
# Before patch for BUG#51251, the TRUNCATE statements below would be
|
||||||
|
# binlogged, which would cause the slave to fail with "table does not
|
||||||
|
# exist".
|
||||||
|
|
||||||
|
RESET MASTER;
|
||||||
|
|
||||||
|
CREATE TABLE t1 ( c1 int , primary key (c1)) ENGINE=InnoDB;
|
||||||
|
INSERT INTO t1 VALUES (1), (2), (3);
|
||||||
|
CREATE TEMPORARY TABLE IF NOT EXISTS t2 LIKE t1;
|
||||||
|
TRUNCATE TABLE t2;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
-- echo ###############################################
|
||||||
|
-- echo ### assertion: No event for 'TRUNCATE TABLE t2'
|
||||||
|
-- echo ###############################################
|
||||||
|
-- source include/show_binlog_events.inc
|
||||||
|
-- echo ###############################################
|
||||||
|
|
||||||
|
RESET MASTER;
|
||||||
|
|
||||||
|
CREATE TEMPORARY TABLE t1 (c1 int) Engine=InnoDB;
|
||||||
|
INSERT INTO t1 VALUES (1), (2), (3);
|
||||||
|
TRUNCATE t1;
|
||||||
|
DROP TEMPORARY TABLE t1;
|
||||||
|
|
||||||
|
-- echo ###############################################
|
||||||
|
-- echo ### assertion: No event for 'TRUNCATE TABLE t1'
|
||||||
|
-- echo ###############################################
|
||||||
|
-- source include/show_binlog_events.inc
|
||||||
|
-- echo ###############################################
|
||||||
|
@@ -1,37 +0,0 @@
|
|||||||
-- source include/have_binlog_format_row.inc
|
|
||||||
-- source include/have_innodb.inc
|
|
||||||
|
|
||||||
#
|
|
||||||
# BUG#51251
|
|
||||||
#
|
|
||||||
# The test case checks if truncating a temporary table created with
|
|
||||||
# engine InnoDB will not cause the truncate statement to be binlogged.
|
|
||||||
|
|
||||||
# Before patch for BUG#51251, the TRUNCATE statements below would be
|
|
||||||
# binlogged, which would cause the slave to fail with "table does not
|
|
||||||
# exist".
|
|
||||||
|
|
||||||
CREATE TABLE t1 ( c1 int , primary key (c1)) ENGINE=InnoDB;
|
|
||||||
INSERT INTO t1 VALUES (1), (2), (3);
|
|
||||||
CREATE TEMPORARY TABLE IF NOT EXISTS t2 LIKE t1;
|
|
||||||
TRUNCATE TABLE t2;
|
|
||||||
DROP TABLE t1;
|
|
||||||
|
|
||||||
-- echo ###############################################
|
|
||||||
-- echo ### assertion: No event for 'TRUNCATE TABLE t2'
|
|
||||||
-- echo ###############################################
|
|
||||||
-- source include/show_binlog_events.inc
|
|
||||||
-- echo ###############################################
|
|
||||||
|
|
||||||
RESET MASTER;
|
|
||||||
|
|
||||||
CREATE TEMPORARY TABLE t1 (c1 int) Engine=InnoDB;
|
|
||||||
INSERT INTO t1 VALUES (1), (2), (3);
|
|
||||||
TRUNCATE t1;
|
|
||||||
DROP TEMPORARY TABLE t1;
|
|
||||||
|
|
||||||
-- echo ###############################################
|
|
||||||
-- echo ### assertion: No event for 'TRUNCATE TABLE t1'
|
|
||||||
-- echo ###############################################
|
|
||||||
-- source include/show_binlog_events.inc
|
|
||||||
-- echo ###############################################
|
|
Reference in New Issue
Block a user