# The server need to be started in $MYSQLTEST_VARDIR since it # uses ../../std_data/ --source include/uses_vardir.inc # Save the initial number of concurrent sessions --source include/count_sessions.inc # # This test is a bit tricky as we can't use backup table to overwrite an old # table # connect (con1,localhost,root,,); connect (con2,localhost,root,,); connection con1; set SQL_LOG_BIN=0; --disable_warnings drop table if exists t1, t2, t3, t4; --enable_warnings create table t4(n int); --replace_result ": 1" ": X" ": 2" ": X" ": 22" ": X" ": 23" ": X" $MYSQLTEST_VARDIR MYSQLTEST_VARDIR backup table t4 to '../../bogus'; backup table t4 to '../../tmp'; --replace_result ": 7" ": X" ": 17" ": X" $MYSQLTEST_VARDIR MYSQLTEST_VARDIR backup table t4 to '../../tmp'; drop table t4; restore table t4 from '../../tmp'; select count(*) from t4; create table t1(n int); insert into t1 values (23),(45),(67); backup table t1 to '../../tmp'; drop table t1; --replace_result ": 1" ": X" ": 2" ": X" ": 22" ": X" ": 23" ": X" $MYSQLTEST_VARDIR MYSQLTEST_VARDIR restore table t1 from '../../bogus'; restore table t1 from '../../tmp'; select n from t1; create table t2(m int not null primary key); create table t3(k int not null primary key); insert into t2 values (123),(145),(167); insert into t3 values (223),(245),(267); backup table t2,t3 to '../../tmp'; drop table t1,t2,t3; restore table t1,t2,t3 from '../../tmp'; select n from t1; select m from t2; select k from t3; drop table t1,t2,t3,t4; restore table t1 from '../../tmp'; connection con2; rename table t1 to t5; --send lock tables t5 write; connection con1; --send backup table t5 to '../../tmp'; connection con2; reap; unlock tables; connection con1; reap; drop table t5; connection default; disconnect con1; disconnect con2; remove_file $MYSQLTEST_VARDIR/tmp/t1.MYD; remove_file $MYSQLTEST_VARDIR/tmp/t2.MYD; remove_file $MYSQLTEST_VARDIR/tmp/t3.MYD; remove_file $MYSQLTEST_VARDIR/tmp/t4.MYD; remove_file $MYSQLTEST_VARDIR/tmp/t5.MYD; remove_file $MYSQLTEST_VARDIR/tmp/t1.frm; remove_file $MYSQLTEST_VARDIR/tmp/t2.frm; remove_file $MYSQLTEST_VARDIR/tmp/t3.frm; remove_file $MYSQLTEST_VARDIR/tmp/t4.frm; remove_file $MYSQLTEST_VARDIR/tmp/t5.frm; # End of 4.1 tests # End of 5.0 tests # # Bug#18775 - Temporary table from alter table visible to other threads # # Backup did not encode table names. --disable_warnings DROP TABLE IF EXISTS `t+1`; --enable_warnings CREATE TABLE `t+1` (c1 INT); INSERT INTO `t+1` VALUES (1), (2), (3); BACKUP TABLE `t+1` TO '../../tmp'; DROP TABLE `t+1`; # # Same for restore. RESTORE TABLE `t+1` FROM '../../tmp'; SELECT * FROM `t+1`; DROP TABLE `t+1`; # remove_file $MYSQLTEST_VARDIR/tmp/t@002b1.frm; remove_file $MYSQLTEST_VARDIR/tmp/t@002b1.MYD; # Wait till all disconnects are completed --source include/wait_until_count_sessions.inc