mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 04:53:01 +01:00
fedd09cddf
--- Merge pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.0-build-work-vanilla-building into pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.1-build-work-vanilla-building --- Fix test cases to pass for a plain ./configure && make build. This includes disabling two test cases when certain features are not present in the server. We're not losing coverage from this because these features are usually present, and disabling them here only serves the purpose to make the test cases work in the unlikely case that they aren't. --- fixes mysql-test/extra/rpl_tests/rpl_extraSlave_Col.test: Disable this test case if we don't have partitioning mysql-test/t/rpl_row_basic_11bugs.test: Disable warnings in a number of places to make this test case work with servers that don't contain InnoDB --- make test case look better on request from reviewer mysql-test/t/rpl_row_mysqlbinlog.test: Disable this test case if the server does not have cp932 compiled in mysql-test/t/sp.test: Disable warnings during table creation in one place where engine=innodb is used, in order to make this test case work with a mysqld that was compiled without InnoDB.
186 lines
5 KiB
Text
186 lines
5 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);
|
|
source include/show_binlog_events.inc;
|
|
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;
|
|
|
|
SET GLOBAL QUERY_CACHE_SIZE=0;
|
|
|
|
# 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
|
|
|
|
# disabling warnings temporarily for ENGINE=INNODB to work without InnoDB
|
|
--disable_warnings
|
|
--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;
|
|
--enable_warnings
|
|
|
|
--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;
|