stop slave;
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
reset master;
reset slave;
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
start slave;
--- Doing pre test cleanup --- 
DROP TABLE IF EXISTS t1;
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 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;
--- Start test 2 partition RANGE testing --
--- 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 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);
--- Show table on master ---
SHOW CREATE TABLE t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `id` mediumint(9) NOT NULL,
  `b1` bit(8) DEFAULT NULL,
  `vc` varchar(63) DEFAULT NULL,
  `bc` char(63) DEFAULT NULL,
  `d` decimal(10,4) DEFAULT '0.0000',
  `f` float DEFAULT '0',
  `total` bigint(20) unsigned DEFAULT NULL,
  `y` year(4) DEFAULT NULL,
  `t` date DEFAULT NULL
) /*!50100 TABLESPACE `ts1` STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1
/*!50100 PARTITION BY RANGE (YEAR(t))
(PARTITION p0 VALUES LESS THAN (1901) TABLESPACE = ts1 ENGINE = ndbcluster,
 PARTITION p1 VALUES LESS THAN (1946) TABLESPACE = ts1 ENGINE = ndbcluster,
 PARTITION p2 VALUES LESS THAN (1966) TABLESPACE = ts1 ENGINE = ndbcluster,
 PARTITION p3 VALUES LESS THAN (1986) TABLESPACE = ts1 ENGINE = ndbcluster,
 PARTITION p4 VALUES LESS THAN (2005) TABLESPACE = ts1 ENGINE = ndbcluster,
 PARTITION p5 VALUES LESS THAN MAXVALUE TABLESPACE = ts1 ENGINE = ndbcluster) */
--- Show table on slave --
SHOW CREATE TABLE t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `id` mediumint(9) NOT NULL,
  `b1` bit(8) DEFAULT NULL,
  `vc` varchar(63) DEFAULT NULL,
  `bc` char(63) DEFAULT NULL,
  `d` decimal(10,4) DEFAULT '0.0000',
  `f` float DEFAULT '0',
  `total` bigint(20) unsigned DEFAULT NULL,
  `y` year(4) DEFAULT NULL,
  `t` date DEFAULT NULL
) /*!50100 TABLESPACE `ts1` STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1
/*!50100 PARTITION BY RANGE (YEAR(t))
(PARTITION p0 VALUES LESS THAN (1901) TABLESPACE = ts1 ENGINE = ndbcluster,
 PARTITION p1 VALUES LESS THAN (1946) TABLESPACE = ts1 ENGINE = ndbcluster,
 PARTITION p2 VALUES LESS THAN (1966) TABLESPACE = ts1 ENGINE = ndbcluster,
 PARTITION p3 VALUES LESS THAN (1986) TABLESPACE = ts1 ENGINE = ndbcluster,
 PARTITION p4 VALUES LESS THAN (2005) TABLESPACE = ts1 ENGINE = ndbcluster,
 PARTITION p5 VALUES LESS THAN MAXVALUE TABLESPACE = ts1 ENGINE = ndbcluster) */
--- Perform basic operation on master ---
--- and ensure replicated correctly ---
"--- Insert into t1 --" as "";
--- Select from t1 on master --- 
select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
id	hex(b1)	vc	bc	d	f	total	y	t
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
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
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
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
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 from t1 on slave ---
select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
id	hex(b1)	vc	bc	d	f	total	y	t
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
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
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
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
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
--- Update t1 on master --
UPDATE t1 SET b1 = 0, t="2006-02-22" WHERE id = 412;
--- Check the update on master --- 
SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
id	hex(b1)	vc	bc	d	f	total	y	t
412	0	Testing MySQL databases is a cool 	Must make it bug free for the customer	654321.4321	15.21	0	1965	2006-02-22
--- Check Update on slave ---
SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
id	hex(b1)	vc	bc	d	f	total	y	t
412	0	Testing MySQL databases is a cool 	Must make it bug free for the customer	654321.4321	15.21	0	1965	2006-02-22
--- Remove a record from t1 on master ---
DELETE FROM t1 WHERE id = 42;
--- Show current count on master for t1 ---
SELECT COUNT(*) FROM t1;
COUNT(*)
4
--- Show current count on slave for t1 --- 
SELECT COUNT(*) FROM t1;
COUNT(*)
4
DELETE FROM t1;
--- Check that simple Alter statements are replicated correctly ---
ALTER TABLE t1 MODIFY vc VARCHAR(255);
--- Show the new improved table on the master ---
SHOW CREATE TABLE t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `id` mediumint(9) NOT NULL,
  `b1` bit(8) DEFAULT NULL,
  `vc` varchar(255) DEFAULT NULL,
  `bc` char(63) DEFAULT NULL,
  `d` decimal(10,4) DEFAULT '0.0000',
  `f` float DEFAULT '0',
  `total` bigint(20) unsigned DEFAULT NULL,
  `y` year(4) DEFAULT NULL,
  `t` date DEFAULT NULL
) /*!50100 TABLESPACE `ts1` STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1
/*!50100 PARTITION BY RANGE (YEAR(t))
(PARTITION p0 VALUES LESS THAN (1901) TABLESPACE = ts1 ENGINE = ndbcluster,
 PARTITION p1 VALUES LESS THAN (1946) TABLESPACE = ts1 ENGINE = ndbcluster,
 PARTITION p2 VALUES LESS THAN (1966) TABLESPACE = ts1 ENGINE = ndbcluster,
 PARTITION p3 VALUES LESS THAN (1986) TABLESPACE = ts1 ENGINE = ndbcluster,
 PARTITION p4 VALUES LESS THAN (2005) TABLESPACE = ts1 ENGINE = ndbcluster,
 PARTITION p5 VALUES LESS THAN MAXVALUE TABLESPACE = ts1 ENGINE = ndbcluster) */
--- Make sure that our tables on slave are still same engine ---
--- and that the alter statements replicated correctly ---
SHOW CREATE TABLE t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `id` mediumint(9) NOT NULL,
  `b1` bit(8) DEFAULT NULL,
  `vc` varchar(255) DEFAULT NULL,
  `bc` char(63) DEFAULT NULL,
  `d` decimal(10,4) DEFAULT '0.0000',
  `f` float DEFAULT '0',
  `total` bigint(20) unsigned DEFAULT NULL,
  `y` year(4) DEFAULT NULL,
  `t` date DEFAULT NULL
) /*!50100 TABLESPACE `ts1` STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1
/*!50100 PARTITION BY RANGE (YEAR(t))
(PARTITION p0 VALUES LESS THAN (1901) TABLESPACE = ts1 ENGINE = ndbcluster,
 PARTITION p1 VALUES LESS THAN (1946) TABLESPACE = ts1 ENGINE = ndbcluster,
 PARTITION p2 VALUES LESS THAN (1966) TABLESPACE = ts1 ENGINE = ndbcluster,
 PARTITION p3 VALUES LESS THAN (1986) TABLESPACE = ts1 ENGINE = ndbcluster,
 PARTITION p4 VALUES LESS THAN (2005) TABLESPACE = ts1 ENGINE = ndbcluster,
 PARTITION p5 VALUES LESS THAN MAXVALUE TABLESPACE = ts1 ENGINE = ndbcluster) */
--- Perform basic operation on master ---
--- and ensure replicated correctly ---
"--- Insert into t1 --" as "";
--- Select from t1 on master --- 
select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
id	hex(b1)	vc	bc	d	f	total	y	t
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
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
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
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
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 from t1 on slave ---
select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
id	hex(b1)	vc	bc	d	f	total	y	t
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
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
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
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
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
--- Update t1 on master --
UPDATE t1 SET b1 = 0, t="2006-02-22" WHERE id = 412;
--- Check the update on master --- 
SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
id	hex(b1)	vc	bc	d	f	total	y	t
412	0	Testing MySQL databases is a cool 	Must make it bug free for the customer	654321.4321	15.21	0	1965	2006-02-22
--- Check Update on slave ---
SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
id	hex(b1)	vc	bc	d	f	total	y	t
412	0	Testing MySQL databases is a cool 	Must make it bug free for the customer	654321.4321	15.21	0	1965	2006-02-22
--- Remove a record from t1 on master ---
DELETE FROM t1 WHERE id = 42;
--- Show current count on master for t1 ---
SELECT COUNT(*) FROM t1;
COUNT(*)
4
--- Show current count on slave for t1 --- 
SELECT COUNT(*) FROM t1;
COUNT(*)
4
DELETE FROM t1;
--- End test 2 partition RANGE testing ---
--- Do Cleanup ---
DROP TABLE IF EXISTS t1;
--- Start test 3 partition LIST testing ---
--- 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));
--- Test 3 Alter to add partition ---
ALTER TABLE t1 ADD PARTITION (PARTITION p2 VALUES IN (412));
--- Show table on master ---
SHOW CREATE TABLE t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `id` mediumint(9) NOT NULL,
  `b1` bit(8) DEFAULT NULL,
  `vc` varchar(63) DEFAULT NULL,
  `bc` char(63) DEFAULT NULL,
  `d` decimal(10,4) DEFAULT '0.0000',
  `f` float DEFAULT '0',
  `total` bigint(20) unsigned DEFAULT NULL,
  `y` year(4) DEFAULT NULL,
  `t` date DEFAULT NULL
) /*!50100 TABLESPACE `ts1` STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1
/*!50100 PARTITION BY LIST (id)
(PARTITION p0 VALUES IN (2,4) TABLESPACE = ts1 ENGINE = ndbcluster,
 PARTITION p1 VALUES IN (42,142) TABLESPACE = ts1 ENGINE = ndbcluster,
 PARTITION p2 VALUES IN (412) TABLESPACE = ts1 ENGINE = ndbcluster) */
--- Show table on slave ---
SHOW CREATE TABLE t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `id` mediumint(9) NOT NULL,
  `b1` bit(8) DEFAULT NULL,
  `vc` varchar(63) DEFAULT NULL,
  `bc` char(63) DEFAULT NULL,
  `d` decimal(10,4) DEFAULT '0.0000',
  `f` float DEFAULT '0',
  `total` bigint(20) unsigned DEFAULT NULL,
  `y` year(4) DEFAULT NULL,
  `t` date DEFAULT NULL
) /*!50100 TABLESPACE `ts1` STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1
/*!50100 PARTITION BY LIST (id)
(PARTITION p0 VALUES IN (2,4) TABLESPACE = ts1 ENGINE = ndbcluster,
 PARTITION p1 VALUES IN (42,142) TABLESPACE = ts1 ENGINE = ndbcluster,
 PARTITION p2 VALUES IN (412) TABLESPACE = ts1 ENGINE = ndbcluster) */
--- Perform basic operation on master ---
--- and ensure replicated correctly ---
"--- Insert into t1 --" as "";
--- Select from t1 on master --- 
select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
id	hex(b1)	vc	bc	d	f	total	y	t
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
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
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
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
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 from t1 on slave ---
select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
id	hex(b1)	vc	bc	d	f	total	y	t
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
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
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
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
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
--- Update t1 on master --
UPDATE t1 SET b1 = 0, t="2006-02-22" WHERE id = 412;
--- Check the update on master --- 
SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
id	hex(b1)	vc	bc	d	f	total	y	t
412	0	Testing MySQL databases is a cool 	Must make it bug free for the customer	654321.4321	15.21	0	1965	2006-02-22
--- Check Update on slave ---
SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
id	hex(b1)	vc	bc	d	f	total	y	t
412	0	Testing MySQL databases is a cool 	Must make it bug free for the customer	654321.4321	15.21	0	1965	2006-02-22
--- Remove a record from t1 on master ---
DELETE FROM t1 WHERE id = 42;
--- Show current count on master for t1 ---
SELECT COUNT(*) FROM t1;
COUNT(*)
4
--- Show current count on slave for t1 --- 
SELECT COUNT(*) FROM t1;
COUNT(*)
4
DELETE FROM t1;
--- Check that simple Alter statements are replicated correctly ---
ALTER TABLE t1 MODIFY vc VARCHAR(255);
--- Show the new improved table on the master ---
SHOW CREATE TABLE t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `id` mediumint(9) NOT NULL,
  `b1` bit(8) DEFAULT NULL,
  `vc` varchar(255) DEFAULT NULL,
  `bc` char(63) DEFAULT NULL,
  `d` decimal(10,4) DEFAULT '0.0000',
  `f` float DEFAULT '0',
  `total` bigint(20) unsigned DEFAULT NULL,
  `y` year(4) DEFAULT NULL,
  `t` date DEFAULT NULL
) /*!50100 TABLESPACE `ts1` STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1
/*!50100 PARTITION BY LIST (id)
(PARTITION p0 VALUES IN (2,4) TABLESPACE = ts1 ENGINE = ndbcluster,
 PARTITION p1 VALUES IN (42,142) TABLESPACE = ts1 ENGINE = ndbcluster,
 PARTITION p2 VALUES IN (412) TABLESPACE = ts1 ENGINE = ndbcluster) */
--- Make sure that our tables on slave are still same engine ---
--- and that the alter statements replicated correctly ---
SHOW CREATE TABLE t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `id` mediumint(9) NOT NULL,
  `b1` bit(8) DEFAULT NULL,
  `vc` varchar(255) DEFAULT NULL,
  `bc` char(63) DEFAULT NULL,
  `d` decimal(10,4) DEFAULT '0.0000',
  `f` float DEFAULT '0',
  `total` bigint(20) unsigned DEFAULT NULL,
  `y` year(4) DEFAULT NULL,
  `t` date DEFAULT NULL
) /*!50100 TABLESPACE `ts1` STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1
/*!50100 PARTITION BY LIST (id)
(PARTITION p0 VALUES IN (2,4) TABLESPACE = ts1 ENGINE = ndbcluster,
 PARTITION p1 VALUES IN (42,142) TABLESPACE = ts1 ENGINE = ndbcluster,
 PARTITION p2 VALUES IN (412) TABLESPACE = ts1 ENGINE = ndbcluster) */
--- Perform basic operation on master ---
--- and ensure replicated correctly ---
"--- Insert into t1 --" as "";
--- Select from t1 on master --- 
select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
id	hex(b1)	vc	bc	d	f	total	y	t
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
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
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
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
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 from t1 on slave ---
select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
id	hex(b1)	vc	bc	d	f	total	y	t
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
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
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
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
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
--- Update t1 on master --
UPDATE t1 SET b1 = 0, t="2006-02-22" WHERE id = 412;
--- Check the update on master --- 
SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
id	hex(b1)	vc	bc	d	f	total	y	t
412	0	Testing MySQL databases is a cool 	Must make it bug free for the customer	654321.4321	15.21	0	1965	2006-02-22
--- Check Update on slave ---
SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
id	hex(b1)	vc	bc	d	f	total	y	t
412	0	Testing MySQL databases is a cool 	Must make it bug free for the customer	654321.4321	15.21	0	1965	2006-02-22
--- Remove a record from t1 on master ---
DELETE FROM t1 WHERE id = 42;
--- Show current count on master for t1 ---
SELECT COUNT(*) FROM t1;
COUNT(*)
4
--- Show current count on slave for t1 --- 
SELECT COUNT(*) FROM t1;
COUNT(*)
4
DELETE FROM t1;
--- End test 3 partition LIST testing ---
--- Do Cleanup --
DROP TABLE IF EXISTS t1;
--- Start test 4 partition HASH testing ---
--- 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;
--- show that tables have been created correctly ---
SHOW CREATE TABLE t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `id` mediumint(9) NOT NULL,
  `b1` bit(8) DEFAULT NULL,
  `vc` varchar(63) DEFAULT NULL,
  `bc` char(63) DEFAULT NULL,
  `d` decimal(10,4) DEFAULT '0.0000',
  `f` float DEFAULT '0',
  `total` bigint(20) unsigned DEFAULT NULL,
  `y` year(4) DEFAULT NULL,
  `t` date DEFAULT NULL
) /*!50100 TABLESPACE `ts1` STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1
/*!50100 PARTITION BY HASH ( YEAR(t))
PARTITIONS 4 */
SHOW CREATE TABLE t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `id` mediumint(9) NOT NULL,
  `b1` bit(8) DEFAULT NULL,
  `vc` varchar(63) DEFAULT NULL,
  `bc` char(63) DEFAULT NULL,
  `d` decimal(10,4) DEFAULT '0.0000',
  `f` float DEFAULT '0',
  `total` bigint(20) unsigned DEFAULT NULL,
  `y` year(4) DEFAULT NULL,
  `t` date DEFAULT NULL
) /*!50100 TABLESPACE `ts1` STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1
/*!50100 PARTITION BY HASH ( YEAR(t))
PARTITIONS 4 */
--- Perform basic operation on master ---
--- and ensure replicated correctly ---
"--- Insert into t1 --" as "";
--- Select from t1 on master --- 
select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
id	hex(b1)	vc	bc	d	f	total	y	t
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
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
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
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
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 from t1 on slave ---
select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
id	hex(b1)	vc	bc	d	f	total	y	t
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
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
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
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
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
--- Update t1 on master --
UPDATE t1 SET b1 = 0, t="2006-02-22" WHERE id = 412;
--- Check the update on master --- 
SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
id	hex(b1)	vc	bc	d	f	total	y	t
412	0	Testing MySQL databases is a cool 	Must make it bug free for the customer	654321.4321	15.21	0	1965	2006-02-22
--- Check Update on slave ---
SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
id	hex(b1)	vc	bc	d	f	total	y	t
412	0	Testing MySQL databases is a cool 	Must make it bug free for the customer	654321.4321	15.21	0	1965	2006-02-22
--- Remove a record from t1 on master ---
DELETE FROM t1 WHERE id = 42;
--- Show current count on master for t1 ---
SELECT COUNT(*) FROM t1;
COUNT(*)
4
--- Show current count on slave for t1 --- 
SELECT COUNT(*) FROM t1;
COUNT(*)
4
DELETE FROM t1;
--- Check that simple Alter statements are replicated correctly ---
ALTER TABLE t1 MODIFY vc VARCHAR(255);
--- Show the new improved table on the master ---
SHOW CREATE TABLE t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `id` mediumint(9) NOT NULL,
  `b1` bit(8) DEFAULT NULL,
  `vc` varchar(255) DEFAULT NULL,
  `bc` char(63) DEFAULT NULL,
  `d` decimal(10,4) DEFAULT '0.0000',
  `f` float DEFAULT '0',
  `total` bigint(20) unsigned DEFAULT NULL,
  `y` year(4) DEFAULT NULL,
  `t` date DEFAULT NULL
) /*!50100 TABLESPACE `ts1` STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1
/*!50100 PARTITION BY HASH ( YEAR(t))
PARTITIONS 4 */
--- Make sure that our tables on slave are still same engine ---
--- and that the alter statements replicated correctly ---
SHOW CREATE TABLE t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `id` mediumint(9) NOT NULL,
  `b1` bit(8) DEFAULT NULL,
  `vc` varchar(255) DEFAULT NULL,
  `bc` char(63) DEFAULT NULL,
  `d` decimal(10,4) DEFAULT '0.0000',
  `f` float DEFAULT '0',
  `total` bigint(20) unsigned DEFAULT NULL,
  `y` year(4) DEFAULT NULL,
  `t` date DEFAULT NULL
) /*!50100 TABLESPACE `ts1` STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1
/*!50100 PARTITION BY HASH ( YEAR(t))
PARTITIONS 4 */
--- Perform basic operation on master ---
--- and ensure replicated correctly ---
"--- Insert into t1 --" as "";
--- Select from t1 on master --- 
select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
id	hex(b1)	vc	bc	d	f	total	y	t
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
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
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
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
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 from t1 on slave ---
select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
id	hex(b1)	vc	bc	d	f	total	y	t
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
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
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
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
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
--- Update t1 on master --
UPDATE t1 SET b1 = 0, t="2006-02-22" WHERE id = 412;
--- Check the update on master --- 
SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
id	hex(b1)	vc	bc	d	f	total	y	t
412	0	Testing MySQL databases is a cool 	Must make it bug free for the customer	654321.4321	15.21	0	1965	2006-02-22
--- Check Update on slave ---
SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
id	hex(b1)	vc	bc	d	f	total	y	t
412	0	Testing MySQL databases is a cool 	Must make it bug free for the customer	654321.4321	15.21	0	1965	2006-02-22
--- Remove a record from t1 on master ---
DELETE FROM t1 WHERE id = 42;
--- Show current count on master for t1 ---
SELECT COUNT(*) FROM t1;
COUNT(*)
4
--- Show current count on slave for t1 --- 
SELECT COUNT(*) FROM t1;
COUNT(*)
4
DELETE FROM t1;
--- End test 4 partition HASH testing ---
--- Do Cleanup --
DROP TABLE IF EXISTS t1;
--- Start test 5 partition by key testing ---
--- 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;
--- Show that tables on master are ndbcluster tables ---
SHOW CREATE TABLE t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `id` mediumint(9) NOT NULL,
  `b1` bit(8) DEFAULT NULL,
  `vc` varchar(63) DEFAULT NULL,
  `bc` char(63) DEFAULT NULL,
  `d` decimal(10,4) DEFAULT '0.0000',
  `f` float DEFAULT '0',
  `total` bigint(20) unsigned DEFAULT NULL,
  `y` year(4) DEFAULT NULL,
  `t` date DEFAULT NULL,
  PRIMARY KEY (`id`)
) /*!50100 TABLESPACE `ts1` STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1
/*!50100 PARTITION BY KEY ()
PARTITIONS 4 */
--- Show that tables on slave ---
SHOW CREATE TABLE t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `id` mediumint(9) NOT NULL,
  `b1` bit(8) DEFAULT NULL,
  `vc` varchar(63) DEFAULT NULL,
  `bc` char(63) DEFAULT NULL,
  `d` decimal(10,4) DEFAULT '0.0000',
  `f` float DEFAULT '0',
  `total` bigint(20) unsigned DEFAULT NULL,
  `y` year(4) DEFAULT NULL,
  `t` date DEFAULT NULL,
  PRIMARY KEY (`id`)
) /*!50100 TABLESPACE `ts1` STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1
/*!50100 PARTITION BY KEY ()
PARTITIONS 4 */
--- Perform basic operation on master ---
--- and ensure replicated correctly ---
"--- Insert into t1 --" as "";
--- Select from t1 on master --- 
select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
id	hex(b1)	vc	bc	d	f	total	y	t
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
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
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
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
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 from t1 on slave ---
select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
id	hex(b1)	vc	bc	d	f	total	y	t
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
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
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
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
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
--- Update t1 on master --
UPDATE t1 SET b1 = 0, t="2006-02-22" WHERE id = 412;
--- Check the update on master --- 
SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
id	hex(b1)	vc	bc	d	f	total	y	t
412	0	Testing MySQL databases is a cool 	Must make it bug free for the customer	654321.4321	15.21	0	1965	2006-02-22
--- Check Update on slave ---
SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
id	hex(b1)	vc	bc	d	f	total	y	t
412	0	Testing MySQL databases is a cool 	Must make it bug free for the customer	654321.4321	15.21	0	1965	2006-02-22
--- Remove a record from t1 on master ---
DELETE FROM t1 WHERE id = 42;
--- Show current count on master for t1 ---
SELECT COUNT(*) FROM t1;
COUNT(*)
4
--- Show current count on slave for t1 --- 
SELECT COUNT(*) FROM t1;
COUNT(*)
4
DELETE FROM t1;
--- Check that simple Alter statements are replicated correctly ---
ALTER TABLE t1 DROP PRIMARY KEY, ADD PRIMARY KEY(id, total);
--- Show the new improved table on the master ---
SHOW CREATE TABLE t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `id` mediumint(9) NOT NULL,
  `b1` bit(8) DEFAULT NULL,
  `vc` varchar(63) DEFAULT NULL,
  `bc` char(63) DEFAULT NULL,
  `d` decimal(10,4) DEFAULT '0.0000',
  `f` float DEFAULT '0',
  `total` bigint(20) unsigned NOT NULL DEFAULT '0',
  `y` year(4) DEFAULT NULL,
  `t` date DEFAULT NULL,
  PRIMARY KEY (`id`,`total`)
) /*!50100 TABLESPACE `ts1` STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1
/*!50100 PARTITION BY KEY ()
PARTITIONS 4 */
--- Make sure that our tables on slave are still right type ---
--- and that the alter statements replicated correctly ---
SHOW CREATE TABLE t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `id` mediumint(9) NOT NULL,
  `b1` bit(8) DEFAULT NULL,
  `vc` varchar(63) DEFAULT NULL,
  `bc` char(63) DEFAULT NULL,
  `d` decimal(10,4) DEFAULT '0.0000',
  `f` float DEFAULT '0',
  `total` bigint(20) unsigned NOT NULL DEFAULT '0',
  `y` year(4) DEFAULT NULL,
  `t` date DEFAULT NULL,
  PRIMARY KEY (`id`,`total`)
) /*!50100 TABLESPACE `ts1` STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1
/*!50100 PARTITION BY KEY ()
PARTITIONS 4 */
--- Perform basic operation on master ---
--- and ensure replicated correctly ---
"--- Insert into t1 --" as "";
--- Select from t1 on master --- 
select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
id	hex(b1)	vc	bc	d	f	total	y	t
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
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
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
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
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 from t1 on slave ---
select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
id	hex(b1)	vc	bc	d	f	total	y	t
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
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
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
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
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
--- Update t1 on master --
UPDATE t1 SET b1 = 0, t="2006-02-22" WHERE id = 412;
--- Check the update on master --- 
SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
id	hex(b1)	vc	bc	d	f	total	y	t
412	0	Testing MySQL databases is a cool 	Must make it bug free for the customer	654321.4321	15.21	0	1965	2006-02-22
--- Check Update on slave ---
SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
id	hex(b1)	vc	bc	d	f	total	y	t
412	0	Testing MySQL databases is a cool 	Must make it bug free for the customer	654321.4321	15.21	0	1965	2006-02-22
--- Remove a record from t1 on master ---
DELETE FROM t1 WHERE id = 42;
--- Show current count on master for t1 ---
SELECT COUNT(*) FROM t1;
COUNT(*)
4
--- Show current count on slave for t1 --- 
SELECT COUNT(*) FROM t1;
COUNT(*)
4
DELETE FROM t1;
--- Check that simple Alter statements are replicated correctly ---
ALTER TABLE t1 MODIFY vc VARCHAR(255);
--- Show the new improved table on the master ---
SHOW CREATE TABLE t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `id` mediumint(9) NOT NULL,
  `b1` bit(8) DEFAULT NULL,
  `vc` varchar(255) DEFAULT NULL,
  `bc` char(63) DEFAULT NULL,
  `d` decimal(10,4) DEFAULT '0.0000',
  `f` float DEFAULT '0',
  `total` bigint(20) unsigned NOT NULL DEFAULT '0',
  `y` year(4) DEFAULT NULL,
  `t` date DEFAULT NULL,
  PRIMARY KEY (`id`,`total`)
) /*!50100 TABLESPACE `ts1` STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1
/*!50100 PARTITION BY KEY ()
PARTITIONS 4 */
--- Make sure that our tables on slave are still same engine ---
--- and that the alter statements replicated correctly ---
SHOW CREATE TABLE t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `id` mediumint(9) NOT NULL,
  `b1` bit(8) DEFAULT NULL,
  `vc` varchar(255) DEFAULT NULL,
  `bc` char(63) DEFAULT NULL,
  `d` decimal(10,4) DEFAULT '0.0000',
  `f` float DEFAULT '0',
  `total` bigint(20) unsigned NOT NULL DEFAULT '0',
  `y` year(4) DEFAULT NULL,
  `t` date DEFAULT NULL,
  PRIMARY KEY (`id`,`total`)
) /*!50100 TABLESPACE `ts1` STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1
/*!50100 PARTITION BY KEY ()
PARTITIONS 4 */
--- Perform basic operation on master ---
--- and ensure replicated correctly ---
"--- Insert into t1 --" as "";
--- Select from t1 on master --- 
select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
id	hex(b1)	vc	bc	d	f	total	y	t
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
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
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
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
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 from t1 on slave ---
select id,hex(b1),vc,bc,d,f,total,y,t from t1 order by id;
id	hex(b1)	vc	bc	d	f	total	y	t
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
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
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
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
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
--- Update t1 on master --
UPDATE t1 SET b1 = 0, t="2006-02-22" WHERE id = 412;
--- Check the update on master --- 
SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
id	hex(b1)	vc	bc	d	f	total	y	t
412	0	Testing MySQL databases is a cool 	Must make it bug free for the customer	654321.4321	15.21	0	1965	2006-02-22
--- Check Update on slave ---
SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412;
id	hex(b1)	vc	bc	d	f	total	y	t
412	0	Testing MySQL databases is a cool 	Must make it bug free for the customer	654321.4321	15.21	0	1965	2006-02-22
--- Remove a record from t1 on master ---
DELETE FROM t1 WHERE id = 42;
--- Show current count on master for t1 ---
SELECT COUNT(*) FROM t1;
COUNT(*)
4
--- Show current count on slave for t1 --- 
SELECT COUNT(*) FROM t1;
COUNT(*)
4
DELETE FROM t1;
--- End test 5 key partition testing ---
--- 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;
