List:Commits« Previous MessageNext Message »
From:Manish Kumar Date:November 8 2011 2:56pm
Subject:bzr push into mysql-trunk branch (manish.4.kumar:3577 to 3578)
View as plain text  
 3578 Manish Kumar	2011-11-08
      BUG 11764459 - 57291: BINLOG.BINLOG_TRUNCATE_INNODB IS DISABLED
      
      Problem: As a result of Bug#42643 test binlog.binlog_truncate_innodb was disabled.
               This is a replication test, which stopped to make sense in the new 
               semantics of truncate (42643 changed the semantics).
      
      Fix: The bug is fixed by removing the test and the corresponding result file.

    removed:
      mysql-test/suite/binlog/r/binlog_truncate_innodb.result
      mysql-test/suite/binlog/t/binlog_truncate_innodb.test
    modified:
      mysql-test/suite/binlog/t/disabled.def
 3577 Tor Didriksen	2011-11-08
      Bug#11748783 37359: FILESORT CAN BE MORE EFFICIENT
      
      Post-push fix: function find_all_keys() changed signature,
      so valgrind suppression must change.

    modified:
      mysql-test/valgrind.supp
=== removed file 'mysql-test/suite/binlog/r/binlog_truncate_innodb.result'
--- a/mysql-test/suite/binlog/r/binlog_truncate_innodb.result	2010-05-25 20:01:38 +0000
+++ b/mysql-test/suite/binlog/r/binlog_truncate_innodb.result	1970-01-01 00:00:00 +0000
@@ -1,403 +0,0 @@
-SET @old_binlog_format=@@binlog_format;
-SET BINLOG_FORMAT=ROW;
-RESET MASTER;
-CREATE TABLE t1 (a INT) ENGINE=InnoDB;
-CREATE TABLE t2 (a INT) ENGINE=InnoDB;
-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	#	Query	#	#	use `test`; TRUNCATE TABLE t1
-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=InnoDB;
-CREATE TABLE t2 (a INT) ENGINE=InnoDB;
-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	#	Query	#	#	BEGIN
-master-bin.000001	#	Table_map	#	#	table_id: # (test.t2)
-master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Table_map	#	#	table_id: # (test.t2)
-master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Xid	#	#	COMMIT /* XID */
-master-bin.000001	#	Query	#	#	use `test`; TRUNCATE TABLE t1
-DROP TABLE t1,t2;
-# Even though the isolation level might be permissive, truncate
-# table follows a stricter isolation as its locking is based on
-# (exclusive) metadata locks.
-CREATE TABLE t1 (a INT) ENGINE=InnoDB;
-CREATE TABLE t2 (a INT) ENGINE=InnoDB;
-INSERT INTO t2 VALUES (1),(2),(3);
-SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
-**** Truncate of empty table shall be logged
-TRUNCATE TABLE t1;
-SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
-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`; TRUNCATE TABLE t1
-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=InnoDB;
-CREATE TABLE t2 (a INT) ENGINE=InnoDB;
-INSERT INTO t1 VALUES (1),(2);
-SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
-# 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	#	Query	#	#	BEGIN
-master-bin.000001	#	Table_map	#	#	table_id: # (test.t2)
-master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Table_map	#	#	table_id: # (test.t2)
-master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Xid	#	#	COMMIT /* XID */
-master-bin.000001	#	Query	#	#	use `test`; TRUNCATE TABLE t1
-DROP TABLE t1,t2;
-CREATE TABLE t1 (a INT) ENGINE=InnoDB;
-CREATE TABLE t2 (a INT) ENGINE=InnoDB;
-INSERT INTO t2 VALUES (1),(2),(3);
-SET TRANSACTION ISOLATION LEVEL READ COMMITTED;
-**** Truncate of empty table shall be logged
-TRUNCATE TABLE t1;
-SET TRANSACTION ISOLATION LEVEL READ COMMITTED;
-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`; TRUNCATE TABLE t1
-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=InnoDB;
-CREATE TABLE t2 (a INT) ENGINE=InnoDB;
-INSERT INTO t1 VALUES (1),(2);
-SET TRANSACTION ISOLATION LEVEL READ COMMITTED;
-# 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	#	Query	#	#	BEGIN
-master-bin.000001	#	Table_map	#	#	table_id: # (test.t2)
-master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Table_map	#	#	table_id: # (test.t2)
-master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Xid	#	#	COMMIT /* XID */
-master-bin.000001	#	Query	#	#	use `test`; TRUNCATE TABLE t1
-DROP TABLE t1,t2;
-CREATE TABLE t1 (a INT) ENGINE=InnoDB;
-CREATE TABLE t2 (a INT) ENGINE=InnoDB;
-INSERT INTO t2 VALUES (1),(2),(3);
-SET TRANSACTION ISOLATION LEVEL REPEATABLE READ;
-**** Truncate of empty table shall be logged
-TRUNCATE TABLE t1;
-SET TRANSACTION ISOLATION LEVEL REPEATABLE READ;
-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`; TRUNCATE TABLE t1
-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=InnoDB;
-CREATE TABLE t2 (a INT) ENGINE=InnoDB;
-INSERT INTO t1 VALUES (1),(2);
-SET TRANSACTION ISOLATION LEVEL REPEATABLE READ;
-# 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	#	Query	#	#	BEGIN
-master-bin.000001	#	Table_map	#	#	table_id: # (test.t2)
-master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Table_map	#	#	table_id: # (test.t2)
-master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Xid	#	#	COMMIT /* XID */
-master-bin.000001	#	Query	#	#	use `test`; TRUNCATE TABLE t1
-DROP TABLE t1,t2;
-CREATE TABLE t1 (a INT) ENGINE=InnoDB;
-CREATE TABLE t2 (a INT) ENGINE=InnoDB;
-INSERT INTO t2 VALUES (1),(2),(3);
-SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
-**** Truncate of empty table shall be logged
-TRUNCATE TABLE t1;
-SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
-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`; TRUNCATE TABLE t1
-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=InnoDB;
-CREATE TABLE t2 (a INT) ENGINE=InnoDB;
-INSERT INTO t1 VALUES (1),(2);
-SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
-# 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	#	Query	#	#	BEGIN
-master-bin.000001	#	Table_map	#	#	table_id: # (test.t2)
-master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Table_map	#	#	table_id: # (test.t2)
-master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
-master-bin.000001	#	Xid	#	#	COMMIT /* XID */
-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=InnoDB;
-CREATE TABLE t2 (a INT) ENGINE=InnoDB;
-INSERT INTO t2 VALUES (1),(2),(3);
-SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
-**** Truncate of empty table shall be logged
-TRUNCATE TABLE t1;
-SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
-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`; TRUNCATE TABLE t1
-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=InnoDB;
-CREATE TABLE t2 (a INT) ENGINE=InnoDB;
-INSERT INTO t1 VALUES (1),(2);
-SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
-# 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	#	Query	#	#	BEGIN
-master-bin.000001	#	Query	#	#	use `test`; INSERT INTO t2 SELECT * FROM t1
-master-bin.000001	#	Query	#	#	use `test`; INSERT INTO t2 SELECT * FROM t1
-master-bin.000001	#	Xid	#	#	COMMIT /* XID */
-master-bin.000001	#	Query	#	#	use `test`; TRUNCATE TABLE t1
-DROP TABLE t1,t2;
-# Truncate is not supported for SBR if the isolation level is
-# READ UNCOMMITTED or READ COMMITTED. These specific isolation
-# levels are tested elsewhere.
-CREATE TABLE t1 (a INT) ENGINE=InnoDB;
-CREATE TABLE t2 (a INT) ENGINE=InnoDB;
-INSERT INTO t2 VALUES (1),(2),(3);
-SET TRANSACTION ISOLATION LEVEL REPEATABLE READ;
-**** Truncate of empty table shall be logged
-TRUNCATE TABLE t1;
-SET TRANSACTION ISOLATION LEVEL REPEATABLE READ;
-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`; TRUNCATE TABLE t1
-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=InnoDB;
-CREATE TABLE t2 (a INT) ENGINE=InnoDB;
-INSERT INTO t1 VALUES (1),(2);
-SET TRANSACTION ISOLATION LEVEL REPEATABLE READ;
-# 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	#	Query	#	#	BEGIN
-master-bin.000001	#	Query	#	#	use `test`; INSERT INTO t2 SELECT * FROM t1
-master-bin.000001	#	Query	#	#	use `test`; INSERT INTO t2 SELECT * FROM t1
-master-bin.000001	#	Xid	#	#	COMMIT /* XID */
-master-bin.000001	#	Query	#	#	use `test`; TRUNCATE TABLE t1
-DROP TABLE t1,t2;
-CREATE TABLE t1 (a INT) ENGINE=InnoDB;
-CREATE TABLE t2 (a INT) ENGINE=InnoDB;
-INSERT INTO t2 VALUES (1),(2),(3);
-SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
-**** Truncate of empty table shall be logged
-TRUNCATE TABLE t1;
-SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
-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`; TRUNCATE TABLE t1
-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=InnoDB;
-CREATE TABLE t2 (a INT) ENGINE=InnoDB;
-INSERT INTO t1 VALUES (1),(2);
-SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
-# 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	#	Query	#	#	BEGIN
-master-bin.000001	#	Query	#	#	use `test`; INSERT INTO t2 SELECT * FROM t1
-master-bin.000001	#	Query	#	#	use `test`; INSERT INTO t2 SELECT * FROM t1
-master-bin.000001	#	Xid	#	#	COMMIT /* XID */
-master-bin.000001	#	Query	#	#	use `test`; TRUNCATE TABLE t1
-DROP TABLE t1,t2;
-SET BINLOG_FORMAT=@old_binlog_format;

=== removed file 'mysql-test/suite/binlog/t/binlog_truncate_innodb.test'
--- a/mysql-test/suite/binlog/t/binlog_truncate_innodb.test	2010-05-25 20:01:38 +0000
+++ b/mysql-test/suite/binlog/t/binlog_truncate_innodb.test	1970-01-01 00:00:00 +0000
@@ -1,44 +0,0 @@
-source include/have_log_bin.inc;
-source include/have_innodb.inc;
-
-let $engine = InnoDB;
-
-SET @old_binlog_format=@@binlog_format;
-
-SET BINLOG_FORMAT=ROW;
-RESET MASTER;
-
-source extra/binlog_tests/binlog_truncate.test;
-
---echo # Even though the isolation level might be permissive, truncate
---echo # table follows a stricter isolation as its locking is based on
---echo # (exclusive) metadata locks.
-
-let $before_truncate = SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
-source extra/binlog_tests/binlog_truncate.test;
-
-let $before_truncate = SET TRANSACTION ISOLATION LEVEL READ COMMITTED;
-source extra/binlog_tests/binlog_truncate.test;
-
-let $before_truncate = SET TRANSACTION ISOLATION LEVEL REPEATABLE READ;
-source extra/binlog_tests/binlog_truncate.test;
-
-let $before_truncate = SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
-source extra/binlog_tests/binlog_truncate.test;
-
-SET BINLOG_FORMAT=STATEMENT;
-RESET MASTER;
-
-source extra/binlog_tests/binlog_truncate.test;
-
---echo # Truncate is not supported for SBR if the isolation level is
---echo # READ UNCOMMITTED or READ COMMITTED. These specific isolation
---echo # levels are tested elsewhere.
-
-let $before_truncate = SET TRANSACTION ISOLATION LEVEL REPEATABLE READ;
-source extra/binlog_tests/binlog_truncate.test;
-
-let $before_truncate = SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
-source extra/binlog_tests/binlog_truncate.test;
-
-SET BINLOG_FORMAT=@old_binlog_format;

=== modified file 'mysql-test/suite/binlog/t/disabled.def'
--- a/mysql-test/suite/binlog/t/disabled.def	2011-08-03 18:22:00 +0000
+++ b/mysql-test/suite/binlog/t/disabled.def	2011-11-08 14:54:44 +0000
@@ -9,5 +9,4 @@
 #  Do not use any TAB characters for whitespace.
 #
 ##############################################################################
-binlog_truncate_innodb	: BUG#11764459 2010-10-20 anitha Originally disabled due to BUG#42643. Product bug fixed, but test changes needed
 binlog_spurious_ddl_errors  : BUG#11761680 2010-06-03 alik binlog_spurious_ddl_errors.test fails, thus disabled

No bundle (reason: useless for push emails).
Thread
bzr push into mysql-trunk branch (manish.4.kumar:3577 to 3578) Manish Kumar11 Nov