mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 21:12:26 +01:00
2c631fe880
- make tests wait until ndb connects properly mysql-test/extra/rpl_tests/rpl_commit_after_flush.test: make tests wait until ndb connects properly mysql-test/extra/rpl_tests/rpl_delete_no_where.test: make tests wait until ndb connects properly mysql-test/extra/rpl_tests/rpl_insert_ignore.test: make tests wait until ndb connects properly mysql-test/extra/rpl_tests/rpl_log.test: make tests wait until ndb connects properly mysql-test/extra/rpl_tests/rpl_multi_update2.test: make tests wait until ndb connects properly mysql-test/extra/rpl_tests/rpl_multi_update3.test: make tests wait until ndb connects properly mysql-test/extra/rpl_tests/rpl_relayrotate.test: make tests wait until ndb connects properly mysql-test/extra/rpl_tests/rpl_row_001.test: make tests wait until ndb connects properly mysql-test/extra/rpl_tests/rpl_row_UUID.test: make tests wait until ndb connects properly mysql-test/extra/rpl_tests/rpl_row_basic.test: make tests wait until ndb connects properly mysql-test/extra/rpl_tests/rpl_row_blob.test: make tests wait until ndb connects properly mysql-test/extra/rpl_tests/rpl_row_charset.test: make tests wait until ndb connects properly mysql-test/extra/rpl_tests/rpl_row_func003.test: make tests wait until ndb connects properly mysql-test/extra/rpl_tests/rpl_row_sp003.test: make tests wait until ndb connects properly mysql-test/extra/rpl_tests/rpl_row_sp006.test: make tests wait until ndb connects properly mysql-test/include/have_multi_ndb.inc: make tests wait until ndb connects properly mysql-test/include/have_ndb.inc: make tests wait until ndb connects properly mysql-test/include/ndb_not_readonly.inc: make tests wait until ndb connects properly mysql-test/t/rpl_commit_after_flush.test: make tests wait until ndb connects properly mysql-test/t/rpl_delete_no_where.test: make tests wait until ndb connects properly mysql-test/t/rpl_insert_ignore.test: make tests wait until ndb connects properly mysql-test/t/rpl_multi_update2.test: make tests wait until ndb connects properly mysql-test/t/rpl_multi_update3.test: make tests wait until ndb connects properly mysql-test/t/rpl_ndb_2innodb.test: make tests wait until ndb connects properly mysql-test/t/rpl_ndb_2myisam.test: make tests wait until ndb connects properly mysql-test/t/rpl_ndb_UUID.test: make tests wait until ndb connects properly mysql-test/t/rpl_ndb_auto_inc.test: make tests wait until ndb connects properly mysql-test/t/rpl_ndb_bank.test: make tests wait until ndb connects properly mysql-test/t/rpl_ndb_basic.test: make tests wait until ndb connects properly mysql-test/t/rpl_ndb_blob.test: make tests wait until ndb connects properly mysql-test/t/rpl_ndb_blob2.test: make tests wait until ndb connects properly mysql-test/t/rpl_ndb_charset.test: make tests wait until ndb connects properly mysql-test/t/rpl_ndb_circular.test: make tests wait until ndb connects properly mysql-test/t/rpl_ndb_circular_simplex.test: make tests wait until ndb connects properly mysql-test/t/rpl_ndb_commit_afterflush.test: make tests wait until ndb connects properly mysql-test/t/rpl_ndb_dd_advance.test: make tests wait until ndb connects properly mysql-test/t/rpl_ndb_dd_basic.test: make tests wait until ndb connects properly mysql-test/t/rpl_ndb_dd_partitions.test: make tests wait until ndb connects properly mysql-test/t/rpl_ndb_ddl.test: make tests wait until ndb connects properly mysql-test/t/rpl_ndb_delete_nowhere.test: make tests wait until ndb connects properly mysql-test/t/rpl_ndb_do_db.test: make tests wait until ndb connects properly mysql-test/t/rpl_ndb_do_table.test: make tests wait until ndb connects properly mysql-test/t/rpl_ndb_extraCol.test: make tests wait until ndb connects properly mysql-test/t/rpl_ndb_func003.test: make tests wait until ndb connects properly mysql-test/t/rpl_ndb_idempotent.test: make tests wait until ndb connects properly mysql-test/t/rpl_ndb_innodb2ndb.test: make tests wait until ndb connects properly mysql-test/t/rpl_ndb_innodb_trans.test: make tests wait until ndb connects properly mysql-test/t/rpl_ndb_insert_ignore.test: make tests wait until ndb connects properly mysql-test/t/rpl_ndb_load.test: make tests wait until ndb connects properly mysql-test/t/rpl_ndb_log.test: make tests wait until ndb connects properly mysql-test/t/rpl_ndb_multi.test: make tests wait until ndb connects properly mysql-test/t/rpl_ndb_multi_update2.test: make tests wait until ndb connects properly mysql-test/t/rpl_ndb_multi_update3.test: make tests wait until ndb connects properly mysql-test/t/rpl_ndb_myisam2ndb.test: make tests wait until ndb connects properly mysql-test/t/rpl_ndb_relayrotate.test: make tests wait until ndb connects properly mysql-test/t/rpl_ndb_rep_ignore.test: make tests wait until ndb connects properly mysql-test/t/rpl_ndb_row_001.test: make tests wait until ndb connects properly mysql-test/t/rpl_ndb_sp003.test: make tests wait until ndb connects properly mysql-test/t/rpl_ndb_sp006.test: make tests wait until ndb connects properly mysql-test/t/rpl_ndb_stm_innodb.test: make tests wait until ndb connects properly mysql-test/t/rpl_ndb_sync.test: make tests wait until ndb connects properly mysql-test/t/rpl_ndb_trig004.test: make tests wait until ndb connects properly mysql-test/t/rpl_ndbapi_multi.test: make tests wait until ndb connects properly mysql-test/t/rpl_relayrotate.test: make tests wait until ndb connects properly mysql-test/t/rpl_row_001.test: make tests wait until ndb connects properly mysql-test/t/rpl_row_UUID.test: make tests wait until ndb connects properly mysql-test/t/rpl_row_basic_2myisam.test: make tests wait until ndb connects properly mysql-test/t/rpl_row_basic_3innodb.test: make tests wait until ndb connects properly mysql-test/t/rpl_row_basic_7ndb.test: make tests wait until ndb connects properly mysql-test/t/rpl_row_blob_innodb.test: make tests wait until ndb connects properly mysql-test/t/rpl_row_blob_myisam.test: make tests wait until ndb connects properly mysql-test/t/rpl_row_charset.test: make tests wait until ndb connects properly mysql-test/t/rpl_row_func003.test: make tests wait until ndb connects properly mysql-test/t/rpl_row_log.test: make tests wait until ndb connects properly mysql-test/t/rpl_row_log_innodb.test: make tests wait until ndb connects properly mysql-test/t/rpl_row_sp003.test: make tests wait until ndb connects properly mysql-test/t/rpl_row_sp006_InnoDB.test: make tests wait until ndb connects properly mysql-test/t/rpl_stm_log.test: make tests wait until ndb connects properly mysql-test/t/rpl_truncate_7ndb.test: make tests wait until ndb connects properly mysql-test/include/ndb_master-slave.inc: New BitKeeper file ``mysql-test/include/ndb_master-slave.inc''
310 lines
8.4 KiB
Text
310 lines
8.4 KiB
Text
#######################################
|
|
# Author: JBM #
|
|
# Date: 2006-03-09 #
|
|
# Purpose: To test the replication of #
|
|
# Cluster Disk Data using partitions #
|
|
#######################################
|
|
|
|
--source include/have_ndb.inc
|
|
--source include/have_binlog_format_row.inc
|
|
--source include/ndb_master-slave.inc
|
|
|
|
--echo --- Doing pre test cleanup ---
|
|
|
|
connection master;
|
|
--disable_warnings
|
|
DROP TABLE IF EXISTS t1;
|
|
--enable_query_log
|
|
|
|
|
|
# Start by creating a logfile group
|
|
##################################
|
|
|
|
CREATE LOGFILE GROUP lg1
|
|
ADD UNDOFILE 'undofile.dat'
|
|
INITIAL_SIZE 16M
|
|
UNDO_BUFFER_SIZE = 1M
|
|
ENGINE=NDB;
|
|
|
|
ALTER LOGFILE GROUP lg1
|
|
ADD UNDOFILE 'undofile02.dat'
|
|
INITIAL_SIZE = 4M
|
|
ENGINE=NDB;
|
|
|
|
###################################################
|
|
# Create a tablespace connected to the logfile group
|
|
###################################################
|
|
|
|
CREATE TABLESPACE ts1
|
|
ADD DATAFILE 'datafile.dat'
|
|
USE LOGFILE GROUP lg1
|
|
INITIAL_SIZE 12M
|
|
ENGINE NDB;
|
|
|
|
ALTER TABLESPACE ts1
|
|
ADD DATAFILE 'datafile02.dat'
|
|
INITIAL_SIZE = 4M
|
|
ENGINE=NDB;
|
|
|
|
#################################################################
|
|
|
|
--echo --- Start test 2 partition RANGE testing --
|
|
--echo --- Do setup --
|
|
|
|
|
|
#################################################
|
|
# Requirment: Create table that is partitioned #
|
|
# by range on year i.e. year(t) and replicate #
|
|
# basice operations such at insert, update #
|
|
# delete between 2 different storage engines #
|
|
# Alter table and ensure table is handled #
|
|
# Correctly on the slave #
|
|
#################################################
|
|
|
|
CREATE TABLE t1 (id MEDIUMINT NOT NULL, b1 BIT(8), vc VARCHAR(63),
|
|
bc CHAR(63), d DECIMAL(10,4) DEFAULT 0,
|
|
f FLOAT DEFAULT 0, total BIGINT UNSIGNED,
|
|
y YEAR, t DATE)
|
|
TABLESPACE ts1 STORAGE DISK
|
|
ENGINE=NDB
|
|
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);
|
|
|
|
--echo --- Show table on master ---
|
|
|
|
SHOW CREATE TABLE t1;
|
|
|
|
--echo --- Show table on slave --
|
|
|
|
sync_slave_with_master;
|
|
SHOW CREATE TABLE t1;
|
|
|
|
--echo --- Perform basic operation on master ---
|
|
--echo --- and ensure replicated correctly ---
|
|
|
|
--source include/rpl_multi_engine3.inc
|
|
|
|
--echo --- Check that simple Alter statements are replicated correctly ---
|
|
|
|
ALTER TABLE t1 MODIFY vc VARCHAR(255);
|
|
|
|
--echo --- Show the new improved table on the master ---
|
|
|
|
SHOW CREATE TABLE t1;
|
|
|
|
--echo --- Make sure that our tables on slave are still same engine ---
|
|
--echo --- and that the alter statements replicated correctly ---
|
|
|
|
sync_slave_with_master;
|
|
SHOW CREATE TABLE t1;
|
|
|
|
--echo --- Perform basic operation on master ---
|
|
--echo --- and ensure replicated correctly ---
|
|
--enable_query_log
|
|
|
|
--source include/rpl_multi_engine3.inc
|
|
|
|
--echo --- End test 2 partition RANGE testing ---
|
|
--echo --- Do Cleanup ---
|
|
|
|
DROP TABLE IF EXISTS t1;
|
|
|
|
########################################################
|
|
|
|
--echo --- Start test 3 partition LIST testing ---
|
|
--echo --- Do setup ---
|
|
#################################################
|
|
|
|
|
|
CREATE TABLE t1 (id MEDIUMINT NOT NULL, b1 BIT(8), vc VARCHAR(63),
|
|
bc CHAR(63), d DECIMAL(10,4) DEFAULT 0,
|
|
f FLOAT DEFAULT 0, total BIGINT UNSIGNED,
|
|
y YEAR, t DATE)
|
|
TABLESPACE ts1 STORAGE DISK
|
|
ENGINE=NDB
|
|
PARTITION BY LIST(id)
|
|
(PARTITION p0 VALUES IN (2, 4),
|
|
PARTITION p1 VALUES IN (42, 142));
|
|
|
|
--echo --- Test 3 Alter to add partition ---
|
|
|
|
ALTER TABLE t1 ADD PARTITION (PARTITION p2 VALUES IN (412));
|
|
|
|
--echo --- Show table on master ---
|
|
|
|
SHOW CREATE TABLE t1;
|
|
|
|
--echo --- Show table on slave ---
|
|
|
|
sync_slave_with_master;
|
|
SHOW CREATE TABLE t1;
|
|
|
|
--echo --- Perform basic operation on master ---
|
|
--echo --- and ensure replicated correctly ---
|
|
|
|
--source include/rpl_multi_engine3.inc
|
|
|
|
--echo --- Check that simple Alter statements are replicated correctly ---
|
|
|
|
ALTER TABLE t1 MODIFY vc VARCHAR(255);
|
|
|
|
--echo --- Show the new improved table on the master ---
|
|
|
|
SHOW CREATE TABLE t1;
|
|
|
|
--echo --- Make sure that our tables on slave are still same engine ---
|
|
--echo --- and that the alter statements replicated correctly ---
|
|
|
|
sync_slave_with_master;
|
|
SHOW CREATE TABLE t1;
|
|
|
|
--echo --- Perform basic operation on master ---
|
|
--echo --- and ensure replicated correctly ---
|
|
|
|
--source include/rpl_multi_engine3.inc
|
|
|
|
--echo --- End test 3 partition LIST testing ---
|
|
--echo --- Do Cleanup --
|
|
|
|
DROP TABLE IF EXISTS t1;
|
|
|
|
########################################################
|
|
|
|
--echo --- Start test 4 partition HASH testing ---
|
|
--echo --- Do setup ---
|
|
#################################################
|
|
|
|
|
|
CREATE TABLE t1 (id MEDIUMINT NOT NULL, b1 BIT(8), vc VARCHAR(63),
|
|
bc CHAR(63), d DECIMAL(10,4) DEFAULT 0,
|
|
f FLOAT DEFAULT 0, total BIGINT UNSIGNED,
|
|
y YEAR, t DATE)
|
|
TABLESPACE ts1 STORAGE DISK
|
|
ENGINE=NDB
|
|
PARTITION BY HASH( YEAR(t) )
|
|
PARTITIONS 4;
|
|
|
|
--echo --- show that tables have been created correctly ---
|
|
|
|
SHOW CREATE TABLE t1;
|
|
sync_slave_with_master;
|
|
SHOW CREATE TABLE t1;
|
|
|
|
--echo --- Perform basic operation on master ---
|
|
--echo --- and ensure replicated correctly ---
|
|
|
|
--source include/rpl_multi_engine3.inc
|
|
|
|
--echo --- Check that simple Alter statements are replicated correctly ---
|
|
|
|
ALTER TABLE t1 MODIFY vc VARCHAR(255);
|
|
|
|
--echo --- Show the new improved table on the master ---
|
|
|
|
SHOW CREATE TABLE t1;
|
|
|
|
--echo --- Make sure that our tables on slave are still same engine ---
|
|
--echo --- and that the alter statements replicated correctly ---
|
|
|
|
sync_slave_with_master;
|
|
SHOW CREATE TABLE t1;
|
|
|
|
--echo --- Perform basic operation on master ---
|
|
--echo --- and ensure replicated correctly ---
|
|
|
|
--source include/rpl_multi_engine3.inc
|
|
|
|
--echo --- End test 4 partition HASH testing ---
|
|
--echo --- Do Cleanup --
|
|
|
|
DROP TABLE IF EXISTS t1;
|
|
|
|
########################################################
|
|
|
|
--echo --- Start test 5 partition by key testing ---
|
|
--echo --- Create Table Section ---
|
|
|
|
#################################################
|
|
|
|
CREATE TABLE t1 (id MEDIUMINT NOT NULL, b1 BIT(8), vc VARCHAR(63),
|
|
bc CHAR(63), d DECIMAL(10,4) DEFAULT 0,
|
|
f FLOAT DEFAULT 0, total BIGINT UNSIGNED,
|
|
y YEAR, t DATE,PRIMARY KEY(id))
|
|
TABLESPACE ts1 STORAGE DISK
|
|
ENGINE=NDB
|
|
PARTITION BY KEY()
|
|
PARTITIONS 4;
|
|
|
|
--echo --- Show that tables on master are ndbcluster tables ---
|
|
|
|
SHOW CREATE TABLE t1;
|
|
|
|
--echo --- Show that tables on slave ---
|
|
|
|
sync_slave_with_master;
|
|
SHOW CREATE TABLE t1;
|
|
|
|
--echo --- Perform basic operation on master ---
|
|
--echo --- and ensure replicated correctly ---
|
|
|
|
--source include/rpl_multi_engine3.inc
|
|
|
|
# Okay lets see how it holds up to table changes
|
|
--echo --- Check that simple Alter statements are replicated correctly ---
|
|
|
|
ALTER TABLE t1 DROP PRIMARY KEY, ADD PRIMARY KEY(id, total);
|
|
|
|
--echo --- Show the new improved table on the master ---
|
|
|
|
SHOW CREATE TABLE t1;
|
|
|
|
--echo --- Make sure that our tables on slave are still right type ---
|
|
--echo --- and that the alter statements replicated correctly ---
|
|
|
|
sync_slave_with_master;
|
|
SHOW CREATE TABLE t1;
|
|
|
|
--echo --- Perform basic operation on master ---
|
|
--echo --- and ensure replicated correctly ---
|
|
|
|
--source include/rpl_multi_engine3.inc
|
|
|
|
--echo --- Check that simple Alter statements are replicated correctly ---
|
|
|
|
ALTER TABLE t1 MODIFY vc VARCHAR(255);
|
|
|
|
--echo --- Show the new improved table on the master ---
|
|
|
|
SHOW CREATE TABLE t1;
|
|
|
|
--echo --- Make sure that our tables on slave are still same engine ---
|
|
--echo --- and that the alter statements replicated correctly ---
|
|
|
|
sync_slave_with_master;
|
|
SHOW CREATE TABLE t1;
|
|
|
|
--echo --- Perform basic operation on master ---
|
|
--echo --- and ensure replicated correctly ---
|
|
|
|
--source include/rpl_multi_engine3.inc
|
|
|
|
--echo --- End test 5 key partition testing ---
|
|
--echo --- Do Cleanup ---
|
|
|
|
DROP TABLE IF EXISTS t1;
|
|
alter tablespace ts1
|
|
drop datafile 'datafile.dat'
|
|
engine=ndb;
|
|
alter tablespace ts1
|
|
drop datafile 'datafile02.dat'
|
|
engine=ndb;
|
|
DROP TABLESPACE ts1 ENGINE=NDB;
|
|
DROP LOGFILE GROUP lg1 ENGINE=NDB;
|
|
--sync_slave_with_master
|
|
|
|
# End of 5.1 test case
|