mirror of
https://github.com/MariaDB/server.git
synced 2025-01-22 14:54:20 +01:00
183 lines
4.9 KiB
Text
183 lines
4.9 KiB
Text
--source include/have_binlog_format_row.inc
|
|
|
|
|
|
let $SERVER_VERSION=`select version()`;
|
|
|
|
#This test case is not written for NDB, the result files
|
|
#will not match when NDB is the default engine
|
|
-- source include/not_ndb_default.inc
|
|
|
|
--source include/master-slave.inc
|
|
|
|
# Bug#15942 (RBR ignores --binlog_ignore_db and tries to map to table
|
|
# on slave for writes)
|
|
|
|
CREATE DATABASE test_ignore; # --binlog_ignore_db=mysqltest_ignore
|
|
|
|
--echo **** On Master ****
|
|
SHOW DATABASES;
|
|
USE test;
|
|
CREATE TABLE t1 (a INT, b INT);
|
|
SHOW TABLES;
|
|
INSERT INTO t1 VALUES (1,1), (2,2);
|
|
USE test_ignore;
|
|
CREATE TABLE t2 (a INT, b INT);
|
|
SHOW TABLES;
|
|
INSERT INTO t2 VALUES (3,3), (4,4);
|
|
--replace_regex /table_id: [0-9]+/table_id: #/
|
|
SHOW BINLOG EVENTS FROM 105;
|
|
sync_slave_with_master;
|
|
--echo **** On Slave ****
|
|
SHOW DATABASES;
|
|
USE test;
|
|
SHOW TABLES;
|
|
--error 1049
|
|
USE test_ignore;
|
|
|
|
connection master;
|
|
DROP DATABASE test_ignore;
|
|
sync_slave_with_master;
|
|
|
|
# Bug#19995: Extreneous table maps generated for statements that does
|
|
# not generate rows
|
|
--disable_query_log
|
|
--source include/master-slave-reset.inc
|
|
--enable_query_log
|
|
|
|
connection master;
|
|
CREATE TABLE t1 (a INT);
|
|
DELETE FROM t1;
|
|
INSERT INTO t1 VALUES (1),(2);
|
|
DELETE FROM t1 WHERE a = 0;
|
|
UPDATE t1 SET a=99 WHERE a = 0;
|
|
--replace_result $SERVER_VERSION SERVER_VERSION
|
|
--replace_regex /table_id: [0-9]+/table_id: #/
|
|
SHOW BINLOG EVENTS;
|
|
|
|
DROP TABLE t1;
|
|
|
|
# BUG#17620: Replicate (Row Based) Fails when Query Cache enabled on
|
|
# slave
|
|
--echo ================ Test for BUG#17620 ================
|
|
--disable_query_log
|
|
--source include/master-slave-reset.inc
|
|
--enable_query_log
|
|
|
|
--echo **** On Slave ****
|
|
connection slave;
|
|
SET GLOBAL QUERY_CACHE_SIZE=0;
|
|
|
|
--echo **** On Master ****
|
|
connection master;
|
|
CREATE TABLE t1 (a INT);
|
|
INSERT INTO t1 VALUES (1),(2),(3);
|
|
|
|
--echo **** On Slave ****
|
|
sync_slave_with_master;
|
|
SET GLOBAL QUERY_CACHE_SIZE=16*1024*1024;
|
|
|
|
--echo **** On Master ****
|
|
connection master;
|
|
INSERT INTO t1 VALUES (4),(5),(6);
|
|
|
|
--echo **** On Slave ****
|
|
sync_slave_with_master;
|
|
SELECT * FROM t1;
|
|
|
|
--echo **** On Master ****
|
|
connection master;
|
|
INSERT INTO t1 VALUES (7),(8),(9);
|
|
|
|
--echo **** On Slave ****
|
|
sync_slave_with_master;
|
|
SELECT * FROM t1;
|
|
|
|
# Bug#22550: Replication of BIT columns failing
|
|
--echo ================ Test for BUG#22550 ================
|
|
--disable_query_log
|
|
--source include/master-slave-reset.inc
|
|
--enable_query_log
|
|
|
|
connection master;
|
|
CREATE TABLE t1 (a BIT(1), b INT) ENGINE=MYISAM;
|
|
sync_slave_with_master;
|
|
|
|
connection master;
|
|
INSERT INTO t1 VALUES(1,2);
|
|
SELECT HEX(a),b FROM t1;
|
|
sync_slave_with_master;
|
|
SELECT HEX(a),b FROM t1;
|
|
|
|
connection master;
|
|
UPDATE t1 SET a=0 WHERE b=2;
|
|
SELECT HEX(a),b FROM t1;
|
|
sync_slave_with_master;
|
|
SELECT HEX(a),b FROM t1;
|
|
|
|
connection master;
|
|
DROP TABLE IF EXISTS t1;
|
|
sync_slave_with_master;
|
|
|
|
# BUG#22583: RBR between MyISAM and non-MyISAM tables containing a BIT
|
|
# field does not work
|
|
|
|
--echo ================ Test for BUG#22583 ================
|
|
--disable_query_log
|
|
--source include/master-slave-reset.inc
|
|
--enable_query_log
|
|
|
|
--echo **** On Master ****
|
|
connection master;
|
|
CREATE TABLE t1_myisam (k INT, a BIT(1), b BIT(9)) ENGINE=MYISAM;
|
|
CREATE TABLE t1_innodb (k INT, a BIT(1), b BIT(9)) ENGINE=INNODB;
|
|
CREATE TABLE t2_myisam (k INT, a BIT(1) NOT NULL, b BIT(4) NOT NULL) ENGINE=MYISAM;
|
|
CREATE TABLE t2_innodb (k INT, a BIT(1) NOT NULL, b BIT(4) NOT NULL) ENGINE=INNODB;
|
|
--echo **** On Slave ****
|
|
sync_slave_with_master;
|
|
ALTER TABLE t1_myisam ENGINE=INNODB;
|
|
ALTER TABLE t1_innodb ENGINE=MYISAM;
|
|
ALTER TABLE t2_myisam ENGINE=INNODB;
|
|
ALTER TABLE t2_innodb ENGINE=MYISAM;
|
|
|
|
--echo **** On Master ****
|
|
connection master;
|
|
INSERT INTO t1_myisam VALUES(1, b'0', 257);
|
|
INSERT INTO t1_myisam VALUES(2, b'1', 256);
|
|
INSERT INTO t1_innodb VALUES(1, b'0', 257);
|
|
INSERT INTO t1_innodb VALUES(2, b'1', 256);
|
|
SELECT k, HEX(a),HEX(b) FROM t1_myisam;
|
|
SELECT k, HEX(a),HEX(b) FROM t1_innodb;
|
|
INSERT INTO t2_myisam VALUES(1, b'0', 9);
|
|
INSERT INTO t2_myisam VALUES(2, b'1', 8);
|
|
INSERT INTO t2_innodb VALUES(1, b'0', 9);
|
|
INSERT INTO t2_innodb VALUES(2, b'1', 8);
|
|
SELECT k, HEX(a),HEX(b) FROM t2_myisam;
|
|
SELECT k, HEX(a),HEX(b) FROM t2_innodb;
|
|
--echo **** On Slave ****
|
|
sync_slave_with_master;
|
|
SELECT k, HEX(a),HEX(b) FROM t1_myisam;
|
|
SELECT k, HEX(a),HEX(b) FROM t1_innodb;
|
|
SELECT k, HEX(a),HEX(b) FROM t2_myisam;
|
|
SELECT k, HEX(a),HEX(b) FROM t2_innodb;
|
|
|
|
--echo **** On Master ****
|
|
connection master;
|
|
UPDATE t1_myisam SET a=0 WHERE k=2;
|
|
SELECT k, HEX(a),HEX(b) FROM t1_myisam;
|
|
UPDATE t1_innodb SET a=0 WHERE k=2;
|
|
SELECT k, HEX(a),HEX(b) FROM t1_innodb;
|
|
UPDATE t2_myisam SET a=0 WHERE k=2;
|
|
SELECT k, HEX(a),HEX(b) FROM t2_myisam;
|
|
UPDATE t2_innodb SET a=0 WHERE k=2;
|
|
SELECT k, HEX(a),HEX(b) FROM t2_innodb;
|
|
--echo **** On Slave ****
|
|
sync_slave_with_master;
|
|
SELECT k, HEX(a),HEX(b) FROM t1_myisam;
|
|
SELECT k, HEX(a),HEX(b) FROM t1_innodb;
|
|
SELECT k, HEX(a),HEX(b) FROM t2_myisam;
|
|
SELECT k, HEX(a),HEX(b) FROM t2_innodb;
|
|
|
|
--echo **** On Master ****
|
|
connection master;
|
|
DROP TABLE IF EXISTS t1_myisam, t1_innodb, t2_myisam, t2_innodb;
|
|
sync_slave_with_master;
|