1# 2# PXB-1694: ALTER TABLE ... ALGORITHM=COPY causing prepare to fail 3# 4 5start_server 6 7for i in {1..10} ; do 8mysql test <<EOF 9CREATE TABLE sbtest$i ( 10 id INT NOT NULL AUTO_INCREMENT, 11 k INT NOT NULL, 12 c VARCHAR(120) NOT NULL, 13 pad VARCHAR(60) NOT NULL, 14 PRIMARY KEY (id), 15 KEY k_1 (k) 16) ENGINE=InnoDB; 17EOF 18done 19 20( for i in {1..1000} ; do 21 echo "INSERT INTO sbtest1 (k, c, pad) VALUES (FLOOR(RAND() * 1000000), UUID(), UUID());" 22done ) | mysql test 23 24for i in {2..10} ; do 25 mysql -e "INSERT INTO sbtest$i SELECT * FROM sbtest1" test 26done 27 28mysql -e "SELECT SUM(k) FROM sbtest5" test > $topdir/sum 29 30( while true ; do 31 ${MYSQL} ${MYSQL_ARGS} test -e 'CREATE INDEX t10_c ON sbtest5 (c) ALGORITHM=COPY;' 1>/dev/null 2>/dev/null 32 sleep 2 33 ${MYSQL} ${MYSQL_ARGS} test -e 'DROP INDEX t10_c ON sbtest5 ALGORITHM=COPY;' 1>/dev/null 2>/dev/null 34 sleep 2 35done ) & 36 37for i in {1..3} ; do 38 rm -rf $topdir/backup 39 xtrabackup --backup --target-dir=$topdir/backup 40 xtrabackup --prepare --target-dir=$topdir/backup 41done 42 43stop_server 44 45rm -rf $mysql_datadir 46 47xtrabackup --copy-back --target-dir=$topdir/backup 48 49start_server 50 51diff -u $topdir/sum <(mysql -e "SELECT SUM(k) FROM sbtest5" test) 52