CALL mtr.add_suppression("was disabled during restore"); --disable_query_log --disable_result_log let $bdir=`select @@backupdir`; CREATE TEMPORARY TABLE cc (id int, type char(10), name char, rest text); INSERT INTO cc VALUES (1, 'TABLE', 't', '(A int)'), (2, 'VIEW', 'v', 'AS SELECT * FROM t1'), (3, 'PROCEDURE', 'p', '(A int) SET @foo=1'), (4, 'FUNCTION', 'f', '(A int) RETURNS int RETURN A'), (5, 'TRIGGER', 'r', 'AFTER UPDATE ON t1 FOR EACH ROW SET @foo=1'), (6, 'EVENT', 'e', 'ON SCHEDULE EVERY 1 YEAR DO SET @foo=1'); CREATE DATABASE dbA; USE dbA; CREATE TABLE t1 (a int); let $num=6; while ($num) { let $cmd=`SELECT concat_ws(' ','CREATE',type,concat(name,'A'),rest) FROM test.cc WHERE id= $num`; --enable_query_log eval $cmd; --disable_query_log dec $num; } CREATE DATABASE dba; --echo # Creating csnames0.bkp image. BACKUP DATABASE dbA,dba TO 'csnames0.bkp'; --copy_file $bdir/csnames0.bkp $MYSQL_TEST_DIR/csnames0.bkp UPDATE test.cc SET rest= 'AFTER DELETE ON t1 FOR EACH ROW SET @bar=2' WHERE id=5; USE dbA; let $num=6; while ($num) { RESTORE FROM 'csnames0.bkp' OVERWRITE; --echo # Creating csnames$num.bkp image. let $cmd=`SELECT concat_ws(' ','CREATE',type,concat(name,'a'),rest) FROM test.cc WHERE id= $num`; --enable_query_log --error 0,ER_EVENT_ALREADY_EXISTS,ER_SP_ALREADY_EXISTS eval $cmd; --disable_query_log --enable_result_log SHOW WARNINGS; --disable_result_log eval BACKUP DATABASE dbA TO 'csnames$num.bkp'; --copy_file $bdir/csnames$num.bkp $MYSQL_TEST_DIR/csnames$num.bkp dec $num; } DROP DATABASE dbA; DROP DATABASE dba; --exit