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-12-03 15:28:32-05:00, cbell@mysql_cab_desk. +24 -0
Fix mysql-6.0-rpl-merge tree
This patch repairs a number of defects for testing failures in pushbuild.
mysql-test/r/backup.result@stripped, 2007-12-03 15:28:01-05:00, cbell@mysql_cab_desk. +5 -5
Fix mysql-6.0-rpl-merge tree
New result file.
mysql-test/r/backup_commit_blocker.result@stripped, 2007-12-03 15:28:02-05:00, cbell@mysql_cab_desk. +73 -3
Fix mysql-6.0-rpl-merge tree
New result file.
mysql-test/r/backup_ddl_blocker.result@stripped, 2007-12-03 15:28:02-05:00, cbell@mysql_cab_desk. +257 -5
Fix mysql-6.0-rpl-merge tree
New result file.
mysql-test/r/backup_no_data.result@stripped, 2007-12-03 15:28:03-05:00, cbell@mysql_cab_desk. +1 -5
Fix mysql-6.0-rpl-merge tree
New result file.
mysql-test/r/backup_no_engine.result@stripped, 2007-12-03 15:28:04-05:00, cbell@mysql_cab_desk. +2 -2
Fix mysql-6.0-rpl-merge tree
New result file.
mysql-test/r/backup_progress.result@stripped, 2007-12-03 15:28:04-05:00, cbell@mysql_cab_desk. +1 -1
Fix mysql-6.0-rpl-merge tree
New result file.
mysql-test/r/backup_security.result@stripped, 2007-12-03 15:28:05-05:00, cbell@mysql_cab_desk. +3 -1
Fix mysql-6.0-rpl-merge tree
New result file.
mysql-test/t/backup.test@stripped, 2007-12-03 15:28:06-05:00, cbell@mysql_cab_desk. +6 -9
Fix mysql-6.0-rpl-merge tree
Change to 1 connection and remove myisam from test.
mysql-test/t/backup_commit_blocker.test@stripped, 2007-12-03 15:28:07-05:00, cbell@mysql_cab_desk. +56 -0
Fix mysql-6.0-rpl-merge tree
Remove myisam from test and add diagnostic output (for valgrind failures).
mysql-test/t/backup_ddl_blocker.test@stripped, 2007-12-03 15:28:07-05:00, cbell@mysql_cab_desk. +196 -5
Fix mysql-6.0-rpl-merge tree
Remove myisam from test and add diagnostic output (for valgrind failures).
mysql-test/t/backup_no_data.test@stripped, 2007-12-03 15:28:08-05:00, cbell@mysql_cab_desk. +1 -10
Fix mysql-6.0-rpl-merge tree
Change to 1 connection and remove myisam from test.
mysql-test/t/backup_no_engine.test@stripped, 2007-12-03 15:28:09-05:00, cbell@mysql_cab_desk. +1 -1
Fix mysql-6.0-rpl-merge tree
Remove myisam from test.
mysql-test/t/backup_progress.test@stripped, 2007-12-03 15:28:09-05:00, cbell@mysql_cab_desk. +1 -1
Fix mysql-6.0-rpl-merge tree
Remove myisam from test.
mysql-test/t/backup_security.test@stripped, 2007-12-03 15:28:10-05:00, cbell@mysql_cab_desk. +1 -1
Fix mysql-6.0-rpl-merge tree
Remove myisam from test.
sql/backup/backup_progress.cc@stripped, 2007-12-03 15:28:11-05:00, cbell@mysql_cab_desk. +9 -9
Fix mysql-6.0-rpl-merge tree
Remove my_time_t references for safer time_t variables.
sql/backup/backup_progress.h@stripped, 2007-12-03 15:28:11-05:00, cbell@mysql_cab_desk. +5 -5
Fix mysql-6.0-rpl-merge tree
Remove my_time_t references for safer time_t variables.
sql/backup/be_default.cc@stripped, 2007-12-03 15:28:12-05:00, cbell@mysql_cab_desk. +0 -1
Fix mysql-6.0-rpl-merge tree
Remove my_time_t references from driver.
sql/backup/be_default.h@stripped, 2007-12-03 15:28:13-05:00, cbell@mysql_cab_desk. +0 -2
Fix mysql-6.0-rpl-merge tree
Remove my_time_t references from driver.
sql/backup/catalog.cc@stripped, 2007-12-03 15:28:14-05:00, cbell@mysql_cab_desk. +1 -1
Fix mysql-6.0-rpl-merge tree
Remove my_time_t references for safer time_t variables.
sql/backup/catalog.h@stripped, 2007-12-03 15:28:14-05:00, cbell@mysql_cab_desk. +4 -4
Fix mysql-6.0-rpl-merge tree
Remove my_time_t references for safer time_t variables.
sql/backup/data_backup.cc@stripped, 2007-12-03 15:28:15-05:00, cbell@mysql_cab_desk. +1 -1
Fix mysql-6.0-rpl-merge tree
Remove my_time_t references for safer time_t variables.
sql/backup/kernel.cc@stripped, 2007-12-03 15:28:16-05:00, cbell@mysql_cab_desk. +3 -3
Fix mysql-6.0-rpl-merge tree
Remove my_time_t references for safer time_t variables.
sql/backup/stream_v1.c@stripped, 2007-12-03 15:28:16-05:00, cbell@mysql_cab_desk. +44 -12
Fix mysql-6.0-rpl-merge tree
Use method to safely convert to byte type.
sql/backup/stream_v1_transport.c@stripped, 2007-12-03 15:28:17-05:00, cbell@mysql_cab_desk. +14 -5
Fix mysql-6.0-rpl-merge tree
Use method to safely convert to byte type.
diff -Nrup a/mysql-test/r/backup.result b/mysql-test/r/backup.result
--- a/mysql-test/r/backup.result 2007-11-30 03:29:39 -05:00
+++ b/mysql-test/r/backup.result 2007-12-03 15:28:01 -05:00
@@ -13,7 +13,7 @@ Note 1051 Unknown table 'building'
CREATE TABLE `building` (
`dir_code` char(4),
`building` char(6)
-) ENGINE=myisam DEFAULT CHARSET=latin1;
+) ENGINE=MEMORY DEFAULT CHARSET=latin1;
LOCK TABLES `building` WRITE;
INSERT INTO `building` VALUES ('N41','1300'),('N01','1453'),('M00','1000'),('N41','1301'),('N41','1305');
UNLOCK TABLES;
@@ -24,7 +24,7 @@ CREATE TABLE `directorate` (
`dir_code` char(4),
`dir_name` char(30),
`dir_head_id` char(9)
-) ENGINE=myisam DEFAULT CHARSET=latin1;
+) ENGINE=MEMORY DEFAULT CHARSET=latin1;
LOCK TABLES `directorate` WRITE;
INSERT INTO `directorate` VALUES ('N41','Development','333445555'),('N01','Human Resources','123654321'),('M00','Management','333444444');
UNLOCK TABLES;
@@ -40,7 +40,7 @@ CREATE TABLE `staff` (
`sex` char(1),
`salary` int(11),
`mgr_id` char(9)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+) ENGINE=MEMORY DEFAULT CHARSET=latin1;
LOCK TABLES `staff` WRITE;
INSERT INTO `staff` VALUES ('333445555','John','Q','Smith','M',30000,'333444444'),('123763153','William','E','Walters','M',25000,'123654321'),('333444444','Alicia','F','St.Cruz','F',25000,NULL),('921312388','Goy','X','Hong','F',40000,'123654321'),('800122337','Rajesh','G','Kardakarna','M',38000,'333445555'),('820123637','Monty','C','Smythe','M',38000,'333445555'),('830132335','Richard','E','Jones','M',38000,'333445555'),('333445665','Edward','E','Engles','M',25000,'333445555'),('123654321','Beware','D','Borg','F',55000,'333444444'),('123456789','Wilma','N','Maxima','F',43000,'333445555');
UNLOCK TABLES;
@@ -127,9 +127,9 @@ CREATE TABLE bup_default.wide (
`p` char(255) DEFAULT NULL,
`q` TEXT,
PRIMARY KEY (`a`)
-) ENGINE=myisam DEFAULT CHARSET=latin1;
+) ENGINE=INNODB DEFAULT CHARSET=latin1;
CREATE TABLE bup_default.t1 (a int) engine=innodb;
-CREATE TABLE bup_default.t2 (a int) engine=myisam;
+CREATE TABLE bup_default.t2 (a int) engine=MEMORY;
CREATE TABLE bup_default.t1_blob (a int, b text) engine=innodb;
INSERT INTO bup_default.wide VALUES (
NULL,
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-30 03:29:51 -05:00
+++ b/mysql-test/r/backup_commit_blocker.result 2007-12-03 15:28:02 -05:00
@@ -62,19 +62,44 @@ get_lock("commit_blocker_step_1", 0)
con1: Backing up database -- will block with lock
BACKUP DATABASE bup_commit_blocker TO "bup_commit_blocker.bak";
con5: Checking lock
+SELECT state, info FROM
+INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "BACKUP DATABASE%";
+state info
+debug_sync_point: commit_blocker_step_1 BACKUP DATABASE bup_commit_blocker TO "bup_commit_blocker.bak"
con3: Starting commit -- will block with lock
COMMIT;
con5: Checking lock
+SELECT state, info FROM
+INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "COMMIT%";
+state info
+debug_sync_point: commit_blocker_step_1 COMMIT
con5: Getting lock on commit blocker.
SELECT get_lock("backup_commit_blocker", 0);
get_lock("backup_commit_blocker", 0)
1
con5: Checking lock
-con5: Checking lock
+SELECT state, info FROM
+INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "BACKUP DATABASE%";
+state info
+debug_sync_point: backup_commit_blocker BACKUP DATABASE bup_commit_blocker TO "bup_commit_blocker.bak"
+con5: Checking lock
+SELECT state, info FROM
+INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "COMMIT%";
+state info
+debug_sync_point: backup_commit_blocker COMMIT
con4: Starting begin -- will block with lock
Assumption (c): TRX not started is not included in backup
BEGIN;
con5: Checking lock
+SELECT state, info FROM
+INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "BEGIN%";
+state info
+debug_sync_point: backup_commit_blocker BEGIN
con5: Releasing lock
SELECT release_lock("backup_commit_blocker");
release_lock("backup_commit_blocker")
@@ -188,6 +213,11 @@ SELECT get_lock("commit_blocker_step_4",
get_lock("commit_blocker_step_4", 0)
1
con5: Checking lock
+SELECT state, info FROM
+INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "BACKUP DATABASE%";
+state info
+debug_sync_point: commit_blocker_step_4 BACKUP DATABASE bup_commit_blocker TO "bup_commit_blocker.bak"
con7: Show that the statement in progress has executed before backup.
SELECT * FROM bup_commit_blocker.t5;
col_a
@@ -200,6 +230,11 @@ con7: Starting non-trx about to start --
Assumption (e): non-TRX not started is not included in backup
UPDATE bup_commit_blocker.t5 SET col_a = 333 WHERE col_a = 30;
con5: Checking lock
+SELECT state, info FROM
+INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "UPDATE%";
+state info
+Waiting for release of readlock UPDATE bup_commit_blocker.t5 SET col_a = 333 WHERE col_a = 30
con5: Releasing locks
SELECT release_lock("commit_blocker_step_4");
release_lock("commit_blocker_step_4")
@@ -313,20 +348,50 @@ get_lock("commit_blocker_step_1", 0)
con1: Backing up database -- will block with lock
BACKUP DATABASE bup_commit_blocker TO "bup_commit_blocker.bak";
con5: Checking lock
+SELECT state, info FROM
+INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "BACKUP DATABASE%";
+state info
+debug_sync_point: commit_blocker_step_1 BACKUP DATABASE bup_commit_blocker TO "bup_commit_blocker.bak"
con3: Starting commit -- will block with lock
COMMIT;
con5: Checking lock
+SELECT state, info FROM
+INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "COMMIT%";
+state info
+debug_sync_point: commit_blocker_step_1 COMMIT
con5: Getting lock on commit blocker.
SELECT get_lock("backup_commit_blocker", 0);
get_lock("backup_commit_blocker", 0)
1
con5: Checking lock
-con5: Checking lock
+SELECT state, info FROM
+INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "BACKUP DATABASE%";
+state info
+debug_sync_point: backup_commit_blocker BACKUP DATABASE bup_commit_blocker TO "bup_commit_blocker.bak"
+con5: Checking lock
+SELECT state, info FROM
+INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "COMMIT%";
+state info
+debug_sync_point: backup_commit_blocker COMMIT
con4: Starting begin -- will block with lock
Assumption (c): TRX not started is not included in backup
BEGIN;
con5: Checking lock
-con5: Checking lock
+SELECT state, info FROM
+INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "BEGIN%";
+state info
+debug_sync_point: backup_commit_blocker BEGIN
+con5: Checking lock
+SELECT state, info FROM
+INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "BACKUP DATABASE%";
+state info
+debug_sync_point: backup_commit_blocker BACKUP DATABASE bup_commit_blocker TO "bup_commit_blocker.bak"
con7: Show that the statement in progress has executed before backup.
SELECT * FROM bup_commit_blocker.t5;
col_a
@@ -339,6 +404,11 @@ con7: Starting non-trx about to start --
Assumption (e): non-TRX not started is not included in backup
DELETE FROM bup_commit_blocker.t5 WHERE col_a = 50;
con5: Checking lock
+SELECT state, info FROM
+INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "DELETE%";
+state info
+Waiting for release of readlock DELETE FROM bup_commit_blocker.t5 WHERE col_a = 50
con5: Releasing lock
SELECT release_lock("backup_commit_blocker");
release_lock("backup_commit_blocker")
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-29 22:20:42 -05:00
+++ b/mysql-test/r/backup_ddl_blocker.result 2007-12-03 15:28:02 -05:00
@@ -34,15 +34,39 @@ ALTER TABLE bup_ddl_blocker.t2 ADD COLUM
con1: Backing up database -- will block with lock
BACKUP DATABASE bup_ddl_blocker TO "bup_ddl_blocker.bak";
con6: Checking locks
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "BACKUP DATABASE%";
+state info
+debug_sync_point: DDL_in_progress BACKUP DATABASE bup_ddl_blocker TO "bup_ddl_blocker.bak"
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "CREATE TABLE bup_ddl_blocker.t1%";
+state info
+debug_sync_point: DDL_in_progress CREATE TABLE bup_ddl_blocker.t1 (col_a CHAR(40)) ENGINE=INNODB
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "ALTER TABLE bup_ddl_blocker.t2%";
+state info
+debug_sync_point: DDL_in_progress ALTER TABLE bup_ddl_blocker.t2 ADD COLUMN col_b int
con6: Getting lock on DDL blocker.
SELECT get_lock("DDL_blocked", 0);
get_lock("DDL_blocked", 0)
1
con6: Checking locks
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "BACKUP DATABASE%";
+state info
+debug_sync_point: DDL_blocked BACKUP DATABASE bup_ddl_blocker TO "bup_ddl_blocker.bak"
con4: Try a DDL but it is blocked by backup -- will not be in backup
CREATE TABLE bup_ddl_blocker.t3 (col_a CHAR(40)) ENGINE=INNODB;
con5: Try a DDL but it is blocked by backup -- will not be in backup
ALTER TABLE bup_ddl_blocker.t4 ADD COLUMN col_b int;
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "CREATE TABLE bup_ddl_blocker.t3%";
+state info
+DDL blocker: DDL is blocked CREATE TABLE bup_ddl_blocker.t3 (col_a CHAR(40)) ENGINE=INNODB
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "ALTER TABLE bup_ddl_blocker.t4%";
+state info
+DDL blocker: DDL is blocked ALTER TABLE bup_ddl_blocker.t4 ADD COLUMN col_b int
con6: Releasing lock
SELECT release_lock("DDL_blocked");
release_lock("DDL_blocked")
@@ -131,15 +155,39 @@ ALTER TABLE bup_ddl_blocker.t2 ADD COLUM
con1: Restoring database -- will block with lock
RESTORE FROM "bup_ddl_blocker_orig.bak";
con6: Checking locks
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "RESTORE FROM%";
+state info
+debug_sync_point: DDL_in_progress RESTORE FROM "bup_ddl_blocker_orig.bak"
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "CREATE TABLE bup_ddl_blocker.t1%";
+state info
+debug_sync_point: DDL_in_progress CREATE TABLE bup_ddl_blocker.t1 (col_a CHAR(40)) ENGINE=INNODB
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "ALTER TABLE bup_ddl_blocker.t2%";
+state info
+debug_sync_point: DDL_in_progress ALTER TABLE bup_ddl_blocker.t2 ADD COLUMN col_b int
con6: Getting lock on DDL blocker.
SELECT get_lock("DDL_blocked", 0);
get_lock("DDL_blocked", 0)
1
con6: Checking locks
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "RESTORE FROM%";
+state info
+debug_sync_point: DDL_blocked RESTORE FROM "bup_ddl_blocker_orig.bak"
con4: Try a DDL but it is blocked by backup -- will not be in backup
CREATE TABLE bup_ddl_blocker.t3 (col_a CHAR(40)) ENGINE=INNODB;
con5: Try a DDL but it is blocked by backup -- will not be in backup
ALTER TABLE bup_ddl_blocker.t4 ADD COLUMN col_b int;
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "CREATE TABLE bup_ddl_blocker.t3%";
+state info
+DDL blocker: DDL is blocked CREATE TABLE bup_ddl_blocker.t3 (col_a CHAR(40)) ENGINE=INNODB
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "ALTER TABLE bup_ddl_blocker.t4%";
+state info
+DDL blocker: DDL is blocked ALTER TABLE bup_ddl_blocker.t4 ADD COLUMN col_b int
con6: Releasing lock
SELECT release_lock("DDL_blocked");
release_lock("DDL_blocked")
@@ -203,15 +251,39 @@ REPAIR TABLE bup_ddl_blocker.t2;
con1: Backing up database -- will block with lock
BACKUP DATABASE bup_ddl_blocker TO "bup_ddl_blocker.bak";
con6: Checking locks
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "BACKUP DATABASE%";
+state info
+debug_sync_point: DDL_in_progress BACKUP DATABASE bup_ddl_blocker TO "bup_ddl_blocker.bak"
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "RENAME TABLE bup_ddl_blocker.t1%";
+state info
+debug_sync_point: DDL_in_progress RENAME TABLE bup_ddl_blocker.t1 TO bup_ddl_blocker.t01
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "REPAIR TABLE bup_ddl_blocker.t2%";
+state info
+debug_sync_point: DDL_in_progress REPAIR TABLE bup_ddl_blocker.t2
con6: Getting lock on DDL blocker.
SELECT get_lock("DDL_blocked", 0);
get_lock("DDL_blocked", 0)
1
con6: Checking locks
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "BACKUP DATABASE%";
+state info
+debug_sync_point: DDL_blocked BACKUP DATABASE bup_ddl_blocker TO "bup_ddl_blocker.bak"
con4: Try a DDL but it is blocked by backup -- will not be in backup
RENAME TABLE bup_ddl_blocker.t3 TO bup_ddl_blocker.t03;
con5: Try a DDL but it is blocked by backup -- will not be in backup
REPAIR TABLE bup_ddl_blocker.t4;
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "RENAME TABLE bup_ddl_blocker.t3%";
+state info
+DDL blocker: DDL is blocked RENAME TABLE bup_ddl_blocker.t3 TO bup_ddl_blocker.t03
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "REPAIR TABLE bup_ddl_blocker.t4%";
+state info
+DDL blocker: DDL is blocked REPAIR TABLE bup_ddl_blocker.t4
con6: Releasing lock
SELECT release_lock("DDL_blocked");
release_lock("DDL_blocked")
@@ -291,15 +363,39 @@ REPAIR TABLE bup_ddl_blocker.t2;
con1: Restoring database -- will block with lock
RESTORE FROM "bup_ddl_blocker_orig.bak";
con6: Checking locks
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "RESTORE FROM%";
+state info
+debug_sync_point: DDL_in_progress RESTORE FROM "bup_ddl_blocker_orig.bak"
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "RENAME TABLE bup_ddl_blocker.t1%";
+state info
+debug_sync_point: DDL_in_progress RENAME TABLE bup_ddl_blocker.t1 TO bup_ddl_blocker.t01
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "REPAIR TABLE bup_ddl_blocker.t2%";
+state info
+debug_sync_point: DDL_in_progress REPAIR TABLE bup_ddl_blocker.t2
con6: Getting lock on DDL blocker.
SELECT get_lock("DDL_blocked", 0);
get_lock("DDL_blocked", 0)
1
con6: Checking locks
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "RESTORE FROM%";
+state info
+debug_sync_point: DDL_blocked RESTORE FROM "bup_ddl_blocker_orig.bak"
con4: Try a DDL but it is blocked by backup -- will not be in backup
RENAME TABLE bup_ddl_blocker.t3 TO bup_ddl_blocker.t03;
con5: Try a DDL but it is blocked by backup -- will not be in backup
REPAIR TABLE bup_ddl_blocker.t4;
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "RENAME TABLE bup_ddl_blocker.t3%";
+state info
+DDL blocker: DDL is blocked RENAME TABLE bup_ddl_blocker.t3 TO bup_ddl_blocker.t03
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "REPAIR TABLE bup_ddl_blocker.t4%";
+state info
+DDL blocker: DDL is blocked REPAIR TABLE bup_ddl_blocker.t4
con6: Releasing lock
SELECT release_lock("DDL_blocked");
release_lock("DDL_blocked")
@@ -359,15 +455,39 @@ DROP TABLE bup_ddl_blocker.t2;
con1: Backing up database -- will block with lock
BACKUP DATABASE bup_ddl_blocker TO "bup_ddl_blocker.bak";
con6: Checking locks
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "BACKUP DATABASE%";
+state info
+debug_sync_point: DDL_in_progress BACKUP DATABASE bup_ddl_blocker TO "bup_ddl_blocker.bak"
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "OPTIMIZE TABLE bup_ddl_blocker.t1%";
+state info
+debug_sync_point: DDL_in_progress OPTIMIZE TABLE bup_ddl_blocker.t1
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "DROP TABLE bup_ddl_blocker.t2%";
+state info
+debug_sync_point: DDL_in_progress DROP TABLE bup_ddl_blocker.t2
con6: Getting lock on DDL blocker.
SELECT get_lock("DDL_blocked", 0);
get_lock("DDL_blocked", 0)
1
con6: Checking locks
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "BACKUP DATABASE%";
+state info
+debug_sync_point: DDL_blocked BACKUP DATABASE bup_ddl_blocker TO "bup_ddl_blocker.bak"
con4: Try a DDL but it is blocked by backup -- will not be in backup
OPTIMIZE TABLE bup_ddl_blocker.t3;
con5: Try a DDL but it is blocked by backup -- will not be in backup
DROP TABLE bup_ddl_blocker.t4;
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "OPTIMIZE TABLE bup_ddl_blocker.t3%";
+state info
+DDL blocker: DDL is blocked OPTIMIZE TABLE bup_ddl_blocker.t3
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "DROP TABLE bup_ddl_blocker.t4%";
+state info
+DDL blocker: DDL is blocked DROP TABLE bup_ddl_blocker.t4
con6: Releasing lock
SELECT release_lock("DDL_blocked");
release_lock("DDL_blocked")
@@ -442,15 +562,39 @@ DROP TABLE bup_ddl_blocker.t2;
con1: Restoring database -- will block with lock
RESTORE FROM "bup_ddl_blocker_orig.bak";
con6: Checking locks
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "RESTORE FROM%";
+state info
+debug_sync_point: DDL_in_progress RESTORE FROM "bup_ddl_blocker_orig.bak"
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "OPTIMIZE TABLE bup_ddl_blocker.t1%";
+state info
+debug_sync_point: DDL_in_progress OPTIMIZE TABLE bup_ddl_blocker.t1
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "DROP TABLE bup_ddl_blocker.t2%";
+state info
+debug_sync_point: DDL_in_progress DROP TABLE bup_ddl_blocker.t2
con6: Getting lock on DDL blocker.
SELECT get_lock("DDL_blocked", 0);
get_lock("DDL_blocked", 0)
1
con6: Checking locks
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "RESTORE FROM%";
+state info
+debug_sync_point: DDL_blocked RESTORE FROM "bup_ddl_blocker_orig.bak"
con4: Try a DDL but it is blocked by backup -- will not be in backup
OPTIMIZE TABLE bup_ddl_blocker.t3;
con5: Try a DDL but it is blocked by backup -- will not be in backup
DROP TABLE bup_ddl_blocker.t4;
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "OPTIMIZE TABLE bup_ddl_blocker.t3%";
+state info
+DDL blocker: DDL is blocked OPTIMIZE TABLE bup_ddl_blocker.t3
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "DROP TABLE bup_ddl_blocker.t4%";
+state info
+DDL blocker: DDL is blocked DROP TABLE bup_ddl_blocker.t4
con6: Releasing lock
SELECT release_lock("DDL_blocked");
release_lock("DDL_blocked")
@@ -487,7 +631,7 @@ CREATE DATABASE bup_ddl_blocker_2;
CREATE DATABASE bup_ddl_blocker_4;
con1: Creating tables
CREATE TABLE bup_ddl_blocker_2.t1 (col_a CHAR(40)) ENGINE=INNODB;
-CREATE TABLE bup_ddl_blocker_4.t1 (col_a CHAR(40)) ENGINE=MYISAM;
+CREATE TABLE bup_ddl_blocker_4.t1 (col_a CHAR(40)) ENGINE=MEMORY;
con1: Loading data
INSERT INTO bup_ddl_blocker_2.t1 VALUES ("01 Some data to test");
INSERT INTO bup_ddl_blocker_2.t1 VALUES ("02 Some data to test");
@@ -511,15 +655,39 @@ DROP DATABASE bup_ddl_blocker_2;
con1: Backing up database -- will block with lock
BACKUP DATABASE * TO "bup_ddl_blocker.bak";
con6: Checking locks
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "BACKUP DATABASE%";
+state info
+debug_sync_point: DDL_in_progress BACKUP DATABASE * TO "bup_ddl_blocker.bak"
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "CREATE DATABASE bup_ddl_blocker_1%";
+state info
+debug_sync_point: DDL_in_progress CREATE DATABASE bup_ddl_blocker_1
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "DROP DATABASE bup_ddl_blocker_2%";
+state info
+debug_sync_point: DDL_in_progress DROP DATABASE bup_ddl_blocker_2
con6: Getting lock on DDL blocker.
SELECT get_lock("DDL_blocked", 0);
get_lock("DDL_blocked", 0)
1
con6: Checking locks
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "BACKUP DATABASE%";
+state info
+debug_sync_point: DDL_blocked BACKUP DATABASE * TO "bup_ddl_blocker.bak"
con4: Try a DDL but it is blocked by backup -- will not be in backup
CREATE DATABASE bup_ddl_blocker_3;
con5: Try a DDL but it is blocked by backup -- will not be in backup
DROP DATABASE bup_ddl_blocker_4;
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "CREATE DATABASE bup_ddl_blocker_3%";
+state info
+DDL blocker: DDL is blocked CREATE DATABASE bup_ddl_blocker_3
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "DROP DATABASE bup_ddl_blocker_4%";
+state info
+DDL blocker: DDL is blocked DROP DATABASE bup_ddl_blocker_4
con6: Releasing lock
SELECT release_lock("DDL_blocked");
release_lock("DDL_blocked")
@@ -567,7 +735,7 @@ CREATE DATABASE bup_ddl_blocker_2;
CREATE DATABASE bup_ddl_blocker_4;
con1: Creating tables
CREATE TABLE bup_ddl_blocker_2.t1 (col_a CHAR(40)) ENGINE=INNODB;
-CREATE TABLE bup_ddl_blocker_4.t1 (col_a CHAR(40)) ENGINE=MYISAM;
+CREATE TABLE bup_ddl_blocker_4.t1 (col_a CHAR(40)) ENGINE=MEMORY;
con1: Loading data
INSERT INTO bup_ddl_blocker_2.t1 VALUES ("01 Some data to test");
INSERT INTO bup_ddl_blocker_2.t1 VALUES ("02 Some data to test");
@@ -594,15 +762,39 @@ DROP DATABASE bup_ddl_blocker_2;
con1: Restoring database -- will block with lock
RESTORE FROM "bup_ddl_blocker_orig.bak";
con6: Checking locks
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "RESTORE FROM%";
+state info
+debug_sync_point: DDL_in_progress RESTORE FROM "bup_ddl_blocker_orig.bak"
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "CREATE DATABASE bup_ddl_blocker_1%";
+state info
+debug_sync_point: DDL_in_progress CREATE DATABASE bup_ddl_blocker_1
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "DROP DATABASE bup_ddl_blocker_2%";
+state info
+debug_sync_point: DDL_in_progress DROP DATABASE bup_ddl_blocker_2
con6: Getting lock on DDL blocker.
SELECT get_lock("DDL_blocked", 0);
get_lock("DDL_blocked", 0)
1
con6: Checking locks
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "RESTORE FROM%";
+state info
+debug_sync_point: DDL_blocked RESTORE FROM "bup_ddl_blocker_orig.bak"
con4: Try a DDL but it is blocked by backup -- will not be in backup
CREATE DATABASE bup_ddl_blocker_3;
con5: Try a DDL but it is blocked by backup -- will not be in backup
DROP DATABASE bup_ddl_blocker_4;
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "CREATE DATABASE bup_ddl_blocker_3%";
+state info
+DDL blocker: DDL is blocked CREATE DATABASE bup_ddl_blocker_3
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "DROP DATABASE bup_ddl_blocker_4%";
+state info
+DDL blocker: DDL is blocked DROP DATABASE bup_ddl_blocker_4
con6: Releasing lock
SELECT release_lock("DDL_blocked");
release_lock("DDL_blocked")
@@ -634,7 +826,7 @@ CREATE DATABASE bup_ddl_blocker_2 CHARAC
CREATE DATABASE bup_ddl_blocker_4 CHARACTER SET latin1;
con1: Creating tables
CREATE TABLE bup_ddl_blocker_2.t1 (col_a CHAR(40)) ENGINE=INNODB;
-CREATE TABLE bup_ddl_blocker_4.t1 (col_a CHAR(40)) ENGINE=MYISAM;
+CREATE TABLE bup_ddl_blocker_4.t1 (col_a CHAR(40)) ENGINE=MEMORY;
con1: Loading data
INSERT INTO bup_ddl_blocker_2.t1 VALUES ("01 Some data to test");
INSERT INTO bup_ddl_blocker_2.t1 VALUES ("02 Some data to test");
@@ -658,15 +850,39 @@ ALTER DATABASE bup_ddl_blocker_2 CHARACT
con1: Backing up database -- will block with lock
BACKUP DATABASE * TO "bup_ddl_blocker.bak";
con6: Checking locks
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "BACKUP DATABASE%";
+state info
+debug_sync_point: DDL_in_progress BACKUP DATABASE * TO "bup_ddl_blocker.bak"
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "TRUNCATE TABLE bup_ddl_blocker_2%";
+state info
+debug_sync_point: DDL_in_progress TRUNCATE TABLE bup_ddl_blocker_2.t1
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "ALTER DATABASE bup_ddl_blocker_2%";
+state info
+debug_sync_point: DDL_in_progress ALTER DATABASE bup_ddl_blocker_2 CHARACTER SET latin2
con6: Getting lock on DDL blocker.
SELECT get_lock("DDL_blocked", 0);
get_lock("DDL_blocked", 0)
1
con6: Checking locks
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "BACKUP DATABASE%";
+state info
+debug_sync_point: DDL_blocked BACKUP DATABASE * TO "bup_ddl_blocker.bak"
con4: Try a DDL but it is blocked by backup -- will not be in backup
TRUNCATE TABLE bup_ddl_blocker_4.t1;
con5: Try a DDL but it is blocked by backup -- will not be in backup
ALTER DATABASE bup_ddl_blocker_4 CHARACTER SET latin2;
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "ALTER DATABASE bup_ddl_blocker_4%";
+state info
+DDL blocker: DDL is blocked ALTER DATABASE bup_ddl_blocker_4 CHARACTER SET latin2
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "TRUNCATE TABLE bup_ddl_blocker_4%";
+state info
+DDL blocker: DDL is blocked TRUNCATE TABLE bup_ddl_blocker_4.t1
con6: Releasing lock
SELECT release_lock("DDL_blocked");
release_lock("DDL_blocked")
@@ -743,7 +959,7 @@ CREATE DATABASE bup_ddl_blocker_2 CHARAC
CREATE DATABASE bup_ddl_blocker_4 CHARACTER SET latin1;
con1: Creating tables
CREATE TABLE bup_ddl_blocker_2.t1 (col_a CHAR(40)) ENGINE=INNODB;
-CREATE TABLE bup_ddl_blocker_4.t1 (col_a CHAR(40)) ENGINE=MYISAM;
+CREATE TABLE bup_ddl_blocker_4.t1 (col_a CHAR(40)) ENGINE=MEMORY;
con1: Loading data
INSERT INTO bup_ddl_blocker_2.t1 VALUES ("01 Some data to test");
INSERT INTO bup_ddl_blocker_2.t1 VALUES ("02 Some data to test");
@@ -770,15 +986,39 @@ ALTER DATABASE bup_ddl_blocker_2 CHARACT
con1: Restoring database -- will block with lock
RESTORE FROM "bup_ddl_blocker_orig.bak";
con6: Checking locks
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "RESTORE FROM%";
+state info
+debug_sync_point: DDL_in_progress RESTORE FROM "bup_ddl_blocker_orig.bak"
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "ALTER DATABASE bup_ddl_blocker_2%";
+state info
+debug_sync_point: DDL_in_progress ALTER DATABASE bup_ddl_blocker_2 CHARACTER SET latin2
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "TRUNCATE TABLE bup_ddl_blocker_2%";
+state info
+debug_sync_point: DDL_in_progress TRUNCATE TABLE bup_ddl_blocker_2.t1
con6: Getting lock on DDL blocker.
SELECT get_lock("DDL_blocked", 0);
get_lock("DDL_blocked", 0)
1
con6: Checking locks
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "RESTORE FROM%";
+state info
+debug_sync_point: DDL_blocked RESTORE FROM "bup_ddl_blocker_orig.bak"
con4: Try a DDL but it is blocked by backup -- will not be in backup
TRUNCATE TABLE bup_ddl_blocker_4.t1;
con5: Try a DDL but it is blocked by backup -- will not be in backup
ALTER DATABASE bup_ddl_blocker_4 CHARACTER SET latin2;
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "TRUNCATE TABLE bup_ddl_blocker_4%";
+state info
+DDL blocker: DDL is blocked TRUNCATE TABLE bup_ddl_blocker_4.t1
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "ALTER DATABASE bup_ddl_blocker_4%";
+state info
+DDL blocker: DDL is blocked ALTER DATABASE bup_ddl_blocker_4 CHARACTER SET latin2
con6: Releasing lock
SELECT release_lock("DDL_blocked");
release_lock("DDL_blocked")
@@ -822,7 +1062,7 @@ DROP TABLE IF EXISTS test.t2;
DROP TABLE IF EXISTS bup_ddl_blocker.t1, bup_ddl_blocker.t3;
con1: Creating tables
CREATE TABLE bup_ddl_blocker.t1 (col_a CHAR(40)) ENGINE=INNODB;
-CREATE TABLE test.t2 (col_a CHAR(40)) ENGINE=MYISAM;
+CREATE TABLE test.t2 (col_a CHAR(40)) ENGINE=MEMORY;
CREATE TABLE bup_ddl_blocker.t3 (col_a CHAR(40)) ENGINE=MEMORY;
con1: Loading data
INSERT INTO bup_ddl_blocker.t1 VALUES ("01 Some data to test");
@@ -861,6 +1101,18 @@ ALTER TABLE test.t2 ADD COLUMN col_b int
con4: Get a DDL going and stop in the middle
ALTER TABLE bup_ddl_blocker.t3 ADD COLUMN col_b int;
con5: Checking locks
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "ALTER TABLE bup_ddl_blocker.t1%";
+state info
+debug_sync_point: DDL_not_blocked ALTER TABLE bup_ddl_blocker.t1 ADD COLUMN col_b int
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "ALTER TABLE test.t2%";
+state info
+debug_sync_point: DDL_not_blocked ALTER TABLE test.t2 ADD COLUMN col_b int
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "ALTER TABLE bup_ddl_blocker.t3%";
+state info
+debug_sync_point: DDL_not_blocked ALTER TABLE bup_ddl_blocker.t3 ADD COLUMN col_b int
con5: Releasing lock
SELECT release_lock("DDL_not_blocked");
release_lock("DDL_not_blocked")
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-30 03:29:53 -05:00
+++ b/mysql-test/r/backup_no_data.result 2007-12-03 15:28:03 -05:00
@@ -12,10 +12,6 @@ SHOW DATABASES;
Database
information_schema
mysql
-SHOW DATABASES;
-Database
-information_schema
-mysql
RESTORE FROM 'all.bak';
backup_id
#
@@ -55,7 +51,7 @@ Note 1051 Unknown table 't1'
CREATE TABLE t1 (
`dir_code` char(4),
`building` char(6)
-) ENGINE=myisam DEFAULT CHARSET=latin1;
+) ENGINE=MEMORY DEFAULT CHARSET=latin1;
USE empty_db;
DROP VIEW IF EXISTS v1;
CREATE VIEW v1 AS SELECT * FROM test.t1;
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-30 03:29:57 -05:00
+++ b/mysql-test/r/backup_no_engine.result 2007-12-03 15:28:04 -05:00
@@ -1,7 +1,7 @@
DROP DATABASE IF EXISTS db;
CREATE DATABASE db;
CREATE TABLE db.t1 (a int, b char(32))
-ENGINE=myisam;
+ENGINE=MEMORY;
BACKUP DATABASE db TO "db.backup";
backup_id
#
@@ -18,5 +18,5 @@ Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL,
`b` char(32) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
+) ENGINE=MEMORY DEFAULT CHARSET=latin1
DROP DATABASE db;
diff -Nrup a/mysql-test/r/backup_progress.result b/mysql-test/r/backup_progress.result
--- a/mysql-test/r/backup_progress.result 2007-11-30 10:54:18 -05:00
+++ b/mysql-test/r/backup_progress.result 2007-12-03 15:28:04 -05:00
@@ -3,7 +3,7 @@ DROP TABLE IF EXISTS backup_progress.t1_
SET GLOBAL debug="d,backup_debug";
CREATE DATABASE backup_progress;
con1: Create table and new users.
-CREATE TABLE backup_progress.t1 (a char(30)) ENGINE=MYISAM;
+CREATE TABLE backup_progress.t1 (a char(30)) ENGINE=MEMORY;
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);
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-30 03:30:01 -05:00
+++ b/mysql-test/r/backup_security.result 2007-12-03 15:28:05 -05:00
@@ -1,7 +1,7 @@
DROP DATABASE IF EXISTS backup_test;
CREATE DATABASE backup_test;
default: Create table and new users.
-CREATE TABLE backup_test.t1 (a char(30));
+CREATE TABLE backup_test.t1 (a char(30)) ENGINE=MEMORY;
INSERT INTO backup_test.t1 VALUES ("01 Test #1 - super privilege");
INSERT INTO backup_test.t1 VALUES ("02 Test #1 - super privilege");
INSERT INTO backup_test.t1 VALUES ("03 Test #1 - super privilege");
@@ -28,11 +28,13 @@ ERROR 42000: Access denied; you need the
SHOW ERRORS;
Level Code Message
Error 1227 Access denied; you need the SUPER privilege for this operation
+Error 1227 Access denied; you need the SUPER privilege for this operation
no_rights: Attempting restore. Should fail with error 1227
RESTORE FROM 'bup_no_rights.bak';
ERROR 42000: Access denied; you need the SUPER privilege for this operation
SHOW ERRORS;
Level Code Message
+Error 1227 Access denied; you need the SUPER privilege for this operation
Error 1227 Access denied; you need the SUPER privilege for this operation
SELECT * FROM backup_test.t1;
a
diff -Nrup a/mysql-test/t/backup.test b/mysql-test/t/backup.test
--- a/mysql-test/t/backup.test 2007-11-29 23:21:58 -05:00
+++ b/mysql-test/t/backup.test 2007-12-03 15:28:06 -05:00
@@ -2,7 +2,6 @@
--source include/not_embedded.inc
connect (backup,localhost,root,,);
-connect (restore,localhost,root,,);
connection backup;
@@ -16,13 +15,13 @@ USE db1;
# SHOW ENGINES;
-#SET @@storage_engine = 'myisam';
+#SET @@storage_engine = 'MEMORY';
DROP TABLE IF EXISTS `building`;
CREATE TABLE `building` (
`dir_code` char(4),
`building` char(6)
-) ENGINE=myisam DEFAULT CHARSET=latin1;
+) ENGINE=MEMORY DEFAULT CHARSET=latin1;
#
# Dumping data for table `building`
@@ -42,7 +41,7 @@ CREATE TABLE `directorate` (
`dir_code` char(4),
`dir_name` char(30),
`dir_head_id` char(9)
-) ENGINE=myisam DEFAULT CHARSET=latin1;
+) ENGINE=MEMORY DEFAULT CHARSET=latin1;
#
# Dumping data for table `directorate`
@@ -67,7 +66,7 @@ CREATE TABLE `staff` (
`sex` char(1),
`salary` int(11),
`mgr_id` char(9)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+) ENGINE=MEMORY DEFAULT CHARSET=latin1;
#
# Dumping data for table `staff`
@@ -106,8 +105,6 @@ DROP DATABASE db2;
#Disabled until SHOW commands are implemented.
#SHOW BACKUP 'test.ba';
-connection restore;
-
USE mysql;
--replace_column 1 # 2 # 3 # 4 # 10 # 11 # 12 #
@@ -162,10 +159,10 @@ CREATE TABLE bup_default.wide (
`p` char(255) DEFAULT NULL,
`q` TEXT,
PRIMARY KEY (`a`)
-) ENGINE=myisam DEFAULT CHARSET=latin1;
+) ENGINE=INNODB DEFAULT CHARSET=latin1;
CREATE TABLE bup_default.t1 (a int) engine=innodb;
-CREATE TABLE bup_default.t2 (a int) engine=myisam;
+CREATE TABLE bup_default.t2 (a int) engine=MEMORY;
CREATE TABLE bup_default.t1_blob (a int, b text) engine=innodb;
# Insert some 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-29 23:21:58 -05:00
+++ b/mysql-test/t/backup_commit_blocker.test 2007-12-03 15:28:07 -05:00
@@ -188,6 +188,10 @@ let $wait_condition = SELECT state = "de
WHERE info LIKE "BACKUP DATABASE%";
--source include/wait_condition.inc
+SELECT state, info FROM
+INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "BACKUP DATABASE%";
+
connection con3;
--echo con3: Starting commit -- will block with lock
@@ -202,6 +206,10 @@ let $wait_condition = SELECT state = "de
WHERE info LIKE "COMMIT%";
--source include/wait_condition.inc
+SELECT state, info FROM
+INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "COMMIT%";
+
# Set the breakpoint for the commit blocker.
--echo con5: Getting lock on commit blocker.
SELECT get_lock("backup_commit_blocker", 0);
@@ -213,6 +221,10 @@ let $wait_condition = SELECT state = "de
WHERE info LIKE "BACKUP DATABASE%";
--source include/wait_condition.inc
+SELECT state, info FROM
+INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "BACKUP DATABASE%";
+
# Wait for lock to be acquired and execution to reach breakpoint
--echo con5: Checking lock
let $wait_condition = SELECT state = "debug_sync_point: backup_commit_blocker"
@@ -220,6 +232,10 @@ let $wait_condition = SELECT state = "de
WHERE info LIKE "COMMIT%";
--source include/wait_condition.inc
+SELECT state, info FROM
+INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "COMMIT%";
+
connection con4;
--echo con4: Starting begin -- will block with lock
@@ -235,6 +251,10 @@ let $wait_condition = SELECT state = "de
WHERE info LIKE "BEGIN%";
--source include/wait_condition.inc
+SELECT state, info FROM
+INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "BEGIN%";
+
--echo con5: Releasing lock
SELECT release_lock("backup_commit_blocker");
@@ -393,6 +413,10 @@ let $wait_condition = SELECT state = "de
WHERE info LIKE "BACKUP DATABASE%";
--source include/wait_condition.inc
+SELECT state, info FROM
+INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "BACKUP DATABASE%";
+
connection con7;
--echo con7: Show that the statement in progress has executed before backup.
@@ -412,6 +436,10 @@ let $wait_condition = SELECT state = "Wa
WHERE info LIKE "UPDATE%";
--source include/wait_condition.inc
+SELECT state, info FROM
+INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "UPDATE%";
+
--echo con5: Releasing locks
SELECT release_lock("commit_blocker_step_4");
SELECT release_lock("backup_commit_blocker");
@@ -601,6 +629,10 @@ let $wait_condition = SELECT state = "de
WHERE info LIKE "BACKUP DATABASE%";
--source include/wait_condition.inc
+SELECT state, info FROM
+INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "BACKUP DATABASE%";
+
# Wait for lock to be acquired and execution to reach breakpoint
#--echo con5: Checking lock
#let $wait_condition = SELECT state = "debug_sync_point: commit_blocker_step_1"
@@ -622,6 +654,10 @@ let $wait_condition = SELECT state = "de
WHERE info LIKE "COMMIT%";
--source include/wait_condition.inc
+SELECT state, info FROM
+INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "COMMIT%";
+
# Set the breakpoint for the commit blocker.
--echo con5: Getting lock on commit blocker.
SELECT get_lock("backup_commit_blocker", 0);
@@ -633,6 +669,10 @@ let $wait_condition = SELECT state = "de
WHERE info LIKE "BACKUP DATABASE%";
--source include/wait_condition.inc
+SELECT state, info FROM
+INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "BACKUP DATABASE%";
+
# Wait for lock to be acquired and execution to reach breakpoint
--echo con5: Checking lock
let $wait_condition = SELECT state = "debug_sync_point: backup_commit_blocker"
@@ -640,6 +680,10 @@ let $wait_condition = SELECT state = "de
WHERE info LIKE "COMMIT%";
--source include/wait_condition.inc
+SELECT state, info FROM
+INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "COMMIT%";
+
connection con4;
--echo con4: Starting begin -- will block with lock
@@ -655,6 +699,10 @@ let $wait_condition = SELECT state = "de
WHERE info LIKE "BEGIN%";
--source include/wait_condition.inc
+SELECT state, info FROM
+INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "BEGIN%";
+
# Wait for lock to be acquired and execution to reach breakpoint
--echo con5: Checking lock
@@ -663,6 +711,10 @@ let $wait_condition = SELECT state = "de
WHERE info LIKE "BACKUP DATABASE%";
--source include/wait_condition.inc
+SELECT state, info FROM
+INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "BACKUP DATABASE%";
+
connection con7;
--echo con7: Show that the statement in progress has executed before backup.
@@ -681,6 +733,10 @@ let $wait_condition = SELECT state = "Wa
FROM INFORMATION_SCHEMA.PROCESSLIST
WHERE info LIKE "DELETE%";
--source include/wait_condition.inc
+
+SELECT state, info FROM
+INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "DELETE%";
--echo con5: Releasing lock
SELECT release_lock("backup_commit_blocker");
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-29 23:21:59 -05:00
+++ b/mysql-test/t/backup_ddl_blocker.test 2007-12-03 15:28:07 -05:00
@@ -150,16 +150,25 @@ let $wait_condition = SELECT state = "de
WHERE info LIKE "BACKUP DATABASE%";
--source include/wait_condition.inc
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "BACKUP DATABASE%";
+
let $wait_condition = SELECT state = "debug_sync_point: DDL_in_progress"
FROM INFORMATION_SCHEMA.PROCESSLIST
WHERE info LIKE "CREATE TABLE bup_ddl_blocker.t1%";
--source include/wait_condition.inc
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "CREATE TABLE bup_ddl_blocker.t1%";
+
let $wait_condition = SELECT state = "debug_sync_point: DDL_in_progress"
FROM INFORMATION_SCHEMA.PROCESSLIST
WHERE info LIKE "ALTER TABLE bup_ddl_blocker.t2%";
--source include/wait_condition.inc
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "ALTER TABLE bup_ddl_blocker.t2%";
+
# Now set the breakpoint for DDL blocker.
# This releases lock on DDL_in_progress stopping all DDLs.
--echo con6: Getting lock on DDL blocker.
@@ -173,6 +182,9 @@ let $wait_condition = SELECT state = "de
WHERE info LIKE "BACKUP DATABASE%";
--source include/wait_condition.inc
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "BACKUP DATABASE%";
+
connection con4;
--echo con4: Try a DDL but it is blocked by backup -- will not be in backup
@@ -190,11 +202,17 @@ let $wait_condition = SELECT state = "DD
WHERE info LIKE "CREATE TABLE bup_ddl_blocker.t3%";
--source include/wait_condition.inc
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "CREATE TABLE bup_ddl_blocker.t3%";
+
let $wait_condition = SELECT state = "DDL blocker: DDL is blocked"
FROM INFORMATION_SCHEMA.PROCESSLIST
WHERE info LIKE "ALTER TABLE bup_ddl_blocker.t4%";
--source include/wait_condition.inc
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "ALTER TABLE bup_ddl_blocker.t4%";
+
--echo con6: Releasing lock
SELECT release_lock("DDL_blocked");
@@ -301,16 +319,25 @@ let $wait_condition = SELECT state = "de
WHERE info LIKE "RESTORE FROM%";
--source include/wait_condition.inc
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "RESTORE FROM%";
+
let $wait_condition = SELECT state = "debug_sync_point: DDL_in_progress"
FROM INFORMATION_SCHEMA.PROCESSLIST
WHERE info LIKE "CREATE TABLE bup_ddl_blocker.t1%";
--source include/wait_condition.inc
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "CREATE TABLE bup_ddl_blocker.t1%";
+
let $wait_condition = SELECT state = "debug_sync_point: DDL_in_progress"
FROM INFORMATION_SCHEMA.PROCESSLIST
WHERE info LIKE "ALTER TABLE bup_ddl_blocker.t2%";
--source include/wait_condition.inc
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "ALTER TABLE bup_ddl_blocker.t2%";
+
# Now set the breakpoint for DDL blocker.
# This releases lock on DDL_in_progress stopping all DDLs.
--echo con6: Getting lock on DDL blocker.
@@ -324,6 +351,9 @@ let $wait_condition = SELECT state = "de
WHERE info LIKE "RESTORE FROM%";
--source include/wait_condition.inc
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "RESTORE FROM%";
+
connection con4;
--echo con4: Try a DDL but it is blocked by backup -- will not be in backup
@@ -341,11 +371,17 @@ let $wait_condition = SELECT state = "DD
WHERE info LIKE "CREATE TABLE bup_ddl_blocker.t3%";
--source include/wait_condition.inc
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "CREATE TABLE bup_ddl_blocker.t3%";
+
let $wait_condition = SELECT state = "DDL blocker: DDL is blocked"
FROM INFORMATION_SCHEMA.PROCESSLIST
WHERE info LIKE "ALTER TABLE bup_ddl_blocker.t4%";
--source include/wait_condition.inc
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "ALTER TABLE bup_ddl_blocker.t4%";
+
--echo con6: Releasing lock
SELECT release_lock("DDL_blocked");
@@ -430,16 +466,26 @@ let $wait_condition = SELECT state = "de
WHERE info LIKE "BACKUP DATABASE%";
--source include/wait_condition.inc
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "BACKUP DATABASE%";
+
let $wait_condition = SELECT state = "debug_sync_point: DDL_in_progress"
FROM INFORMATION_SCHEMA.PROCESSLIST
WHERE info LIKE "RENAME TABLE bup_ddl_blocker.t1%";
--source include/wait_condition.inc
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "RENAME TABLE bup_ddl_blocker.t1%";
+
let $wait_condition = SELECT state = "debug_sync_point: DDL_in_progress"
FROM INFORMATION_SCHEMA.PROCESSLIST
WHERE info LIKE "REPAIR TABLE bup_ddl_blocker.t2%";
--source include/wait_condition.inc
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "REPAIR TABLE bup_ddl_blocker.t2%";
+
+
# Now set the breakpoint for DDL blocker.
# This releases lock on DDL_in_progress stopping all DDLs.
--echo con6: Getting lock on DDL blocker.
@@ -453,6 +499,9 @@ let $wait_condition = SELECT state = "de
WHERE info LIKE "BACKUP DATABASE%";
--source include/wait_condition.inc
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "BACKUP DATABASE%";
+
connection con4;
--echo con4: Try a DDL but it is blocked by backup -- will not be in backup
@@ -470,11 +519,17 @@ let $wait_condition = SELECT state = "DD
WHERE info LIKE "RENAME TABLE bup_ddl_blocker.t3%";
--source include/wait_condition.inc
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "RENAME TABLE bup_ddl_blocker.t3%";
+
let $wait_condition = SELECT state = "DDL blocker: DDL is blocked"
FROM INFORMATION_SCHEMA.PROCESSLIST
WHERE info LIKE "REPAIR TABLE bup_ddl_blocker.t4%";
--source include/wait_condition.inc
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "REPAIR TABLE bup_ddl_blocker.t4%";
+
--echo con6: Releasing lock
SELECT release_lock("DDL_blocked");
@@ -574,16 +629,25 @@ let $wait_condition = SELECT state = "de
WHERE info LIKE "RESTORE FROM%";
--source include/wait_condition.inc
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "RESTORE FROM%";
+
let $wait_condition = SELECT state = "debug_sync_point: DDL_in_progress"
FROM INFORMATION_SCHEMA.PROCESSLIST
WHERE info LIKE "RENAME TABLE bup_ddl_blocker.t1%";
--source include/wait_condition.inc
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "RENAME TABLE bup_ddl_blocker.t1%";
+
let $wait_condition = SELECT state = "debug_sync_point: DDL_in_progress"
FROM INFORMATION_SCHEMA.PROCESSLIST
WHERE info LIKE "REPAIR TABLE bup_ddl_blocker.t2%";
--source include/wait_condition.inc
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "REPAIR TABLE bup_ddl_blocker.t2%";
+
# Now set the breakpoint for DDL blocker.
# This releases lock on DDL_in_progress stopping all DDLs.
--echo con6: Getting lock on DDL blocker.
@@ -597,6 +661,9 @@ let $wait_condition = SELECT state = "de
WHERE info LIKE "RESTORE FROM%";
--source include/wait_condition.inc
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "RESTORE FROM%";
+
connection con4;
--echo con4: Try a DDL but it is blocked by backup -- will not be in backup
@@ -614,11 +681,17 @@ let $wait_condition = SELECT state = "DD
WHERE info LIKE "RENAME TABLE bup_ddl_blocker.t3%";
--source include/wait_condition.inc
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "RENAME TABLE bup_ddl_blocker.t3%";
+
let $wait_condition = SELECT state = "DDL blocker: DDL is blocked"
FROM INFORMATION_SCHEMA.PROCESSLIST
WHERE info LIKE "REPAIR TABLE bup_ddl_blocker.t4%";
--source include/wait_condition.inc
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "REPAIR TABLE bup_ddl_blocker.t4%";
+
--echo con6: Releasing lock
SELECT release_lock("DDL_blocked");
@@ -701,16 +774,25 @@ let $wait_condition = SELECT state = "de
WHERE info LIKE "BACKUP DATABASE%";
--source include/wait_condition.inc
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "BACKUP DATABASE%";
+
let $wait_condition = SELECT state = "debug_sync_point: DDL_in_progress"
FROM INFORMATION_SCHEMA.PROCESSLIST
WHERE info LIKE "OPTIMIZE TABLE bup_ddl_blocker.t1%";
--source include/wait_condition.inc
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "OPTIMIZE TABLE bup_ddl_blocker.t1%";
+
let $wait_condition = SELECT state = "debug_sync_point: DDL_in_progress"
FROM INFORMATION_SCHEMA.PROCESSLIST
WHERE info LIKE "DROP TABLE bup_ddl_blocker.t2%";
--source include/wait_condition.inc
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "DROP TABLE bup_ddl_blocker.t2%";
+
# Now set the breakpoint for DDL blocker.
# This releases lock on DDL_in_progress stopping all DDLs.
--echo con6: Getting lock on DDL blocker.
@@ -724,6 +806,9 @@ let $wait_condition = SELECT state = "de
WHERE info LIKE "BACKUP DATABASE%";
--source include/wait_condition.inc
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "BACKUP DATABASE%";
+
connection con4;
--echo con4: Try a DDL but it is blocked by backup -- will not be in backup
@@ -741,11 +826,17 @@ let $wait_condition = SELECT state = "DD
WHERE info LIKE "OPTIMIZE TABLE bup_ddl_blocker.t3%";
--source include/wait_condition.inc
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "OPTIMIZE TABLE bup_ddl_blocker.t3%";
+
let $wait_condition = SELECT state = "DDL blocker: DDL is blocked"
FROM INFORMATION_SCHEMA.PROCESSLIST
WHERE info LIKE "DROP TABLE bup_ddl_blocker.t4%";
--source include/wait_condition.inc
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "DROP TABLE bup_ddl_blocker.t4%";
+
--echo con6: Releasing lock
SELECT release_lock("DDL_blocked");
@@ -843,16 +934,25 @@ let $wait_condition = SELECT state = "de
WHERE info LIKE "RESTORE FROM%";
--source include/wait_condition.inc
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "RESTORE FROM%";
+
let $wait_condition = SELECT state = "debug_sync_point: DDL_in_progress"
FROM INFORMATION_SCHEMA.PROCESSLIST
WHERE info LIKE "OPTIMIZE TABLE bup_ddl_blocker.t1%";
--source include/wait_condition.inc
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "OPTIMIZE TABLE bup_ddl_blocker.t1%";
+
let $wait_condition = SELECT state = "debug_sync_point: DDL_in_progress"
FROM INFORMATION_SCHEMA.PROCESSLIST
WHERE info LIKE "DROP TABLE bup_ddl_blocker.t2%";
--source include/wait_condition.inc
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "DROP TABLE bup_ddl_blocker.t2%";
+
# Now set the breakpoint for DDL blocker.
# This releases lock on DDL_in_progress stopping all DDLs.
--echo con6: Getting lock on DDL blocker.
@@ -866,6 +966,9 @@ let $wait_condition = SELECT state = "de
WHERE info LIKE "RESTORE FROM%";
--source include/wait_condition.inc
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "RESTORE FROM%";
+
connection con4;
--echo con4: Try a DDL but it is blocked by backup -- will not be in backup
@@ -883,11 +986,17 @@ let $wait_condition = SELECT state = "DD
WHERE info LIKE "OPTIMIZE TABLE bup_ddl_blocker.t3%";
--source include/wait_condition.inc
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "OPTIMIZE TABLE bup_ddl_blocker.t3%";
+
let $wait_condition = SELECT state = "DDL blocker: DDL is blocked"
FROM INFORMATION_SCHEMA.PROCESSLIST
WHERE info LIKE "DROP TABLE bup_ddl_blocker.t4%";
--source include/wait_condition.inc
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "DROP TABLE bup_ddl_blocker.t4%";
+
--echo con6: Releasing lock
SELECT release_lock("DDL_blocked");
@@ -950,7 +1059,7 @@ CREATE DATABASE bup_ddl_blocker_4;
# Create transaction tables and load them with data.
--echo con1: Creating tables
CREATE TABLE bup_ddl_blocker_2.t1 (col_a CHAR(40)) ENGINE=INNODB;
-CREATE TABLE bup_ddl_blocker_4.t1 (col_a CHAR(40)) ENGINE=MYISAM;
+CREATE TABLE bup_ddl_blocker_4.t1 (col_a CHAR(40)) ENGINE=MEMORY;
--echo con1: Loading data
INSERT INTO bup_ddl_blocker_2.t1 VALUES ("01 Some data to test");
@@ -996,16 +1105,25 @@ let $wait_condition = SELECT state = "de
WHERE info LIKE "BACKUP DATABASE%";
--source include/wait_condition.inc
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "BACKUP DATABASE%";
+
let $wait_condition = SELECT state = "debug_sync_point: DDL_in_progress"
FROM INFORMATION_SCHEMA.PROCESSLIST
WHERE info LIKE "CREATE DATABASE bup_ddl_blocker_1%";
--source include/wait_condition.inc
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "CREATE DATABASE bup_ddl_blocker_1%";
+
let $wait_condition = SELECT state = "debug_sync_point: DDL_in_progress"
FROM INFORMATION_SCHEMA.PROCESSLIST
WHERE info LIKE "DROP DATABASE bup_ddl_blocker_2%";
--source include/wait_condition.inc
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "DROP DATABASE bup_ddl_blocker_2%";
+
# Now set the breakpoint for DDL blocker.
# This releases lock on DDL_in_progress stopping all DDLs.
--echo con6: Getting lock on DDL blocker.
@@ -1019,6 +1137,9 @@ let $wait_condition = SELECT state = "de
WHERE info LIKE "BACKUP DATABASE%";
--source include/wait_condition.inc
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "BACKUP DATABASE%";
+
connection con4;
--echo con4: Try a DDL but it is blocked by backup -- will not be in backup
@@ -1036,11 +1157,17 @@ let $wait_condition = SELECT state = "DD
WHERE info LIKE "CREATE DATABASE bup_ddl_blocker_3%";
--source include/wait_condition.inc
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "CREATE DATABASE bup_ddl_blocker_3%";
+
let $wait_condition = SELECT state = "DDL blocker: DDL is blocked"
FROM INFORMATION_SCHEMA.PROCESSLIST
WHERE info LIKE "DROP DATABASE bup_ddl_blocker_4%";
--source include/wait_condition.inc
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "DROP DATABASE bup_ddl_blocker_4%";
+
--echo con6: Releasing lock
SELECT release_lock("DDL_blocked");
@@ -1117,7 +1244,7 @@ CREATE DATABASE bup_ddl_blocker_4;
# Create transaction tables and load them with data.
--echo con1: Creating tables
CREATE TABLE bup_ddl_blocker_2.t1 (col_a CHAR(40)) ENGINE=INNODB;
-CREATE TABLE bup_ddl_blocker_4.t1 (col_a CHAR(40)) ENGINE=MYISAM;
+CREATE TABLE bup_ddl_blocker_4.t1 (col_a CHAR(40)) ENGINE=MEMORY;
--echo con1: Loading data
INSERT INTO bup_ddl_blocker_2.t1 VALUES ("01 Some data to test");
@@ -1167,16 +1294,25 @@ let $wait_condition = SELECT state = "de
WHERE info LIKE "RESTORE FROM%";
--source include/wait_condition.inc
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "RESTORE FROM%";
+
let $wait_condition = SELECT state = "debug_sync_point: DDL_in_progress"
FROM INFORMATION_SCHEMA.PROCESSLIST
WHERE info LIKE "CREATE DATABASE bup_ddl_blocker_1%";
--source include/wait_condition.inc
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "CREATE DATABASE bup_ddl_blocker_1%";
+
let $wait_condition = SELECT state = "debug_sync_point: DDL_in_progress"
FROM INFORMATION_SCHEMA.PROCESSLIST
WHERE info LIKE "DROP DATABASE bup_ddl_blocker_2%";
--source include/wait_condition.inc
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "DROP DATABASE bup_ddl_blocker_2%";
+
# Now set the breakpoint for DDL blocker.
# This releases lock on DDL_in_progress stopping all DDLs.
--echo con6: Getting lock on DDL blocker.
@@ -1190,6 +1326,9 @@ let $wait_condition = SELECT state = "de
WHERE info LIKE "RESTORE FROM%";
--source include/wait_condition.inc
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "RESTORE FROM%";
+
connection con4;
--echo con4: Try a DDL but it is blocked by backup -- will not be in backup
@@ -1207,11 +1346,17 @@ let $wait_condition = SELECT state = "DD
WHERE info LIKE "CREATE DATABASE bup_ddl_blocker_3%";
--source include/wait_condition.inc
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "CREATE DATABASE bup_ddl_blocker_3%";
+
let $wait_condition = SELECT state = "DDL blocker: DDL is blocked"
FROM INFORMATION_SCHEMA.PROCESSLIST
WHERE info LIKE "DROP DATABASE bup_ddl_blocker_4%";
--source include/wait_condition.inc
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "DROP DATABASE bup_ddl_blocker_4%";
+
--echo con6: Releasing lock
SELECT release_lock("DDL_blocked");
@@ -1273,7 +1418,7 @@ CREATE DATABASE bup_ddl_blocker_4 CHARAC
# Create transaction tables and load them with data.
--echo con1: Creating tables
CREATE TABLE bup_ddl_blocker_2.t1 (col_a CHAR(40)) ENGINE=INNODB;
-CREATE TABLE bup_ddl_blocker_4.t1 (col_a CHAR(40)) ENGINE=MYISAM;
+CREATE TABLE bup_ddl_blocker_4.t1 (col_a CHAR(40)) ENGINE=MEMORY;
--echo con1: Loading data
@@ -1320,16 +1465,25 @@ let $wait_condition = SELECT state = "de
WHERE info LIKE "BACKUP DATABASE%";
--source include/wait_condition.inc
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "BACKUP DATABASE%";
+
let $wait_condition = SELECT state = "debug_sync_point: DDL_in_progress"
FROM INFORMATION_SCHEMA.PROCESSLIST
WHERE info LIKE "TRUNCATE TABLE bup_ddl_blocker_2%";
--source include/wait_condition.inc
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "TRUNCATE TABLE bup_ddl_blocker_2%";
+
let $wait_condition = SELECT state = "debug_sync_point: DDL_in_progress"
FROM INFORMATION_SCHEMA.PROCESSLIST
WHERE info LIKE "ALTER DATABASE bup_ddl_blocker_2%";
--source include/wait_condition.inc
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "ALTER DATABASE bup_ddl_blocker_2%";
+
# Now set the breakpoint for DDL blocker.
# This releases lock on DDL_in_progress stopping all DDLs.
--echo con6: Getting lock on DDL blocker.
@@ -1343,6 +1497,9 @@ let $wait_condition = SELECT state = "de
WHERE info LIKE "BACKUP DATABASE%";
--source include/wait_condition.inc
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "BACKUP DATABASE%";
+
connection con4;
--echo con4: Try a DDL but it is blocked by backup -- will not be in backup
@@ -1359,11 +1516,17 @@ let $wait_condition = SELECT state = "DD
WHERE info LIKE "ALTER DATABASE bup_ddl_blocker_4%";
--source include/wait_condition.inc
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "ALTER DATABASE bup_ddl_blocker_4%";
+
let $wait_condition = SELECT state = "DDL blocker: DDL is blocked"
FROM INFORMATION_SCHEMA.PROCESSLIST
WHERE info LIKE "TRUNCATE TABLE bup_ddl_blocker_4%";
--source include/wait_condition.inc
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "TRUNCATE TABLE bup_ddl_blocker_4%";
+
--echo con6: Releasing lock
SELECT release_lock("DDL_blocked");
@@ -1462,7 +1625,7 @@ CREATE DATABASE bup_ddl_blocker_4 CHARAC
# Create transaction tables and load them with data.
--echo con1: Creating tables
CREATE TABLE bup_ddl_blocker_2.t1 (col_a CHAR(40)) ENGINE=INNODB;
-CREATE TABLE bup_ddl_blocker_4.t1 (col_a CHAR(40)) ENGINE=MYISAM;
+CREATE TABLE bup_ddl_blocker_4.t1 (col_a CHAR(40)) ENGINE=MEMORY;
--echo con1: Loading data
@@ -1513,16 +1676,25 @@ let $wait_condition = SELECT state = "de
WHERE info LIKE "RESTORE FROM%";
--source include/wait_condition.inc
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "RESTORE FROM%";
+
let $wait_condition = SELECT state = "debug_sync_point: DDL_in_progress"
FROM INFORMATION_SCHEMA.PROCESSLIST
WHERE info LIKE "ALTER DATABASE bup_ddl_blocker_2%";
--source include/wait_condition.inc
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "ALTER DATABASE bup_ddl_blocker_2%";
+
let $wait_condition = SELECT state = "debug_sync_point: DDL_in_progress"
FROM INFORMATION_SCHEMA.PROCESSLIST
WHERE info LIKE "TRUNCATE TABLE bup_ddl_blocker_2%";
--source include/wait_condition.inc
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "TRUNCATE TABLE bup_ddl_blocker_2%";
+
# Now set the breakpoint for DDL blocker.
# This releases lock on DDL_in_progress stopping all DDLs.
--echo con6: Getting lock on DDL blocker.
@@ -1536,6 +1708,9 @@ let $wait_condition = SELECT state = "de
WHERE info LIKE "RESTORE FROM%";
--source include/wait_condition.inc
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "RESTORE FROM%";
+
connection con4;
--echo con4: Try a DDL but it is blocked by backup -- will not be in backup
@@ -1553,11 +1728,17 @@ let $wait_condition = SELECT state = "DD
WHERE info LIKE "TRUNCATE TABLE bup_ddl_blocker_4%";
--source include/wait_condition.inc
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "TRUNCATE TABLE bup_ddl_blocker_4%";
+
let $wait_condition = SELECT state = "DDL blocker: DDL is blocked"
FROM INFORMATION_SCHEMA.PROCESSLIST
WHERE info LIKE "ALTER DATABASE bup_ddl_blocker_4%";
--source include/wait_condition.inc
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "ALTER DATABASE bup_ddl_blocker_4%";
+
--echo con6: Releasing lock
SELECT release_lock("DDL_blocked");
@@ -1648,7 +1829,7 @@ DROP TABLE IF EXISTS bup_ddl_blocker.t1,
# Create transaction tables and load them with data.
--echo con1: Creating tables
CREATE TABLE bup_ddl_blocker.t1 (col_a CHAR(40)) ENGINE=INNODB;
-CREATE TABLE test.t2 (col_a CHAR(40)) ENGINE=MYISAM;
+CREATE TABLE test.t2 (col_a CHAR(40)) ENGINE=MEMORY;
CREATE TABLE bup_ddl_blocker.t3 (col_a CHAR(40)) ENGINE=MEMORY;
--echo con1: Loading data
@@ -1699,16 +1880,25 @@ let $wait_condition = SELECT state = "de
WHERE info LIKE "ALTER TABLE bup_ddl_blocker.t1%";
--source include/wait_condition.inc
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "ALTER TABLE bup_ddl_blocker.t1%";
+
let $wait_condition = SELECT state = "debug_sync_point: DDL_not_blocked"
FROM INFORMATION_SCHEMA.PROCESSLIST
WHERE info LIKE "ALTER TABLE test.t2%";
--source include/wait_condition.inc
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "ALTER TABLE test.t2%";
+
let $wait_condition = SELECT state = "debug_sync_point: DDL_not_blocked"
FROM INFORMATION_SCHEMA.PROCESSLIST
WHERE info LIKE "ALTER TABLE bup_ddl_blocker.t3%";
--source include/wait_condition.inc
+SELECT state, info FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE info LIKE "ALTER TABLE bup_ddl_blocker.t3%";
+
--echo con5: Releasing lock
SELECT release_lock("DDL_not_blocked");
@@ -1762,6 +1952,7 @@ DROP DATABASE bup_ddl_blocker;
remove_file $MYSQLTEST_VARDIR/master-data/bup_ddl_blocker_orig.bak;
remove_file $MYSQLTEST_VARDIR/master-data/bup_ddl_blocker.bak;
+
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-29 23:22:01 -05:00
+++ b/mysql-test/t/backup_no_data.test 2007-12-03 15:28:08 -05:00
@@ -1,7 +1,6 @@
--source include/not_embedded.inc
connect (backup,localhost,root,,);
-connect (restore,localhost,root,,);
connection backup;
@@ -24,10 +23,6 @@ DROP DATABASE test;
SHOW DATABASES;
-connection restore;
-
-SHOW DATABASES;
-
--replace_column 1 #
RESTORE FROM 'all.bak';
@@ -57,7 +52,7 @@ DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
`dir_code` char(4),
`building` char(6)
-) ENGINE=myisam DEFAULT CHARSET=latin1;
+) ENGINE=MEMORY DEFAULT CHARSET=latin1;
USE empty_db;
@@ -69,10 +64,6 @@ CREATE VIEW v1 AS SELECT * FROM test.t1;
--replace_column 1 #
BACKUP DATABASE empty_db TO 'empty_db.bak';
-
-disconnect backup;
-
-connection restore;
SHOW DATABASES;
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-29 23:22:02 -05:00
+++ b/mysql-test/t/backup_no_engine.test 2007-12-03 15:28:09 -05:00
@@ -13,7 +13,7 @@ DROP DATABASE IF EXISTS db;
CREATE DATABASE db;
CREATE TABLE db.t1 (a int, b char(32))
-ENGINE=myisam;
+ENGINE=MEMORY;
# copy description of a table using non-existent storage engine
--copy_file $table_def $MYSQLTEST_VARDIR/master-data/db/t2.frm
diff -Nrup a/mysql-test/t/backup_progress.test b/mysql-test/t/backup_progress.test
--- a/mysql-test/t/backup_progress.test 2007-11-29 23:22:02 -05:00
+++ b/mysql-test/t/backup_progress.test 2007-12-03 15:28:09 -05:00
@@ -29,7 +29,7 @@ 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.t1 (a char(30)) ENGINE=MEMORY;
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);
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-29 23:22:03 -05:00
+++ b/mysql-test/t/backup_security.test 2007-12-03 15:28:10 -05:00
@@ -19,7 +19,7 @@ CREATE DATABASE backup_test;
--echo default: Create table and new users.
-CREATE TABLE backup_test.t1 (a char(30));
+CREATE TABLE backup_test.t1 (a char(30)) ENGINE=MEMORY;
INSERT INTO backup_test.t1 VALUES ("01 Test #1 - super privilege");
INSERT INTO backup_test.t1 VALUES ("02 Test #1 - super privilege");
diff -Nrup a/sql/backup/backup_progress.cc b/sql/backup/backup_progress.cc
--- a/sql/backup/backup_progress.cc 2007-11-30 11:02:34 -05:00
+++ b/sql/backup/backup_progress.cc 2007-12-03 15:28:11 -05:00
@@ -240,7 +240,7 @@ int update_online_backup_int_field(ulong
int update_online_backup_datetime_field(ulonglong backup_id,
const char *table_name,
enum_ob_table_field fld,
- my_time_t value)
+ time_t value)
{
TABLE *table= NULL; // table to open
TABLE_LIST tables; // List of tables (1 in this case)
@@ -273,7 +273,7 @@ int update_online_backup_datetime_field(
if (value)
{
MYSQL_TIME time;
- my_tz_OFFSET0->gmt_sec_to_TIME(&time, value);
+ my_tz_OFFSET0->gmt_sec_to_TIME(&time, (my_time_t)value);
table->field[fld]->set_notnull();
table->field[fld]->store_time(&time, MYSQL_TIMESTAMP_DATETIME);
@@ -577,8 +577,8 @@ int report_ob_size(ulonglong backup_id,
@returns 1 = failed to find row
*/
int report_ob_time(ulonglong backup_id,
- my_time_t start,
- my_time_t stop)
+ time_t start,
+ time_t stop)
{
int ret= 0; // return value
@@ -605,7 +605,7 @@ int report_ob_time(ulonglong backup_id,
@returns 1 = failed to find row
*/
int report_ob_vp_time(ulonglong backup_id,
- my_time_t vp_time)
+ time_t vp_time)
{
int ret= 0; // return value
@@ -742,8 +742,8 @@ int report_ob_state(ulonglong backup_id,
*/
int report_ob_progress(ulonglong backup_id,
const char *object,
- my_time_t start,
- my_time_t stop,
+ time_t start,
+ time_t stop,
longlong size,
longlong progress,
int error_num,
@@ -800,7 +800,7 @@ int report_ob_progress(ulonglong backup_
if (start)
{
MYSQL_TIME time;
- my_tz_OFFSET0->gmt_sec_to_TIME(&time, start);
+ my_tz_OFFSET0->gmt_sec_to_TIME(&time, (my_time_t)start);
table->field[ET_FIELD_PROG_START_TIME]->set_notnull();
table->field[ET_FIELD_PROG_START_TIME]->store_time(&time, MYSQL_TIMESTAMP_DATETIME);
@@ -809,7 +809,7 @@ int report_ob_progress(ulonglong backup_
if (stop)
{
MYSQL_TIME time;
- my_tz_OFFSET0->gmt_sec_to_TIME(&time, stop);
+ my_tz_OFFSET0->gmt_sec_to_TIME(&time, (my_time_t)stop);
table->field[ET_FIELD_PROG_STOP_TIME]->set_notnull();
table->field[ET_FIELD_PROG_STOP_TIME]->store_time(&time, MYSQL_TIMESTAMP_DATETIME);
diff -Nrup a/sql/backup/backup_progress.h b/sql/backup/backup_progress.h
--- a/sql/backup/backup_progress.h 2007-11-30 10:54:18 -05:00
+++ b/sql/backup/backup_progress.h 2007-12-03 15:28:11 -05:00
@@ -149,15 +149,15 @@ int report_ob_size(ulonglong backup_id,
for stop).
*/
int report_ob_time(ulonglong backup_id,
- my_time_t start,
- my_time_t stop);
+ time_t start,
+ time_t stop);
/*
This method updates the validity point time for the backup operation
identified by backup_id.
*/
int report_ob_vp_time(ulonglong backup_id,
- my_time_t vp_time);
+ time_t vp_time);
/*
This method updates the engines information for the backup operation
@@ -172,8 +172,8 @@ int report_ob_engines(ulonglong backup_i
*/
int report_ob_progress(ulonglong backup_id,
const char *object,
- my_time_t start,
- my_time_t stop,
+ time_t start,
+ time_t stop,
longlong size,
longlong progress,
int error_num,
diff -Nrup a/sql/backup/be_default.cc b/sql/backup/be_default.cc
--- a/sql/backup/be_default.cc 2007-11-29 20:39:07 -05:00
+++ b/sql/backup/be_default.cc 2007-12-03 15:28:12 -05:00
@@ -601,7 +601,6 @@ result_t Restore::truncate_table(TABLE *
*/
if ((last_write_res != 0) && (last_write_res != HA_ERR_WRONG_COMMAND))
DBUG_RETURN(ERROR);
- table_access_start= (my_time_t)my_time(0);
num_rows= 0;
DBUG_RETURN(OK);
}
diff -Nrup a/sql/backup/be_default.h b/sql/backup/be_default.h
--- a/sql/backup/be_default.h 2007-11-30 03:28:56 -05:00
+++ b/sql/backup/be_default.h 2007-12-03 15:28:13 -05:00
@@ -192,8 +192,6 @@ class Restore: public Restore_driver
int blob_ptr_index; ///< Position in blob pointer list
THD *m_thd; ///< Pointer to current thread struct.
TABLE_LIST *all_tables; ///< Reference to list of tables used.
- my_time_t table_access_start; ///< Start of current table access
- my_time_t table_access_stop; ///< End of current table access
ulonglong num_rows; ///< Number of rows in table
uint unpack(byte *packed_row);
diff -Nrup a/sql/backup/catalog.cc b/sql/backup/catalog.cc
--- a/sql/backup/catalog.cc 2007-11-30 10:54:19 -05:00
+++ b/sql/backup/catalog.cc 2007-12-03 15:28:14 -05:00
@@ -67,7 +67,7 @@ Image_info::~Image_info()
}
-void Image_info::save_time(const my_time_t t, bstream_time_t &buf)
+void Image_info::save_time(const time_t t, bstream_time_t &buf)
{
struct tm time;
gmtime_r(&t,&time);
diff -Nrup a/sql/backup/catalog.h b/sql/backup/catalog.h
--- a/sql/backup/catalog.h 2007-11-30 10:54:19 -05:00
+++ b/sql/backup/catalog.h 2007-12-03 15:28:14 -05:00
@@ -51,13 +51,13 @@ class Image_info: public st_bstream_imag
virtual ~Image_info();
- void save_start_time(const my_time_t time)
+ void save_start_time(const time_t time)
{ save_time(time, start_time); }
- void save_end_time(const my_time_t time)
+ void save_end_time(const time_t time)
{ save_time(time, end_time); }
- void save_vp_time(const my_time_t time)
+ void save_vp_time(const time_t time)
{ save_time(time, vp_time); }
protected:
@@ -145,7 +145,7 @@ class Image_info: public st_bstream_imag
String create_stmt_buf;
- void save_time(const my_time_t, bstream_time_t&);
+ void save_time(const time_t, bstream_time_t&);
// friends
diff -Nrup a/sql/backup/data_backup.cc b/sql/backup/data_backup.cc
--- a/sql/backup/data_backup.cc 2007-11-30 10:54:19 -05:00
+++ b/sql/backup/data_backup.cc 2007-12-03 15:28:15 -05:00
@@ -473,7 +473,7 @@ int write_table_data(THD* thd, Backup_in
Scheduler sch(s,&info); // scheduler instance
List<Scheduler::Pump> inactive; // list of images not yet being created
size_t max_init_size=0; // keeps maximal init size for images in inactive list
- my_time_t vp_time; // to store validity point time
+ time_t vp_time; // to store validity point time
DBUG_PRINT("backup/data",("initializing scheduler"));
diff -Nrup a/sql/backup/kernel.cc b/sql/backup/kernel.cc
--- a/sql/backup/kernel.cc 2007-11-30 14:44:49 -05:00
+++ b/sql/backup/kernel.cc 2007-12-03 15:28:16 -05:00
@@ -21,7 +21,7 @@
#include "backup_aux.h"
#include "stream.h"
#include "backup_kernel.h"
-#include "catalog.h"
+#include "catalog.h"
#include "debug.h"
#include "be_native.h"
#include "be_default.h"
@@ -83,7 +83,7 @@ int
execute_backup_command(THD *thd, LEX *lex)
{
ulonglong backup_prog_id= 0;
- my_time_t start=0, stop=0;
+ time_t start=0, stop=0;
DBUG_ENTER("execute_backup_command");
DBUG_ASSERT(thd && lex);
@@ -97,7 +97,7 @@ execute_backup_command(THD *thd, LEX *le
*/
if (check_global_access(thd, SUPER_ACL))
{
- my_error(ER_SPECIFIC_ACCESS_DENIED_ERROR,MYF(0));
+ my_error(ER_SPECIFIC_ACCESS_DENIED_ERROR, MYF(0), "SUPER");
DBUG_RETURN(ER_SPECIFIC_ACCESS_DENIED_ERROR);
}
diff -Nrup a/sql/backup/stream_v1.c b/sql/backup/stream_v1.c
--- a/sql/backup/stream_v1.c 2007-11-30 15:14:08 -05:00
+++ b/sql/backup/stream_v1.c 2007-12-03 15:28:16 -05:00
@@ -42,7 +42,6 @@ typedef bstream_blob blob;
/* this is needed for seamless compilation on windows */
#define bzero(A,B) memset((A),0,(B))
-
/*
Macros used to test results of functions writing/reading backup stream.
@@ -90,6 +89,36 @@ int bstream_read_part(backup_stream*, bs
int bstream_read_blob(backup_stream*, bstream_blob);
int bstream_skip(backup_stream*, unsigned long int);
+/* Helper functions to safely convert values to byte type. */
+byte get_byte_ulong(unsigned long int value)
+{
+ ASSERT(value < 256);
+ return (byte)value;
+}
+
+byte get_byte_uint(unsigned int value)
+{
+ ASSERT(value < 256);
+ return (byte)value;
+}
+
+byte get_byte_short(short value)
+{
+ ASSERT(value < 256);
+ return (byte)value;
+}
+
+byte get_byte_ushort(unsigned short value)
+{
+ ASSERT(value < 256);
+ return (byte)value;
+}
+
+byte get_byte_size_t(size_t value)
+{
+ ASSERT(value < 256);
+ return (byte)value;
+}
/*************************************************************************
*
@@ -1795,11 +1824,13 @@ int bstream_wr_int4(backup_stream *s, un
{
byte buf[4];
blob b= {buf, buf+4};
+ int i;
- buf[0]= (byte) (x & 0xFF); x >>= 8;
- buf[1]= (byte) (x & 0xFF); x >>= 8;
- buf[2]= (byte) (x & 0xFF); x >>= 8;
- buf[3]= (byte) (x & 0xFF); x >>= 8;
+ for (i= 0; i < 4; i++)
+ {
+ buf[i]= get_byte_ulong((x & 0xFF));
+ x >>= 8;
+ }
return bstream_write_blob(s,b);
}
@@ -1844,7 +1875,7 @@ int bstream_wr_num(backup_stream *s, uns
byte b;
do {
- b= (byte) (x & 0x7F);
+ b= get_byte_ulong((x & 0x7F));
CHECK_WR_RES(bstream_wr_byte(s, b | ( x>0x7F ? 0x80: 0)));
x >>= 7;
} while (x);
@@ -1965,12 +1996,13 @@ int bstream_wr_time(backup_stream *s, bs
byte buf[6];
blob b= {buf, buf+6};
- buf[0]= ((byte)(time->year>>4) & 0xFF);
- buf[1]= (((byte)(time->year<<4) & 0xF0) | ((byte)(time->mon &0x0F)));
- buf[2]= (byte)(time->mday);
- buf[3]= (byte)(time->hour);
- buf[4]= (byte)(time->min);
- buf[5]= (byte)(time->sec);
+ buf[0]= get_byte_uint(((time->year>>4) & 0xFF));
+ buf[1]= (get_byte_uint(((time->year<<4) & 0xF0)) |
+ get_byte_ushort((time->mon &0x0F)));
+ buf[2]= get_byte_ushort(time->mday);
+ buf[3]= get_byte_ushort(time->hour);
+ buf[4]= get_byte_ushort(time->min);
+ buf[5]= get_byte_ushort(time->sec);
return bstream_write_blob(s,b);
}
diff -Nrup a/sql/backup/stream_v1_transport.c b/sql/backup/stream_v1_transport.c
--- a/sql/backup/stream_v1_transport.c 2007-11-30 15:14:08 -05:00
+++ b/sql/backup/stream_v1_transport.c 2007-12-03 15:28:17 -05:00
@@ -73,6 +73,15 @@ typedef bstream_blob blob;
#define bzero(A,B) memset((A),0,(B))
/*
+ Helper functions defined in stream_v1.c
+*/
+extern byte get_byte_ulong(unsigned long int value);
+extern byte get_byte_uint(unsigned int value);
+extern byte get_byte_ushort(short value);
+extern byte get_byte_short(short value);
+extern byte get_byte_size_t(size_t value);
+
+/*
Carrier format
--------------
@@ -170,20 +179,20 @@ byte biggest_fragment_prefix(blob *data)
return FR_HUGE_MAX_HDR;
}
- hdr= len & FR_LEN_MASK;
+ hdr= get_byte_size_t(((len & FR_LEN_MASK) & 0xFF));
prefix_end= data->begin + hdr;
len >>= 6;
if (len)
{
- hdr = FR_BIG|(len & FR_LEN_MASK);
+ hdr = FR_BIG|get_byte_size_t(((len & FR_LEN_MASK) & 0xFF));
prefix_end= data->begin + ((len & FR_LEN_MASK) << FR_BIG_SHIFT);
}
len >>= 6;
if (len)
{
- hdr = FR_HUGE|(len & FR_LEN_MASK);
+ hdr = FR_HUGE|get_byte_size_t(((len & FR_LEN_MASK) & 0xFF));
prefix_end= data->begin + ((len & FR_LEN_MASK) << FR_HUGE_SHIFT);
}
@@ -338,7 +347,7 @@ void reset_output_buffer(backup_stream *
{
for(i=0; i<4; ++i)
{
- *(s->buf.pos++)= (byte) (block_size & 0xFF);
+ *(s->buf.pos++)= get_byte_ulong((block_size & 0xFF));
block_size >>= 8;
}
@@ -356,7 +365,7 @@ void reset_output_buffer(backup_stream *
if (s->state == FIRST_BLOCK)
{
ASSERT(s->init_block_count < 0xFF);
- *(s->buf.pos++)= (byte) (s->init_block_count);
+ *(s->buf.pos++)= get_byte_short(s->init_block_count);
}
s->buf.header= s->buf.pos;
| Thread |
|---|
| • bk commit into 6.0 tree (cbell:1.2714) | cbell | 3 Dec |