Below is the list of changes that have just been committed into a local
6.0 repository of cbell. When cbell does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html
ChangeSet@stripped, 2007-11-29 09:26:16-05:00, cbell@mysql_cab_desk. +18 -0
WL#4116 : Online Backup: Record Online Backup Progress
Patch 3 of 3
This patch contains updated tests and results for the backup
progress code changes.
mysql-test/r/backup.result@stripped, 2007-11-29 09:25:59-05:00, cbell@mysql_cab_desk. +6 -24
WL#4116 : Online Backup: Record Online Backup Progress
New result file.
mysql-test/r/backup_commit_blocker.result@stripped, 2007-11-29 09:26:00-05:00, cbell@mysql_cab_desk. +12 -36
WL#4116 : Online Backup: Record Online Backup Progress
New result file.
mysql-test/r/backup_ddl_blocker.result@stripped, 2007-11-29 09:26:01-05:00, cbell@mysql_cab_desk. +41 -122
WL#4116 : Online Backup: Record Online Backup Progress
New result file.
mysql-test/r/backup_fkey.result@stripped, 2007-11-29 09:26:01-05:00, cbell@mysql_cab_desk. +14 -42
WL#4116 : Online Backup: Record Online Backup Progress
New result file.
mysql-test/r/backup_no_data.result@stripped, 2007-11-29 09:26:02-05:00, cbell@mysql_cab_desk. +14 -42
WL#4116 : Online Backup: Record Online Backup Progress
New result file.
mysql-test/r/backup_no_engine.result@stripped, 2007-11-29 09:26:03-05:00, cbell@mysql_cab_desk. +4 -12
WL#4116 : Online Backup: Record Online Backup Progress
New result file.
mysql-test/r/backup_progress.result@stripped, 2007-11-29 09:26:11-05:00, cbell@mysql_cab_desk. +141 -0
WL#4116 : Online Backup: Record Online Backup Progress
New result file.
mysql-test/r/backup_progress.result@stripped, 2007-11-29 09:26:11-05:00, cbell@mysql_cab_desk. +0 -0
mysql-test/r/backup_security.result@stripped, 2007-11-29 09:26:03-05:00, cbell@mysql_cab_desk. +9 -24
WL#4116 : Online Backup: Record Online Backup Progress
New result file.
mysql-test/r/backup_snapshot.result@stripped, 2007-11-29 09:26:04-05:00, cbell@mysql_cab_desk. +8 -24
WL#4116 : Online Backup: Record Online Backup Progress
New result file.
mysql-test/t/backup.test@stripped, 2007-11-29 09:26:05-05:00, cbell@mysql_cab_desk. +6 -2
WL#4116 : Online Backup: Record Online Backup Progress
Test modified to make use of new reporting feature.
mysql-test/t/backup_commit_blocker.test@stripped, 2007-11-29 09:26:05-05:00, cbell@mysql_cab_desk. +18 -2
WL#4116 : Online Backup: Record Online Backup Progress
Test modified to make use of new reporting feature.
mysql-test/t/backup_ddl_blocker.test@stripped, 2007-11-29 09:26:06-05:00, cbell@mysql_cab_desk. +31 -3
WL#4116 : Online Backup: Record Online Backup Progress
Test modified to make use of new reporting feature.
mysql-test/t/backup_fkey.test@stripped, 2007-11-29 09:26:07-05:00, cbell@mysql_cab_desk. +7 -0
WL#4116 : Online Backup: Record Online Backup Progress
Test modified to make use of new reporting feature.
mysql-test/t/backup_no_data.test@stripped, 2007-11-29 09:26:07-05:00, cbell@mysql_cab_desk. +7 -0
WL#4116 : Online Backup: Record Online Backup Progress
Test modified to make use of new reporting feature.
mysql-test/t/backup_no_engine.test@stripped, 2007-11-29 09:26:08-05:00, cbell@mysql_cab_desk. +2 -0
WL#4116 : Online Backup: Record Online Backup Progress
Test modified to make use of new reporting feature.
mysql-test/t/backup_progress.test@stripped, 2007-11-29 09:26:10-05:00, cbell@mysql_cab_desk. +226 -0
WL#4116 : Online Backup: Record Online Backup Progress
New test for backup progress methods.
mysql-test/t/backup_progress.test@stripped, 2007-11-29 09:26:10-05:00, cbell@mysql_cab_desk. +0 -0
mysql-test/t/backup_security.test@stripped, 2007-11-29 09:26:09-05:00, cbell@mysql_cab_desk. +7 -0
WL#4116 : Online Backup: Record Online Backup Progress
Test modified to make use of new reporting feature.
mysql-test/t/backup_snapshot.test@stripped, 2007-11-29 09:26:09-05:00, cbell@mysql_cab_desk. +12 -2
WL#4116 : Online Backup: Record Online Backup Progress
Test modified to make use of new reporting feature.
diff -Nrup a/mysql-test/r/backup.result b/mysql-test/r/backup.result
--- a/mysql-test/r/backup.result 2007-11-09 16:32:08 -05:00
+++ b/mysql-test/r/backup.result 2007-11-29 09:25:59 -05:00
@@ -56,22 +56,13 @@ LOCK TABLES `tasking` WRITE;
INSERT INTO `tasking` VALUES ('333445555','405',23),('123763153','405',33.5),('921312388','601',44),('800122337','300',13),('820123637','300',9.5),('830132335','401',8.5),('333445555','300',11),('921312388','500',13),('800122337','300',44),('820123637','401',500.5),('830132335','400',12),('333445665','600',300.25),('123654321','607',444.75),('123456789','300',1000);
UNLOCK TABLES;
BACKUP DATABASE db1,db2 TO 'test.ba';
-Backup Summary
- header = 52 bytes
- meta-data = 807 bytes
- data = 639 bytes
- --------------
- total 1498 bytes
+backup_id
+#
DROP DATABASE db1;
DROP DATABASE db2;
USE mysql;
RESTORE FROM 'test.ba';
-Restore Summary
- header = 52 bytes
- meta-data = 807 bytes
- data = 639 bytes
- --------------
- total 1498 bytes
+backup_id #
USE db1;
SHOW TABLES;
Tables_in_db1
@@ -318,20 +309,11 @@ Running the client:
Chuck@linux:~> mysql -uroot -p
Enter password:
BACKUP DATABASE bup_default TO "bup_default.bak";
-Backup Summary
- header = 43 bytes
- meta-data = 890 bytes
- data = 7368 bytes
- --------------
- total 8301 bytes
+backup_id
+#
DROP DATABASE bup_default;
RESTORE FROM "bup_default.bak";
-Restore Summary
- header = 43 bytes
- meta-data = 890 bytes
- data = 7368 bytes
- --------------
- total 8301 bytes
+backup_id #
SELECT * FROM bup_default.t1;
a
1
diff -Nrup a/mysql-test/r/backup_commit_blocker.result b/mysql-test/r/backup_commit_blocker.result
--- a/mysql-test/r/backup_commit_blocker.result 2007-11-15 20:29:32 -05:00
+++ b/mysql-test/r/backup_commit_blocker.result 2007-11-29 09:26:00 -05:00
@@ -85,12 +85,8 @@ con3: Completing transaction
UPDATE bup_commit_blocker.t3 SET col_a = "con4: 05 CHANGED" WHERE col_a LIKE '05%';
UPDATE bup_commit_blocker.t3 SET col_a = "con4: 06 CHANGED" WHERE col_a LIKE '06%';
COMMIT;
-Backup Summary
- header = 36 bytes
- meta-data = 284 bytes
- data = 471 bytes
- --------------
- total 791 bytes
+backup_id
+#
con1: Showing data after updates and backup
SELECT * FROM bup_commit_blocker.t1;
col_a
@@ -120,12 +116,8 @@ DROP TABLE bup_commit_blocker.t2;
DROP TABLE bup_commit_blocker.t3;
con1: Restoring the database
RESTORE FROM "bup_commit_blocker.bak";
-Restore Summary
- header = 36 bytes
- meta-data = 284 bytes
- data = 471 bytes
- --------------
- total 791 bytes
+backup_id
+#
con1: Showing the data (no new data should be here).
SELECT * FROM bup_commit_blocker.t1;
col_a
@@ -216,12 +208,8 @@ release_lock("backup_commit_blocker")
NULL
con6: Completing statement
con7: Completing statement
-Backup Summary
- header = 28 bytes
- meta-data = 95 bytes
- data = 50 bytes
- --------------
- total 173 bytes
+backup_id
+#
con1: Showing data after updates and backup
SELECT * FROM bup_commit_blocker.t5;
col_a
@@ -234,12 +222,8 @@ con1: Dropping the database
DROP TABLE bup_commit_blocker.t5;
con1: Restoring the database
RESTORE FROM "bup_commit_blocker.bak";
-Restore Summary
- header = 28 bytes
- meta-data = 95 bytes
- data = 50 bytes
- --------------
- total 173 bytes
+backup_id
+#
con1: Showing the data (no new data should be here).
SELECT * FROM bup_commit_blocker.t5;
col_a
@@ -366,12 +350,8 @@ UPDATE bup_commit_blocker.t3 SET col_a =
UPDATE bup_commit_blocker.t3 SET col_a = "con4: 06 CHANGED" WHERE col_a LIKE '06%';
COMMIT;
con7: Completing statement
-Backup Summary
- header = 43 bytes
- meta-data = 377 bytes
- data = 521 bytes
- --------------
- total 941 bytes
+backup_id
+#
con1: Showing data after updates and backup
SELECT * FROM bup_commit_blocker.t1;
col_a
@@ -408,12 +388,8 @@ DROP TABLE bup_commit_blocker.t3;
DROP TABLE bup_commit_blocker.t5;
con1: Restoring the database
RESTORE FROM "bup_commit_blocker.bak";
-Restore Summary
- header = 43 bytes
- meta-data = 377 bytes
- data = 521 bytes
- --------------
- total 941 bytes
+backup_id
+#
con1: Showing the data (no new data should be here).
SELECT * FROM bup_commit_blocker.t1;
col_a
diff -Nrup a/mysql-test/r/backup_ddl_blocker.result b/mysql-test/r/backup_ddl_blocker.result
--- a/mysql-test/r/backup_ddl_blocker.result 2007-11-23 08:27:44 -05:00
+++ b/mysql-test/r/backup_ddl_blocker.result 2007-11-29 09:26:01 -05:00
@@ -50,12 +50,8 @@ con2: Completing DDL
con3: Completing DDL
con4: Completing DDL
con5: Completing DDL
-Backup Summary
- header = 36 bytes
- meta-data = 316 bytes
- data = 162 bytes
- --------------
- total 514 bytes
+backup_id
+#
Verifying Test 1 results for backup.
@@ -79,12 +75,8 @@ DROP TABLE bup_ddl_blocker.t1, bup_ddl_b
bup_ddl_blocker.t3, bup_ddl_blocker.t4;
con1: Restoring the database
RESTORE FROM "bup_ddl_blocker.bak";
-Restore Summary
- header = 36 bytes
- meta-data = 316 bytes
- data = 162 bytes
- --------------
- total 514 bytes
+backup_id
+#
con1: Showing columns that were backed up
con1: Table t3 should not be in restored data.
con1: Table t4 should not have new column in restored data.
@@ -125,12 +117,8 @@ INSERT INTO bup_ddl_blocker.t4 VALUES ("
INSERT INTO bup_ddl_blocker.t4 VALUES ("03 Some data to test");
DROP TABLE bup_ddl_blocker.t1, bup_ddl_blocker.t3;
BACKUP DATABASE bup_ddl_blocker to 'bup_ddl_blocker_orig.bak';
-Backup Summary
- header = 29 bytes
- meta-data = 190 bytes
- data = 162 bytes
- --------------
- total 381 bytes
+backup_id
+#
con6: Getting lock on DDL in progress.
SELECT get_lock("DDL_in_progress", 0);
get_lock("DDL_in_progress", 0)
@@ -159,12 +147,8 @@ con2: Completing DDL
con3: Completing DDL
con4: Completing DDL
con5: Completing DDL
-Restore Summary
- header = 29 bytes
- meta-data = 190 bytes
- data = 162 bytes
- --------------
- total 381 bytes
+backup_id
+#
Verifying Test 1 results for restore.
@@ -239,12 +223,8 @@ con4: Completing DDL
con5: Completing DDL
Table Op Msg_type Msg_text
bup_ddl_blocker.t4 repair status OK
-Backup Summary
- header = 41 bytes
- meta-data = 379 bytes
- data = 324 bytes
- --------------
- total 744 bytes
+backup_id
+#
Verifying Test 2 results for backup.
@@ -261,12 +241,8 @@ DROP TABLE bup_ddl_blocker.t01, bup_ddl_
bup_ddl_blocker.t03, bup_ddl_blocker.t4;
con1: Restoring the database
RESTORE FROM "bup_ddl_blocker.bak";
-Restore Summary
- header = 41 bytes
- meta-data = 379 bytes
- data = 324 bytes
- --------------
- total 744 bytes
+backup_id
+#
con1: Showing columns that were backed up
con1: Table t01 should be in restore
con1: Table t03 should not be in restore
@@ -301,12 +277,8 @@ INSERT INTO bup_ddl_blocker.t4 VALUES ("
INSERT INTO bup_ddl_blocker.t4 VALUES ("02 Some data to test");
INSERT INTO bup_ddl_blocker.t4 VALUES ("03 Some data to test");
BACKUP DATABASE bup_ddl_blocker to 'bup_ddl_blocker_orig.bak';
-Backup Summary
- header = 40 bytes
- meta-data = 378 bytes
- data = 324 bytes
- --------------
- total 742 bytes
+backup_id
+#
con6: Getting lock on DDL in progress.
SELECT get_lock("DDL_in_progress", 0);
get_lock("DDL_in_progress", 0)
@@ -339,12 +311,8 @@ con4: Completing DDL
con5: Completing DDL
Table Op Msg_type Msg_text
bup_ddl_blocker.t4 repair status OK
-Restore Summary
- header = 40 bytes
- meta-data = 378 bytes
- data = 324 bytes
- --------------
- total 742 bytes
+backup_id
+#
Verifying Test 2 results for restore.
@@ -411,12 +379,8 @@ con4: Completing DDL
Table Op Msg_type Msg_text
bup_ddl_blocker.t3 optimize status OK
con5: Completing DDL
-Backup Summary
- header = 36 bytes
- meta-data = 284 bytes
- data = 243 bytes
- --------------
- total 563 bytes
+backup_id
+#
Verifying Test 3 results for backup.
@@ -430,12 +394,8 @@ con1: Dropping the database tables
DROP TABLE bup_ddl_blocker.t1, bup_ddl_blocker.t3;
con1: Restoring the database
RESTORE FROM "bup_ddl_blocker.bak";
-Restore Summary
- header = 36 bytes
- meta-data = 284 bytes
- data = 243 bytes
- --------------
- total 563 bytes
+backup_id
+#
con1: Showing columns that were backed up
con1: Table t2 should not be in restore
use bup_ddl_blocker;
@@ -468,12 +428,8 @@ INSERT INTO bup_ddl_blocker.t4 VALUES ("
INSERT INTO bup_ddl_blocker.t4 VALUES ("02 Some data to test");
INSERT INTO bup_ddl_blocker.t4 VALUES ("03 Some data to test");
BACKUP DATABASE bup_ddl_blocker to 'bup_ddl_blocker_orig.bak';
-Backup Summary
- header = 40 bytes
- meta-data = 378 bytes
- data = 324 bytes
- --------------
- total 742 bytes
+backup_id
+#
con6: Getting lock on DDL in progress.
SELECT get_lock("DDL_in_progress", 0);
get_lock("DDL_in_progress", 0)
@@ -506,12 +462,8 @@ con4: Completing DDL
Table Op Msg_type Msg_text
bup_ddl_blocker.t3 optimize status OK
con5: Completing DDL
-Restore Summary
- header = 40 bytes
- meta-data = 378 bytes
- data = 324 bytes
- --------------
- total 742 bytes
+backup_id
+#
Verifying Test 3 results for restore.
@@ -575,12 +527,8 @@ con2: Completing DDL
con3: Completing DDL
con4: Completing DDL
con5: Completing DDL
-Backup Summary
- header = 81 bytes
- meta-data = 384 bytes
- data = 324 bytes
- --------------
- total 789 bytes
+backup_id
+#
Verifying Test 4 results for backup.
@@ -595,12 +543,8 @@ DROP DATABASE bup_ddl_blocker_1;
DROP DATABASE bup_ddl_blocker_3;
con1: Restoring the database
RESTORE FROM "bup_ddl_blocker.bak";
-Restore Summary
- header = 81 bytes
- meta-data = 384 bytes
- data = 324 bytes
- --------------
- total 789 bytes
+backup_id
+#
con1: Showing databases that were backed up
con1: bup_ddl_blocker_2 and bup_ddl_blocker_3 are not present
SHOW DATABASES LIKE 'bup_ddl_blocker_%';
@@ -636,12 +580,8 @@ Database (bup_ddl_blocker_%)
bup_ddl_blocker_2
bup_ddl_blocker_4
BACKUP DATABASE bup_ddl_blocker_2, bup_ddl_blocker_4 to 'bup_ddl_blocker_orig.bak';
-Backup Summary
- header = 52 bytes
- meta-data = 192 bytes
- data = 162 bytes
- --------------
- total 406 bytes
+backup_id
+#
con6: Getting lock on DDL in progress.
SELECT get_lock("DDL_in_progress", 0);
get_lock("DDL_in_progress", 0)
@@ -670,12 +610,8 @@ con2: Completing DDL
con3: Completing DDL
con4: Completing DDL
con5: Completing DDL
-Restore Summary
- header = 52 bytes
- meta-data = 192 bytes
- data = 162 bytes
- --------------
- total 406 bytes
+backup_id
+#
Verifying Test 4 results for restore.
@@ -738,12 +674,8 @@ con2: Completing DDL
con3: Completing DDL
con4: Completing DDL
con5: Completing DDL
-Backup Summary
- header = 85 bytes
- meta-data = 478 bytes
- data = 324 bytes
- --------------
- total 887 bytes
+backup_id
+#
Verifying Test 5 results for backup.
@@ -771,12 +703,8 @@ DROP DATABASE bup_ddl_blocker_2;
DROP DATABASE bup_ddl_blocker_4;
con1: Restoring the database
RESTORE FROM "bup_ddl_blocker.bak";
-Restore Summary
- header = 85 bytes
- meta-data = 478 bytes
- data = 324 bytes
- --------------
- total 887 bytes
+backup_id
+#
con1: Showing databases that were backed up
con1: bup_ddl_blocker_1 has been renamed and
con1: bup_ddl_blocker_2.t1 has been truncated.
@@ -827,14 +755,9 @@ SHOW DATABASES LIKE 'bup_ddl_blocker_%';
Database (bup_ddl_blocker_%)
bup_ddl_blocker_2
bup_ddl_blocker_4
-BACKUP DATABASE bup_ddl_blocker_2, bup_ddl_blocker_4
-to 'bup_ddl_blocker_orig.bak';
-Backup Summary
- header = 52 bytes
- meta-data = 192 bytes
- data = 162 bytes
- --------------
- total 406 bytes
+BACKUP DATABASE bup_ddl_blocker_2, bup_ddl_blocker_4 to 'bup_ddl_blocker_orig.bak';
+backup_id
+#
con6: Getting lock on DDL in progress.
SELECT get_lock("DDL_in_progress", 0);
get_lock("DDL_in_progress", 0)
@@ -863,12 +786,8 @@ con2: Completing DDL
con3: Completing DDL
con4: Completing DDL
con5: Completing DDL
-Restore Summary
- header = 52 bytes
- meta-data = 192 bytes
- data = 162 bytes
- --------------
- total 406 bytes
+backup_id
+#
Verifying Test 5 results for restore.
diff -Nrup a/mysql-test/r/backup_fkey.result b/mysql-test/r/backup_fkey.result
--- a/mysql-test/r/backup_fkey.result 2007-11-21 08:44:14 -05:00
+++ b/mysql-test/r/backup_fkey.result 2007-11-29 09:26:01 -05:00
@@ -24,12 +24,8 @@ INSERT INTO backup_fkey.child VALUES (4,
ERROR 23000: Cannot add or update a child row: a foreign key constraint fails (`backup_fkey`.`child`, CONSTRAINT `child_ibfk_1` FOREIGN KEY (`parent_id`) REFERENCES `parent` (`id`) ON DELETE CASCADE)
Backup the database originally.
BACKUP DATABASE backup_fkey TO 'backup_fkey_orig.bak';
-Backup Summary
- header = 32 bytes
- meta-data = 376 bytes
- data = 106 bytes
- --------------
- total 514 bytes
+backup_id
+#
Turn off foreign key constraints.
SET foreign_key_checks = 0;
SHOW VARIABLES LIKE 'foreign_key_checks%';
@@ -39,12 +35,8 @@ Drop the parent table.
DROP TABLE backup_fkey.parent;
Backup the database without the parent table.
BACKUP DATABASE backup_fkey TO 'backup_fkey.bak';
-Backup Summary
- header = 24 bytes
- meta-data = 264 bytes
- data = 56 bytes
- --------------
- total 344 bytes
+backup_id
+#
Turn on foreign key constraints.
SET foreign_key_checks = 1;
SHOW VARIABLES LIKE 'foreign_key_checks%';
@@ -52,19 +44,11 @@ Variable_name Value
foreign_key_checks ON
Now restore the database.
RESTORE FROM 'backup_fkey.bak';
-Restore Summary
- header = 24 bytes
- meta-data = 264 bytes
- data = 56 bytes
- --------------
- total 344 bytes
+backup_id
+#
RESTORE FROM 'backup_fkey_orig.bak';
-Restore Summary
- header = 32 bytes
- meta-data = 376 bytes
- data = 106 bytes
- --------------
- total 514 bytes
+backup_id
+#
Show data
SELECT * FROM backup_fkey.parent;
id
@@ -92,12 +76,8 @@ INSERT INTO backup_fkey.t1 VALUES ("06 T
INSERT INTO backup_fkey.t1 VALUES ("07 Test #2 - foreign key constraints");
Backup the data
BACKUP DATABASE backup_fkey TO 'backup_fkey.bak';
-Backup Summary
- header = 21 bytes
- meta-data = 92 bytes
- data = 301 bytes
- --------------
- total 414 bytes
+backup_id
+#
Turn on foreign key constraints.
SET foreign_key_checks = 1;
SHOW VARIABLES LIKE 'foreign_key_checks%';
@@ -105,12 +85,8 @@ Variable_name Value
foreign_key_checks ON
Restoring data
RESTORE FROM 'backup_fkey.bak';
-Restore Summary
- header = 21 bytes
- meta-data = 92 bytes
- data = 301 bytes
- --------------
- total 414 bytes
+backup_id
+#
Verify foreign_key_checks = ON
SHOW VARIABLES LIKE 'foreign_key_checks%';
Variable_name Value
@@ -122,12 +98,8 @@ Variable_name Value
foreign_key_checks OFF
Restoring data
RESTORE FROM 'backup_fkey.bak';
-Restore Summary
- header = 21 bytes
- meta-data = 92 bytes
- data = 301 bytes
- --------------
- total 414 bytes
+backup_id
+#
Verify foreign_key_checks = OFF
SHOW VARIABLES LIKE 'foreign_key_checks%';
Variable_name Value
diff -Nrup a/mysql-test/r/backup_no_data.result b/mysql-test/r/backup_no_data.result
--- a/mysql-test/r/backup_no_data.result 2007-11-06 13:32:23 -05:00
+++ b/mysql-test/r/backup_no_data.result 2007-11-29 09:26:02 -05:00
@@ -1,19 +1,11 @@
DROP DATABASE IF EXISTS empty_db;
CREATE DATABASE empty_db;
BACKUP DATABASE empty_db TO 'empty_db.bak';
-Backup Summary
- header = 11 bytes
- meta-data = 2 bytes
- data = 0 bytes
- --------------
- total 13 bytes
+backup_id
+#
BACKUP DATABASE * TO 'all.bak';
-Backup Summary
- header = 16 bytes
- meta-data = 4 bytes
- data = 0 bytes
- --------------
- total 20 bytes
+backup_id
+#
DROP DATABASE empty_db;
DROP DATABASE test;
SHOW DATABASES;
@@ -25,12 +17,8 @@ Database
information_schema
mysql
RESTORE FROM 'all.bak';
-Restore Summary
- header = 16 bytes
- meta-data = 4 bytes
- data = 0 bytes
- --------------
- total 20 bytes
+backup_id
+#
SHOW DATABASES;
Database
information_schema
@@ -40,12 +28,8 @@ test
DROP DATABASE empty_db;
DROP DATABASE test;
RESTORE FROM 'empty_db.bak';
-Restore Summary
- header = 11 bytes
- meta-data = 2 bytes
- data = 0 bytes
- --------------
- total 13 bytes
+backup_id
+#
SHOW DATABASES;
Database
information_schema
@@ -54,12 +38,8 @@ mysql
SHOW TABLES IN empty_db;
Tables_in_empty_db
RESTORE FROM 'all.bak';
-Restore Summary
- header = 16 bytes
- meta-data = 4 bytes
- data = 0 bytes
- --------------
- total 20 bytes
+backup_id
+#
SHOW DATABASES;
Database
information_schema
@@ -80,12 +60,8 @@ USE empty_db;
DROP VIEW IF EXISTS v1;
CREATE VIEW v1 AS SELECT * FROM test.t1;
BACKUP DATABASE empty_db TO 'empty_db.bak';
-Backup Summary
- header = 11 bytes
- meta-data = 2 bytes
- data = 0 bytes
- --------------
- total 13 bytes
+backup_id
+#
SHOW DATABASES;
Database
information_schema
@@ -93,12 +69,8 @@ empty_db
mysql
test
RESTORE FROM 'empty_db.bak';
-Restore Summary
- header = 11 bytes
- meta-data = 2 bytes
- data = 0 bytes
- --------------
- total 13 bytes
+backup_id
+#
USE empty_db;
SHOW TABLES;
Tables_in_empty_db
diff -Nrup a/mysql-test/r/backup_no_engine.result b/mysql-test/r/backup_no_engine.result
--- a/mysql-test/r/backup_no_engine.result 2007-11-06 13:32:23 -05:00
+++ b/mysql-test/r/backup_no_engine.result 2007-11-29 09:26:03 -05:00
@@ -3,21 +3,13 @@ CREATE DATABASE db;
CREATE TABLE db.t1 (a int, b char(32))
ENGINE=myisam;
BACKUP DATABASE db TO "db.backup";
-Backup Summary
- header = 12 bytes
- meta-data = 120 bytes
- data = 0 bytes
- --------------
- total 132 bytes
+backup_id
+#
DROP DATABASE db;
CREATE DATABASE db;
RESTORE FROM "db.backup";
-Restore Summary
- header = 12 bytes
- meta-data = 120 bytes
- data = 0 bytes
- --------------
- total 132 bytes
+backup_id
+#
SHOW TABLES IN db;
Tables_in_db
t1
diff -Nrup a/mysql-test/r/backup_progress.result b/mysql-test/r/backup_progress.result
--- /dev/null Wed Dec 31 16:00:00 196900
+++ b/mysql-test/r/backup_progress.result 2007-11-29 09:26:11 -05:00
@@ -0,0 +1,141 @@
+DROP DATABASE IF EXISTS backup_progress;
+DROP TABLE IF EXISTS backup_progress.t1_res;
+CREATE DATABASE backup_progress;
+con1: Create table and new users.
+CREATE TABLE backup_progress.t1 (a char(30)) ENGINE=MYISAM;
+CREATE TABLE backup_progress.t2 (a char(30)) ENGINE=INNODB;
+CREATE TABLE backup_progress.t3 (a char(30)) ENGINE=MEMORY;
+CREATE TABLE backup_progress.t1_res (id INT);
+INSERT INTO backup_progress.t1 VALUES ("01 Test #1 - progress");
+INSERT INTO backup_progress.t1 VALUES ("02 Test #1 - progress");
+INSERT INTO backup_progress.t1 VALUES ("03 Test #1 - progress");
+INSERT INTO backup_progress.t1 VALUES ("04 Test #1 - progress");
+INSERT INTO backup_progress.t1 VALUES ("05 Test #1 - progress");
+INSERT INTO backup_progress.t1 VALUES ("06 Test #1 - progress");
+INSERT INTO backup_progress.t1 VALUES ("07 Test #1 - progress");
+INSERT INTO backup_progress.t2 VALUES ("01 Test #1 - progress");
+INSERT INTO backup_progress.t2 VALUES ("02 Test #1 - progress");
+INSERT INTO backup_progress.t2 VALUES ("03 Test #1 - progress");
+INSERT INTO backup_progress.t2 VALUES ("04 Test #1 - progress");
+INSERT INTO backup_progress.t2 VALUES ("05 Test #1 - progress");
+INSERT INTO backup_progress.t2 VALUES ("06 Test #1 - progress");
+INSERT INTO backup_progress.t3 VALUES ("01 Test #1 - progress");
+INSERT INTO backup_progress.t3 VALUES ("02 Test #1 - progress");
+INSERT INTO backup_progress.t3 VALUES ("03 Test #1 - progress");
+INSERT INTO backup_progress.t3 VALUES ("04 Test #1 - progress");
+Do backup of database
+SELECT get_lock("bp_starting_state", 0);
+get_lock("bp_starting_state", 0)
+1
+con2: Send backup command.
+BACKUP DATABASE backup_progress to 'backup_progress_orig.bak';
+con1: Checking locks.
+con1: Checking progress.
+INSERT INTO backup_progress.t1_res (id) SELECT backup_id FROM mysql.online_backup WHERE command LIKE "BACKUP DATABASE backup_progress%";
+SELECT backup_state FROM mysql.online_backup AS ob JOIN backup_progress.t1_res as t1 ON ob.backup_id = t1.id;
+backup_state
+starting
+con1: Advance the lock.
+SELECT get_lock("bp_running_state", 0);
+get_lock("bp_running_state", 0)
+1
+con1: Checking locks.
+con1: Checking progress.
+SELECT backup_state FROM mysql.online_backup AS ob JOIN backup_progress.t1_res as t1 ON ob.backup_id = t1.id;
+backup_state
+running
+con1: Advance the lock.
+SELECT get_lock("bp_vp_state", 0);
+get_lock("bp_vp_state", 0)
+1
+con1: Checking locks.
+con1: Checking progress.
+SELECT backup_state FROM mysql.online_backup AS ob JOIN backup_progress.t1_res as t1 ON ob.backup_id = t1.id;
+backup_state
+validity point
+con1: Advance the lock.
+SELECT get_lock("bp_running_state", 0);
+get_lock("bp_running_state", 0)
+1
+con1: Checking locks.
+con1: Checking progress.
+SELECT backup_state FROM mysql.online_backup AS ob JOIN backup_progress.t1_res as t1 ON ob.backup_id = t1.id;
+backup_state
+running
+con1: Advance the lock.
+SELECT release_lock("bp_running_state");
+release_lock("bp_running_state")
+1
+con2: Finish backup command
+backup_id
+#
+SELECT ob.* FROM mysql.online_backup AS ob JOIN backup_progress.t1_res AS t1 ON ob.backup_id = t1.id;;
+backup_id #
+process_id #
+binlog_pos #
+binlog_file #
+backup_state complete
+operation backup
+error_num 0
+num_objects 4
+total_bytes 896
+validity_point_time #
+start_time #
+stop_time #
+host_or_server_name localhost
+username root
+backup_file backup_progress_orig.bak
+user_comment
+command BACKUP DATABASE backup_progress to 'backup_progress_orig.bak'
+engines Default, Snapshot
+Do restore of database
+SELECT get_lock("bp_starting_state", 0);
+get_lock("bp_starting_state", 0)
+1
+DELETE FROM backup_progress.t1_res;
+con2: Send restore command.
+RESTORE FROM 'backup_progress_orig.bak';
+con1: Checking locks.
+con1: Checking progress.
+INSERT INTO backup_progress.t1_res (id) SELECT backup_id FROM mysql.online_backup WHERE command LIKE "BACKUP DATABASE backup_progress%";
+SELECT backup_state FROM mysql.online_backup AS ob JOIN backup_progress.t1_res as t1 ON ob.backup_id = t1.id;
+backup_state
+complete
+con1: Advance the lock.
+SELECT get_lock("bp_running_state", 0);
+get_lock("bp_running_state", 0)
+1
+con1: Checking locks.
+con1: Checking progress.
+SELECT backup_state FROM mysql.online_backup AS ob JOIN backup_progress.t1_res as t1 ON ob.backup_id = t1.id;
+backup_state
+complete
+con1: Advance the lock.
+SELECT release_lock("bp_running_state");
+release_lock("bp_running_state")
+1
+con2: Finish restore command
+backup_id
+#
+SELECT ob.* FROM mysql.online_backup AS ob JOIN backup_progress.t1_res AS t1 ON ob.backup_id = t1.id;;
+backup_id #
+process_id #
+binlog_pos #
+binlog_file #
+backup_state complete
+operation backup
+error_num 0
+num_objects 4
+total_bytes 896
+validity_point_time #
+start_time #
+stop_time #
+host_or_server_name localhost
+username root
+backup_file backup_progress_orig.bak
+user_comment
+command BACKUP DATABASE backup_progress to 'backup_progress_orig.bak'
+engines Default, Snapshot
+BACKUP DATABASE DOES_NOT_EXIST to 'backup_progress_orig.bak';
+ERROR 42000: Unknown database 'DOES_NOT_EXIST'
+DROP DATABASE backup_progress;
diff -Nrup a/mysql-test/r/backup_security.result b/mysql-test/r/backup_security.result
--- a/mysql-test/r/backup_security.result 2007-11-09 16:32:08 -05:00
+++ b/mysql-test/r/backup_security.result 2007-11-29 09:26:03 -05:00
@@ -16,14 +16,11 @@ GRANT ALL ON *.* TO 'bup_no_rights'@'%';
GRANT ALL ON *.* TO 'bup_with_rights'@'%';
REVOKE SUPER ON *.* FROM 'bup_no_rights'@'%';
GRANT SUPER ON *.* TO 'bup_with_rights'@'%';
+FLUSH PRIVILEGES;
default: Do backup of database with default test user for later tests.
BACKUP DATABASE backup_test to 'backup_test_orig.bak';
-Backup Summary
- header = 21 bytes
- meta-data = 92 bytes
- data = 245 bytes
- --------------
- total 358 bytes
+backup_id
+#
default: Connect as user with no rights and attempt backup and restore.
no_rights: Attempting backup. Should fail with error 1227
BACKUP DATABASE backup_test to 'bup_no_rights.bak';
@@ -49,20 +46,12 @@ a
Connect as user with rights and attempt backup and restore.
no_rights: Attempting backup. Should succeed
BACKUP DATABASE backup_test to 'bup_with_rights.bak';
-Backup Summary
- header = 21 bytes
- meta-data = 92 bytes
- data = 245 bytes
- --------------
- total 358 bytes
+backup_id
+#
no_rights: Attempting restore. Should succeed
RESTORE FROM 'bup_with_rights.bak';
-Restore Summary
- header = 21 bytes
- meta-data = 92 bytes
- data = 245 bytes
- --------------
- total 358 bytes
+backup_id
+#
SELECT * FROM t1;
a
01 Test #1 - super privilege
@@ -74,12 +63,8 @@ a
07 Test #1 - super privilege
default: Do restore to ensure it still works with default test user.
RESTORE FROM 'backup_test_orig.bak';
-Restore Summary
- header = 21 bytes
- meta-data = 92 bytes
- data = 245 bytes
- --------------
- total 358 bytes
+backup_id
+#
SELECT * FROM t1;
a
01 Test #1 - super privilege
diff -Nrup a/mysql-test/r/backup_snapshot.result b/mysql-test/r/backup_snapshot.result
--- a/mysql-test/r/backup_snapshot.result 2007-11-15 20:29:25 -05:00
+++ b/mysql-test/r/backup_snapshot.result 2007-11-29 09:26:04 -05:00
@@ -35,12 +35,8 @@ con3: Release lock on driver.
SELECT release_lock("backup_cs_locked");
release_lock("backup_cs_locked")
1
-Backup Summary
- header = 29 bytes
- meta-data = 184 bytes
- data = 320 bytes
- --------------
- total 533 bytes
+backup_id
+#
INSERT INTO bup_snapshot.t1 VALUES("- Yes");
INSERT INTO bup_snapshot.t1 VALUES("- Jethro Tull");
DELETE FROM bup_snapshot.t1 WHERE word LIKE '10%';
@@ -57,12 +53,8 @@ con1: Dropping the database
DROP TABLE bup_snapshot.t1;
con1: Restoring the database
RESTORE FROM "bup_snapshot.bak";
-Restore Summary
- header = 29 bytes
- meta-data = 184 bytes
- data = 320 bytes
- --------------
- total 533 bytes
+backup_id
+#
con1: Showing the data (no new data should be here).
SELECT * FROM bup_snapshot.t1 WHERE word LIKE '-%';
word
@@ -97,22 +89,14 @@ word
SELECT COUNT(*) FROM bup_snapshot.t1;
COUNT(*)
12
-Backup Summary
- header = 29 bytes
- meta-data = 184 bytes
- data = 320 bytes
- --------------
- total 533 bytes
+backup_id
+#
con1: Dropping the database
DROP TABLE bup_snapshot.t1;
con1: Restoring the database
RESTORE FROM "bup_snapshot.bak";
-Restore Summary
- header = 29 bytes
- meta-data = 184 bytes
- data = 320 bytes
- --------------
- total 533 bytes
+backup_id
+#
con1: Showing the data (no new data should be here).
SELECT * FROM bup_snapshot.t1 WHERE word LIKE '-%';
word
diff -Nrup a/mysql-test/t/backup.test b/mysql-test/t/backup.test
--- a/mysql-test/t/backup.test 2007-11-06 13:32:25 -05:00
+++ b/mysql-test/t/backup.test 2007-11-29 09:26:05 -05:00
@@ -96,6 +96,7 @@ INSERT INTO `tasking` VALUES ('333445555
UNLOCK TABLES;
+--replace_column 1 #
BACKUP DATABASE db1,db2 TO 'test.ba';
DROP DATABASE db1;
@@ -108,7 +109,8 @@ connection restore;
USE mysql;
-RESTORE FROM 'test.ba';
+--replace_column 1 # 2 # 3 # 4 # 10 # 11 # 12 #
+--query_vertical RESTORE FROM 'test.ba'
USE db1;
SHOW TABLES;
@@ -261,13 +263,15 @@ SELECT COUNT(*) FROM bup_default.t1_blob
SELECT COUNT(*) FROM bup_default.wide;
--query_vertical SELECT * FROM bup_default.wide;
+--replace_column 1 #
BACKUP DATABASE bup_default TO "bup_default.bak";
# Now restore the database and then check to make sure the data is there.
DROP DATABASE bup_default;
-RESTORE FROM "bup_default.bak";
+--replace_column 1 # 2 # 3 # 4 # 10 # 11 # 12 #
+--query_vertical RESTORE FROM "bup_default.bak"
# Show the data
diff -Nrup a/mysql-test/t/backup_commit_blocker.test b/mysql-test/t/backup_commit_blocker.test
--- a/mysql-test/t/backup_commit_blocker.test 2007-11-15 20:29:31 -05:00
+++ b/mysql-test/t/backup_commit_blocker.test 2007-11-29 09:26:05 -05:00
@@ -31,6 +31,14 @@
# strategically in the code to allow the threads to pause at the
# corresponding location for those goals above.
#
+# Notes
+# You must use a dedicated connection for getting and releasing locks.
+# Do not issue a get_lock() or release_lock() in the same connection
+# (thread) as code that calls BACKUP_BREAKPOINT(). Using the same connection
+# to get/release locks and run code that issues BACKUP_BREAKPOINTs will result
+# in an assertion using DEBUG_ASSERT(thd->ull == NULL) from debug_sync_point()
+# in item_func.cc.
+#
--source include/have_innodb.inc
--source include/have_debug.inc
@@ -247,6 +255,7 @@ COMMIT;
# Reconnect to con1 and let backup finish.
connection con1;
+--replace_column 1 #
reap;
# Now restore the database and then check to make sure the new rows
@@ -264,7 +273,8 @@ DROP TABLE bup_commit_blocker.t2;
DROP TABLE bup_commit_blocker.t3;
--echo con1: Restoring the database
-RESTORE FROM "bup_commit_blocker.bak";
+--replace_column 1 #
+ RESTORE FROM "bup_commit_blocker.bak";
--echo con1: Showing the data (no new data should be here).
SELECT * FROM bup_commit_blocker.t1;
@@ -336,6 +346,8 @@ INSERT INTO bup_commit_blocker.t5 VALUES
#SELECT * FROM bup_commit_blocker.t4;
SELECT * FROM bup_commit_blocker.t5;
+connection con5;
+
# Set the breakpoint for the commit blocker.
--echo con5: Getting lock on commit blocker.
SELECT get_lock("backup_commit_blocker", 0);
@@ -414,6 +426,7 @@ reap;
# Reconnect to con1 and let backup finish.
connection con1;
+--replace_column 1 #
reap;
# Now restore the database and then check to make sure the new rows
@@ -429,7 +442,8 @@ SELECT * FROM bup_commit_blocker.t5;
DROP TABLE bup_commit_blocker.t5;
--echo con1: Restoring the database
-RESTORE FROM "bup_commit_blocker.bak";
+--replace_column 1 #
+ RESTORE FROM "bup_commit_blocker.bak";
--echo con1: Showing the data (no new data should be here).
#SELECT * FROM bup_commit_blocker.t4;
@@ -698,6 +712,7 @@ reap;
# Reconnect to con1 and let backup finish.
connection con1;
+--replace_column 1 #
reap;
# Now restore the database and then check to make sure the new rows
@@ -719,6 +734,7 @@ DROP TABLE bup_commit_blocker.t3;
DROP TABLE bup_commit_blocker.t5;
--echo con1: Restoring the database
+--replace_column 1 #
RESTORE FROM "bup_commit_blocker.bak";
--echo con1: Showing the data (no new data should be here).
diff -Nrup a/mysql-test/t/backup_ddl_blocker.test b/mysql-test/t/backup_ddl_blocker.test
--- a/mysql-test/t/backup_ddl_blocker.test 2007-11-23 08:27:45 -05:00
+++ b/mysql-test/t/backup_ddl_blocker.test 2007-11-29 09:26:06 -05:00
@@ -40,6 +40,14 @@
#
# TODO : Add a native driver to the test when one becomes available
#
+# Notes
+# You must use a dedicated connection for getting and releasing locks.
+# Do not issue a get_lock() or release_lock() in the same connection
+# (thread) as code that calls BACKUP_BREAKPOINT(). Using the same connection
+# to get/release locks and run code that issues BACKUP_BREAKPOINTs will result
+# in an assertion using DEBUG_ASSERT(thd->ull == NULL) from debug_sync_point()
+# in item_func.cc.
+#
--source include/have_innodb.inc
--source include/have_debug.inc
@@ -207,6 +215,7 @@ reap;
# Reconnect to con1 and let backup finish.
connection con1;
+--replace_column 1 #
reap;
##############################################################
@@ -227,6 +236,7 @@ DROP TABLE bup_ddl_blocker.t1, bup_ddl_b
bup_ddl_blocker.t3, bup_ddl_blocker.t4;
--echo con1: Restoring the database
+--replace_column 1 #
RESTORE FROM "bup_ddl_blocker.bak";
--echo con1: Showing columns that were backed up
@@ -252,6 +262,7 @@ DESCRIBE bup_ddl_blocker.t4;
DROP TABLE bup_ddl_blocker.t1, bup_ddl_blocker.t3;
# Get a backup to work with.
+--replace_column 1 #
BACKUP DATABASE bup_ddl_blocker to 'bup_ddl_blocker_orig.bak';
connection con6;
@@ -355,6 +366,7 @@ reap;
# Reconnect to con1 and let backup finish.
connection con1;
+--replace_column 1 #
reap;
--echo
@@ -483,6 +495,7 @@ reap;
# Reconnect to con1 and let backup finish.
connection con1;
+--replace_column 1 #
reap;
##############################################################
@@ -501,6 +514,7 @@ DROP TABLE bup_ddl_blocker.t01, bup_ddl_
bup_ddl_blocker.t03, bup_ddl_blocker.t4;
--echo con1: Restoring the database
+--replace_column 1 #
RESTORE FROM "bup_ddl_blocker.bak";
--echo con1: Showing columns that were backed up
@@ -521,6 +535,7 @@ SHOW TABLES;
--source include/backup_ddl_create_data.inc
# Get a backup to work with.
+--replace_column 1 #
BACKUP DATABASE bup_ddl_blocker to 'bup_ddl_blocker_orig.bak';
connection con6;
@@ -624,6 +639,7 @@ reap;
# Reconnect to con1 and let backup finish.
connection con1;
+--replace_column 1 #
reap;
##############################################################
@@ -750,6 +766,7 @@ reap;
# Reconnect to con1 and let backup finish.
connection con1;
+--replace_column 1 #
reap;
##############################################################
@@ -767,6 +784,7 @@ SHOW TABLES;
DROP TABLE bup_ddl_blocker.t1, bup_ddl_blocker.t3;
--echo con1: Restoring the database
+--replace_column 1 #
RESTORE FROM "bup_ddl_blocker.bak";
--echo con1: Showing columns that were backed up
@@ -786,6 +804,7 @@ SHOW TABLES;
--source include/backup_ddl_create_data.inc
# Get a backup to work with.
+--replace_column 1 #
BACKUP DATABASE bup_ddl_blocker to 'bup_ddl_blocker_orig.bak';
connection con6;
@@ -889,6 +908,7 @@ reap;
# Reconnect to con1 and let backup finish.
connection con1;
+--replace_column 1 #
reap;
##############################################################
@@ -1041,6 +1061,7 @@ reap;
# Reconnect to con1 and let backup finish.
connection con1;
+--replace_column 1 #
reap;
##############################################################
@@ -1059,7 +1080,10 @@ DROP DATABASE bup_ddl_blocker_1;
DROP DATABASE bup_ddl_blocker_3;
--echo con1: Restoring the database
+--replace_column 1 #
+--disable_warnings
RESTORE FROM "bup_ddl_blocker.bak";
+--enable_warnings
--echo con1: Showing databases that were backed up
--echo con1: bup_ddl_blocker_2 and bup_ddl_blocker_3 are not present
@@ -1069,7 +1093,6 @@ SHOW DATABASES LIKE 'bup_ddl_blocker_%';
DROP DATABASE bup_ddl_blocker_1;
DROP DATABASE bup_ddl_blocker_4;
-
##############################################################
--echo
--echo Starting Test 4 - Restore
@@ -1105,6 +1128,7 @@ INSERT INTO bup_ddl_blocker_4.t1 VALUES
SHOW DATABASES LIKE 'bup_ddl_blocker_%';
# Get a backup to work with.
+--replace_column 1 #
BACKUP DATABASE bup_ddl_blocker_2, bup_ddl_blocker_4 to 'bup_ddl_blocker_orig.bak';
connection con6;
@@ -1208,6 +1232,7 @@ reap;
# Reconnect to con1 and let backup finish.
connection con1;
+--replace_column 1 #
reap;
##############################################################
@@ -1359,6 +1384,7 @@ reap;
# Reconnect to con1 and let backup finish.
connection con1;
+--replace_column 1 #
reap;
##############################################################
@@ -1384,6 +1410,7 @@ DROP DATABASE bup_ddl_blocker_2;
DROP DATABASE bup_ddl_blocker_4;
--echo con1: Restoring the database
+--replace_column 1 #
RESTORE FROM "bup_ddl_blocker.bak";
--echo con1: Showing databases that were backed up
@@ -1447,8 +1474,8 @@ INSERT INTO bup_ddl_blocker_4.t1 VALUES
SHOW DATABASES LIKE 'bup_ddl_blocker_%';
# Get a backup to work with.
-BACKUP DATABASE bup_ddl_blocker_2, bup_ddl_blocker_4
- to 'bup_ddl_blocker_orig.bak';
+--replace_column 1 #
+BACKUP DATABASE bup_ddl_blocker_2, bup_ddl_blocker_4 to 'bup_ddl_blocker_orig.bak';
connection con6;
@@ -1551,6 +1578,7 @@ reap;
# Reconnect to con1 and let backup finish.
connection con1;
+--replace_column 1 #
reap;
##############################################################
diff -Nrup a/mysql-test/t/backup_fkey.test b/mysql-test/t/backup_fkey.test
--- a/mysql-test/t/backup_fkey.test 2007-11-21 08:44:15 -05:00
+++ b/mysql-test/t/backup_fkey.test 2007-11-29 09:26:07 -05:00
@@ -49,6 +49,7 @@ INSERT INTO backup_fkey.child VALUES (4,
# Backup the database with fkey constraints preserved.
--echo Backup the database originally.
+--replace_column 1 #
BACKUP DATABASE backup_fkey TO 'backup_fkey_orig.bak';
# Turn off foreign key constraints to create a backup that has
@@ -63,6 +64,7 @@ DROP TABLE backup_fkey.parent;
# Backup only the child table.
--echo Backup the database without the parent table.
+--replace_column 1 #
BACKUP DATABASE backup_fkey TO 'backup_fkey.bak';
--echo Turn on foreign key constraints.
@@ -71,10 +73,12 @@ SHOW VARIABLES LIKE 'foreign_key_checks%
# Restore the database and ensure there are no errors.
--echo Now restore the database.
+--replace_column 1 #
RESTORE FROM 'backup_fkey.bak';
# Now restore the original files to show there are no problems
# restoring valid fkey relationships.
+--replace_column 1 #
RESTORE FROM 'backup_fkey_orig.bak';
--echo Show data
@@ -100,6 +104,7 @@ INSERT INTO backup_fkey.t1 VALUES ("06 T
INSERT INTO backup_fkey.t1 VALUES ("07 Test #2 - foreign key constraints");
--echo Backup the data
+--replace_column 1 #
BACKUP DATABASE backup_fkey TO 'backup_fkey.bak';
# Turn ON foreign key constraints and do restore then check result.
@@ -108,6 +113,7 @@ SET foreign_key_checks = 1;
SHOW VARIABLES LIKE 'foreign_key_checks%';
--echo Restoring data
+--replace_column 1 #
RESTORE FROM 'backup_fkey.bak';
--echo Verify foreign_key_checks = ON
@@ -118,6 +124,7 @@ SET foreign_key_checks = 0;
SHOW VARIABLES LIKE 'foreign_key_checks%';
--echo Restoring data
+--replace_column 1 #
RESTORE FROM 'backup_fkey.bak';
--echo Verify foreign_key_checks = OFF
diff -Nrup a/mysql-test/t/backup_no_data.test b/mysql-test/t/backup_no_data.test
--- a/mysql-test/t/backup_no_data.test 2007-11-06 13:32:26 -05:00
+++ b/mysql-test/t/backup_no_data.test 2007-11-29 09:26:07 -05:00
@@ -12,7 +12,9 @@ DROP DATABASE IF EXISTS empty_db;
CREATE DATABASE empty_db;
+--replace_column 1 #
BACKUP DATABASE empty_db TO 'empty_db.bak';
+--replace_column 1 #
BACKUP DATABASE * TO 'all.bak';
DROP DATABASE empty_db;
@@ -24,6 +26,7 @@ connection restore;
SHOW DATABASES;
+--replace_column 1 #
RESTORE FROM 'all.bak';
SHOW DATABASES;
@@ -31,11 +34,13 @@ SHOW DATABASES;
DROP DATABASE empty_db;
DROP DATABASE test;
+--replace_column 1 #
RESTORE FROM 'empty_db.bak';
SHOW DATABASES;
SHOW TABLES IN empty_db;
+--replace_column 1 #
RESTORE FROM 'all.bak';
SHOW DATABASES;
@@ -60,6 +65,7 @@ DROP VIEW IF EXISTS v1;
CREATE VIEW v1 AS SELECT * FROM test.t1;
+--replace_column 1 #
BACKUP DATABASE empty_db TO 'empty_db.bak';
disconnect backup;
@@ -68,6 +74,7 @@ connection restore;
SHOW DATABASES;
+--replace_column 1 #
RESTORE FROM 'empty_db.bak';
USE empty_db;
diff -Nrup a/mysql-test/t/backup_no_engine.test b/mysql-test/t/backup_no_engine.test
--- a/mysql-test/t/backup_no_engine.test 2007-11-06 13:32:27 -05:00
+++ b/mysql-test/t/backup_no_engine.test 2007-11-29 09:26:08 -05:00
@@ -17,12 +17,14 @@ ENGINE=myisam;
--copy_file $table_def $MYSQLTEST_VARDIR/master-data/db/t2.frm
# backup test database, the table with no storage engine will be ignored
+--replace_column 1 #
BACKUP DATABASE db TO "db.backup";
# wipe-out backed-up database
DROP DATABASE db;
CREATE DATABASE db;
+--replace_column 1 #
RESTORE FROM "db.backup";
# check that the table with no engine was excluded
diff -Nrup a/mysql-test/t/backup_progress.test b/mysql-test/t/backup_progress.test
--- /dev/null Wed Dec 31 16:00:00 196900
+++ b/mysql-test/t/backup_progress.test 2007-11-29 09:26:10 -05:00
@@ -0,0 +1,226 @@
+#
+# This test includes tests for ensuring the backup progress tables
+# are updated.
+#
+
+source include/have_log_bin.inc;
+source include/have_debug.inc;
+source include/have_innodb.inc;
+
+--disable_warnings
+DROP DATABASE IF EXISTS backup_progress;
+DROP TABLE IF EXISTS backup_progress.t1_res;
+--enable_warnings
+
+connect (con1,localhost,root,,);
+connect (con2,localhost,root,,);
+
+#
+# Test 1 - Check output of backup.
+#
+
+connection con1;
+
+CREATE DATABASE backup_progress;
+
+--echo con1: Create table and new users.
+
+CREATE TABLE backup_progress.t1 (a char(30)) ENGINE=MYISAM;
+CREATE TABLE backup_progress.t2 (a char(30)) ENGINE=INNODB;
+CREATE TABLE backup_progress.t3 (a char(30)) ENGINE=MEMORY;
+CREATE TABLE backup_progress.t1_res (id INT);
+
+INSERT INTO backup_progress.t1 VALUES ("01 Test #1 - progress");
+INSERT INTO backup_progress.t1 VALUES ("02 Test #1 - progress");
+INSERT INTO backup_progress.t1 VALUES ("03 Test #1 - progress");
+INSERT INTO backup_progress.t1 VALUES ("04 Test #1 - progress");
+INSERT INTO backup_progress.t1 VALUES ("05 Test #1 - progress");
+INSERT INTO backup_progress.t1 VALUES ("06 Test #1 - progress");
+INSERT INTO backup_progress.t1 VALUES ("07 Test #1 - progress");
+
+INSERT INTO backup_progress.t2 VALUES ("01 Test #1 - progress");
+INSERT INTO backup_progress.t2 VALUES ("02 Test #1 - progress");
+INSERT INTO backup_progress.t2 VALUES ("03 Test #1 - progress");
+INSERT INTO backup_progress.t2 VALUES ("04 Test #1 - progress");
+INSERT INTO backup_progress.t2 VALUES ("05 Test #1 - progress");
+INSERT INTO backup_progress.t2 VALUES ("06 Test #1 - progress");
+
+INSERT INTO backup_progress.t3 VALUES ("01 Test #1 - progress");
+INSERT INTO backup_progress.t3 VALUES ("02 Test #1 - progress");
+INSERT INTO backup_progress.t3 VALUES ("03 Test #1 - progress");
+INSERT INTO backup_progress.t3 VALUES ("04 Test #1 - progress");
+
+--echo Do backup of database
+
+SELECT get_lock("bp_starting_state", 0);
+
+connection con2;
+
+--echo con2: Send backup command.
+send BACKUP DATABASE backup_progress to 'backup_progress_orig.bak';
+
+connection con1;
+# Wait for lock to be acquired and execution to reach breakpoint
+--echo con1: Checking locks.
+let $wait_condition = SELECT state = "debug_sync_point: bp_starting_state"
+ FROM INFORMATION_SCHEMA.PROCESSLIST
+ WHERE info LIKE "BACKUP DATABASE %";
+--source include/wait_condition.inc
+
+# Wait for row to be written to progress table.
+--echo con1: Checking progress.
+let $wait_condition = SELECT backup_state = "starting"
+ FROM mysql.online_backup
+ WHERE command LIKE "BACKUP DATABASE backup_progress%";
+--source include/wait_condition.inc
+
+--echo: Display progress
+INSERT INTO backup_progress.t1_res (id) SELECT backup_id FROM mysql.online_backup WHERE command LIKE "BACKUP DATABASE backup_progress%";
+SELECT backup_state FROM mysql.online_backup AS ob JOIN backup_progress.t1_res as t1 ON ob.backup_id = t1.id;
+
+--echo con1: Advance the lock.
+SELECT get_lock("bp_running_state", 0);
+
+# Wait for lock to be acquired and execution to reach breakpoint
+--echo con1: Checking locks.
+let $wait_condition = SELECT state = "debug_sync_point: bp_running_state"
+ FROM INFORMATION_SCHEMA.PROCESSLIST
+ WHERE info LIKE "BACKUP DATABASE %";
+--source include/wait_condition.inc
+
+# Wait for row to be written to progress table.
+--echo con1: Checking progress.
+let $wait_condition = SELECT backup_state = "running"
+ FROM mysql.online_backup
+ WHERE command LIKE "BACKUP DATABASE backup_progress%";
+--source include/wait_condition.inc
+
+--echo: Display progress
+SELECT backup_state FROM mysql.online_backup AS ob JOIN backup_progress.t1_res as t1 ON ob.backup_id = t1.id;
+
+--echo con1: Advance the lock.
+SELECT get_lock("bp_vp_state", 0);
+
+# Wait for lock to be acquired and execution to reach breakpoint
+--echo con1: Checking locks.
+let $wait_condition = SELECT state = "debug_sync_point: bp_vp_state"
+ FROM INFORMATION_SCHEMA.PROCESSLIST
+ WHERE info LIKE "BACKUP DATABASE %";
+--source include/wait_condition.inc
+
+# Wait for row to be written to progress table.
+--echo con1: Checking progress.
+let $wait_condition = SELECT backup_state = "validity point"
+ FROM mysql.online_backup
+ WHERE command LIKE "BACKUP DATABASE backup_progress%";
+--source include/wait_condition.inc
+
+--echo: Display progress
+SELECT backup_state FROM mysql.online_backup AS ob JOIN backup_progress.t1_res as t1 ON ob.backup_id = t1.id;
+
+--echo con1: Advance the lock.
+SELECT get_lock("bp_running_state", 0);
+
+# Wait for lock to be acquired and execution to reach breakpoint
+--echo con1: Checking locks.
+let $wait_condition = SELECT state = "debug_sync_point: bp_running_state"
+ FROM INFORMATION_SCHEMA.PROCESSLIST
+ WHERE info LIKE "BACKUP DATABASE %";
+--source include/wait_condition.inc
+
+# Wait for row to be written to progress table.
+--echo con1: Checking progress.
+let $wait_condition = SELECT backup_state = "running"
+ FROM mysql.online_backup
+ WHERE command LIKE "BACKUP DATABASE backup_progress%";
+--source include/wait_condition.inc
+
+--echo: Display progress
+SELECT backup_state FROM mysql.online_backup AS ob JOIN backup_progress.t1_res as t1 ON ob.backup_id = t1.id;
+
+--echo con1: Advance the lock.
+SELECT release_lock("bp_running_state");
+
+connection con2;
+--echo con2: Finish backup command
+--replace_column 1 #
+reap;
+
+#Show results
+--replace_column 1 # 2 # 3 # 4 # 10 # 11 # 12 #
+--query_vertical SELECT ob.* FROM mysql.online_backup AS ob JOIN backup_progress.t1_res AS t1 ON ob.backup_id = t1.id;
+
+connection con1;
+
+--echo Do restore of database
+
+SELECT get_lock("bp_starting_state", 0);
+
+connection con2;
+
+DELETE FROM backup_progress.t1_res;
+
+--echo con2: Send restore command.
+send RESTORE FROM 'backup_progress_orig.bak';
+
+connection con1;
+# Wait for lock to be acquired and execution to reach breakpoint
+--echo con1: Checking locks.
+let $wait_condition = SELECT state = "debug_sync_point: bp_starting_state"
+ FROM INFORMATION_SCHEMA.PROCESSLIST
+ WHERE info LIKE "RESTORE FROM 'backup_progress_orig.bak'%";
+--source include/wait_condition.inc
+
+# Wait for row to be written to progress table.
+--echo con1: Checking progress.
+let $wait_condition = SELECT backup_state = "starting"
+ FROM mysql.online_backup
+ WHERE command LIKE "RESTORE FROM 'backup_progress_orig.bak'%";
+--source include/wait_condition.inc
+
+--echo: Display progress
+INSERT INTO backup_progress.t1_res (id) SELECT backup_id FROM mysql.online_backup WHERE command LIKE "BACKUP DATABASE backup_progress%";
+SELECT backup_state FROM mysql.online_backup AS ob JOIN backup_progress.t1_res as t1 ON ob.backup_id = t1.id;
+
+--echo con1: Advance the lock.
+SELECT get_lock("bp_running_state", 0);
+
+# Wait for lock to be acquired and execution to reach breakpoint
+--echo con1: Checking locks.
+let $wait_condition = SELECT state = "debug_sync_point: bp_running_state"
+ FROM INFORMATION_SCHEMA.PROCESSLIST
+ WHERE info LIKE "RESTORE FROM 'backup_progress_orig.bak'%";
+--source include/wait_condition.inc
+
+# Wait for row to be written to progress table.
+--echo con1: Checking progress.
+let $wait_condition = SELECT backup_state = "running"
+ FROM mysql.online_backup
+ WHERE command LIKE "RESTORE FROM 'backup_progress_orig.bak'%";
+--source include/wait_condition.inc
+
+--echo: Display progress
+SELECT backup_state FROM mysql.online_backup AS ob JOIN backup_progress.t1_res as t1 ON ob.backup_id = t1.id;
+
+--echo con1: Advance the lock.
+SELECT release_lock("bp_running_state");
+
+connection con2;
+--echo con2: Finish restore command
+--replace_column 1 #
+reap;
+
+#Show results
+--replace_column 1 # 2 # 3 # 4 # 10 # 11 # 12 #
+--query_vertical SELECT ob.* FROM mysql.online_backup AS ob JOIN backup_progress.t1_res AS t1 ON ob.backup_id = t1.id;
+
+connection con1;
+
+--replace_column 1 #
+--error 1049
+BACKUP DATABASE DOES_NOT_EXIST to 'backup_progress_orig.bak';
+
+DROP DATABASE backup_progress;
+
+remove_file $MYSQLTEST_VARDIR/master-data/backup_progress_orig.bak;
+
diff -Nrup a/mysql-test/t/backup_security.test b/mysql-test/t/backup_security.test
--- a/mysql-test/t/backup_security.test 2007-11-08 09:02:39 -05:00
+++ b/mysql-test/t/backup_security.test 2007-11-29 09:26:09 -05:00
@@ -35,9 +35,11 @@ GRANT ALL ON *.* TO 'bup_no_rights'@'%';
GRANT ALL ON *.* TO 'bup_with_rights'@'%';
REVOKE SUPER ON *.* FROM 'bup_no_rights'@'%';
GRANT SUPER ON *.* TO 'bup_with_rights'@'%';
+FLUSH PRIVILEGES;
--echo default: Do backup of database with default test user for later tests.
+--replace_column 1 #
BACKUP DATABASE backup_test to 'backup_test_orig.bak';
--echo default: Connect as user with no rights and attempt backup and restore.
@@ -46,11 +48,13 @@ connect (no_rights,localhost,bup_no_righ
connection no_rights;
--echo no_rights: Attempting backup. Should fail with error 1227
+--replace_column 1 #
--error 1227
BACKUP DATABASE backup_test to 'bup_no_rights.bak';
SHOW ERRORS;
--echo no_rights: Attempting restore. Should fail with error 1227
+--replace_column 1 #
--error 1227
RESTORE FROM 'bup_no_rights.bak';
SHOW ERRORS;
@@ -63,9 +67,11 @@ connect (with_rights,localhost,bup_with_
connection with_rights;
--echo no_rights: Attempting backup. Should succeed
+--replace_column 1 #
BACKUP DATABASE backup_test to 'bup_with_rights.bak';
--echo no_rights: Attempting restore. Should succeed
+--replace_column 1 #
RESTORE FROM 'bup_with_rights.bak';
SELECT * FROM t1;
@@ -74,6 +80,7 @@ connection default;
--echo default: Do restore to ensure it still works with default test user.
+--replace_column 1 #
RESTORE FROM 'backup_test_orig.bak';
SELECT * FROM t1;
diff -Nrup a/mysql-test/t/backup_snapshot.test b/mysql-test/t/backup_snapshot.test
--- a/mysql-test/t/backup_snapshot.test 2007-11-15 20:29:26 -05:00
+++ b/mysql-test/t/backup_snapshot.test 2007-11-29 09:26:09 -05:00
@@ -17,6 +17,14 @@
#
# The following tests test these conditions.
#
+# Notes
+# You must use a dedicated connection for getting and releasing locks.
+# Do not issue a get_lock() or release_lock() in the same connection
+# (thread) as code that calls BACKUP_BREAKPOINT(). Using the same connection
+# to get/release locks and run code that issues BACKUP_BREAKPOINTs will result
+# in an assertion using DEBUG_ASSERT(thd->ull == NULL) from debug_sync_point()
+# in item_func.cc.
+#
--source include/have_innodb.inc
--source include/have_debug.inc
@@ -107,7 +115,7 @@ let $wait_condition = SELECT count(*) =
SELECT release_lock("backup_cs_locked");
connection con1;
-
+--replace_column 1 #
reap;
connection con2;
@@ -130,6 +138,7 @@ connection con1;
DROP TABLE bup_snapshot.t1;
--echo con1: Restoring the database
+--replace_column 1 #
RESTORE FROM "bup_snapshot.bak";
--echo con1: Showing the data (no new data should be here).
@@ -197,7 +206,7 @@ SELECT * FROM bup_snapshot.t1 WHERE word
SELECT COUNT(*) FROM bup_snapshot.t1;
connection con1;
-
+--replace_column 1 #
reap;
# Now restore the database and then check to make sure the new rows
@@ -207,6 +216,7 @@ reap;
DROP TABLE bup_snapshot.t1;
--echo con1: Restoring the database
+--replace_column 1 #
RESTORE FROM "bup_snapshot.bak";
--echo con1: Showing the data (no new data should be here).