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:
@@ -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);
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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"}
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user