2013-04-08 20:58:00 +02:00
|
|
|
/*
|
|
|
|
** This script is called from crash01.test and config02.test and perhaps other
|
|
|
|
** script. After the database file has been set up, make a big rollback
|
|
|
|
** journal in client 1, then crash client 1.
|
|
|
|
** Then in the other clients, do an integrity check.
|
|
|
|
*/
|
|
|
|
--task 1
|
|
|
|
--sleep 5
|
|
|
|
--finish
|
|
|
|
PRAGMA cache_size=10;
|
|
|
|
BEGIN;
|
|
|
|
UPDATE t1 SET b=randomblob(20000);
|
|
|
|
UPDATE t2 SET b=randomblob(20000);
|
|
|
|
UPDATE t3 SET b=randomblob(20000);
|
|
|
|
UPDATE t4 SET b=randomblob(20000);
|
|
|
|
UPDATE t5 SET b=randomblob(20000);
|
|
|
|
UPDATE t1 SET b=NULL;
|
|
|
|
UPDATE t2 SET b=NULL;
|
|
|
|
UPDATE t3 SET b=NULL;
|
|
|
|
UPDATE t4 SET b=NULL;
|
|
|
|
UPDATE t5 SET b=NULL;
|
|
|
|
--print Task one crashing an incomplete transaction
|
|
|
|
--exit 1
|
|
|
|
--end
|
|
|
|
--task 2
|
|
|
|
SELECT count(*) FROM t1;
|
|
|
|
--match 64
|
|
|
|
--sleep 100
|
2013-04-09 22:04:09 +02:00
|
|
|
PRAGMA integrity_check(10);
|
2013-04-08 20:58:00 +02:00
|
|
|
--output
|
|
|
|
--match ok
|
|
|
|
--end
|
|
|
|
--task 3
|
|
|
|
SELECT count(*) FROM t1;
|
|
|
|
--match 64
|
|
|
|
--sleep 100
|
2013-04-09 22:04:09 +02:00
|
|
|
PRAGMA integrity_check(10);
|
2013-04-08 20:58:00 +02:00
|
|
|
--output
|
|
|
|
--match ok
|
|
|
|
--end
|
|
|
|
--task 4
|
|
|
|
SELECT count(*) FROM t1;
|
|
|
|
--match 64
|
|
|
|
--sleep 100
|
2013-04-09 22:04:09 +02:00
|
|
|
PRAGMA integrity_check(10);
|
2013-04-08 20:58:00 +02:00
|
|
|
--output
|
|
|
|
--match ok
|
|
|
|
--end
|
|
|
|
--task 5
|
|
|
|
SELECT count(*) FROM t1;
|
|
|
|
--match 64
|
|
|
|
--sleep 100
|
2013-04-09 22:04:09 +02:00
|
|
|
PRAGMA integrity_check(10);
|
2013-04-08 20:58:00 +02:00
|
|
|
--output
|
|
|
|
--match ok
|
|
|
|
--end
|
|
|
|
--wait all
|