# # Test backup error on pipe output. BUG#39056. # --source include/have_innodb.inc --source include/not_embedded.inc --source include/not_windows.inc connect (con1,localhost,root,,); connect (con2,localhost,root,,); connect (con3,localhost,root,,); connection con3; --echo Create pipe. --exec mkfifo $MYSQLTEST_VARDIR/master-data/db1_pipe --exec chmod 666 $MYSQLTEST_VARDIR/master-data/db1_pipe connection con1; --echo Create databases and some data. CREATE DATABASE db1; CREATE DATABASE db2; USE db1; CREATE TABLE t1(id int); INSERT INTO t1 VALUES(1),(2),(3),(4),(5),(6),(7),(8),(9); INSERT INTO t1 SELECT * FROM t1; INSERT INTO t1 SELECT * FROM t1; INSERT INTO t1 SELECT * FROM t1; INSERT INTO t1 SELECT * FROM t1; USE db2; CREATE TABLE t2(a char(5)); INSERT INTO t2 VALUES('a'),('b'),('c'),('d'),('e'),('f'),('g'),('h'); INSERT INTO t2 SELECT * FROM t2; INSERT INTO t2 SELECT * FROM t2; INSERT INTO t2 SELECT * FROM t2; --echo Start backup to pipe. send BACKUP DATABASE db1 TO 'db1_pipe'; connection con2; --echo Attempt to run a backup while another is in progress. --error ER_BACKUP_RUNNING BACKUP DATABASE db2 TO 'db1_pipe'; connection con3; --echo Cat the output to a file. --exec cat $MYSQLTEST_VARDIR/master-data/db1_pipe > $MYSQLTEST_VARDIR/master-data/db1_file connection con1; --replace_column 1 # reap; connection con2; --echo Start another backup to the same pipe. send BACKUP DATABASE db2 TO 'db1_pipe'; connection con3; --echo Cat the output to a file. --exec cat $MYSQLTEST_VARDIR/master-data/db1_pipe > $MYSQLTEST_VARDIR/master-data/db2_file connection con2; --replace_column 1 # reap; --echo Cleanup DROP DATABASE db1; DROP DATABASE db2; --error 0,1 --remove_file $MYSQLTEST_VARDIR/master-data/db1_pipe --error 0,1 --remove_file $MYSQLTEST_VARDIR/master-data/db1_file --error 0,1 --remove_file $MYSQLTEST_VARDIR/master-data/db2_file