mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Manual Merge
This commit is contained in:
@ -11,6 +11,7 @@
|
||||
|
||||
source include/master-slave.inc;
|
||||
source include/have_binlog_format_mixed.inc;
|
||||
source include/have_innodb.inc;
|
||||
|
||||
--echo ==== Initialize ====
|
||||
|
||||
@ -146,3 +147,59 @@ DROP TABLE t3, t1;
|
||||
-- sync_slave_with_master
|
||||
|
||||
-- source include/show_binlog_events.inc
|
||||
|
||||
--echo
|
||||
--echo # Bug#55478 Row events wrongly apply on the temporary table of the same name
|
||||
--echo # ==========================================================================
|
||||
connection master;
|
||||
|
||||
let $binlog_file= query_get_value(SHOW MASTER STATUS, File, 1);
|
||||
let $binlog_start= query_get_value(SHOW MASTER STATUS, Position, 1);
|
||||
|
||||
--echo # The statement should be binlogged
|
||||
CREATE TEMPORARY TABLE t1(c1 INT) ENGINE=InnoDB;
|
||||
|
||||
--echo
|
||||
--echo # Case 1: CREATE TABLE t1 ... SELECT
|
||||
--echo # ----------------------------------
|
||||
let $binlog_file= query_get_value(SHOW MASTER STATUS, File, 1);
|
||||
let $binlog_start= query_get_value(SHOW MASTER STATUS, Position, 1);
|
||||
|
||||
--echo
|
||||
--echo # The statement generates row events on t1. And the rows events should
|
||||
--echo # be inserted into the base table on slave.
|
||||
CREATE TABLE t1 ENGINE=MyISAM SELECT rand();
|
||||
|
||||
source include/show_binlog_events.inc;
|
||||
let $binlog_file= query_get_value(SHOW MASTER STATUS, File, 1);
|
||||
let $binlog_start= query_get_value(SHOW MASTER STATUS, Position, 1);
|
||||
|
||||
--echo
|
||||
--echo # Case 2: DROP TEMPORARY TABLE in a transacation
|
||||
--echo # ----------------------------------------------
|
||||
--echo
|
||||
|
||||
BEGIN;
|
||||
DROP TEMPORARY TABLE t1;
|
||||
|
||||
# The patch for BUG#55478 fixed the problem only on RBR. The problem on SBR
|
||||
# will be fixed by the patch for bug#55709. So This statement cannot be
|
||||
# executed until Bug#55709 is fixed
|
||||
#
|
||||
# INSERT INTO t1 VALUES(1);
|
||||
|
||||
--echo # The rows event will binlogged before 'DROP TEMPORARY TABLE t1',
|
||||
--echo # as t1 is non-transactional table
|
||||
INSERT INTO t1 VALUES(Rand());
|
||||
COMMIT;
|
||||
|
||||
source include/show_binlog_events.inc;
|
||||
|
||||
--echo # Compare the base table.
|
||||
let diff_table= test.t1;
|
||||
source include/rpl_diff_tables.inc;
|
||||
|
||||
--echo
|
||||
connection master;
|
||||
DROP TABLE t1;
|
||||
source include/master-slave-end.inc;
|
||||
|
Reference in New Issue
Block a user