23
26
SELECT COUNT(*) FROM bup_snapshot.t2;
26
con3: Getting lock on driver.
27
SELECT get_lock("backup_cs_locked", 100);
28
get_lock("backup_cs_locked", 100)
30
con1: Backing up database. Spawn this and continue...
31
BACKUP DATABASE bup_snapshot TO "bup_snapshot.bak";
33
INSERT INTO bup_snapshot.t1 VALUES("- Dave Mathews");
35
con3: Release lock on driver.
36
SELECT release_lock("backup_cs_locked");
37
release_lock("backup_cs_locked")
41
INSERT INTO bup_snapshot.t1 VALUES("- Yes");
42
INSERT INTO bup_snapshot.t1 VALUES("- Jethro Tull");
43
DELETE FROM bup_snapshot.t1 WHERE word LIKE '10%';
44
con2: Showing the data after inserts.
45
SELECT * FROM bup_snapshot.t1 WHERE word LIKE '-%';
50
SELECT COUNT(*) FROM bup_snapshot.t1;
53
con1: Dropping the database
54
DROP TABLE bup_snapshot.t1;
55
con1: Restoring the database
56
RESTORE FROM "bup_snapshot.bak";
59
con1: Showing the data (no new data should be here).
60
SELECT * FROM bup_snapshot.t1 WHERE word LIKE '-%';
62
SELECT COUNT(*) FROM bup_snapshot.t1;
65
SELECT COUNT(*) FROM bup_snapshot.t2;
68
con3: Getting lock on driver.
69
SELECT get_lock("backup_cs_reading", 100);
70
get_lock("backup_cs_reading", 100)
72
con1: Backing up database. Spawn this and continue...
73
BACKUP DATABASE bup_snapshot TO "bup_snapshot.bak";
75
INSERT INTO bup_snapshot.t1 VALUES("- Dave Mathews");
77
con3: Release lock on driver.
78
SELECT release_lock("backup_cs_reading");
79
release_lock("backup_cs_reading")
81
INSERT INTO bup_snapshot.t1 VALUES("- Yes");
82
INSERT INTO bup_snapshot.t1 VALUES("- Jethro Tull");
83
DELETE FROM bup_snapshot.t1 WHERE word LIKE '10%';
84
con2: Showing the data after inserts.
85
SELECT * FROM bup_snapshot.t1 WHERE word LIKE '-%';
90
SELECT COUNT(*) FROM bup_snapshot.t1;
95
con1: Dropping the database
96
DROP TABLE bup_snapshot.t1;
97
con1: Restoring the database
98
RESTORE FROM "bup_snapshot.bak";
101
con1: Showing the data (no new data should be here).
102
SELECT * FROM bup_snapshot.t1 WHERE word LIKE '-%';
104
SELECT COUNT(*) FROM bup_snapshot.t1;
107
SELECT COUNT(*) FROM bup_snapshot.t2;
30
# Test 1: Check for consistent read prior to open and lock tables
32
con1: Activate sync points for the backup statement.
33
SET DEBUG_SYNC= 'after_backup_cs_locked SIGNAL locked WAIT_FOR inserting';
34
con1: Backing up database. Spawn this and continue...
35
BACKUP DATABASE bup_snapshot TO "bup_snapshot.bak";
36
con2: Wait for backup to have locked the transaction.
37
SET DEBUG_SYNC= 'now WAIT_FOR locked';
38
con2: Start an insert now that CS has a transaction
39
con2: Activate sync points for the insert statement.
40
SET DEBUG_SYNC= 'wait_if_global_read_lock SIGNAL inserting';
41
INSERT INTO bup_snapshot.t1 VALUES("- Dave Mathews");
42
con2: insert additional rows.
43
INSERT INTO bup_snapshot.t1 VALUES("- Yes");
44
INSERT INTO bup_snapshot.t1 VALUES("- Jethro Tull");
45
DELETE FROM bup_snapshot.t1 WHERE word LIKE '10%';
46
con2: Showing the data after inserts.
47
SELECT * FROM bup_snapshot.t1 WHERE word LIKE '-%';
52
SELECT COUNT(*) FROM bup_snapshot.t1;
55
con1: retrieve backup result.
58
# Now restore the database and then check to make sure the new rows
60
con1: Dropping the database
61
DROP TABLE bup_snapshot.t1;
62
con1: Restoring the database
63
RESTORE FROM "bup_snapshot.bak";
66
con1: Showing the data (no new data should be here).
67
SELECT * FROM bup_snapshot.t1 WHERE word LIKE '-%';
69
SELECT COUNT(*) FROM bup_snapshot.t1;
72
SELECT COUNT(*) FROM bup_snapshot.t2;
76
# Test 2: Check for consistent read after open and lock tables
78
con1: Activate sync points for the backup statement.
79
SET DEBUG_SYNC= 'when_backup_cs_reading SIGNAL reading WAIT_FOR inserting';
80
con1: Backing up database. Spawn this and continue...
81
BACKUP DATABASE bup_snapshot TO "bup_snapshot.bak";
82
con2: Wait for backup to start reading.
83
SET DEBUG_SYNC= 'now WAIT_FOR reading';
84
con2: Start an insert now that CS has a transaction
85
con2: Activate sync points for the insert statement.
86
SET DEBUG_SYNC= 'after_insert_locked_tables SIGNAL inserting';
87
INSERT INTO bup_snapshot.t1 VALUES("- Dave Mathews");
88
con2: insert additional rows.
89
INSERT INTO bup_snapshot.t1 VALUES("- Yes");
90
INSERT INTO bup_snapshot.t1 VALUES("- Jethro Tull");
91
DELETE FROM bup_snapshot.t1 WHERE word LIKE '10%';
92
con2: Showing the data after inserts.
93
SELECT * FROM bup_snapshot.t1 WHERE word LIKE '-%';
98
SELECT COUNT(*) FROM bup_snapshot.t1;
101
con1: retrieve backup result.
104
# Now restore the database and then check to make sure the new rows
105
# were not backed up.
106
con1: Dropping the database
107
DROP TABLE bup_snapshot.t1;
108
con1: Restoring the database
109
RESTORE FROM "bup_snapshot.bak";
112
con1: Showing the data (no new data should be here).
113
SELECT * FROM bup_snapshot.t1 WHERE word LIKE '-%';
115
SELECT COUNT(*) FROM bup_snapshot.t1;
118
SELECT COUNT(*) FROM bup_snapshot.t2;
121
SET DEBUG_SYNC= 'reset';
110
122
DROP DATABASE bup_snapshot;