mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 12:02:42 +01:00
7f5e51b940
remove: * NDB from everywhere * IM from mtr-v1 * packaging/rpm-oel and packaging/rpm-uln * few unused spec files * plug.in file * .bzrignore
262 lines
7.9 KiB
Text
262 lines
7.9 KiB
Text
############################################################
|
|
# Author: MATZ #
|
|
# Date: 2006-03-22 #
|
|
# Purpose: See if replication of partition tables work #
|
|
############################################################
|
|
|
|
connection master;
|
|
--disable_warnings
|
|
DROP TABLE IF EXISTS t1;
|
|
--enable_query_log
|
|
|
|
--echo --- Start test 2 partition RANGE testing --
|
|
|
|
# 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
|
|
# Note that the storage engine should not be explicit: the default
|
|
# storage engine is used on master and slave.
|
|
|
|
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);
|
|
|
|
--echo --- On master ---
|
|
SHOW CREATE TABLE t1;
|
|
|
|
--echo --- On slave --
|
|
sync_slave_with_master;
|
|
SHOW CREATE TABLE t1;
|
|
|
|
--source include/rpl_multi_engine3.inc
|
|
|
|
--echo --- Check that simple Alter statements are replicated correctly ---
|
|
ALTER TABLE t1 MODIFY vc TEXT;
|
|
|
|
--echo --- On master ---
|
|
SHOW CREATE TABLE t1;
|
|
|
|
--echo --- On slave ---
|
|
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 ---
|
|
|
|
DROP TABLE IF EXISTS t1;
|
|
|
|
########################################################
|
|
|
|
--echo --- Start test 3 partition LIST testing ---
|
|
--echo --- Do setup ---
|
|
#################################################
|
|
# Requirment: Create table that is partitioned #
|
|
# by list on id i.e. (2,4). Pretend that we #
|
|
# missed one and alter to add. Then 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(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));
|
|
|
|
--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 TEXT;
|
|
|
|
--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 ---
|
|
#################################################
|
|
# Requirment: Create table that is partitioned #
|
|
# by hash on year i.e. YEAR(t). Then 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(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;
|
|
|
|
--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 TEXT;
|
|
|
|
--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 ---
|
|
|
|
#################################################
|
|
# Requirment: Create table that is partitioned #
|
|
# by key on id with 4 parts. Then 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(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;
|
|
|
|
--echo --- Show tables on master ---
|
|
|
|
SHOW CREATE TABLE t1;
|
|
|
|
--echo --- Show 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 TEXT;
|
|
|
|
--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;
|
|
|
|
# End of 5.1 test case
|