Commit f8bc9b3c authored by unknown's avatar unknown

New test case fro replication between ndb and other storage engines.


mysql-test/t/rpl_ndb_2innodb.test:
  New rpl ndb test case for replicating to other storage engines
mysql-test/t/rpl_ndb_2myisam.test:
  New rpl ndb test case for replicating to other storage engines
mysql-test/t/rpl_ndb_2innodb-slave.opt:
  New rpl ndb test supporting option files
mysql-test/t/rpl_ndb_2innodb-master.opt:
  New rpl ndb test supporting option files
mysql-test/t/rpl_ndb_2myisam-master.opt:
  New rpl ndb test supporting option files
mysql-test/t/rpl_ndb_2myisam-slave.opt:
  New rpl ndb test supporting option files
mysql-test/t/rpl_ndb_innodb2ndb.test:
  New rpl ndb test case for replicating from other storage engines to ndb
mysql-test/t/rpl_ndb_myisam2ndb.test:
  New rpl ndb test case for replicating from other storage engines to ndb
mysql-test/t/rpl_ndb_innodb2ndb-master.opt:
  New rpl ndb test supporting option files
mysql-test/t/rpl_ndb_innodb2ndb-slave.opt:
  New rpl ndb test supporting option files
mysql-test/t/rpl_ndb_myisam2ndb-master.opt:
  New rpl ndb test supporting option files
mysql-test/t/rpl_ndb_myisam2ndb-slave.opt:
  New rpl ndb test supporting option files
mysql-test/extra/rpl_tests/rpl_ndb_2multi_eng.test:
  New test code that drives the rpl of ndb -> innodb/myisam or innodb/myisam -> ndb
mysql-test/include/rpl_multi_engine3.inc:
  New include that cover repeating code of the rpl of ndb -> innodb/myisam or innodb/myisam -> ndb
mysql-test/t/disabled.def:
  Updated to include new test cases that have outstanding bug reports.
parent e2393aa2
##############################################################
# Author: JBM
# Date: 2006-02-23
# Purpose: See if replication between
# NDB -> MyISAM and InnoDB works.
# and if
# MyISAM and InnoDB -> NDB works.
##############################################################
--disable_query_log
select "--- Doing pre cleanup --" as "";
--enable_query_log
connection master;
--disable_warnings
DROP TABLE IF EXISTS t1;
--enable_query_log
--disable_warnings
select "--- Start test 1 Basic testing --" as "";
select "--- Create Table Section --" as "";
--enable_query_log
CREATE TABLE t1 (id MEDIUMINT NOT NULL, b1 BIT(8), vc VARCHAR(255), bc CHAR(255), d DECIMAL(10,4) DEFAULT 0, f FLOAT DEFAULT 0, total BIGINT UNSIGNED, y YEAR, t DATE,PRIMARY KEY(id));
--disable_query_log
select "--- Show table on master --" as "";
--enable_query_log
SHOW CREATE TABLE t1;
--disable_query_log
select "--- Show table on slave --" as "";
--enable_query_log
sync_slave_with_master;
SHOW CREATE TABLE t1;
--disable_query_log
select "--- Perform basic operation on master and ensure replicated correctly --" as "";
--enable_query_log
--source include/rpl_multi_engine3.inc
# Okay lets see how it holds up to table changes
--disable_query_log
select "--- Check that simple Alter statements are replicated correctly --" as "";
--enable_query_log
ALTER TABLE t1 MODIFY vc TEXT;
ALTER TABLE t1 DROP PRIMARY KEY, ADD PRIMARY KEY(id, total);
--disable_query_log
select "--- Show the new improved table on the master --" as "";
--enable_query_log
SHOW CREATE TABLE t1;
--disable_query_log
select "--- Make sure that our tables on slave are still same engine --" as "";
select "--- and that the alter statements replicated correctly --" as "";
--enable_query_log
sync_slave_with_master;
SHOW CREATE TABLE t1;
--disable_query_log
select "--- Perform basic operation on master and ensure replicated correctly --" as "";
--enable_query_log
--source include/rpl_multi_engine3.inc
--disable_warnings
select "--- End test 1 Basic testing --" as "";
select "--- Do Cleanup --" as "";
--enable_query_log
DROP TABLE IF EXISTS t1;
#################################################################
--disable_warnings
select "--- Start test 2 partition RANGE testing --" as "";
select "--- Do setup --" as "";
--enable_query_log
CREATE TABLE t1 (id MEDIUMINT NOT NULL, b1 BIT(8), vc VARCHAR(255), bc CHAR(255), d DECIMAL(10,4) DEFAULT 0, f FLOAT DEFAULT 0, total BIGINT UNSIGNED, y YEAR, t DATE)PARTITION BY RANGE (YEAR(t)) (PARTITION p0 VALUES LESS THAN (1901), PARTITION p1 VALUES LESS THAN (1946), PARTITION p2 VALUES LESS THAN (1966), PARTITION p3 VALUES LESS THAN (1986), PARTITION p4 VALUES LESS THAN (2005), PARTITION p5 VALUES LESS THAN MAXVALUE);
--disable_query_log
select "--- Show table on master --" as "";
--enable_query_log
SHOW CREATE TABLE t1;
--disable_query_log
select "--- Show table on slave --" as "";
--enable_query_log
sync_slave_with_master;
SHOW CREATE TABLE t1;
--disable_query_log
select "--- Perform basic operation on master and ensure replicated correctly --" as "";
--enable_query_log
--source include/rpl_multi_engine3.inc
--disable_query_log
select "--- Check that simple Alter statements are replicated correctly --" as "";
--enable_query_log
ALTER TABLE t1 MODIFY vc TEXT;
--disable_query_log
select "--- Show the new improved table on the master --" as "";
--enable_query_log
SHOW CREATE TABLE t1;
--disable_query_log
select "--- Make sure that our tables on slave are still same engine --" as "";
select "--- and that the alter statements replicated correctly --" as "";
--enable_query_log
sync_slave_with_master;
SHOW CREATE TABLE t1;
--disable_query_log
select "--- Perform basic operation on master and ensure replicated correctly --" as "";
--enable_query_log
--source include/rpl_multi_engine3.inc
--disable_warnings
select "--- End test 2 partition RANGE testing --" as "";
select "--- Do Cleanup --" as "";
--enable_query_log
DROP TABLE IF EXISTS t1;
########################################################
--disable_warnings
select "--- Start test 3 partition LIST testing --" as "";
select "--- Do setup --" as "";
--enable_query_log
CREATE TABLE t1 (id MEDIUMINT NOT NULL, b1 BIT(8), vc VARCHAR(255), bc CHAR(255), d DECIMAL(10,4) DEFAULT 0, f FLOAT DEFAULT 0, total BIGINT UNSIGNED, y YEAR, t DATE)PARTITION BY LIST(id) (PARTITION p0 VALUES IN (2, 4), PARTITION p1 VALUES IN (42, 142));
--disable_warnings
select "--- Test 3 Alter to add partition --" as "";
--enable_query_log
ALTER TABLE t1 ADD PARTITION (PARTITION p2 VALUES IN (412));
--disable_query_log
select "--- Show table on master --" as "";
--enable_query_log
SHOW CREATE TABLE t1;
--disable_query_log
select "--- Show table on slave --" as "";
--enable_query_log
sync_slave_with_master;
SHOW CREATE TABLE t1;
--disable_query_log
select "--- Perform basic operation on master and ensure replicated correctly --" as "";
--enable_query_log
--source include/rpl_multi_engine3.inc
--disable_query_log
select "--- Check that simple Alter statements are replicated correctly --" as "";
--enable_query_log
ALTER TABLE t1 MODIFY vc TEXT;
--disable_query_log
select "--- Show the new improved table on the master --" as "";
--enable_query_log
SHOW CREATE TABLE t1;
--disable_query_log
select "--- Make sure that our tables on slave are still same engine --" as "";
select "--- and that the alter statements replicated correctly --" as "";
--enable_query_log
sync_slave_with_master;
SHOW CREATE TABLE t1;
--disable_query_log
select "--- Perform basic operation on master and ensure replicated correctly --" as "";
--enable_query_log
--source include/rpl_multi_engine3.inc
--disable_warnings
select "--- End test 3 partition LIST testing --" as "";
select "--- Do Cleanup --" as "";
--enable_query_log
DROP TABLE IF EXISTS t1;
########################################################
--disable_warnings
select "--- Start test 4 partition HASH testing --" as "";
select "--- Do setup --" as "";
--enable_query_log
CREATE TABLE t1 (id MEDIUMINT NOT NULL, b1 BIT(8), vc VARCHAR(255), bc CHAR(255), d DECIMAL(10,4) DEFAULT 0, f FLOAT DEFAULT 0, total BIGINT UNSIGNED, y YEAR, t DATE)PARTITION BY HASH( YEAR(t) ) PARTITIONS 4;
--disable_query_log
select "--- show that tables have been created correctly --" as "";
--enable_query_log
SHOW CREATE TABLE t1;
sync_slave_with_master;
SHOW CREATE TABLE t1;
--disable_query_log
select "--- Perform basic operation on master and ensure replicated correctly --" as "";
--enable_query_log
--source include/rpl_multi_engine3.inc
--disable_query_log
select "--- Check that simple Alter statements are replicated correctly --" as "";
--enable_query_log
ALTER TABLE t1 MODIFY vc TEXT;
--disable_query_log
select "--- Show the new improved table on the master --" as "";
--enable_query_log
SHOW CREATE TABLE t1;
--disable_query_log
select "--- Make sure that our tables on slave are still same engine --" as "";
select "--- and that the alter statements replicated correctly --" as "";
--enable_query_log
sync_slave_with_master;
SHOW CREATE TABLE t1;
--disable_query_log
select "--- Perform basic operation on master and ensure replicated correctly --" as "";
--enable_query_log
--source include/rpl_multi_engine3.inc
--disable_warnings
select "--- End test 4 partition HASH testing --" as "";
select "--- Do Cleanup --" as "";
--enable_query_log
DROP TABLE IF EXISTS t1;
########################################################
--disable_warnings
select "--- Start test 5 partition by key testing --" as "";
select "--- Create Table Section --" as "";
--enable_query_log
CREATE TABLE t1 (id MEDIUMINT NOT NULL, b1 BIT(8), vc VARCHAR(255), bc CHAR(255), d DECIMAL(10,4) DEFAULT 0, f FLOAT DEFAULT 0, total BIGINT UNSIGNED, y YEAR, t DATE,PRIMARY KEY(id))PARTITION BY KEY() PARTITIONS 4;
--disable_query_log
select "--- Show that tables on master are ndbcluster tables --" as "";
--enable_query_log
SHOW CREATE TABLE t1;
--disable_query_log
select "--- Show that tables on slave --" as "";
--enable_query_log
sync_slave_with_master;
SHOW CREATE TABLE t1;
--disable_query_log
select "--- Perform basic operation on master and ensure replicated correctly --" as "";
--enable_query_log
--source include/rpl_multi_engine3.inc
# Okay lets see how it holds up to table changes
--disable_query_log
select "--- Check that simple Alter statements are replicated correctly --" as "";
--enable_query_log
ALTER TABLE t1 DROP PRIMARY KEY, ADD PRIMARY KEY(id, total);
--disable_query_log
select "--- Show the new improved table on the master --" as "";
--enable_query_log
SHOW CREATE TABLE t1;
--disable_query_log
select "--- Make sure that our tables on slave are still myisam, innodb, memory --" as "";
select "--- and that the alter statements replicated correctly --" as "";
--enable_query_log
sync_slave_with_master;
SHOW CREATE TABLE t1;
--disable_query_log
select "--- Perform basic operation on master and ensure replicated correctly --" as "";
--enable_query_log
--source include/rpl_multi_engine3.inc
--disable_query_log
select "--- Check that simple Alter statements are replicated correctly --" as "";
--enable_query_log
ALTER TABLE t1 MODIFY vc TEXT;
--disable_query_log
select "--- Show the new improved table on the master --" as "";
--enable_query_log
SHOW CREATE TABLE t1;
--disable_query_log
select "--- Make sure that our tables on slave are still same engine --" as "";
select "--- and that the alter statements replicated correctly --" as "";
--enable_query_log
sync_slave_with_master;
SHOW CREATE TABLE t1;
--disable_query_log
select "--- Perform basic operation on master and ensure replicated correctly --" as "";
--enable_query_log
--source include/rpl_multi_engine3.inc
--disable_warnings
select "--- End test 1 Basic testing --" as "";
select "--- Do Cleanup --" as "";
--enable_query_log
DROP TABLE IF EXISTS t1;
# End of 5.1 test case
#############################################################
# Author: JBM
# Date: 2006-02-23
# Purpose: To reuse through out test and make maint easier
#############################################################
connection master;
--disable_query_log
select "--- Insert into t1 --" as "";
INSERT INTO t1 VALUES(42,1,'Testing MySQL databases is a cool ', 'Must make it bug free for the customer',654321.4321,15.21,0,1965,"1905-11-14");
INSERT INTO t1 VALUES(2,1,'Testing MySQL databases is a cool ', 'Must make it bug free for the customer',654321.4321,15.21,0,1965,"1965-11-14");
INSERT INTO t1 VALUES(4,1,'Testing MySQL databases is a cool ', 'Must make it bug free for the customer',654321.4321,15.21,0,1965,"1985-11-14");
INSERT INTO t1 VALUES(142,1,'Testing MySQL databases is a cool ', 'Must make it bug free for the customer',654321.4321,15.21,0,1965,"1995-11-14");
INSERT INTO t1 VALUES(412,1,'Testing MySQL databases is a cool ', 'Must make it bug free for the customer',654321.4321,15.21,0,1965,"2005-11-14");
select "--- Select from t1 on master --" as "";
--enable_query_log
select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
sync_slave_with_master;
--disable_query_log
select "--- Select from t1 on slave --" as "";
--enable_query_log
select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
connection master;
--disable_query_log
select "--- Update t1 on master --" as "";
--enable_query_log
UPDATE t1 SET b1 = 0, t="2006-02-22" WHERE id = 412;
--disable_query_log
select "--- Check the update on master --" as "";
--enable_query_log
SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
# Must give injector thread a little time to get update
# into the binlog other wise we will miss the update.
sleep 3;
sync_slave_with_master;
--disable_query_log
select "--- Check Update on slave --" as "";
--enable_query_log
SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
connection master;
--disable_query_log
select "--- Remove a record from t1 on master --" as "";
--enable_query_log
DELETE FROM t1 WHERE id = 42;
--disable_query_log
select "--- Show current count on master for t1 --" as "";
--enable_query_log
SELECT COUNT(*) FROM t1;
sync_slave_with_master;
--disable_query_log
select "--- Show current count on slave for t1 --" as "";
--enable_query_log
SELECT COUNT(*) FROM t1;
connection master;
DELETE FROM t1;
...@@ -22,12 +22,16 @@ partition_03ndb : Bug#16385 ...@@ -22,12 +22,16 @@ partition_03ndb : Bug#16385
ps_7ndb : dbug assert in RBR mode when executing test suite ps_7ndb : dbug assert in RBR mode when executing test suite
rpl_bit_npk : Bug#13418 rpl_bit_npk : Bug#13418
rpl_ddl : Bug#15963 SBR does not show "Definer" correctly rpl_ddl : Bug#15963 SBR does not show "Definer" correctly
rpl_ndb_2innodb : Bugs#17400, 17687, 17701
rpl_ndb_2myisam : Bugs#17400, 17687, 17701
rpl_ndb_auto_inc : Bug#17086 rpl_ndb_auto_inc : Bug#17086
rpl_ndb_basic : Bug#16228 [IN REVIEW] rpl_ndb_basic : Bug#16228 [IN REVIEW]
rpl_ndb_charset : Bug#17246 rpl_ndb_charset : Bug#17246
rpl_ndb_ddl : Bug#17400: delete & update of rows in table without pk fails rpl_ndb_ddl : Bug#17400: delete & update of rows in table without pk fails
rpl_ndb_delete_nowhere : Bug#17400: delete & update of rows in table without pk fails rpl_ndb_delete_nowhere : Bug#17400: delete & update of rows in table without pk fails
rpl_ndb_innodb2ndb : Bugs#17400, 17687, 17701
rpl_ndb_insert_ignore : Bugs: #17431: INSERT IGNORE INTO returns failed: 1296 rpl_ndb_insert_ignore : Bugs: #17431: INSERT IGNORE INTO returns failed: 1296
rpl_ndb_myisam2ndb : Bugs#17400, 17687, 17701
rpl_ndb_log : result not deterministic rpl_ndb_log : result not deterministic
rpl_ndb_relay_space : Bug#16993 rpl_ndb_relay_space : Bug#16993
rpl_ndb_multi_update3 : Bug#17400: delete & update of rows in table without pk fails rpl_ndb_multi_update3 : Bug#17400: delete & update of rows in table without pk fails
......
--default-storage-engine=ndb --binlog-format=row
--innodb --default-storage-engine=innodb --binlog-format=row
#############################################################
# Author: JBM
# Date: 2006-02-24
# Purpose: Trying to test ability to replicate from cluster
# to innodb, or myisam, or replicate from innodb/myisam to
# cluster slave. Due to limitations I have created wrappers
# to be able to use the same code for all these different
# test and to have control over the tests.
##############################################################
-- source include/have_ndb.inc
-- source include/master-slave.inc
connection slave;
-- source include/have_innodb.inc
connection master;
SET storage_engine=ndb;
--source extra/rpl_tests/rpl_ndb_2multi_eng.test
--default-storage-engine=ndb --binlog-format=row
--default-storage-engine=myisam --binlog-format=row
#############################################################
# Author: JBM
# Date: 2006-02-24
# Purpose: Trying to test ability to replicate from cluster
# to innodb, or myisam, or replicate from innodb/myisam to
# cluster slave. Due to limitations I have created wrappers
# to be able to use the same code for all these different
# test and to have control over the tests.
##############################################################
-- source include/have_ndb.inc
-- source include/master-slave.inc
SET storage_engine=ndb;
--source extra/rpl_tests/rpl_ndb_2multi_eng.test
--binlog-format=row --default-storage-engine=ndb
#############################################################
# Author: JBM
# Date: 2006-02-24
# Purpose: Trying to test ability to replicate from cluster
# to innodb, or myisam, or replicate from innodb/myisam to
# cluster slave. Due to limitations I have created wrappers
# to be able to use the same code for all these different
# test and to have control over the tests.
##############################################################
-- source include/have_innodb.inc
-- source include/master-slave.inc
connection slave;
-- source include/have_ndb.inc
connection master;
SET storage_engine=innodb;
--source extra/rpl_tests/rpl_ndb_2multi_eng.test
--default-storage-engine=ndb --binlog-format=row
#############################################################
# Author: JBM
# Date: 2006-02-24
# Purpose: Trying to test ability to replicate from cluster
# to innodb, or myisam, or replicate from innodb/myisam to
# cluster slave. Due to limitations I have created wrappers
# to be able to use the same code for all these different
# test and to have control over the tests.
##############################################################
-- source include/master-slave.inc
connection slave;
--source include/have_ndb.inc
connection master;
SET storage_engine=myisam;
--source extra/rpl_tests/rpl_ndb_2multi_eng.test
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment