summaryrefslogtreecommitdiff
path: root/mysql-test/extra
diff options
context:
space:
mode:
authorAlfranio Correia <alfranio.correia@sun.com>2009-11-11 16:35:58 +0000
committerAlfranio Correia <alfranio.correia@sun.com>2009-11-11 16:35:58 +0000
commita0e606cb82d37a18ce8f8cab5d64581ec2d2ee90 (patch)
tree1680d2b49207b5fe79ebf353be7c6f970dfbf33f /mysql-test/extra
parentada4ae340a8c1b84d264a97bac1b84f1ea03ff2e (diff)
downloadmariadb-git-a0e606cb82d37a18ce8f8cab5d64581ec2d2ee90.tar.gz
Post-fix after mysql-5.1-rep+2 --> mysql-5.1-rep+3.
Diffstat (limited to 'mysql-test/extra')
-rw-r--r--mysql-test/extra/binlog_tests/binlog_failure_mixing_engines.test300
-rw-r--r--mysql-test/extra/rpl_tests/rpl_mixing_engines.inc77
-rw-r--r--mysql-test/extra/rpl_tests/rpl_mixing_engines.test116
3 files changed, 178 insertions, 315 deletions
diff --git a/mysql-test/extra/binlog_tests/binlog_failure_mixing_engines.test b/mysql-test/extra/binlog_tests/binlog_failure_mixing_engines.test
deleted file mode 100644
index 54f3c538c79..00000000000
--- a/mysql-test/extra/binlog_tests/binlog_failure_mixing_engines.test
+++ /dev/null
@@ -1,300 +0,0 @@
-################################################################################
-# Let
-# - B be begin, C commit and R rollback.
-# - T a statement that accesses and changes only transactional tables, i.e.
-# T-tables
-# - N a statement that accesses and changes only non-transactional tables,
-# i.e, N-tables.
-# - M be a mixed statement, i.e. a statement that updates both T- and
-# N-tables.
-# - M* be a mixed statement that fails while updating either a T
-# or N-table.
-# - N* be a statement that fails while updating a N-table.
-#
-# In this test case, when changes are logged as rows either in the RBR or MIXED
-# modes, we check if a M* statement that happens early in a transaction is
-# written to the binary log outside the boundaries of the transaction and
-# wrapped up in a BEGIN/ROLLBACK. This is done to keep the slave consistent with
-# the master as the rollback will keep the changes on N-tables and undo them on
-# T-tables. In particular, we expect the following behavior:
-#
-# 1. B M* T C would generate in the binlog B M* R B T C.
-# 2. B M M* C would generate in the binlog B M M* C.
-# 3. B M* M* T C would generate in the binlog B M* R B M* R B T C.
-#
-# SBR is not considered in this test because a failing statement is written to
-# the binary along with the error code such that a slave executes and rolls it
-# back, thus undoing the effects on T-tables.
-#
-# Note that, in the first case, we are not preserving history from the master as
-# we are introducing a rollback that never happened. However, this seems to be
-# more acceptable than making the slave diverge. In the second case, the slave
-# will diverge as the changes on T-tables that originated from the M statement
-# are rolled back on the master but not on the slave. Unfortunately, we cannot
-# simply roll the transaction back as this would undo any uncommitted changes
-# on T-tables.
-#
-# We check two more cases. First, INSERT...SELECT* which produces the following
-# results:
-#
-# 1. B T INSERT M...SELECT* C" with an error in INSERT M...SELECT* generates in
-# the binlog the following entries: "Nothing".
-# 2. B INSERT M...SELECT* C" with an error in INSERT M...SELECT* generates in
-# the binlog the following entries: B INSERT M...SELECT* R.
-#
-# Finally, we also check if any N statement that happens early in a transaction
-# (i.e. before any T or M statement) is written to the binary log outside the
-# boundaries of the transaction. In particular, we expect the following
-# behavior:
-#
-# 1. B N N T C would generate in the binlog B N C B N C B T C.
-# 2. B N N T R would generate in the binlog B N C B N C B T R.
-# 3. B N* N* T C would generate in the binlog B N R B N R B T C.
-# 4. B N* N* T R would generate in the binlog B N R B N R B T R.
-# 5. B N N T N T C would generate in the binlog B N C B N C B T N T C.
-# 6. B N N T N T R would generate in the binlog the B N C B N C B T N T R.
-#
-# Such issues do not happen in SBR. In RBR and MBR, a full-fledged fix will be
-# pushed after the WL#2687.
-#
-# Please, remove this test case after pushing WL#2687.
-################################################################################
-
-
---echo ###################################################################################
---echo # CONFIGURATION
---echo ###################################################################################
-CREATE TABLE nt_1 (a text, b int PRIMARY KEY) ENGINE = MyISAM;
-CREATE TABLE nt_2 (a text, b int PRIMARY KEY) ENGINE = MyISAM;
-CREATE TABLE tt_1 (a text, b int PRIMARY KEY) ENGINE = Innodb;
-CREATE TABLE tt_2 (a text, b int PRIMARY KEY) ENGINE = Innodb;
-
-DELIMITER |;
-
-CREATE TRIGGER tr_i_tt_1_to_nt_1 BEFORE INSERT ON tt_1 FOR EACH ROW
-BEGIN
- INSERT INTO nt_1 VALUES (NEW.a, NEW.b);
-END|
-
-CREATE TRIGGER tr_i_nt_2_to_tt_2 BEFORE INSERT ON nt_2 FOR EACH ROW
-BEGIN
- INSERT INTO tt_2 VALUES (NEW.a, NEW.b);
-END|
-
-DELIMITER ;|
-
---echo ###################################################################################
---echo # CHECK HISTORY IN BINLOG
---echo ###################################################################################
---echo
---echo
---echo
---echo *** "B M* T C" with error in M* generates in the binlog the "B M* R B T C" entries
---echo
-let $binlog_start= query_get_value("SHOW MASTER STATUS", Position, 1);
-INSERT INTO nt_1 VALUES ("new text 1", 1);
-BEGIN;
---error ER_DUP_ENTRY
-INSERT INTO tt_1 VALUES (USER(), 2), (USER(), 1);
-INSERT INTO tt_2 VALUES ("new text 3", 3);
-COMMIT;
---source include/show_binlog_events.inc
-
---echo
-let $binlog_start= query_get_value("SHOW MASTER STATUS", Position, 1);
-INSERT INTO tt_2 VALUES ("new text 4", 4);
-BEGIN;
---error ER_DUP_ENTRY
-INSERT INTO nt_2 VALUES (USER(), 5), (USER(), 4);
-INSERT INTO tt_2 VALUES ("new text 6", 6);
-COMMIT;
---source include/show_binlog_events.inc
-
---echo
---echo
---echo
---echo *** "B M M* T C" with error in M* generates in the binlog the "B M M* T C" entries
---echo
-let $binlog_start= query_get_value("SHOW MASTER STATUS", Position, 1);
-INSERT INTO nt_1 VALUES ("new text 10", 10);
-BEGIN;
-INSERT INTO tt_1 VALUES ("new text 7", 7), ("new text 8", 8);
---error ER_DUP_ENTRY
-INSERT INTO tt_1 VALUES (USER(), 9), (USER(), 10);
-INSERT INTO tt_2 VALUES ("new text 11", 11);
-COMMIT;
---source include/show_binlog_events.inc
-
---echo
-let $binlog_start= query_get_value("SHOW MASTER STATUS", Position, 1);
-INSERT INTO tt_2 VALUES ("new text 15", 15);
-BEGIN;
-INSERT INTO nt_2 VALUES ("new text 12", 12), ("new text 13", 13);
---error ER_DUP_ENTRY
-INSERT INTO nt_2 VALUES (USER(), 14), (USER(), 15);
-INSERT INTO tt_2 VALUES ("new text 16", 16);
-COMMIT;
---source include/show_binlog_events.inc
-
-
---echo
---echo
---echo
---echo *** "B M* M* T C" with error in M* generates in the binlog the "B M* R B M* R B T C" entries
---echo
-let $binlog_start= query_get_value("SHOW MASTER STATUS", Position, 1);
-INSERT INTO nt_1 VALUES ("new text 18", 18);
-INSERT INTO nt_1 VALUES ("new text 20", 20);
-BEGIN;
---error ER_DUP_ENTRY
-INSERT INTO tt_1 VALUES (USER(), 17), (USER(), 18);
---error ER_DUP_ENTRY
-INSERT INTO tt_1 VALUES (USER(), 19), (USER(), 20);
-INSERT INTO tt_2 VALUES ("new text 21", 21);
-COMMIT;
---source include/show_binlog_events.inc
-
---echo
-let $binlog_start= query_get_value("SHOW MASTER STATUS", Position, 1);
-INSERT INTO tt_2 VALUES ("new text 23", 23);
-INSERT INTO tt_2 VALUES ("new text 25", 25);
-BEGIN;
---error ER_DUP_ENTRY
-INSERT INTO nt_2 VALUES (USER(), 22), (USER(), 23);
---error ER_DUP_ENTRY
-INSERT INTO nt_2 VALUES (USER(), 24), (USER(), 25);
-INSERT INTO tt_2 VALUES ("new text 26", 26);
-COMMIT;
---source include/show_binlog_events.inc
-
---echo
---echo
---echo
---echo *** "B T INSERT M...SELECT* C" with an error in INSERT M...SELECT* generates
---echo *** in the binlog the following entries: "Nothing".
---echo *** There is a bug in that will be fixed after WL#2687. Please, check BUG#47175 for further details.
---echo
-let $binlog_start= query_get_value("SHOW MASTER STATUS", Position, 1);
-TRUNCATE TABLE nt_2;
-TRUNCATE TABLE tt_2;
-INSERT INTO tt_2 VALUES ("new text 7", 7);
-BEGIN;
-INSERT INTO tt_2 VALUES ("new text 27", 27);
---error ER_DUP_ENTRY
-INSERT INTO nt_2(a, b) SELECT USER(), b FROM nt_1;
-INSERT INTO tt_2 VALUES ("new text 28", 28);
-ROLLBACK;
---source include/show_binlog_events.inc
-
---echo
---echo
---echo
---echo *** "B INSERT M..SELECT* C" with an error in INSERT M...SELECT* generates
---echo *** in the binlog the following entries: "B INSERT M..SELECT* R".
---echo
-let $binlog_start= query_get_value("SHOW MASTER STATUS", Position, 1);
-TRUNCATE TABLE nt_2;
-TRUNCATE TABLE tt_2;
-INSERT INTO tt_2 VALUES ("new text 7", 7);
-BEGIN;
---error ER_DUP_ENTRY
-INSERT INTO nt_2(a, b) SELECT USER(), b FROM nt_1;
-COMMIT;
---source include/show_binlog_events.inc
-
---echo
---echo
---echo
---echo *** "B N N T C" generates in the binlog the "B N C B N C B T C" entries
---echo
-let $binlog_start= query_get_value("SHOW MASTER STATUS", Position, 1);
-TRUNCATE TABLE nt_1;
-TRUNCATE TABLE tt_2;
-BEGIN;
-INSERT INTO nt_1 VALUES (USER(), 1);
-INSERT INTO nt_1 VALUES (USER(), 2);
-INSERT INTO tt_2 VALUES (USER(), 3);
-COMMIT;
---source include/show_binlog_events.inc
-
---echo
---echo
---echo
---echo *** "B N N T R" generates in the binlog the "B N C B N C B T R" entries
---echo
-let $binlog_start= query_get_value("SHOW MASTER STATUS", Position, 1);
-BEGIN;
-INSERT INTO nt_1 VALUES (USER(), 4);
-INSERT INTO nt_1 VALUES (USER(), 5);
-INSERT INTO tt_2 VALUES (USER(), 6);
-ROLLBACK;
---source include/show_binlog_events.inc
-
---echo
---echo
---echo
---echo *** "B N* N* T C" with error in N* generates in the binlog the "B N R B N R B T C" entries
---echo
-let $binlog_start= query_get_value("SHOW MASTER STATUS", Position, 1);
-BEGIN;
---error ER_DUP_ENTRY
-INSERT INTO nt_1 VALUES (USER(), 7), (USER(), 1);
---error ER_DUP_ENTRY
-INSERT INTO nt_1 VALUES (USER(), 8), (USER(), 1);
-INSERT INTO tt_2 VALUES (USER(), 9);
-COMMIT;
---source include/show_binlog_events.inc
-
---echo
---echo
---echo
---echo *** "B N* N* T R" with error in N* generates in the binlog the "B N R B N R B T R" entries
---echo
-let $binlog_start= query_get_value("SHOW MASTER STATUS", Position, 1);
-BEGIN;
---error ER_DUP_ENTRY
-INSERT INTO nt_1 VALUES (USER(), 10), (USER(), 1);
---error ER_DUP_ENTRY
-INSERT INTO nt_1 VALUES (USER(), 11), (USER(), 1);
-INSERT INTO tt_2 VALUES (USER(), 12);
-ROLLBACK;
---source include/show_binlog_events.inc
-
---echo
---echo
---echo
---echo *** "B N N T N T C" generates in the binlog the "B N C B N C B T N T C" entries
---echo
-let $binlog_start= query_get_value("SHOW MASTER STATUS", Position, 1);
-BEGIN;
-INSERT INTO nt_1 VALUES (USER(), 13);
-INSERT INTO nt_1 VALUES (USER(), 14);
-INSERT INTO tt_2 VALUES (USER(), 15);
-INSERT INTO nt_1 VALUES (USER(), 16);
-INSERT INTO tt_2 VALUES (USER(), 17);
-COMMIT;
---source include/show_binlog_events.inc
-
---echo
---echo
---echo
---echo *** "B N N T N T R" generates in the binlog the "B N C B N C B T N T R" entries
---echo
-let $binlog_start= query_get_value("SHOW MASTER STATUS", Position, 1);
-BEGIN;
-INSERT INTO nt_1 VALUES (USER(), 18);
-INSERT INTO nt_1 VALUES (USER(), 19);
-INSERT INTO tt_2 VALUES (USER(), 20);
-INSERT INTO nt_1 VALUES (USER(), 21);
-INSERT INTO tt_2 VALUES (USER(), 22);
-ROLLBACK;
---source include/show_binlog_events.inc
-
---echo ###################################################################################
---echo # CLEAN
---echo ###################################################################################
-
-DROP TABLE tt_1;
-DROP TABLE tt_2;
-DROP TABLE nt_1;
-DROP TABLE nt_2;
diff --git a/mysql-test/extra/rpl_tests/rpl_mixing_engines.inc b/mysql-test/extra/rpl_tests/rpl_mixing_engines.inc
index 68e67208f4a..0aead91e03d 100644
--- a/mysql-test/extra/rpl_tests/rpl_mixing_engines.inc
+++ b/mysql-test/extra/rpl_tests/rpl_mixing_engines.inc
@@ -138,6 +138,7 @@ if (`SELECT HEX(@commands) = HEX('configure')`)
let $pos_trans_command= query_get_value("SHOW MASTER STATUS", Position, 1);
let $trans_id= 7;
+ let $tb_id= 1;
let $stmt_id= 1;
let $commands= '';
@@ -172,7 +173,7 @@ if (`SELECT HEX(@commands) = HEX('clean')`)
SET @commands= '';
}
-if (`SELECT HEX(@commands) != HEX('')`)
+while (`SELECT HEX(@commands) != HEX('')`)
{
--disable_query_log
SET @command= SUBSTRING_INDEX(@commands, ' ', 1);
@@ -413,54 +414,104 @@ if (`SELECT HEX(@commands) != HEX('')`)
}
if (`SELECT HEX(@command) = HEX('CS-T->T')`)
{
- --eval CREATE TABLE tt_xx_$trans_id engine=$engine_type SELECT * FROM tt_1;
+ --eval CREATE TABLE tt_xx_$tb_id (PRIMARY KEY(trans_id, stmt_id)) engine=$engine_type SELECT * FROM tt_1;
}
if (`SELECT HEX(@command) = HEX('CS-N->N')`)
{
- --eval CREATE TABLE nt_xx_$trans_id engine=MyIsam SELECT * FROM nt_1;
+ --eval CREATE TABLE nt_xx_$tb_id (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM nt_1;
}
if (`SELECT HEX(@command) = HEX('CS-T->N')`)
{
- --eval CREATE TABLE tt_xx_$trans_id engine=$engine_type SELECT * FROM nt_1;
+ --eval CREATE TABLE tt_xx_$tb_id (PRIMARY KEY(trans_id, stmt_id)) engine=$engine_type SELECT * FROM nt_1;
}
if (`SELECT HEX(@command) = HEX('CS-N->T')`)
{
- --eval CREATE TABLE nt_xx_$trans_id engine=MyIsam SELECT * FROM tt_1;
+ --eval CREATE TABLE nt_xx_$tb_id (PRIMARY KEY(trans_id, stmt_id)) engine=MyIsam SELECT * FROM tt_1;
}
if (`SELECT HEX(@command) = HEX('CSe-T->T')`)
{
--error ER_DUP_ENTRY, ER_DUP_KEY
- --eval CREATE TABLE tt_xx_$trans_id (PRIMARY KEY (stmt_id)) engine=$engine_type SELECT stmt_id FROM tt_1;
+ --eval CREATE TABLE tt_xx_$tb_id (PRIMARY KEY (stmt_id)) engine=$engine_type SELECT stmt_id FROM tt_1;
}
if (`SELECT HEX(@command) = HEX('CSe-N->N')`)
{
--error ER_DUP_ENTRY, ER_DUP_KEY
- --eval CREATE TABLE nt_xx_$trans_id (PRIMARY KEY (stmt_id)) engine=MyIsam SELECT stmt_id FROM nt_1;
+ --eval CREATE TABLE nt_xx_$tb_id (PRIMARY KEY (stmt_id)) engine=MyIsam SELECT stmt_id FROM nt_1;
}
if (`SELECT HEX(@command) = HEX('CSe-T->N')`)
{
--error ER_DUP_ENTRY, ER_DUP_KEY
- --eval CREATE TABLE tt_xx_$trans_id (PRIMARY KEY (stmt_id)) engine=$engine_type SELECT stmt_id FROM nt_1;
+ --eval CREATE TABLE tt_xx_$tb_id (PRIMARY KEY (stmt_id)) engine=$engine_type SELECT stmt_id FROM nt_1;
}
if (`SELECT HEX(@command) = HEX('CSe-N->T')`)
{
--error ER_DUP_ENTRY, ER_DUP_KEY
- --eval CREATE TABLE nt_xx_$trans_id (PRIMARY KEY (stmt_id)) engine=MyIsam SELECT stmt_id FROM tt_1;
+ --eval CREATE TABLE nt_xx_$tb_id (PRIMARY KEY (stmt_id)) engine=MyIsam SELECT stmt_id FROM tt_1;
}
if (`SELECT HEX(@command) = HEX('CT')`)
{
- --eval CREATE TEMPORARY TABLE tt_xx_$trans_id (a int) engine=$engine_type;
+ --eval CREATE TEMPORARY TABLE tt_xx_$tb_id (a int) engine=$engine_type;
+ }
+ if (`SELECT HEX(@command) = HEX('IS-T<-N')`)
+ {
+ --eval INSERT INTO tt_xx_$tb_id(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM nt_1;
+ }
+ if (`SELECT HEX(@command) = HEX('ISe-T<-N')`)
+ {
+ --error ER_DUP_ENTRY, ER_DUP_KEY
+ --eval INSERT INTO tt_xx_$tb_id(trans_id, stmt_id, info) SELECT trans_id, trans_id, USER() FROM nt_1;
+ }
+ if (`SELECT HEX(@command) = HEX('IS-N<-T')`)
+ {
+ --eval INSERT INTO nt_xx_$tb_id(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM tt_1;
+ }
+ if (`SELECT HEX(@command) = HEX('ISe-N<-T')`)
+ {
+ --error ER_DUP_ENTRY, ER_DUP_KEY
+ --eval INSERT INTO nt_xx_$tb_id(trans_id, stmt_id, info) SELECT trans_id, trans_id, USER() FROM tt_1;
+ }
+ if (`SELECT HEX(@command) = HEX('IS-T<-T')`)
+ {
+ --eval INSERT INTO tt_xx_$tb_id(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM tt_1;
+ }
+ if (`SELECT HEX(@command) = HEX('ISe-T<-T')`)
+ {
+ --error ER_DUP_ENTRY, ER_DUP_KEY
+ --eval INSERT INTO tt_xx_$tb_id(trans_id, stmt_id, info) SELECT trans_id, trans_id, USER() FROM tt_1;
+ }
+ if (`SELECT HEX(@command) = HEX('IS-N<-N')`)
+ {
+ --eval INSERT INTO nt_xx_$tb_id(trans_id, stmt_id, info) SELECT trans_id, stmt_id, USER() FROM nt_1;
+ }
+ if (`SELECT HEX(@command) = HEX('ISe-N<-N')`)
+ {
+ --error ER_DUP_ENTRY, ER_DUP_KEY
+ --eval INSERT INTO nt_xx_$tb_id(trans_id, stmt_id, info) SELECT trans_id, trans_id, USER() FROM nt_1;
+ }
+ if (`SELECT HEX(@command) = HEX('trunc-CS-T')`)
+ {
+ eval TRUNCATE TABLE tt_xx_$tb_id;
+ }
+ if (`SELECT HEX(@command) = HEX('trunc-CS-N')`)
+ {
+ eval TRUNCATE TABLE nt_xx_$tb_id;
+ }
+ if (`SELECT HEX(@command) = HEX('trunc-CT')`)
+ {
+ eval TRUNCATE TABLE tt_xx_$tb_id;
}
if (`SELECT HEX(@command) = HEX('drop-CS')`)
{
--disable_warnings
- eval DROP TABLE IF EXISTS tt_xx_$trans_id, nt_xx_$trans_id;
+ eval DROP TABLE IF EXISTS tt_xx_$tb_id, nt_xx_$tb_id;
+ inc $tb_id;
--enable_warnings
}
if (`SELECT HEX(@command) = HEX('drop-CT')`)
{
--disable_warnings
- eval DROP TEMPORARY TABLE IF EXISTS tt_xx_$trans_id;
+ eval DROP TEMPORARY TABLE IF EXISTS tt_xx_$tb_id;
+ inc $tb_id;
--enable_warnings
}
if (`SELECT HEX(@command) = HEX('C')`)
@@ -498,6 +549,4 @@ if (`SELECT HEX(@commands) != HEX('')`)
inc $trans_id;
let $commands= '';
}
-
- --source extra/rpl_tests/rpl_mixing_engines.inc
}
diff --git a/mysql-test/extra/rpl_tests/rpl_mixing_engines.test b/mysql-test/extra/rpl_tests/rpl_mixing_engines.test
index ea36a241664..b8b2b1bc01b 100644
--- a/mysql-test/extra/rpl_tests/rpl_mixing_engines.test
+++ b/mysql-test/extra/rpl_tests/rpl_mixing_engines.test
@@ -214,9 +214,26 @@
# CSe-T->N - Fails while creating a T-table selecting from a a N-table.
# CSe-N->T - Fails while creating a N-table selecting from a T-table.
# drop-CS - Drops any of the tables previously created.
+# trunc-CS-T - Truncates a T-table previously created.
+# trunc-CS-N - Truncates a N-table previously created.
# CT - Creates a temporary T-table.
# drop-CT - Drops a temporary T-table.
#
+# - This is INSERT...SELECT:
+# IS-T<-T - Inserts data from a T-table into a T-table.
+# IS-T<-N - Inserts data from a N-table into a T-table.
+# IS-N<-T - Inserts data from a T-table into a N-table.
+# IS-N<-N - Inserts data from a N-table into a N-table.
+# ISe-T<-T - Fails while inserting data from a T-table into a T-table.
+# ISe-T<-N - Fails while inserting data from a N-table into a T-table.
+# ISe-N<-T - Fails while inserting data from a T-table into a N-table.
+# ISe-N<-N - Fails while inserting data from a N-table into a N-table.
+#
+# For the CREATE...SELECT and INSERT...SELECT, the table names are defined based
+# on the variable $tb_id which is automatically incremented after each drop.
+# This indirectly means that two tables cannot co-exist unless we manually keep
+# the variable $tb_id.
+#
# The format of the entries in the binlog depends on the mode and on the type
# statements: S - statement and R - row. And when it is clear from the context
# which statement is referred to, we sometimes use "M" to denote a "Mixed"
@@ -1624,27 +1641,124 @@ SET @commands= 'CSe-N->T CS-N->T drop-CS';
SET @commands= 'CSe-N->T CS-N->T drop-CS';
--source extra/rpl_tests/rpl_mixing_engines.inc
+
+--echo ###################################################################################
+--echo # 4 - INSERT TABLE...SELECT
+--echo ###################################################################################
+
+SET @commands= 'CS-T->T';
+--source extra/rpl_tests/rpl_mixing_engines.inc
+
+SET @commands= 'trunc-CS-T B T IS-T<-N T C';
+--source extra/rpl_tests/rpl_mixing_engines.inc
+
+SET @commands= 'trunc-CS-T B T ISe-T<-N T C';
+--source extra/rpl_tests/rpl_mixing_engines.inc
+
+SET @commands= 'trunc-CS-T B IS-T<-N T C';
+--source extra/rpl_tests/rpl_mixing_engines.inc
+
+SET @commands= 'trunc-CS-T B ISe-T<-N T C';
+--source extra/rpl_tests/rpl_mixing_engines.inc
+
+SET @commands= 'drop-CS';
+--source extra/rpl_tests/rpl_mixing_engines.inc
+
+SET @commands= 'CS-T->T';
+--source extra/rpl_tests/rpl_mixing_engines.inc
+
+SET @commands= 'trunc-CS-T B T IS-T<-T T C';
+--source extra/rpl_tests/rpl_mixing_engines.inc
+
+SET @commands= 'trunc-CS-T B T ISe-T<-T T C';
+--source extra/rpl_tests/rpl_mixing_engines.inc
+
+SET @commands= 'trunc-CS-T B IS-T<-T T C';
+--source extra/rpl_tests/rpl_mixing_engines.inc
+
+SET @commands= 'trunc-CS-T B ISe-T<-T T C';
+--source extra/rpl_tests/rpl_mixing_engines.inc
+
+SET @commands= 'drop-CS';
+--source extra/rpl_tests/rpl_mixing_engines.inc
+
+SET @commands= 'CS-N->N';
+--source extra/rpl_tests/rpl_mixing_engines.inc
+
+SET @commands= 'trunc-CS-N B T IS-N<-T T C';
+--source extra/rpl_tests/rpl_mixing_engines.inc
+
+SET @commands= 'trunc-CS-N B T ISe-N<-T T C';
+--source extra/rpl_tests/rpl_mixing_engines.inc
+
+SET @commands= 'trunc-CS-N B IS-N<-T T C';
+--source extra/rpl_tests/rpl_mixing_engines.inc
+
+SET @commands= 'trunc-CS-N B ISe-N<-T T C';
+--source extra/rpl_tests/rpl_mixing_engines.inc
+
+SET @commands= 'drop-CS';
+--source extra/rpl_tests/rpl_mixing_engines.inc
+
+SET @commands= 'CS-N->N';
+--source extra/rpl_tests/rpl_mixing_engines.inc
+
+SET @commands= 'trunc-CS-N B T IS-N<-N T C';
+--source extra/rpl_tests/rpl_mixing_engines.inc
+
+SET @commands= 'trunc-CS-N B T ISe-N<-N T C';
+--source extra/rpl_tests/rpl_mixing_engines.inc
+
+SET @commands= 'trunc-CS-N B IS-N<-N T C';
+--source extra/rpl_tests/rpl_mixing_engines.inc
+
+SET @commands= 'trunc-CS-N B ISe-N<-N T C';
+--source extra/rpl_tests/rpl_mixing_engines.inc
+
+SET @commands= 'drop-CS';
+--source extra/rpl_tests/rpl_mixing_engines.inc
+
+
--echo ###################################################################################
---echo # 4 - ROLLBACK TEMPORARY TABLE
+--echo # 5 - ROLLBACK TEMPORARY TABLE
--echo ###################################################################################
SET @commands= 'B T CT R';
--source extra/rpl_tests/rpl_mixing_engines.inc
+SET @commands= 'drop-CT';
+--source extra/rpl_tests/rpl_mixing_engines.inc
+
SET @commands= 'B T S1 T CT R1 R';
--source extra/rpl_tests/rpl_mixing_engines.inc
+SET @commands= 'drop-CT';
+--source extra/rpl_tests/rpl_mixing_engines.inc
+
SET @commands= 'B T CT T R';
--source extra/rpl_tests/rpl_mixing_engines.inc
+SET @commands= 'drop-CT';
+--source extra/rpl_tests/rpl_mixing_engines.inc
+
SET @commands= 'B tN CT T R';
--source extra/rpl_tests/rpl_mixing_engines.inc
+SET @commands= 'drop-CT';
+--source extra/rpl_tests/rpl_mixing_engines.inc
+
SET @commands= 'B CT T R';
--source extra/rpl_tests/rpl_mixing_engines.inc
+SET @commands= 'drop-CT';
+--source extra/rpl_tests/rpl_mixing_engines.inc
+
SET @commands= 'B N CT T R';
--source extra/rpl_tests/rpl_mixing_engines.inc
+SET @commands= 'drop-CT';
+--source extra/rpl_tests/rpl_mixing_engines.inc
+
+
--echo ###################################################################################
--echo # CHECK CONSISTENCY
--echo ###################################################################################