summaryrefslogtreecommitdiff
path: root/storage/tokudb/mysql-test/rpl/t
diff options
context:
space:
mode:
authorSergei Golubchik <serg@mariadb.org>2015-12-15 20:13:09 +0100
committerSergei Golubchik <serg@mariadb.org>2015-12-15 20:13:09 +0100
commit15f7f5c6bb4eb8ee8d868bb991f25b18d36f64ec (patch)
treef34ee89e970d980124ce8390550e0845e1c52dc4 /storage/tokudb/mysql-test/rpl/t
parenta75ac82c2f24a6a7ffb2effe90455d367913b78d (diff)
parent2c8c65297865d9f8da501761f46e2a34e29af603 (diff)
downloadmariadb-git-15f7f5c6bb4eb8ee8d868bb991f25b18d36f64ec.tar.gz
Merge branch 'merge-tokudb-5.6' into 10.0
Diffstat (limited to 'storage/tokudb/mysql-test/rpl/t')
-rw-r--r--storage/tokudb/mysql-test/rpl/t/rpl_deadlock_tokudb-slave.opt1
-rw-r--r--storage/tokudb/mysql-test/rpl/t/rpl_deadlock_tokudb.test8
-rw-r--r--storage/tokudb/mysql-test/rpl/t/rpl_extra_col_master_tokudb.test11
-rw-r--r--storage/tokudb/mysql-test/rpl/t/rpl_extra_col_slave_tokudb.test7
-rw-r--r--storage/tokudb/mysql-test/rpl/t/rpl_foreign_key_tokudb.test4
-rw-r--r--storage/tokudb/mysql-test/rpl/t/rpl_mixed_row_tokudb-master.opt1
-rw-r--r--storage/tokudb/mysql-test/rpl/t/rpl_not_null_tokudb.test20
-rw-r--r--storage/tokudb/mysql-test/rpl/t/rpl_parallel_tokudb-master.opt1
-rw-r--r--storage/tokudb/mysql-test/rpl/t/rpl_parallel_tokudb-slave.opt5
-rw-r--r--storage/tokudb/mysql-test/rpl/t/rpl_parallel_tokudb.test15
-rw-r--r--storage/tokudb/mysql-test/rpl/t/rpl_parallel_tokudb_delete_pk-slave.opt2
-rw-r--r--storage/tokudb/mysql-test/rpl/t/rpl_parallel_tokudb_delete_pk.test63
-rw-r--r--storage/tokudb/mysql-test/rpl/t/rpl_parallel_tokudb_update_pk_uc0_lookup0-slave.opt1
-rw-r--r--storage/tokudb/mysql-test/rpl/t/rpl_parallel_tokudb_update_pk_uc0_lookup0.test70
-rw-r--r--storage/tokudb/mysql-test/rpl/t/rpl_parallel_tokudb_write_pk-slave.opt2
-rw-r--r--storage/tokudb/mysql-test/rpl/t/rpl_parallel_tokudb_write_pk.test53
-rw-r--r--storage/tokudb/mysql-test/rpl/t/rpl_partition_tokudb-master.opt1
-rw-r--r--storage/tokudb/mysql-test/rpl/t/rpl_partition_tokudb.test12
-rw-r--r--storage/tokudb/mysql-test/rpl/t/rpl_relay_space_tokudb.test4
-rw-r--r--storage/tokudb/mysql-test/rpl/t/rpl_row_basic_3tokudb.test11
-rw-r--r--storage/tokudb/mysql-test/rpl/t/rpl_row_blob_tokudb.test15
-rw-r--r--storage/tokudb/mysql-test/rpl/t/rpl_row_log_tokudb-master.opt2
-rw-r--r--storage/tokudb/mysql-test/rpl/t/rpl_row_log_tokudb.test15
-rw-r--r--storage/tokudb/mysql-test/rpl/t/rpl_row_rec_comp_tokudb.test11
-rw-r--r--storage/tokudb/mysql-test/rpl/t/rpl_row_sp002_tokudb.test4
-rw-r--r--storage/tokudb/mysql-test/rpl/t/rpl_row_sp007_tokudb.test4
-rw-r--r--storage/tokudb/mysql-test/rpl/t/rpl_row_tabledefs_3tokudb.test10
-rw-r--r--storage/tokudb/mysql-test/rpl/t/rpl_set_null_tokudb.test7
-rw-r--r--storage/tokudb/mysql-test/rpl/t/rpl_stm_tokudb.test11
-rw-r--r--storage/tokudb/mysql-test/rpl/t/rpl_tokudb-master.opt1
-rw-r--r--storage/tokudb/mysql-test/rpl/t/rpl_tokudb_bug28430-master.opt1
-rw-r--r--storage/tokudb/mysql-test/rpl/t/rpl_tokudb_bug28430-slave.opt1
-rw-r--r--storage/tokudb/mysql-test/rpl/t/rpl_tokudb_bug28430.test159
-rw-r--r--storage/tokudb/mysql-test/rpl/t/rpl_tokudb_bug30888.test66
-rw-r--r--storage/tokudb/mysql-test/rpl/t/rpl_tokudb_mixed_ddl.test9
-rw-r--r--storage/tokudb/mysql-test/rpl/t/rpl_tokudb_mixed_dml-master.opt2
-rw-r--r--storage/tokudb/mysql-test/rpl/t/rpl_tokudb_mixed_dml.test9
-rw-r--r--storage/tokudb/mysql-test/rpl/t/rpl_truncate_3tokudb.test4
-rw-r--r--storage/tokudb/mysql-test/rpl/t/rpl_typeconv_tokudb.test26
-rw-r--r--storage/tokudb/mysql-test/rpl/t/tokudb_innodb_xa_crash.test2
40 files changed, 650 insertions, 1 deletions
diff --git a/storage/tokudb/mysql-test/rpl/t/rpl_deadlock_tokudb-slave.opt b/storage/tokudb/mysql-test/rpl/t/rpl_deadlock_tokudb-slave.opt
new file mode 100644
index 00000000000..3819e7c3f7b
--- /dev/null
+++ b/storage/tokudb/mysql-test/rpl/t/rpl_deadlock_tokudb-slave.opt
@@ -0,0 +1 @@
+--innodb_lock_wait_timeout=4 --slave-transaction-retries=2 --max-relay-log-size=4096
diff --git a/storage/tokudb/mysql-test/rpl/t/rpl_deadlock_tokudb.test b/storage/tokudb/mysql-test/rpl/t/rpl_deadlock_tokudb.test
new file mode 100644
index 00000000000..86d28a12ad3
--- /dev/null
+++ b/storage/tokudb/mysql-test/rpl/t/rpl_deadlock_tokudb.test
@@ -0,0 +1,8 @@
+-- source include/not_ndb_default.inc
+-- source include/have_tokudb.inc
+-- source include/not_mts_slave_parallel_workers.inc
+-- source include/not_relay_log_info_table.inc
+-- source include/not_master_info_table.inc
+
+let $engine_type=TokuDB;
+-- source extra/rpl_tests/rpl_deadlock.test
diff --git a/storage/tokudb/mysql-test/rpl/t/rpl_extra_col_master_tokudb.test b/storage/tokudb/mysql-test/rpl/t/rpl_extra_col_master_tokudb.test
new file mode 100644
index 00000000000..4ee8fd38010
--- /dev/null
+++ b/storage/tokudb/mysql-test/rpl/t/rpl_extra_col_master_tokudb.test
@@ -0,0 +1,11 @@
+#############################################################
+# Purpose: To test having extra columns on the master WL#3915
+#############################################################
+-- source include/have_binlog_format_row.inc
+-- source include/master-slave.inc
+-- source include/have_tokudb.inc
+
+let $engine_type=TokuDB;
+--source extra/rpl_tests/rpl_extra_col_master.test
+
+--source include/rpl_end.inc
diff --git a/storage/tokudb/mysql-test/rpl/t/rpl_extra_col_slave_tokudb.test b/storage/tokudb/mysql-test/rpl/t/rpl_extra_col_slave_tokudb.test
new file mode 100644
index 00000000000..b3d157a513d
--- /dev/null
+++ b/storage/tokudb/mysql-test/rpl/t/rpl_extra_col_slave_tokudb.test
@@ -0,0 +1,7 @@
+-- source include/have_binlog_format_row.inc
+-- source include/have_tokudb.inc
+-- source include/master-slave.inc
+
+let $engine_type='TokuDB';
+-- source extra/rpl_tests/rpl_extra_col_slave.test
+--source include/rpl_end.inc
diff --git a/storage/tokudb/mysql-test/rpl/t/rpl_foreign_key_tokudb.test b/storage/tokudb/mysql-test/rpl/t/rpl_foreign_key_tokudb.test
new file mode 100644
index 00000000000..d798cfd4a62
--- /dev/null
+++ b/storage/tokudb/mysql-test/rpl/t/rpl_foreign_key_tokudb.test
@@ -0,0 +1,4 @@
+-- source include/not_ndb_default.inc
+-- source include/have_tokudb.inc
+let $engine_type=TokuDB;
+-- source extra/rpl_tests/rpl_foreign_key.test
diff --git a/storage/tokudb/mysql-test/rpl/t/rpl_mixed_row_tokudb-master.opt b/storage/tokudb/mysql-test/rpl/t/rpl_mixed_row_tokudb-master.opt
new file mode 100644
index 00000000000..96f0ce3f36c
--- /dev/null
+++ b/storage/tokudb/mysql-test/rpl/t/rpl_mixed_row_tokudb-master.opt
@@ -0,0 +1 @@
+--default-storage-engine=MyISAM
diff --git a/storage/tokudb/mysql-test/rpl/t/rpl_not_null_tokudb.test b/storage/tokudb/mysql-test/rpl/t/rpl_not_null_tokudb.test
new file mode 100644
index 00000000000..8fde1c3415b
--- /dev/null
+++ b/storage/tokudb/mysql-test/rpl/t/rpl_not_null_tokudb.test
@@ -0,0 +1,20 @@
+#################################################################################
+# This test checks if the replication between "null" fields to either "null"
+# fields or "not null" fields works properly. In the first case, the execution
+# should work fine. In the second case, it may fail according to the sql_mode
+# being used.
+#
+# The test is devided in three main parts:
+#
+# 1 - NULL --> NULL (no failures)
+# 2 - NULL --> NOT NULL ( sql-mode = STRICT and failures)
+# 3 - NULL --> NOT NULL ( sql-mode != STRICT and no failures)
+#
+#################################################################################
+--source include/master-slave.inc
+--source include/have_tokudb.inc
+--source include/have_binlog_format_row.inc
+
+let $engine=Innodb;
+--source extra/rpl_tests/rpl_not_null.test
+--source include/rpl_end.inc
diff --git a/storage/tokudb/mysql-test/rpl/t/rpl_parallel_tokudb-master.opt b/storage/tokudb/mysql-test/rpl/t/rpl_parallel_tokudb-master.opt
new file mode 100644
index 00000000000..4426a9c9746
--- /dev/null
+++ b/storage/tokudb/mysql-test/rpl/t/rpl_parallel_tokudb-master.opt
@@ -0,0 +1 @@
+--log-warnings=0
diff --git a/storage/tokudb/mysql-test/rpl/t/rpl_parallel_tokudb-slave.opt b/storage/tokudb/mysql-test/rpl/t/rpl_parallel_tokudb-slave.opt
new file mode 100644
index 00000000000..b351df53683
--- /dev/null
+++ b/storage/tokudb/mysql-test/rpl/t/rpl_parallel_tokudb-slave.opt
@@ -0,0 +1,5 @@
+--log-warnings=0 --slave-transaction-retries=0
+
+
+
+
diff --git a/storage/tokudb/mysql-test/rpl/t/rpl_parallel_tokudb.test b/storage/tokudb/mysql-test/rpl/t/rpl_parallel_tokudb.test
new file mode 100644
index 00000000000..efb60fac2ba
--- /dev/null
+++ b/storage/tokudb/mysql-test/rpl/t/rpl_parallel_tokudb.test
@@ -0,0 +1,15 @@
+#Want to skip this test from daily Valgrind execution
+--source include/no_valgrind_without_big.inc
+#
+# WL#5569 MTS
+#
+# The test is similar to rpl_parallel (see further instruction there) but
+# checks and provides benchmarking data with load to innodb tables.
+#
+
+--source include/master-slave.inc
+
+connection master;
+source extra/rpl_tests/rpl_parallel_load_tokudb.test;
+
+--source include/rpl_end.inc
diff --git a/storage/tokudb/mysql-test/rpl/t/rpl_parallel_tokudb_delete_pk-slave.opt b/storage/tokudb/mysql-test/rpl/t/rpl_parallel_tokudb_delete_pk-slave.opt
new file mode 100644
index 00000000000..2c35be69b98
--- /dev/null
+++ b/storage/tokudb/mysql-test/rpl/t/rpl_parallel_tokudb_delete_pk-slave.opt
@@ -0,0 +1,2 @@
+--read-only=ON --tokudb-rpl-unique-checks-delay=10000 --tokudb-rpl-unique-checks=OFF --tokudb-rpl-lookup-rows-delay=10000 --tokudb-rpl-lookup-rows=OFF --slave-parallel-workers=2
+
diff --git a/storage/tokudb/mysql-test/rpl/t/rpl_parallel_tokudb_delete_pk.test b/storage/tokudb/mysql-test/rpl/t/rpl_parallel_tokudb_delete_pk.test
new file mode 100644
index 00000000000..fb42f40bb62
--- /dev/null
+++ b/storage/tokudb/mysql-test/rpl/t/rpl_parallel_tokudb_delete_pk.test
@@ -0,0 +1,63 @@
+# test replicated delete rows log events on a table with a primary key.
+# the slave is read only with tokudb rpl row lookups OFF.
+
+source include/have_tokudb.inc;
+let $engine=tokudb;
+source include/have_binlog_format_row.inc;
+source include/master-slave.inc;
+
+# initialize
+connection master;
+disable_warnings;
+drop table if exists t;
+enable_warnings;
+
+connection slave;
+# show variables like 'read_only';
+# show variables like 'tokudb_rpl_%';
+
+# insert some rows
+connection master;
+# select @@binlog_format;
+# select @@autocommit;
+eval create table t (a bigint not null, primary key(a)) engine=$engine;
+# show create table t;
+insert into t values (1);
+insert into t values (2),(3);
+insert into t values (4);
+
+# wait for the inserts to finish on the slave
+connection master;
+sync_slave_with_master;
+# source include/sync_slave_sql_with_master.inc;
+
+# diff tables
+connection master;
+--let $diff_tables= master:test.t, slave:test.t
+source include/diff_tables.inc;
+
+# delete a row
+connection master;
+delete from t where a=2;
+select unix_timestamp() into @tstart;
+
+# wait for the delete to finish on the slave
+connection master;
+sync_slave_with_master;
+# source include/sync_slave_sql_with_master.inc;
+connection master;
+select unix_timestamp() into @tend;
+select @tend-@tstart <= 5; # assert no delay in the delete time
+
+# diff tables
+--let $diff_tables= master:test.t, slave:test.t
+source include/diff_tables.inc;
+
+# cleanup
+connection master;
+drop table if exists t;
+sync_slave_with_master;
+# source include/sync_slave_sql_with_master.inc;
+
+source include/rpl_end.inc;
+
diff --git a/storage/tokudb/mysql-test/rpl/t/rpl_parallel_tokudb_update_pk_uc0_lookup0-slave.opt b/storage/tokudb/mysql-test/rpl/t/rpl_parallel_tokudb_update_pk_uc0_lookup0-slave.opt
new file mode 100644
index 00000000000..d84d7111bd6
--- /dev/null
+++ b/storage/tokudb/mysql-test/rpl/t/rpl_parallel_tokudb_update_pk_uc0_lookup0-slave.opt
@@ -0,0 +1 @@
+--read-only=ON --tokudb-rpl-unique-checks-delay=10000 --tokudb-rpl-unique-checks=OFF --tokudb-rpl-lookup-rows-delay=10000 --tokudb-rpl-lookup-rows=OFF --slave-parallel-workers=2
diff --git a/storage/tokudb/mysql-test/rpl/t/rpl_parallel_tokudb_update_pk_uc0_lookup0.test b/storage/tokudb/mysql-test/rpl/t/rpl_parallel_tokudb_update_pk_uc0_lookup0.test
new file mode 100644
index 00000000000..998987349c7
--- /dev/null
+++ b/storage/tokudb/mysql-test/rpl/t/rpl_parallel_tokudb_update_pk_uc0_lookup0.test
@@ -0,0 +1,70 @@
+# test replicated update rows log events on a table with a primary key.
+
+source include/have_tokudb.inc;
+let $engine=tokudb;
+source include/have_binlog_format_row.inc;
+source include/master-slave.inc;
+
+# initialize
+connection master;
+disable_warnings;
+drop table if exists t;
+enable_warnings;
+
+connection slave;
+# show variables like 'read_only';
+# show variables like 'tokudb_rpl_%';
+
+# insert some rows
+connection master;
+# select @@binlog_format;
+# select @@autocommit;
+eval create table t (a bigint not null, b bigint not null, primary key(a)) engine=$engine;
+# show create table t;
+insert into t values (1,0);
+insert into t values (2,0),(3,0);
+insert into t values (4,0);
+
+# wait for the inserts to finish on the slave
+connection master;
+sync_slave_with_master;
+# source include/sync_slave_sql_with_master.inc;
+
+# diff tables
+connection master;
+--let $diff_tables= master:test.t, slave:test.t
+source include/diff_tables.inc;
+
+# delete a row
+connection master;
+update t set b=b+1 where a=2;
+update t set b=b+2 where a=1;
+update t set b=b+3 where a=4;
+update t set b=b+4 where a=3;
+update t set b=b+1 where 1<=a and a<=3;
+select unix_timestamp() into @tstart;
+
+# wait for the delete to finish on the slave
+connection master;
+sync_slave_with_master;
+# source include/sync_slave_sql_with_master.inc;
+connection master;
+select unix_timestamp() into @tend;
+select @tend-@tstart <= 5; # assert no delay in the delete time
+
+connection slave;
+select * from t;
+
+# diff tables
+--let $diff_tables= master:test.t, slave:test.t
+source include/diff_tables.inc;
+
+# cleanup
+connection master;
+drop table if exists t;
+
+sync_slave_with_master;
+# source include/sync_slave_sql_with_master.inc;
+
+source include/rpl_end.inc;
+
diff --git a/storage/tokudb/mysql-test/rpl/t/rpl_parallel_tokudb_write_pk-slave.opt b/storage/tokudb/mysql-test/rpl/t/rpl_parallel_tokudb_write_pk-slave.opt
new file mode 100644
index 00000000000..9e4f2f7048d
--- /dev/null
+++ b/storage/tokudb/mysql-test/rpl/t/rpl_parallel_tokudb_write_pk-slave.opt
@@ -0,0 +1,2 @@
+--read-only=ON --tokudb-rpl-unique-checks-delay=5000 --tokudb-rpl-unique-checks=OFF --slave-parallel-workers=2
+
diff --git a/storage/tokudb/mysql-test/rpl/t/rpl_parallel_tokudb_write_pk.test b/storage/tokudb/mysql-test/rpl/t/rpl_parallel_tokudb_write_pk.test
new file mode 100644
index 00000000000..c77e4b49605
--- /dev/null
+++ b/storage/tokudb/mysql-test/rpl/t/rpl_parallel_tokudb_write_pk.test
@@ -0,0 +1,53 @@
+# test replicated write rows log events on a table with a primary key.
+# the slave is read only with tokudb unique checks disabled.
+
+source include/have_tokudb.inc;
+let $engine=tokudb;
+source include/have_binlog_format_row.inc;
+source include/master-slave.inc;
+
+# initialize
+connection master;
+disable_warnings;
+drop table if exists t;
+enable_warnings;
+
+connection slave;
+# show variables like 'read_only';
+# show variables like 'tokudb_rpl_unique_checks%';
+
+# insert some rows
+connection master;
+# select @@binlog_format;
+# select @@autocommit;
+eval create table t (a bigint not null, primary key(a)) engine=$engine;
+# show create table t;
+select unix_timestamp() into @tstart;
+insert into t values (1);
+insert into t values (2),(3);
+insert into t values (4);
+
+sync_slave_with_master;
+# source include/sync_slave_sql_with_master.inc;
+
+connection master;
+select unix_timestamp()-@tstart <= 10;
+
+connection slave;
+# insert into t values (5); # test read-only
+# show create table t;
+
+# diff tables
+connection master;
+--let $diff_tables= master:test.t, slave:test.t
+source include/diff_tables.inc;
+
+# cleanup
+connection master;
+drop table if exists t;
+
+sync_slave_with_master;
+# source include/sync_slave_sql_with_master.inc;
+
+source include/rpl_end.inc;
+
diff --git a/storage/tokudb/mysql-test/rpl/t/rpl_partition_tokudb-master.opt b/storage/tokudb/mysql-test/rpl/t/rpl_partition_tokudb-master.opt
new file mode 100644
index 00000000000..0eed7aaadad
--- /dev/null
+++ b/storage/tokudb/mysql-test/rpl/t/rpl_partition_tokudb-master.opt
@@ -0,0 +1 @@
+--innodb_autoinc_lock_mode=0
diff --git a/storage/tokudb/mysql-test/rpl/t/rpl_partition_tokudb.test b/storage/tokudb/mysql-test/rpl/t/rpl_partition_tokudb.test
new file mode 100644
index 00000000000..a80363cc91d
--- /dev/null
+++ b/storage/tokudb/mysql-test/rpl/t/rpl_partition_tokudb.test
@@ -0,0 +1,12 @@
+# Test of partitioning features with replication for InnoDB
+--source include/have_tokudb.inc
+--source include/have_partition.inc
+--source include/master-slave.inc
+
+# Set the default connection to 'master'
+
+let $engine_type=TokuDB;
+
+--source suite/rpl/include/rpl_partition.inc
+
+--source include/rpl_end.inc
diff --git a/storage/tokudb/mysql-test/rpl/t/rpl_relay_space_tokudb.test b/storage/tokudb/mysql-test/rpl/t/rpl_relay_space_tokudb.test
new file mode 100644
index 00000000000..232ec944c16
--- /dev/null
+++ b/storage/tokudb/mysql-test/rpl/t/rpl_relay_space_tokudb.test
@@ -0,0 +1,4 @@
+-- source include/not_ndb_default.inc
+-- source include/have_tokudb.inc
+let $engine_type=TokuDB;
+-- source extra/rpl_tests/rpl_sv_relay_space.test
diff --git a/storage/tokudb/mysql-test/rpl/t/rpl_row_basic_3tokudb.test b/storage/tokudb/mysql-test/rpl/t/rpl_row_basic_3tokudb.test
new file mode 100644
index 00000000000..d600137bec4
--- /dev/null
+++ b/storage/tokudb/mysql-test/rpl/t/rpl_row_basic_3tokudb.test
@@ -0,0 +1,11 @@
+-- source include/have_tokudb.inc
+-- source include/have_binlog_format_row.inc
+-- source include/master-slave.inc
+
+connection slave;
+let $bit_field_special = ALL_LOSSY;
+let $type= 'INNODB' ;
+let $extra_index= ;
+-- source extra/rpl_tests/rpl_row_basic.test
+
+--source include/rpl_end.inc
diff --git a/storage/tokudb/mysql-test/rpl/t/rpl_row_blob_tokudb.test b/storage/tokudb/mysql-test/rpl/t/rpl_row_blob_tokudb.test
new file mode 100644
index 00000000000..b96219a0c50
--- /dev/null
+++ b/storage/tokudb/mysql-test/rpl/t/rpl_row_blob_tokudb.test
@@ -0,0 +1,15 @@
+#################################
+# Wrapper for rpl_row_blob.test#
+#################################
+########################################################
+# By JBM 2005-02-15 Wrapped to allow reuse of test code#
+# Added to skip if ndb is default #
+########################################################
+-- source include/not_ndb_default.inc
+-- source include/have_tokudb.inc
+-- source include/have_binlog_format_row.inc
+-- source include/master-slave.inc
+let $engine_type=TokuDB;
+-- source extra/rpl_tests/rpl_row_blob.test
+
+--source include/rpl_end.inc
diff --git a/storage/tokudb/mysql-test/rpl/t/rpl_row_log_tokudb-master.opt b/storage/tokudb/mysql-test/rpl/t/rpl_row_log_tokudb-master.opt
new file mode 100644
index 00000000000..773ec62bef2
--- /dev/null
+++ b/storage/tokudb/mysql-test/rpl/t/rpl_row_log_tokudb-master.opt
@@ -0,0 +1,2 @@
+--skip-external-locking
+--default-storage-engine=MyISAM
diff --git a/storage/tokudb/mysql-test/rpl/t/rpl_row_log_tokudb.test b/storage/tokudb/mysql-test/rpl/t/rpl_row_log_tokudb.test
new file mode 100644
index 00000000000..bc624d4d89c
--- /dev/null
+++ b/storage/tokudb/mysql-test/rpl/t/rpl_row_log_tokudb.test
@@ -0,0 +1,15 @@
+###################################
+# Wrapper for rpl_row_log.test #
+# Added wrapper so that MyISAM & #
+# Innodb and NDB could all use the#
+# Same test. NDB produced a diff #
+# bin-log #
+###################################
+-- source include/not_ndb_default.inc
+-- source include/have_binlog_format_row.inc
+-- source include/have_tokudb.inc
+-- source include/master-slave.inc
+let $engine_type=TokuDB;
+-- source extra/rpl_tests/rpl_log.test
+
+--source include/rpl_end.inc
diff --git a/storage/tokudb/mysql-test/rpl/t/rpl_row_rec_comp_tokudb.test b/storage/tokudb/mysql-test/rpl/t/rpl_row_rec_comp_tokudb.test
new file mode 100644
index 00000000000..8d84de1df7d
--- /dev/null
+++ b/storage/tokudb/mysql-test/rpl/t/rpl_row_rec_comp_tokudb.test
@@ -0,0 +1,11 @@
+-- source include/have_binlog_format_row.inc
+-- source include/master-slave.inc
+-- source include/have_tokudb.inc
+
+#
+# BUG#52868 Wrong handling of NULL value during update, replication out of sync
+#
+
+-- let $engine= TokuDB
+-- source extra/rpl_tests/rpl_record_compare.test
+--source include/rpl_end.inc
diff --git a/storage/tokudb/mysql-test/rpl/t/rpl_row_sp002_tokudb.test b/storage/tokudb/mysql-test/rpl/t/rpl_row_sp002_tokudb.test
new file mode 100644
index 00000000000..82c1e17f488
--- /dev/null
+++ b/storage/tokudb/mysql-test/rpl/t/rpl_row_sp002_tokudb.test
@@ -0,0 +1,4 @@
+-- source include/not_ndb_default.inc
+-- source include/have_tokudb.inc
+let $engine_type=TokuDB;
+-- source extra/rpl_tests/rpl_row_sp002.test
diff --git a/storage/tokudb/mysql-test/rpl/t/rpl_row_sp007_tokudb.test b/storage/tokudb/mysql-test/rpl/t/rpl_row_sp007_tokudb.test
new file mode 100644
index 00000000000..6deaa68d23e
--- /dev/null
+++ b/storage/tokudb/mysql-test/rpl/t/rpl_row_sp007_tokudb.test
@@ -0,0 +1,4 @@
+-- source include/not_ndb_default.inc
+-- source include/have_tokudb.inc
+let $engine_type=TokuDB;
+-- source extra/rpl_tests/rpl_row_sp007.test
diff --git a/storage/tokudb/mysql-test/rpl/t/rpl_row_tabledefs_3tokudb.test b/storage/tokudb/mysql-test/rpl/t/rpl_row_tabledefs_3tokudb.test
new file mode 100644
index 00000000000..e4558d0e87a
--- /dev/null
+++ b/storage/tokudb/mysql-test/rpl/t/rpl_row_tabledefs_3tokudb.test
@@ -0,0 +1,10 @@
+
+-- source include/have_binlog_format_row.inc
+-- source include/have_tokudb.inc
+-- source include/master-slave.inc
+
+let $engine_type=TokuDB;
+-- source extra/rpl_tests/rpl_row_tabledefs.test
+
+
+--source include/rpl_end.inc
diff --git a/storage/tokudb/mysql-test/rpl/t/rpl_set_null_tokudb.test b/storage/tokudb/mysql-test/rpl/t/rpl_set_null_tokudb.test
new file mode 100644
index 00000000000..78ae341b29f
--- /dev/null
+++ b/storage/tokudb/mysql-test/rpl/t/rpl_set_null_tokudb.test
@@ -0,0 +1,7 @@
+-- source include/have_binlog_format_mixed_or_row.inc
+-- source include/master-slave.inc
+-- source include/have_tokudb.inc
+
+-- let $engine= TokuDB
+-- source extra/rpl_tests/rpl_set_null.test
+--source include/rpl_end.inc
diff --git a/storage/tokudb/mysql-test/rpl/t/rpl_stm_tokudb.test b/storage/tokudb/mysql-test/rpl/t/rpl_stm_tokudb.test
new file mode 100644
index 00000000000..72daaefd3fb
--- /dev/null
+++ b/storage/tokudb/mysql-test/rpl/t/rpl_stm_tokudb.test
@@ -0,0 +1,11 @@
+# File for specialities regarding replication from or to InnoDB
+# tables.
+
+source include/master-slave.inc;
+source include/have_tokudb.inc;
+source include/have_binlog_format_statement.inc;
+# gtids disabled because it tests DROP TEMPORARY inside a transaction
+source include/not_gtid_enabled.inc;
+
+source extra/rpl_tests/rpl_tokudb.test;
+--source include/rpl_end.inc
diff --git a/storage/tokudb/mysql-test/rpl/t/rpl_tokudb-master.opt b/storage/tokudb/mysql-test/rpl/t/rpl_tokudb-master.opt
new file mode 100644
index 00000000000..0eed7aaadad
--- /dev/null
+++ b/storage/tokudb/mysql-test/rpl/t/rpl_tokudb-master.opt
@@ -0,0 +1 @@
+--innodb_autoinc_lock_mode=0
diff --git a/storage/tokudb/mysql-test/rpl/t/rpl_tokudb_bug28430-master.opt b/storage/tokudb/mysql-test/rpl/t/rpl_tokudb_bug28430-master.opt
new file mode 100644
index 00000000000..0eed7aaadad
--- /dev/null
+++ b/storage/tokudb/mysql-test/rpl/t/rpl_tokudb_bug28430-master.opt
@@ -0,0 +1 @@
+--innodb_autoinc_lock_mode=0
diff --git a/storage/tokudb/mysql-test/rpl/t/rpl_tokudb_bug28430-slave.opt b/storage/tokudb/mysql-test/rpl/t/rpl_tokudb_bug28430-slave.opt
new file mode 100644
index 00000000000..0eed7aaadad
--- /dev/null
+++ b/storage/tokudb/mysql-test/rpl/t/rpl_tokudb_bug28430-slave.opt
@@ -0,0 +1 @@
+--innodb_autoinc_lock_mode=0
diff --git a/storage/tokudb/mysql-test/rpl/t/rpl_tokudb_bug28430.test b/storage/tokudb/mysql-test/rpl/t/rpl_tokudb_bug28430.test
new file mode 100644
index 00000000000..4cc7f032db9
--- /dev/null
+++ b/storage/tokudb/mysql-test/rpl/t/rpl_tokudb_bug28430.test
@@ -0,0 +1,159 @@
+#Want to skip this test from daily Valgrind execution
+--source include/no_valgrind_without_big.inc
+
+--source include/have_tokudb.inc
+--source include/have_partition.inc
+--source include/have_binlog_format_mixed_or_row.inc
+--source include/master-slave.inc
+
+# Set the default connection to 'master'
+
+--vertical_results
+
+let $engine_type=TokuDB;
+
+######## Creat Table Section #########
+use test;
+
+eval CREATE TABLE test.regular_tbl(id MEDIUMINT NOT NULL AUTO_INCREMENT,
+ dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON
+ UPDATE CURRENT_TIMESTAMP, user CHAR(255), uuidf LONGBLOB,
+ fkid MEDIUMINT, filler VARCHAR(255),
+ PRIMARY KEY(id)) ENGINE=$engine_type;
+
+eval CREATE TABLE test.bykey_tbl(id MEDIUMINT NOT NULL AUTO_INCREMENT,
+ dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE
+ CURRENT_TIMESTAMP, user CHAR(255), uuidf LONGBLOB,
+ fkid MEDIUMINT, filler VARCHAR(255),
+ PRIMARY KEY(id)) ENGINE=$engine_type
+ PARTITION BY KEY(id) partitions 5;
+
+eval CREATE TABLE test.byrange_tbl(id MEDIUMINT NOT NULL AUTO_INCREMENT,
+ dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE
+ CURRENT_TIMESTAMP, user CHAR(255), uuidf LONGBLOB,
+ fkid MEDIUMINT, filler VARCHAR(255),
+ PRIMARY KEY(id)) ENGINE=$engine_type
+ PARTITION BY RANGE(id)
+ SUBPARTITION BY hash(id) subpartitions 2
+ (PARTITION pa1 values less than (10),
+ PARTITION pa2 values less than (20),
+ PARTITION pa3 values less than (30),
+ PARTITION pa4 values less than (40),
+ PARTITION pa5 values less than (50),
+ PARTITION pa6 values less than (60),
+ PARTITION pa7 values less than (70),
+ PARTITION pa8 values less than (80),
+ PARTITION pa9 values less than (90),
+ PARTITION pa10 values less than (100),
+ PARTITION pa11 values less than MAXVALUE);
+
+######## Create SPs, Functions, Views and Triggers Section ##############
+
+delimiter |;
+CREATE PROCEDURE test.proc_norm()
+BEGIN
+ DECLARE ins_count INT DEFAULT 1000;
+ DECLARE del_count INT;
+ DECLARE cur_user VARCHAR(255);
+ DECLARE local_uuid VARCHAR(255);
+ DECLARE local_time TIMESTAMP;
+
+ SET local_time= NOW();
+ SET cur_user= CURRENT_USER();
+ SET local_uuid= UUID();
+
+ WHILE ins_count > 0 DO
+ INSERT INTO test.regular_tbl VALUES (NULL, NOW(), USER() , UUID(),
+ ins_count,'Going to test MBR for MySQL');
+ SET ins_count = ins_count - 1;
+ END WHILE;
+
+ SELECT MAX(id) FROM test.regular_tbl INTO del_count;
+ WHILE del_count > 0 DO
+ DELETE FROM test.regular_tbl WHERE id = del_count;
+ SET del_count = del_count - 2;
+ END WHILE;
+END|
+
+CREATE PROCEDURE test.proc_bykey()
+BEGIN
+ DECLARE ins_count INT DEFAULT 1000;
+ DECLARE del_count INT;
+ DECLARE cur_user VARCHAR(255);
+ DECLARE local_uuid VARCHAR(255);
+ DECLARE local_time TIMESTAMP;
+
+ SET local_time= NOW();
+ SET cur_user= CURRENT_USER();
+ SET local_uuid= UUID();
+
+ WHILE ins_count > 0 DO
+ INSERT INTO test.bykey_tbl VALUES (NULL, NOW(), USER() , UUID(),
+ ins_count,'Going to test MBR for MySQL');
+ SET ins_count = ins_count - 1;
+ END WHILE;
+
+ SELECT MAX(id) FROM test.bykey_tbl INTO del_count;
+ WHILE del_count > 0 DO
+ DELETE FROM test.bykey_tbl WHERE id = del_count;
+ SET del_count = del_count - 2;
+ END WHILE;
+END|
+
+CREATE PROCEDURE test.proc_byrange()
+BEGIN
+ DECLARE ins_count INT DEFAULT 1000;
+ DECLARE del_count INT;
+ DECLARE cur_user VARCHAR(255);
+ DECLARE local_uuid VARCHAR(255);
+ DECLARE local_time TIMESTAMP;
+
+ SET local_time= NOW();
+ SET cur_user = CURRENT_USER();
+ SET local_uuid=UUID();
+
+ WHILE ins_count > 0 DO
+ INSERT INTO test.byrange_tbl VALUES (NULL, NOW(), USER(), UUID(),
+ ins_count,'Going to test MBR for MySQL');
+ SET ins_count = ins_count - 1;
+ END WHILE;
+
+ SELECT MAX(id) FROM test.byrange_tbl INTO del_count;
+ WHILE del_count > 0 DO
+ DELETE FROM test.byrange_tbl WHERE id = del_count;
+ SET del_count = del_count - 2;
+ END WHILE;
+END|
+
+delimiter ;|
+
+############ Finish Setup Section ###################
+
+
+############ Test Section ###################
+
+CALL test.proc_norm();
+SELECT count(*) as "Master regular" FROM test.regular_tbl;
+CALL test.proc_bykey();
+SELECT count(*) as "Master bykey" FROM test.bykey_tbl;
+CALL test.proc_byrange();
+SELECT count(*) as "Master byrange" FROM test.byrange_tbl;
+
+--sync_slave_with_master
+connection slave;
+show create table test.byrange_tbl;
+SELECT count(*) "Slave norm" FROM test.regular_tbl;
+SELECT count(*) "Slave bykey" FROM test.bykey_tbl;
+SELECT count(*) "Slave byrange" FROM test.byrange_tbl;
+
+###### CLEAN UP SECTION ##############
+
+connection master;
+DROP PROCEDURE test.proc_norm;
+DROP PROCEDURE test.proc_bykey;
+DROP PROCEDURE test.proc_byrange;
+DROP TABLE test.regular_tbl;
+DROP TABLE test.bykey_tbl;
+DROP TABLE test.byrange_tbl;
+
+--source include/rpl_end.inc
diff --git a/storage/tokudb/mysql-test/rpl/t/rpl_tokudb_bug30888.test b/storage/tokudb/mysql-test/rpl/t/rpl_tokudb_bug30888.test
new file mode 100644
index 00000000000..406e9c2a63a
--- /dev/null
+++ b/storage/tokudb/mysql-test/rpl/t/rpl_tokudb_bug30888.test
@@ -0,0 +1,66 @@
+--source include/have_tokudb.inc
+--source include/have_binlog_format_mixed_or_row.inc
+--source include/master-slave.inc
+
+# Set the default connection to 'master'
+
+--vertical_results
+
+#let $engine_type=TokuDB;
+let $engine_type=TokuDB;
+
+######## Creat Table Section #########
+use test;
+
+eval CREATE TABLE test.regular_tbl(id MEDIUMINT NOT NULL AUTO_INCREMENT,
+ dt TIMESTAMP, user CHAR(255), uuidf LONGBLOB,
+ fkid MEDIUMINT, filler VARCHAR(255),
+ PRIMARY KEY(id)) ENGINE=$engine_type;
+
+######## Create SPs, Functions, Views and Triggers Section ##############
+
+delimiter |;
+CREATE PROCEDURE test.proc_norm()
+BEGIN
+ DECLARE ins_count INT DEFAULT 1000;
+ DECLARE del_count INT;
+ DECLARE cur_user VARCHAR(255);
+ DECLARE local_uuid VARCHAR(255);
+ DECLARE local_time TIMESTAMP;
+
+ SET local_time= NOW();
+ SET cur_user= CURRENT_USER();
+ SET local_uuid= UUID();
+
+ WHILE ins_count > 0 DO
+ INSERT INTO test.regular_tbl VALUES (NULL, NOW(), USER() , UUID(),
+ ins_count,'Going to test MBR for MySQL');
+ SET ins_count = ins_count - 1;
+ END WHILE;
+
+ SELECT MAX(id) FROM test.regular_tbl INTO del_count;
+ WHILE del_count > 0 DO
+ DELETE FROM test.regular_tbl WHERE id = del_count;
+ SET del_count = del_count - 2;
+ END WHILE;
+END|
+
+delimiter ;|
+
+############ Finish Setup Section ###################
+
+
+############ Test Section ###################
+
+CALL test.proc_norm();
+
+--sync_slave_with_master
+
+###### CLEAN UP SECTION ##############
+
+connection master;
+DROP PROCEDURE test.proc_norm;
+DROP TABLE test.regular_tbl;
+
+--source include/rpl_end.inc
+
diff --git a/storage/tokudb/mysql-test/rpl/t/rpl_tokudb_mixed_ddl.test b/storage/tokudb/mysql-test/rpl/t/rpl_tokudb_mixed_ddl.test
new file mode 100644
index 00000000000..5614769307d
--- /dev/null
+++ b/storage/tokudb/mysql-test/rpl/t/rpl_tokudb_mixed_ddl.test
@@ -0,0 +1,9 @@
+#########################################
+# Purpose: testing the replication in mixed mode
+# Requirements: define binlog format for mysqld as in example below:
+# ./mysql-test-run.pl --mysqld=--binlog-format=mixed
+#########################################
+--source include/have_binlog_format_mixed.inc
+--source include/have_tokudb.inc
+let $engine_type=TokuDB;
+--source suite/rpl/include/rpl_mixed_ddl.inc
diff --git a/storage/tokudb/mysql-test/rpl/t/rpl_tokudb_mixed_dml-master.opt b/storage/tokudb/mysql-test/rpl/t/rpl_tokudb_mixed_dml-master.opt
new file mode 100644
index 00000000000..fd3de58d816
--- /dev/null
+++ b/storage/tokudb/mysql-test/rpl/t/rpl_tokudb_mixed_dml-master.opt
@@ -0,0 +1,2 @@
+--tokudb_pk_insert_mode=2
+
diff --git a/storage/tokudb/mysql-test/rpl/t/rpl_tokudb_mixed_dml.test b/storage/tokudb/mysql-test/rpl/t/rpl_tokudb_mixed_dml.test
new file mode 100644
index 00000000000..c27625abd7f
--- /dev/null
+++ b/storage/tokudb/mysql-test/rpl/t/rpl_tokudb_mixed_dml.test
@@ -0,0 +1,9 @@
+#########################################
+# Purpose: testing the replication in mixed mode
+# Requirements: define binlog format for mysqld as in example below:
+# ./mysql-test-run.pl --mysqld=--binlog-format=mixed
+#########################################
+--source include/have_binlog_format_mixed.inc
+--source include/have_tokudb.inc
+let $engine_type=TokuDB;
+--source suite/rpl/include/rpl_mixed_dml.inc
diff --git a/storage/tokudb/mysql-test/rpl/t/rpl_truncate_3tokudb.test b/storage/tokudb/mysql-test/rpl/t/rpl_truncate_3tokudb.test
new file mode 100644
index 00000000000..8c2cf7ca4ba
--- /dev/null
+++ b/storage/tokudb/mysql-test/rpl/t/rpl_truncate_3tokudb.test
@@ -0,0 +1,4 @@
+--source include/have_tokudb.inc
+--source include/not_ndb_default.inc
+let $engine=TokuDB;
+--source extra/rpl_tests/rpl_truncate.test
diff --git a/storage/tokudb/mysql-test/rpl/t/rpl_typeconv_tokudb.test b/storage/tokudb/mysql-test/rpl/t/rpl_typeconv_tokudb.test
new file mode 100644
index 00000000000..0f73e60f278
--- /dev/null
+++ b/storage/tokudb/mysql-test/rpl/t/rpl_typeconv_tokudb.test
@@ -0,0 +1,26 @@
+--source include/have_binlog_format_row.inc
+--source include/have_tokudb.inc
+--source include/master-slave.inc
+
+#
+# BUG#49618: Field length stored incorrectly in binary log for InnoDB
+#
+
+connection slave;
+SET @saved_slave_type_conversions = @@GLOBAL.SLAVE_TYPE_CONVERSIONS;
+SET GLOBAL SLAVE_TYPE_CONVERSIONS = '';
+
+connection master;
+CREATE TABLE t1(b1 BIT(1), b2 BIT(2), b3 BIT(3)) ENGINE=TokuDB;
+INSERT INTO t1 VALUES (b'0', b'01', b'101');
+sync_slave_with_master;
+
+let $diff_tables= master:t1, slave:t1;
+source include/diff_tables.inc;
+
+connection master;
+DROP TABLE t1;
+sync_slave_with_master;
+
+SET GLOBAL SLAVE_TYPE_CONVERSIONS = @saved_slave_type_conversions;
+--source include/rpl_end.inc
diff --git a/storage/tokudb/mysql-test/rpl/t/tokudb_innodb_xa_crash.test b/storage/tokudb/mysql-test/rpl/t/tokudb_innodb_xa_crash.test
index 07b117947a0..97818a597e2 100644
--- a/storage/tokudb/mysql-test/rpl/t/tokudb_innodb_xa_crash.test
+++ b/storage/tokudb/mysql-test/rpl/t/tokudb_innodb_xa_crash.test
@@ -1,6 +1,6 @@
+--source include/master-slave.inc
--source include/have_tokudb.inc
--source include/have_innodb.inc
---source include/master-slave.inc
eval CREATE TABLE t1(`a` INT) ENGINE=TokuDB;
eval CREATE TABLE t2(`a` INT) ENGINE=InnoDB;