#At file:///export/home/tmp/oysteing/mysql/mysql-6.0-backup-review/
2708 Oystein Grovlen 2008-10-17
BUG#34205 Backup: restore fails if Falcon and no autocommit
Add test case to cover this bug report.
(It is not possible to repeat bug anymore)
modified:
mysql-test/suite/backup/r/backup_commit_restore.result
mysql-test/suite/backup/t/backup_commit_restore.test
per-file messages:
mysql-test/suite/backup/r/backup_commit_restore.result
Updated result file
mysql-test/suite/backup/t/backup_commit_restore.test
Check that it is possible to drop a table after a restore when autocommit is off and backup occurred earlier in same session.
Also added missing engine type for table t4. (May have omitted
originally because of this bug.)
=== modified file 'mysql-test/suite/backup/r/backup_commit_restore.result'
=== modified file 'mysql-test/suite/backup/r/backup_commit_restore.result'
--- a/mysql-test/suite/backup/r/backup_commit_restore.result 2008-10-07 17:15:44 +0000
+++ b/mysql-test/suite/backup/r/backup_commit_restore.result 2008-10-17 14:28:20 +0000
@@ -81,7 +81,7 @@
a3
COMMIT;
SET @@autocommit=0;
-CREATE TABLE t4 (s1 CHAR(2));
+CREATE TABLE t4 (s1 CHAR(2)) ENGINE=falcon;
INSERT INTO t1 VALUES ('a4');
INSERT INTO t2 VALUES ('a4');
INSERT INTO t3 VALUES ('a4');
@@ -188,10 +188,12 @@
a5
COMMIT;
SET @@autocommit=1;
+CREATE TABLE t5 (s1 CHAR(2)) ENGINE=falcon;
INSERT INTO t1 VALUES ('a6');
INSERT INTO t2 VALUES ('a6');
INSERT INTO t3 VALUES ('a6');
INSERT INTO t4 VALUES ('a6');
+INSERT INTO t5 VALUES ('a6');
BACKUP DATABASE commit_test TO '86';
backup_id
#
@@ -199,6 +201,7 @@
RESTORE FROM '86';
backup_id
#
+DROP TABLE t5;
SELECT * FROM t1;
s1
a1
=== modified file 'mysql-test/suite/backup/t/backup_commit_restore.test'
--- a/mysql-test/suite/backup/t/backup_commit_restore.test 2008-10-07 17:15:44 +0000
+++ b/mysql-test/suite/backup/t/backup_commit_restore.test 2008-10-17 14:28:20 +0000
@@ -1,5 +1,6 @@
--source include/have_innodb.inc
--source include/not_embedded.inc
+--source include/have_falcon.inc
# Test that it is not possible to rollback restore. That is, that an
# automatic commit is performed as part of restore. This test both
@@ -70,7 +71,7 @@
# Test using InnoDB, Memory, MyISAM and Falcon (Consistent Snapshot)
SET @@autocommit=0;
-CREATE TABLE t4 (s1 CHAR(2));
+CREATE TABLE t4 (s1 CHAR(2)) ENGINE=falcon;
INSERT INTO t1 VALUES ('a4');
INSERT INTO t2 VALUES ('a4');
INSERT INTO t3 VALUES ('a4');
@@ -120,10 +121,12 @@
# Test doing backup with auto-commit on and restore with auto-commit off
SET @@autocommit=1;
+CREATE TABLE t5 (s1 CHAR(2)) ENGINE=falcon;
INSERT INTO t1 VALUES ('a6');
INSERT INTO t2 VALUES ('a6');
INSERT INTO t3 VALUES ('a6');
INSERT INTO t4 VALUES ('a6');
+INSERT INTO t5 VALUES ('a6');
replace_column 1 #;
BACKUP DATABASE commit_test TO '86';
@@ -132,6 +135,9 @@
replace_column 1 #;
RESTORE FROM '86';
+#Test of scenario from BUG#34205
+DROP TABLE t5;
+
SELECT * FROM t1;
SELECT * FROM t2;
SELECT * FROM t3;