mirror of
https://github.com/MariaDB/server.git
synced 2025-02-01 11:31:51 +01:00
ddc2569826
Under row-based replication, DELETE FROM will now always be replicated as individual row deletions, while TRUNCATE TABLE will always be replicated as a statement. mysql-test/extra/rpl_tests/rpl_ddl.test: Using --echo instead of SELECT to print message. mysql-test/r/binlog_row_mix_innodb_myisam.result: Result change. mysql-test/r/federated.result: Result change. mysql-test/r/range.result: Result change. mysql-test/r/rpl_sp_effects.result: Result change. mysql-test/r/show_check.result: Result change. mysql-test/r/sp-error.result: Result change. mysql-test/r/sp.result: Result change. mysql-test/r/timezone2.result: Result change. mysql-test/r/trigger-grant.result: Result change. mysql-test/r/type_datetime.result: Result change. mysql-test/r/type_ranges.result: Result change. mysql-test/r/type_timestamp.result: Result change. mysql-test/r/view.result: Result change. mysql-test/t/archive.test: Test contain statements that only works for statement-based logging. mysql-test/t/disabled.def: Disabling test due to reported bug. mysql-test/t/federated.test: Adding ORDER BY clause to SELECT statements mysql-test/t/range.test: Adding ORDER BY clause to SELECT (sub-)statement mysql-test/t/rpl_sp_effects.test: Adding ORDER BY clause to SELECT statement. mysql-test/t/show_check.test: Replacing DELETE FROM without WHERE with TRUNCATE TABLE. mysql-test/t/sp-error.test: Replacing DELETE FROM without WHERE with TRUNCATE TABLE. mysql-test/t/sp.test: Adding ORDER BY clause to SELECT statement. mysql-test/t/timezone2.test: Replacing DELETE FROM without WHERE with TRUNCATE TABLE. mysql-test/t/trigger-grant.test: Replacing DELETE FROM without WHERE with TRUNCATE TABLE. mysql-test/t/type_datetime.test: Adding ORDER BY clause to SELECT statement. mysql-test/t/type_ranges.test: Replacing DELETE FROM without WHERE with TRUNCATE TABLE. mysql-test/t/type_timestamp.test: Replacing DELETE FROM without WHERE with TRUNCATE TABLE. mysql-test/t/view.test: Adding ORDER BY clause to SELECT statement. sql/sql_class.h: Adding member function to set replication to statement-based. sql/sql_delete.cc: When row-based replication is used, DELETE FROM will always delete the contents of the table row-by-row and not use delete_all_rows(). mysql-test/extra/rpl_tests/rpl_truncate.test: New BitKeeper file ``mysql-test/extra/rpl_tests/rpl_truncate.test'' mysql-test/extra/rpl_tests/rpl_truncate_helper.inc: New BitKeeper file ``mysql-test/extra/rpl_tests/rpl_truncate_helper.inc'' mysql-test/r/rpl_truncate_2myisam.result: New BitKeeper file ``mysql-test/r/rpl_truncate_2myisam.result'' mysql-test/r/rpl_truncate_3innodb.result: New BitKeeper file ``mysql-test/r/rpl_truncate_3innodb.result'' mysql-test/r/rpl_truncate_7ndb.result: New BitKeeper file ``mysql-test/r/rpl_truncate_7ndb.result'' mysql-test/t/rpl_truncate_2myisam.test: New BitKeeper file ``mysql-test/t/rpl_truncate_2myisam.test'' mysql-test/t/rpl_truncate_3innodb.test: New BitKeeper file ``mysql-test/t/rpl_truncate_3innodb.test'' mysql-test/t/rpl_truncate_7ndb.test: New BitKeeper file ``mysql-test/t/rpl_truncate_7ndb.test''
202 lines
5.4 KiB
Text
202 lines
5.4 KiB
Text
stop slave;
|
|
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
|
reset master;
|
|
reset slave;
|
|
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
|
start slave;
|
|
**** On Master ****
|
|
SET SESSION BINLOG_FORMAT=STATEMENT;
|
|
SET GLOBAL BINLOG_FORMAT=STATEMENT;
|
|
CREATE TABLE t1 (a INT, b LONG) ENGINE=MyISAM;
|
|
INSERT INTO t1 VALUES (1,1), (2,2);
|
|
SELECT * FROM t1;
|
|
a b
|
|
1 1
|
|
2 2
|
|
**** On Slave ****
|
|
INSERT INTO t1 VALUE (3,3);
|
|
SELECT * FROM t1;
|
|
a b
|
|
1 1
|
|
2 2
|
|
3 3
|
|
**** On Master ****
|
|
TRUNCATE TABLE t1;
|
|
SELECT * FROM t1;
|
|
a b
|
|
**** On Slave ****
|
|
SELECT * FROM t1;
|
|
a b
|
|
**** On Master ****
|
|
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: 5.1.10-beta-debug-log, 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
|
|
**** On Master ****
|
|
SET SESSION BINLOG_FORMAT=MIXED;
|
|
SET GLOBAL BINLOG_FORMAT=MIXED;
|
|
CREATE TABLE t1 (a INT, b LONG) ENGINE=MyISAM;
|
|
INSERT INTO t1 VALUES (1,1), (2,2);
|
|
SELECT * FROM t1;
|
|
a b
|
|
1 1
|
|
2 2
|
|
**** On Slave ****
|
|
INSERT INTO t1 VALUE (3,3);
|
|
SELECT * FROM t1;
|
|
a b
|
|
1 1
|
|
2 2
|
|
3 3
|
|
**** On Master ****
|
|
TRUNCATE TABLE t1;
|
|
SELECT * FROM t1;
|
|
a b
|
|
**** On Slave ****
|
|
SELECT * FROM t1;
|
|
a b
|
|
**** On Master ****
|
|
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: 5.1.10-beta-debug-log, 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
|
|
**** On Master ****
|
|
SET SESSION BINLOG_FORMAT=ROW;
|
|
SET GLOBAL BINLOG_FORMAT=ROW;
|
|
CREATE TABLE t1 (a INT, b LONG) ENGINE=MyISAM;
|
|
INSERT INTO t1 VALUES (1,1), (2,2);
|
|
SELECT * FROM t1;
|
|
a b
|
|
1 1
|
|
2 2
|
|
**** On Slave ****
|
|
INSERT INTO t1 VALUE (3,3);
|
|
SELECT * FROM t1;
|
|
a b
|
|
1 1
|
|
2 2
|
|
3 3
|
|
**** On Master ****
|
|
TRUNCATE TABLE t1;
|
|
SELECT * FROM t1;
|
|
a b
|
|
**** On Slave ****
|
|
SELECT * FROM t1;
|
|
a b
|
|
**** On Master ****
|
|
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: 5.1.10-beta-debug-log, 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
|
|
**** On Master ****
|
|
SET SESSION BINLOG_FORMAT=STATEMENT;
|
|
SET GLOBAL BINLOG_FORMAT=STATEMENT;
|
|
CREATE TABLE t1 (a INT, b LONG) ENGINE=MyISAM;
|
|
INSERT INTO t1 VALUES (1,1), (2,2);
|
|
SELECT * FROM t1;
|
|
a b
|
|
1 1
|
|
2 2
|
|
**** On Slave ****
|
|
INSERT INTO t1 VALUE (3,3);
|
|
SELECT * FROM t1;
|
|
a b
|
|
1 1
|
|
2 2
|
|
3 3
|
|
**** On Master ****
|
|
DELETE FROM t1;
|
|
SELECT * FROM t1;
|
|
a b
|
|
**** On Slave ****
|
|
SELECT * FROM t1;
|
|
a b
|
|
**** On Master ****
|
|
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: 5.1.10-beta-debug-log, 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
|
|
**** On Master ****
|
|
SET SESSION BINLOG_FORMAT=MIXED;
|
|
SET GLOBAL BINLOG_FORMAT=MIXED;
|
|
CREATE TABLE t1 (a INT, b LONG) ENGINE=MyISAM;
|
|
INSERT INTO t1 VALUES (1,1), (2,2);
|
|
SELECT * FROM t1;
|
|
a b
|
|
1 1
|
|
2 2
|
|
**** On Slave ****
|
|
INSERT INTO t1 VALUE (3,3);
|
|
SELECT * FROM t1;
|
|
a b
|
|
1 1
|
|
2 2
|
|
3 3
|
|
**** On Master ****
|
|
DELETE FROM t1;
|
|
SELECT * FROM t1;
|
|
a b
|
|
**** On Slave ****
|
|
SELECT * FROM t1;
|
|
a b
|
|
**** On Master ****
|
|
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: 5.1.10-beta-debug-log, 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
|
|
**** On Master ****
|
|
SET SESSION BINLOG_FORMAT=ROW;
|
|
SET GLOBAL BINLOG_FORMAT=ROW;
|
|
CREATE TABLE t1 (a INT, b LONG) ENGINE=MyISAM;
|
|
INSERT INTO t1 VALUES (1,1), (2,2);
|
|
SELECT * FROM t1;
|
|
a b
|
|
1 1
|
|
2 2
|
|
**** On Slave ****
|
|
INSERT INTO t1 VALUE (3,3);
|
|
SELECT * FROM t1;
|
|
a b
|
|
1 1
|
|
2 2
|
|
3 3
|
|
**** On Master ****
|
|
DELETE FROM t1;
|
|
SELECT * FROM t1;
|
|
a b
|
|
**** On Slave ****
|
|
SELECT * FROM t1;
|
|
a b
|
|
3 3
|
|
**** On Master ****
|
|
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: 5.1.10-beta-debug-log, 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
|