diff options
Diffstat (limited to 'mysql-test/extra/rpl_tests/rpl_ndb_apply_status.test')
-rw-r--r-- | mysql-test/extra/rpl_tests/rpl_ndb_apply_status.test | 307 |
1 files changed, 0 insertions, 307 deletions
diff --git a/mysql-test/extra/rpl_tests/rpl_ndb_apply_status.test b/mysql-test/extra/rpl_tests/rpl_ndb_apply_status.test deleted file mode 100644 index bba860ab9aa..00000000000 --- a/mysql-test/extra/rpl_tests/rpl_ndb_apply_status.test +++ /dev/null @@ -1,307 +0,0 @@ -############################################# -#Authors: TU and Jeb -#Date: 2007/04 -#Purpose: Generic replication to cluster -# and ensuring that the ndb_apply_status -# table is updated. -############################################# -# Notes: -# include/select_ndb_apply_status.inc -# Selects out the log name, start & end pos -# from the ndb_apply_status table -# -# include/show_binlog_using_logname.inc -# To select out 1 row from offset 1 -# from the start position in the binlog whose -# name is = log_name -# -# include/tpcb.inc -# Creates DATABASE tpcb, the tables and -# stored procedures for loading the DB -# and for running transactions against DB. -############################################## - - ---echo ---echo *** Test 1 *** ---echo - -connection master; -create table t1 (a int key, b int) engine innodb; -create table t2 (a int key, b int) engine innodb; - ---echo - ---sync_slave_with_master -alter table t1 engine ndb; -alter table t2 engine ndb; - ---echo - -# check binlog position without begin -connection master; -insert into t1 values (1,2); - ---echo - ---sync_slave_with_master ---source include/select_ndb_apply_status.inc - ---echo - -connection master; ---echo # Now check that that is in the apply_status table is consistant ---echo # with what is in the binlog ---echo ---echo # since insert is done with transactional engine, expect a BEGIN ---echo # at <start_pos> ---echo ---let $binlog_start= $start_pos ---let $binlog_limit= 1 ---source include/show_binlog_events.inc - ---echo ---echo # Now the insert, one step after ---echo ---let $binlog_start= $start_pos ---let $binlog_limit= 1,1 ---source include/show_binlog_events.inc - ---echo ---echo # and the COMMIT should be at <end_pos> ---echo ---let $binlog_start= $start_pos ---let $binlog_limit= 2,1 ---source include/show_binlog_events.inc - ---echo - -# check binlog position with begin -begin; -insert into t1 values (2,3); -insert into t2 values (3,4); -commit; - ---echo - ---sync_slave_with_master ---source include/select_ndb_apply_status.inc - -connection master; ---let $binlog_start= $start_pos ---let $binlog_limit= 1 ---source include/show_binlog_events.inc ---echo ---let $binlog_start= $start_pos ---let $binlog_limit= 1,2 ---source include/show_binlog_events.inc ---echo ---let $binlog_start= $start_pos ---let $binlog_limit= 3,1 ---source include/show_binlog_events.inc - ---echo - -connection master; -DROP TABLE test.t1, test.t2; ---sync_slave_with_master -SHOW TABLES; - -# Run in some transactions using stored procedures -# and ensure that the ndb_apply_status table is -# updated to show the transactions - - ---echo ---echo *** Test 2 *** ---echo - -# Create database/tables and stored procdures -connection master; ---source include/tpcb.inc - -# Switch tables on slave to use NDB ---sync_slave_with_master -USE tpcb; -ALTER TABLE account ENGINE NDB; -ALTER TABLE branch ENGINE NDB; -ALTER TABLE teller ENGINE NDB; -ALTER TABLE history ENGINE NDB; - ---echo - -# Load DB tpcb and run some transactions -connection master; ---disable_query_log -CALL tpcb.load(); -SET AUTOCOMMIT=0; -let $run= 5; -while ($run) -{ - START TRANSACTION; - --disable_warnings - --eval CALL tpcb.trans($rpl_format); - --enable_warnings - eval SET @my_errno= $mysql_errno; - let $run_good= `SELECT @my_errno = 0`; - let $run_bad= `SELECT @my_errno <> 0`; - if ($run_good) - { - COMMIT; - } - if ($run_bad) - { - ROLLBACK; - } - dec $run; -} - -SET AUTOCOMMIT=1; ---enable_query_log - ---sync_slave_with_master ---source include/select_ndb_apply_status.inc - ---echo - -connection master; ---source include/show_binlog_using_logname.inc - -# Flush the logs on the master moving all -# Transaction to a new binlog and ensure -# that the ndb_apply_status table is updated -# to show the use of the new binlog. - ---echo ---echo ** Test 3 ** ---echo - -# Flush logs on master which should force it -# to switch to binlog #2 - -FLUSH LOGS; - -# Run in some transaction to increase end pos in -# binlog - ---disable_query_log -SET AUTOCOMMIT=0; -let $run= 5; -while ($run) -{ - START TRANSACTION; - --disable_warnings - --eval CALL tpcb.trans($rpl_format); - --enable_warnings - eval SET @my_errno= $mysql_errno; - let $run_good= `SELECT @my_errno = 0`; - let $run_bad= `SELECT @my_errno <> 0`; - if ($run_good) - { - COMMIT; - } - if ($run_bad) - { - ROLLBACK; - } - dec $run; -} -SET AUTOCOMMIT=1; ---enable_query_log - ---echo - ---sync_slave_with_master ---source include/select_ndb_apply_status.inc - ---echo - -connection master; ---source include/show_binlog_using_logname.inc - -# Now we reset both the master and the slave -# Run some more transaction and ensure -# that the ndb_apply_status is updated -# correctly - ---echo ---echo ** Test 4 ** ---echo - -# Reset both slave and master -# This should reset binlog to #1 ---source include/rpl_reset.inc - ---echo - -# Run in some transactions and check -connection master; ---disable_query_log -SET AUTOCOMMIT=0; -let $run= 5; -while ($run) -{ - START TRANSACTION; - --disable_warnings - --eval CALL tpcb.trans($rpl_format); - --enable_warnings - eval SET @my_errno= $mysql_errno; - let $run_good= `SELECT @my_errno = 0`; - let $run_bad= `SELECT @my_errno <> 0`; - if ($run_good) - { - COMMIT; - } - if ($run_bad) - { - ROLLBACK; - } - dec $run; -} -SET AUTOCOMMIT=1; ---enable_query_log - ---sync_slave_with_master ---source include/select_ndb_apply_status.inc - ---echo - -connection master; ---source include/show_binlog_using_logname.inc - -# Since we are doing replication, it is a good -# idea to check to make sure all data was -# Replicated correctly - ---echo ---echo *** DUMP MASTER & SLAVE FOR COMPARE ******** - ---exec $MYSQL_DUMP -n -t --compact --order-by-primary --skip-extended-insert tpcb account teller branch history > $MYSQLTEST_VARDIR/tmp/master_apply_status.sql - ---exec $MYSQL_DUMP_SLAVE -n -t --compact --order-by-primary --skip-extended-insert tpcb account teller branch history > $MYSQLTEST_VARDIR/tmp/slave_apply_status.sql - -connection master; -DROP DATABASE tpcb; - ---sync_slave_with_master - -####### Commenting out until decision on Bug#27960 ########### - -#--source include/select_ndb_apply_status.inc - -#connection master; -#--eval SHOW BINLOG EVENTS in '$log_name' from $start_pos -#--source include/show_binlog_using_logname.inc - ---echo ****** Do dumps compare ************ - - -diff_files $MYSQLTEST_VARDIR/tmp/master_apply_status.sql $MYSQLTEST_VARDIR/tmp/slave_apply_status.sql; - -## Note: Ths files should only get removed, if the above diff succeeds. - ---exec rm $MYSQLTEST_VARDIR/tmp/master_apply_status.sql ---exec rm $MYSQLTEST_VARDIR/tmp/slave_apply_status.sql - - -# End of 5.1 Test |