Add tests for wal mode to temptable2.test.

FossilOrigin-Name: c6d0d441a1ab4873caedf2f23543444cea5d7f5a
This commit is contained in:
dan
2016-04-11 19:23:36 +00:00
parent 7180de2aa4
commit b5a2592a9e
3 changed files with 39 additions and 30 deletions
+32 -23
View File
@@ -272,38 +272,47 @@ tmp close
#-------------------------------------------------------------------------
# Try inserts and deletes with a large db in auto-vacuum mode. Check
#
reset_db
do_execsql_test 9.1 {
PRAGMA cache_size = 15;
CREATE TABLE tx(a, b);
CREATE INDEX i1 ON tx(a);
CREATE INDEX i2 ON tx(b);
foreach {tn mode} {
1 delete
2 wal
} {
reset_db
do_execsql_test 9.$tn.1.1 {
PRAGMA cache_size = 15;
PRAGMA auto_vacuum = 1;
}
do_execsql_test 9.$tn.1.2 "PRAGMA journal_mode = $mode" $mode
WITH x(i) AS ( SELECT 1 UNION ALL SELECT i+1 FROM x WHERE i<1000 )
INSERT INTO tx SELECT randomblob(100), randomblob(100) FROM x;
}
for {set i 2} {$i<20} {incr i} {
do_execsql_test 9.$i.1 { DELETE FROM tx WHERE (random()%3)==0 }
do_execsql_test 9.$i.2 { PRAGMA integrity_check } ok
do_execsql_test 9.$i.3 {
WITH x(i) AS ( SELECT 1 UNION ALL SELECT i+1 FROM x WHERE i<400 )
do_execsql_test 9.$tn.1.3 {
CREATE TABLE tx(a, b);
CREATE INDEX i1 ON tx(a);
CREATE INDEX i2 ON tx(b);
WITH x(i) AS ( SELECT 1 UNION ALL SELECT i+1 FROM x WHERE i<1000 )
INSERT INTO tx SELECT randomblob(100), randomblob(100) FROM x;
}
do_execsql_test 9.$i.4 { PRAGMA integrity_check } ok
for {set i 2} {$i<20} {incr i} {
do_execsql_test 9.$tn.$i.1 { DELETE FROM tx WHERE (random()%3)==0 }
do_execsql_test 9.$i.5 {
BEGIN;
do_execsql_test 9.$tn.$i.2 { PRAGMA integrity_check } ok
do_execsql_test 9.$tn.$i.3 {
WITH x(i) AS ( SELECT 1 UNION ALL SELECT i+1 FROM x WHERE i<400 )
INSERT INTO tx SELECT randomblob(100), randomblob(100) FROM x;
}
do_execsql_test 9.$tn.$i.4 { PRAGMA integrity_check } ok
do_execsql_test 9.$tn.$i.5 {
BEGIN;
DELETE FROM tx WHERE (random()%3)==0;
WITH x(i) AS ( SELECT 1 UNION ALL SELECT i+1 FROM x WHERE i<500 )
INSERT INTO tx SELECT randomblob(100), randomblob(100) FROM x;
COMMIT;
}
COMMIT;
}
do_execsql_test 9.$i.6 { PRAGMA integrity_check } ok
do_execsql_test 9.$tn.$i.6 { PRAGMA integrity_check } ok
}
}
finish_test