List:Commits« Previous MessageNext Message »
From:Mats Kindahl Date:October 11 2007 6:18pm
Subject:bk commit into 5.1 tree (mats:1.2571) BUG#29549
View as plain text  
Below is the list of changes that have just been committed into a local
5.1 repository of mats. When mats does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html

ChangeSet@stripped, 2007-10-11 18:18:05+02:00, mats@stripped +20 -0
  BUG#29549 (Endians: test failures on Solaris):
  
  Refactoring code to add parameter to pack() and unpack() functions with
  purpose of indicating if data should be packed in little-endian or
  native order. Using new functions to always pack data for binary log
  in little-endian order. The purpose of this refactoring is to allow
  proper implementation of endian-agnostic pack() and unpack() functions.
  
  Eliminating several versions of virtual pack() and unpack() functions
  in favor for one single virtual function which is overridden in
  subclasses.
  
  Implementing pack() and unpack() functions for some field types that
  packed data in native format regardless of the value of the
  st_table_share::db_low_byte_first flag.
  
  The field types that were packed in native format regardless are:
  Field_real, Field_decimal, Field_tiny, Field_short, Field_medium,
  Field_long, Field_longlong, and Field_blob.
  
  Before the patch, row-based logging wrote the rows incorrectly on
  big-endian machines where the storage engine defined its own
  low_byte_first() to be FALSE on big-endian machines (the default
  is TRUE), while little-endian machines wrote the fields in correct
  order. The only known storage engine that does this is NDB. In effect,
  this means that row-based replication from or to a big-endian
  machine where the table was using NDB as storage engine failed if the
  other engine was either non-NDB or on a little-endian machine.
  
  With this patch, row-based logging is now always done in little-endian
  order, while ORDER BY uses the native order if the storage engine
  defines low_byte_first() to return FALSE for big-endian machines.
  
  In addition, the max_data_length() function available in Field_blob
  was generalized to the entire Field hierarchy to give the maximum
  number of bytes that Field::pack() will write.

  mysql-test/extra/rpl_tests/rpl_extraMaster_Col.test@stripped, 2007-10-11 18:17:55+02:00,
mats@stripped +1 -1
    Sorting by columns that produces deterministic order.

  mysql-test/suite/rpl/r/rpl_extraColmaster_innodb.result@stripped, 2007-10-11 18:17:56+02:00,
mats@stripped +2 -2
    Result change.

  mysql-test/suite/rpl/r/rpl_extraColmaster_myisam.result@stripped, 2007-10-11 18:17:56+02:00,
mats@stripped +2 -2
    Result change.

  mysql-test/suite/rpl/r/rpl_row_extraColmaster_ndb.result@stripped, 2007-10-11 18:17:56+02:00,
mats@stripped +3 -3
    Result change.

  mysql-test/suite/rpl/t/disabled.def@stripped, 2007-10-11 18:17:56+02:00,
mats@stripped +0 -1
    Enabling tests.

  mysql-test/suite/rpl/t/rpl_row_mysqlbinlog.test@stripped, 2007-10-11 18:17:56+02:00,
mats@stripped +1 -0
    Adding missing sync_slave_with_master causing slave to keep tables
    after shutdown.

  mysql-test/suite/rpl_ndb/r/rpl_ndb_innodb2ndb.result@stripped, 2007-10-11 18:18:00+02:00,
mats@stripped +855 -0
    New BitKeeper file ``mysql-test/suite/rpl_ndb/r/rpl_ndb_innodb2ndb.result''

  mysql-test/suite/rpl_ndb/r/rpl_ndb_innodb2ndb.result@stripped, 2007-10-11 18:18:00+02:00,
mats@stripped +0 -0

  mysql-test/suite/rpl_ndb/r/rpl_ndb_myisam2ndb.result@stripped, 2007-10-11 18:18:00+02:00,
mats@stripped +855 -0
    New BitKeeper file ``mysql-test/suite/rpl_ndb/r/rpl_ndb_myisam2ndb.result''

  mysql-test/suite/rpl_ndb/r/rpl_ndb_myisam2ndb.result@stripped, 2007-10-11 18:18:00+02:00,
mats@stripped +0 -0

  mysql-test/suite/rpl_ndb/t/disabled.def@stripped, 2007-10-11 18:17:57+02:00,
mats@stripped +0 -2
    Enabling tests.

  mysql-test/suite/rpl_ndb/t/rpl_ndb_innodb2ndb-slave.opt@stripped, 2007-10-11 18:17:57+02:00,
mats@stripped +1 -1
    Adding --new option

  mysql-test/suite/rpl_ndb/t/rpl_ndb_innodb2ndb.test@stripped, 2007-10-11 18:17:57+02:00,
mats@stripped +6 -4
    Adding have_log_bin.

  mysql-test/suite/rpl_ndb/t/rpl_ndb_myisam2ndb-slave.opt@stripped, 2007-10-11 18:17:58+02:00,
mats@stripped +1 -1
    Adding --new option

  mysql-test/suite/rpl_ndb/t/rpl_ndb_myisam2ndb.test@stripped, 2007-10-11 18:17:58+02:00,
mats@stripped +5 -2
    Adding have_log_bin

  mysql-test/t/partition.test@stripped, 2007-10-11 18:17:58+02:00,
mats@stripped +2 -1
    Adding have_archive, since that is used in the test.

  sql/field.cc@stripped, 2007-10-11 18:17:58+02:00, mats@stripped +263
-144
    Eliminating all two-argument pack() and unpack() functions and moving
    functionality into the four-argument version. The four argument version
    is introduced so that it is possible to avoid using the storage engine
    default when writing and reading the packed format (the unpacked format
    still uses the storage engine's default). This is used by row-based
    replication to write the fields in a storage engine- and endian-agnostic
    format.
    
    Packing integral and floating-point numbers in little-endian format
    (if requested).
    
    Using pad_char for the field instead of spaces (0x20) when unpacking.
    
    Adding some Doxygen documentation.
    ---
    Adding max_data_length() to denote the maximum number of bytes that
    pack() will write.
    
    Adding casts to remove warnings for debug printouts.

  sql/field.h@stripped, 2007-10-11 18:17:59+02:00, mats@stripped +231 -40
    Eliminating all virtual pack() and unpack() functions except the four-
    argument version, which now is the function that shall be overridden.
    The two-argument versions are convenience functions, to prevent changes
    to code that uses these.
    
    Adding code to pack integer numbers and floating-point numbers in
    little-endian format, if requested.
    ---
    Adding max_data_length() to denote the maximum number of bytes that
    pack() will write.

  sql/log.cc@stripped, 2007-10-11 18:17:59+02:00, mats@stripped +0 -3
    Removing debug printout causing crash when starting NDB on Solaris.

  sql/log_event.cc@stripped, 2007-10-11 18:17:59+02:00, mats@stripped +4
-0
    Adding missing #ifndef causing compile failure. Adding debug printouts.

  sql/rpl_record.cc@stripped, 2007-10-11 18:18:00+02:00, mats@stripped +22
-32
    Debriding code. Using new pack() and unpack() functions to always pack
    fields little-endian. Adding debug printouts.
    ---
    Using max_data_length() when packing field into row.
    
    Adding casts to debug printouts.

  sql/sql_show.cc@stripped, 2007-10-11 18:18:00+02:00, mats@stripped +4 -2
    Adding code that causes crash on Solaris machines since printf() cannot
    handle NULL values for strings properly.

diff -Nrup a/mysql-test/extra/rpl_tests/rpl_extraMaster_Col.test
b/mysql-test/extra/rpl_tests/rpl_extraMaster_Col.test
--- a/mysql-test/extra/rpl_tests/rpl_extraMaster_Col.test	2007-07-30 17:58:49 +02:00
+++ b/mysql-test/extra/rpl_tests/rpl_extraMaster_Col.test	2007-10-11 18:17:55 +02:00
@@ -466,7 +466,7 @@ binary data';
    select * from t2 order by f1;
    select * from t3 order by f1;
    select * from t4 order by f1;
-   select * from t31 order by f1;
+   select * from t31 order by f3;
    
 connection master;
 
diff -Nrup a/mysql-test/suite/rpl/r/rpl_extraColmaster_innodb.result
b/mysql-test/suite/rpl/r/rpl_extraColmaster_innodb.result
--- a/mysql-test/suite/rpl/r/rpl_extraColmaster_innodb.result	2007-07-30 17:58:50 +02:00
+++ b/mysql-test/suite/rpl/r/rpl_extraColmaster_innodb.result	2007-10-11 18:17:56 +02:00
@@ -623,7 +623,7 @@ f1	f2	f3	f4
 select * from t4 order by f1;
 f1	f2	f3	f4
 1	1	1	first
-select * from t31 order by f1;
+select * from t31 order by f3;
 f1	f2	f3	f4
 1	1	1	first
 1	1	2	second
@@ -1302,7 +1302,7 @@ f1	f2	f3	f4
 select * from t4 order by f1;
 f1	f2	f3	f4
 1	1	1	first
-select * from t31 order by f1;
+select * from t31 order by f3;
 f1	f2	f3	f4
 1	1	1	first
 1	1	2	second
diff -Nrup a/mysql-test/suite/rpl/r/rpl_extraColmaster_myisam.result
b/mysql-test/suite/rpl/r/rpl_extraColmaster_myisam.result
--- a/mysql-test/suite/rpl/r/rpl_extraColmaster_myisam.result	2007-07-30 17:58:51 +02:00
+++ b/mysql-test/suite/rpl/r/rpl_extraColmaster_myisam.result	2007-10-11 18:17:56 +02:00
@@ -623,7 +623,7 @@ f1	f2	f3	f4
 select * from t4 order by f1;
 f1	f2	f3	f4
 1	1	1	first
-select * from t31 order by f1;
+select * from t31 order by f3;
 f1	f2	f3	f4
 1	1	1	first
 1	1	2	second
@@ -1302,7 +1302,7 @@ f1	f2	f3	f4
 select * from t4 order by f1;
 f1	f2	f3	f4
 1	1	1	first
-select * from t31 order by f1;
+select * from t31 order by f3;
 f1	f2	f3	f4
 1	1	1	first
 1	1	2	second
diff -Nrup a/mysql-test/suite/rpl/r/rpl_row_extraColmaster_ndb.result
b/mysql-test/suite/rpl/r/rpl_row_extraColmaster_ndb.result
--- a/mysql-test/suite/rpl/r/rpl_row_extraColmaster_ndb.result	2007-07-30 17:58:51 +02:00
+++ b/mysql-test/suite/rpl/r/rpl_row_extraColmaster_ndb.result	2007-10-11 18:17:56 +02:00
@@ -622,14 +622,14 @@ f1	f2	f3	f4
 select * from t4 order by f1;
 f1	f2	f3	f4
 1	1	1	first
-select * from t31 order by f1;
+select * from t31 order by f3;
 f1	f2	f3	f4
-1	1	5	fifth
-1	1	3	third
 1	1	1	first
-1	1	6	sixth
 1	1	2	second
+1	1	3	third
 1	1	4	fourth
+1	1	5	fifth
+1	1	6	sixth
 update t31 set f5=555555555555555 where f3=6;
 update t31 set f2=2 where f3=2;
 update t31 set f1=NULL where f3=1;
diff -Nrup a/mysql-test/suite/rpl/t/disabled.def b/mysql-test/suite/rpl/t/disabled.def
--- a/mysql-test/suite/rpl/t/disabled.def	2007-08-02 22:15:43 +02:00
+++ b/mysql-test/suite/rpl/t/disabled.def	2007-10-11 18:17:56 +02:00
@@ -16,4 +16,3 @@ rpl_innodb_mixed_dml     : Bug #29363 rp
 rpl_invoked_features     : BUG#29020 2007-06-21 Lars Non-deterministic test case
 rpl_auto_increment_11932   : Bug#29809 2007-07-16 ingo Slave SQL errors in warnings file
 rpl_stm_extraColmaster_ndb : WL#3915 : Statement-based replication not supported in ndb.
Enable test when supported.
-rpl_row_extraColmaster_ndb : BUG#29549 : Replication of BLOBs fail for NDB
diff -Nrup a/mysql-test/suite/rpl/t/rpl_row_mysqlbinlog.test
b/mysql-test/suite/rpl/t/rpl_row_mysqlbinlog.test
--- a/mysql-test/suite/rpl/t/rpl_row_mysqlbinlog.test	2007-06-27 14:27:31 +02:00
+++ b/mysql-test/suite/rpl/t/rpl_row_mysqlbinlog.test	2007-10-11 18:17:56 +02:00
@@ -344,5 +344,6 @@ FLUSH LOGS;
 --exec rm $MYSQLTEST_VARDIR/tmp/local.sql
 
 DROP TABLE IF EXISTS t1, t2, t3, t04, t05, t4, t5; 
+sync_slave_with_master;
 
 # End of 4.1 tests
diff -Nrup a/mysql-test/suite/rpl_ndb/r/rpl_ndb_innodb2ndb.result
b/mysql-test/suite/rpl_ndb/r/rpl_ndb_innodb2ndb.result
--- /dev/null	Wed Dec 31 16:00:00 196900
+++ b/mysql-test/suite/rpl_ndb/r/rpl_ndb_innodb2ndb.result	2007-10-11 18:18:00 +02:00
@@ -0,0 +1,855 @@
+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;
+SET storage_engine=innodb;
+--- Doing pre test cleanup --- 
+DROP TABLE IF EXISTS t1;
+--- Start test 1 Basic testing ---
+--- Create Table Section ---
+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));
+--- 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(255) DEFAULT NULL,
+  `bc` char(255) 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`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+--- 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(255) DEFAULT NULL,
+  `bc` char(255) 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`)
+) ENGINE=ndbcluster DEFAULT CHARSET=latin1
+--- 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);
+ALTER TABLE t1 MODIFY vc TEXT;
+--- 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` text,
+  `bc` char(255) 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`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+--- 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` text,
+  `bc` char(255) 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`)
+) ENGINE=ndbcluster DEFAULT CHARSET=latin1
+--- 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 1 Basic testing ---
+--- Do Cleanup --
+DROP TABLE IF EXISTS t1;
+--- Start test 2 partition RANGE testing --
+--- Do setup --
+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);
+--- 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(255) DEFAULT NULL,
+  `bc` char(255) 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
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (YEAR(t)) (PARTITION
p0 VALUES LESS THAN (1901) ENGINE = InnoDB, PARTITION p1 VALUES LESS THAN (1946) ENGINE =
InnoDB, PARTITION p2 VALUES LESS THAN (1966) ENGINE = InnoDB, PARTITION p3 VALUES LESS
THAN (1986) ENGINE = InnoDB, PARTITION p4 VALUES LESS THAN (2005) ENGINE = InnoDB,
PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */
+--- 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(255) DEFAULT NULL,
+  `bc` char(255) 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
+) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (YEAR(t))
(PARTITION p0 VALUES LESS THAN (1901) ENGINE = ndbcluster, PARTITION p1 VALUES LESS THAN
(1946) ENGINE = ndbcluster, PARTITION p2 VALUES LESS THAN (1966) ENGINE = ndbcluster,
PARTITION p3 VALUES LESS THAN (1986) ENGINE = ndbcluster, PARTITION p4 VALUES LESS THAN
(2005) ENGINE = ndbcluster, PARTITION p5 VALUES LESS THAN MAXVALUE 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 ADD PRIMARY KEY(t,id);
+ALTER TABLE t1 MODIFY vc TEXT;
+--- 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` text,
+  `bc` char(255) 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 NOT NULL DEFAULT '0000-00-00',
+  PRIMARY KEY (`t`,`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (YEAR(t)) (PARTITION
p0 VALUES LESS THAN (1901) ENGINE = InnoDB, PARTITION p1 VALUES LESS THAN (1946) ENGINE =
InnoDB, PARTITION p2 VALUES LESS THAN (1966) ENGINE = InnoDB, PARTITION p3 VALUES LESS
THAN (1986) ENGINE = InnoDB, PARTITION p4 VALUES LESS THAN (2005) ENGINE = InnoDB,
PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */
+--- 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` text,
+  `bc` char(255) 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 NOT NULL DEFAULT '0000-00-00',
+  PRIMARY KEY (`t`,`id`)
+) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (YEAR(t))
(PARTITION p0 VALUES LESS THAN (1901) ENGINE = ndbcluster, PARTITION p1 VALUES LESS THAN
(1946) ENGINE = ndbcluster, PARTITION p2 VALUES LESS THAN (1966) ENGINE = ndbcluster,
PARTITION p3 VALUES LESS THAN (1986) ENGINE = ndbcluster, PARTITION p4 VALUES LESS THAN
(2005) ENGINE = ndbcluster, PARTITION p5 VALUES LESS THAN MAXVALUE 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(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));
+--- 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(255) DEFAULT NULL,
+  `bc` char(255) 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
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (id) (PARTITION p0
VALUES IN (2,4) ENGINE = InnoDB, PARTITION p1 VALUES IN (42,142) ENGINE = InnoDB,
PARTITION p2 VALUES IN (412) ENGINE = InnoDB) */
+--- 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(255) DEFAULT NULL,
+  `bc` char(255) 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
+) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (id) (PARTITION p0
VALUES IN (2,4) ENGINE = ndbcluster, PARTITION p1 VALUES IN (42,142) ENGINE = ndbcluster,
PARTITION p2 VALUES IN (412) 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 ADD PRIMARY KEY(id);
+ALTER TABLE t1 MODIFY vc TEXT;
+--- 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` text,
+  `bc` char(255) 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`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (id) (PARTITION p0
VALUES IN (2,4) ENGINE = InnoDB, PARTITION p1 VALUES IN (42,142) ENGINE = InnoDB,
PARTITION p2 VALUES IN (412) ENGINE = InnoDB) */
+--- 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` text,
+  `bc` char(255) 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`)
+) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (id) (PARTITION p0
VALUES IN (2,4) ENGINE = ndbcluster, PARTITION p1 VALUES IN (42,142) ENGINE = ndbcluster,
PARTITION p2 VALUES IN (412) 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(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;
+--- 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(255) DEFAULT NULL,
+  `bc` char(255) 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
+) ENGINE=InnoDB 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(255) DEFAULT NULL,
+  `bc` char(255) 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
+) 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 ADD PRIMARY KEY(t,id);
+ALTER TABLE t1 MODIFY vc TEXT;
+--- 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` text,
+  `bc` char(255) 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 NOT NULL DEFAULT '0000-00-00',
+  PRIMARY KEY (`t`,`id`)
+) ENGINE=InnoDB 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` text,
+  `bc` char(255) 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 NOT NULL DEFAULT '0000-00-00',
+  PRIMARY KEY (`t`,`id`)
+) 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(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;
+--- 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(255) DEFAULT NULL,
+  `bc` char(255) 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`)
+) ENGINE=InnoDB 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(255) DEFAULT NULL,
+  `bc` char(255) 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`)
+) 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(255) DEFAULT NULL,
+  `bc` char(255) 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`)
+) ENGINE=InnoDB 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(255) DEFAULT NULL,
+  `bc` char(255) 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`)
+) 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 TEXT;
+--- 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` text,
+  `bc` char(255) 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`)
+) ENGINE=InnoDB 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` text,
+  `bc` char(255) 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`)
+) 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;
diff -Nrup a/mysql-test/suite/rpl_ndb/r/rpl_ndb_myisam2ndb.result
b/mysql-test/suite/rpl_ndb/r/rpl_ndb_myisam2ndb.result
--- /dev/null	Wed Dec 31 16:00:00 196900
+++ b/mysql-test/suite/rpl_ndb/r/rpl_ndb_myisam2ndb.result	2007-10-11 18:18:00 +02:00
@@ -0,0 +1,855 @@
+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;
+SET storage_engine=myisam;
+--- Doing pre test cleanup --- 
+DROP TABLE IF EXISTS t1;
+--- Start test 1 Basic testing ---
+--- Create Table Section ---
+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));
+--- 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(255) DEFAULT NULL,
+  `bc` char(255) 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`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+--- 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(255) DEFAULT NULL,
+  `bc` char(255) 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`)
+) ENGINE=ndbcluster DEFAULT CHARSET=latin1
+--- 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);
+ALTER TABLE t1 MODIFY vc TEXT;
+--- 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` text,
+  `bc` char(255) 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`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+--- 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` text,
+  `bc` char(255) 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`)
+) ENGINE=ndbcluster DEFAULT CHARSET=latin1
+--- 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 1 Basic testing ---
+--- Do Cleanup --
+DROP TABLE IF EXISTS t1;
+--- Start test 2 partition RANGE testing --
+--- Do setup --
+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);
+--- 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(255) DEFAULT NULL,
+  `bc` char(255) 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
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (YEAR(t)) (PARTITION
p0 VALUES LESS THAN (1901) ENGINE = MyISAM, PARTITION p1 VALUES LESS THAN (1946) ENGINE =
MyISAM, PARTITION p2 VALUES LESS THAN (1966) ENGINE = MyISAM, PARTITION p3 VALUES LESS
THAN (1986) ENGINE = MyISAM, PARTITION p4 VALUES LESS THAN (2005) ENGINE = MyISAM,
PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */
+--- 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(255) DEFAULT NULL,
+  `bc` char(255) 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
+) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (YEAR(t))
(PARTITION p0 VALUES LESS THAN (1901) ENGINE = ndbcluster, PARTITION p1 VALUES LESS THAN
(1946) ENGINE = ndbcluster, PARTITION p2 VALUES LESS THAN (1966) ENGINE = ndbcluster,
PARTITION p3 VALUES LESS THAN (1986) ENGINE = ndbcluster, PARTITION p4 VALUES LESS THAN
(2005) ENGINE = ndbcluster, PARTITION p5 VALUES LESS THAN MAXVALUE 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 ADD PRIMARY KEY(t,id);
+ALTER TABLE t1 MODIFY vc TEXT;
+--- 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` text,
+  `bc` char(255) 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 NOT NULL DEFAULT '0000-00-00',
+  PRIMARY KEY (`t`,`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (YEAR(t)) (PARTITION
p0 VALUES LESS THAN (1901) ENGINE = MyISAM, PARTITION p1 VALUES LESS THAN (1946) ENGINE =
MyISAM, PARTITION p2 VALUES LESS THAN (1966) ENGINE = MyISAM, PARTITION p3 VALUES LESS
THAN (1986) ENGINE = MyISAM, PARTITION p4 VALUES LESS THAN (2005) ENGINE = MyISAM,
PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */
+--- 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` text,
+  `bc` char(255) 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 NOT NULL DEFAULT '0000-00-00',
+  PRIMARY KEY (`t`,`id`)
+) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (YEAR(t))
(PARTITION p0 VALUES LESS THAN (1901) ENGINE = ndbcluster, PARTITION p1 VALUES LESS THAN
(1946) ENGINE = ndbcluster, PARTITION p2 VALUES LESS THAN (1966) ENGINE = ndbcluster,
PARTITION p3 VALUES LESS THAN (1986) ENGINE = ndbcluster, PARTITION p4 VALUES LESS THAN
(2005) ENGINE = ndbcluster, PARTITION p5 VALUES LESS THAN MAXVALUE 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(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));
+--- 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(255) DEFAULT NULL,
+  `bc` char(255) 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
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (id) (PARTITION p0
VALUES IN (2,4) ENGINE = MyISAM, PARTITION p1 VALUES IN (42,142) ENGINE = MyISAM,
PARTITION p2 VALUES IN (412) ENGINE = MyISAM) */
+--- 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(255) DEFAULT NULL,
+  `bc` char(255) 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
+) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (id) (PARTITION p0
VALUES IN (2,4) ENGINE = ndbcluster, PARTITION p1 VALUES IN (42,142) ENGINE = ndbcluster,
PARTITION p2 VALUES IN (412) 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 ADD PRIMARY KEY(id);
+ALTER TABLE t1 MODIFY vc TEXT;
+--- 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` text,
+  `bc` char(255) 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`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (id) (PARTITION p0
VALUES IN (2,4) ENGINE = MyISAM, PARTITION p1 VALUES IN (42,142) ENGINE = MyISAM,
PARTITION p2 VALUES IN (412) ENGINE = MyISAM) */
+--- 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` text,
+  `bc` char(255) 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`)
+) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (id) (PARTITION p0
VALUES IN (2,4) ENGINE = ndbcluster, PARTITION p1 VALUES IN (42,142) ENGINE = ndbcluster,
PARTITION p2 VALUES IN (412) 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(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;
+--- 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(255) DEFAULT NULL,
+  `bc` char(255) 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
+) ENGINE=MyISAM 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(255) DEFAULT NULL,
+  `bc` char(255) 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
+) 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 ADD PRIMARY KEY(t,id);
+ALTER TABLE t1 MODIFY vc TEXT;
+--- 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` text,
+  `bc` char(255) 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 NOT NULL DEFAULT '0000-00-00',
+  PRIMARY KEY (`t`,`id`)
+) ENGINE=MyISAM 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` text,
+  `bc` char(255) 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 NOT NULL DEFAULT '0000-00-00',
+  PRIMARY KEY (`t`,`id`)
+) 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(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;
+--- Show that tables on master are ndbcluster tables ---
+SHOW CREATE TABLE t1;
+Table	Create Table
+t1	CREATE TABLE `t1` (