1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-11-14 00:22:38 +03:00

Fix an assert() in pager.c added by the previous commit. And various problems with test scripts in autovacuum and in-memory journal mode.

FossilOrigin-Name: 62a10101776b41236ff7bd08c8aa85765a43df7c
This commit is contained in:
dan
2010-07-03 10:00:00 +00:00
parent fce218c5ad
commit f43d7fce61
8 changed files with 40 additions and 28 deletions

View File

@@ -334,6 +334,7 @@ if {$tcl_platform(platform)!="windows"} {
sqlite3 db2 test2.db
sqlite3_extended_result_codes db2 1
db2 eval {
PRAGMA journal_mode = DELETE; /* For inmemory_journal permutation */
PRAGMA synchronous = 0;
CREATE TABLE t1(a, b);
INSERT INTO t1 VALUES(1, 2);

View File

@@ -1015,6 +1015,7 @@ do_test pager1-5.5.2 {
do_test pager1-6.1 {
faultsim_delete_and_reopen
execsql {
PRAGMA auto_vacuum = none;
PRAGMA max_page_count = 10;
CREATE TABLE t2(a, b);
CREATE TABLE t3(a, b);
@@ -1357,6 +1358,7 @@ tv sectorsize 4096
do_test pager1.10.x.1 {
faultsim_delete_and_reopen
execsql {
PRAGMA auto_vacuum = none;
PRAGMA page_size = 1024;
CREATE TABLE t1(x);
}
@@ -1429,11 +1431,21 @@ tv delete
#-------------------------------------------------------------------------
# Test "PRAGMA page_size"
#
testvfs tv -default 1
tv sectorsize 1024
foreach pagesize {
512 1024 2048 4096 8192 16384 32768
} {
faultsim_delete_and_reopen
# The sector-size (according to the VFS) is 1024 bytes. So if the
# page-size requested using "PRAGMA page_size" is greater than the
# compile time value of SQLITE_MAX_PAGE_SIZE, then the effective
# page-size remains 1024 bytes.
#
set eff $pagesize
if {$eff > $::SQLITE_MAX_PAGE_SIZE} { set eff 1024 }
do_test pager1-12.$pagesize.1 {
sqlite3 db2 test.db
execsql "
@@ -1441,22 +1453,24 @@ foreach pagesize {
CREATE VIEW v AS SELECT * FROM sqlite_master;
" db2
file size test.db
} $pagesize
} $eff
do_test pager1-12.$pagesize.2 {
sqlite3 db2 test.db
execsql {
SELECT count(*) FROM v;
PRAGMA main.page_size;
} db2
} [list 1 $pagesize]
} [list 1 $eff]
do_test pager1-12.$pagesize.3 {
execsql {
SELECT count(*) FROM v;
PRAGMA main.page_size;
}
} [list 1 $pagesize]
} [list 1 $eff]
db2 close
}
db close
tv delete
#-------------------------------------------------------------------------
# Test specal "PRAGMA journal_mode=PERSIST" test cases.

View File

@@ -241,8 +241,11 @@ do_faultsim_test pagerfault-5.3 -faults oom-transient -prep {
}
} -test {
faultsim_test_result {0 {}}
faultsim_integrity_check
catchsql { COMMIT }
catchsql { ROLLBACK }
faultsim_integrity_check
set res ""
set rc [catch { set res [db one { PRAGMA aux.integrity_check }] }]
if {$rc!=0 || $res != "ok"} {error "integrity-check problem:$rc $res"}

View File

@@ -36,6 +36,7 @@ do_test pagerfault2-1-pre1 {
faultsim_delete_and_reopen
db func a_string a_string
execsql {
PRAGMA auto_vacuum = 0;
PRAGMA journal_mode = DELETE;
PRAGMA page_size = 1024;
CREATE TABLE t1(a, b);

View File

@@ -160,22 +160,16 @@ lappend ::testsuitelist xxx
test_suite "coverage-wal" -description {
Coverage tests for file wal.c.
} -files {
wal.test wal2.test wal3.test walmode.test
walbak.test walhook.test walcrash2.test walcksum.test
wal.test wal2.test wal3.test walmode.test
walbak.test walhook.test walcrash2.test walcksum.test
walfault.test
}
test_suite "coverage-pager" -description {
Coverage tests for file pager.c.
} -files {
pager1.test
pager2.test
pagerfault.test
pagerfault2.test
walfault.test
walbak.test
journal2.test
tkt-9d68c883.test
pager1.test pager2.test pagerfault.test pagerfault2.test
walfault.test walbak.test journal2.test tkt-9d68c883.test
}

View File

@@ -119,7 +119,6 @@ do_multiclient_test i {
do_test wal3-2.$tn.1 {
sql1 {
PRAGMA page_size = 1024;
PRAGMA auto_vacuum = OFF;
PRAGMA journal_mode = WAL;
}
sql1 {