From: dan Date: Sat, 3 Jul 2010 10:00:00 +0000 (+0000) Subject: Fix an assert() in pager.c added by the previous commit. And various problems with... X-Git-Tag: version-3.7.2~203^2~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f43d7fce61d8107736a2863499c574de969a894c;p=thirdparty%2Fsqlite.git 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 --- diff --git a/manifest b/manifest index 57c85c787a..724bc59223 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Do\snot\sattempt\sto\sopen\sa\sWAL\sfile\sfor\san\sin-memory\sor\stemporary\sdatabase.\sEven\sif\sthe\sdatabase\sheader\ssuggests\sthat\sit\sis\sa\sWAL\sdatabase. -D 2010-07-03T08:01:25 +C Fix\san\sassert()\sin\spager.c\sadded\sby\sthe\sprevious\scommit.\sAnd\svarious\sproblems\swith\stest\sscripts\sin\sautovacuum\sand\sin-memory\sjournal\smode. +D 2010-07-03T10:00:01 F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0 F Makefile.in a5cad1f8f3e021356bfcc6c77dc16f6f1952bbc3 F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654 @@ -156,7 +156,7 @@ F src/os_common.h a8f95b81eca8a1ab8593d23e94f8a35f35d4078f F src/os_os2.c 665876d5eec7585226b0a1cf5e18098de2b2da19 F src/os_unix.c d7910391a4c9fa6898f7c9abbbb821d5d7edb78f F src/os_win.c dd4c6f238fe464e01dab5e4bc9158187ae305fe8 -F src/pager.c 52afdedf4516cf772f3e99cec16635c1e2a2edcf +F src/pager.c 99c214ea022f2b0c3f376f7233bbe27087c8cf62 F src/pager.h 879fdde5a102d2f21a3135d6f647530b21c2796c F src/parse.y ace5c7a125d9f2a410e431ee3209034105045f7e F src/pcache.c 1e9aa2dbc0845b52e1b51cc39753b6d1e041cb07 @@ -489,7 +489,7 @@ F test/lock_common.tcl e7013c6208f5fa818735c324eb0249b4c0f317cf F test/lookaside.test 1dd350dc6dff015c47c07fcc5a727a72fc5bae02 F test/main.test 2be2352ac77ac5b238c6337a5469aeeef57677e6 F test/make-where7.tcl 05c16b5d4f5d6512881dfec560cb793915932ef9 -F test/malloc.test d23580e15c33ee0353717129421b077541e910dc +F test/malloc.test 927e6c8668a1d48c23aa6189bda02aff5a1b83de F test/malloc3.test 4bc57f850b212f706f3e1b37c4eced1d5a727cd1 F test/malloc4.test 957337613002b7058a85116493a262f679f3a261 F test/malloc5.test 4d16d1bb26d2deddd7c4f480deec341f9b2d0e22 @@ -535,15 +535,15 @@ F test/notify3.test feb03d697f4a5327c1beb158c3e7e51c5e400703 F test/notnull.test cc7c78340328e6112a13c3e311a9ab3127114347 F test/null.test a8b09b8ed87852742343b33441a9240022108993 F test/openv2.test af02ed0a9cbc0d2a61b8f35171d4d117e588e4ec -F test/pager1.test 14c8e43287b0f241745cd08fa74631f71303f688 +F test/pager1.test b345014ce33efcc28a8810c476090068b279ee30 F test/pager2.test f5c757c271ce642d36a393ecbfb3aef1c240dcef -F test/pagerfault.test 743952c5509244a71d66d67bf960d920793bb847 -F test/pagerfault2.test be9088b0daff0e63983138e0bde2311eb734f900 +F test/pagerfault.test 17e51d1570c00df4a1902e6d500387017c87e74a +F test/pagerfault2.test 2d2d4373b1365d693ba185323d0766feeacdb4dd F test/pageropt.test 8146bf448cf09e87bb1867c2217b921fb5857806 F test/pagesize.test 76aa9f23ecb0741a4ed9d2e16c5fa82671f28efb F test/pcache.test 4118a183908ecaed343a06fcef3ba82e87e0129d F test/pcache2.test 0d85f2ab6963aee28c671d4c71bec038c00a1d16 -F test/permutations.test 66cd9a3d17753e74a2dc1a791af2ddf5edb08af7 +F test/permutations.test 371507d1c5ee8ce60d5dc7d0c16618c2c7c9ee4a F test/pragma.test a869b428b861f9dbbdb25461a104e8e830fc3026 F test/pragma2.test 5364893491b9231dd170e3459bfc2e2342658b47 F test/printf.test 05970cde31b1a9f54bd75af60597be75a5c54fea @@ -775,7 +775,7 @@ F test/vtab_err.test 0d4d8eb4def1d053ac7c5050df3024fd47a3fbd8 F test/vtab_shared.test 0eff9ce4f19facbe0a3e693f6c14b80711a4222d F test/wal.test 1891e6f72dd437a1c2a48091aa9182ba17a8f780 F test/wal2.test 9f2c2a00358b1466bc38feda85f105a4fb52f251 -F test/wal3.test bb3bc0be06411c2d147c1d1d636b6208fbe0349d +F test/wal3.test d2ae7e66f973bd6b58ce49e546b2c00f44fe0485 F test/wal4.test 640be93f5422df37203aa5e7c06b24fb5e4a2439 F test/wal_common.tcl 875ee2118cd7b292ba22fb9bfa66a984b5226b13 F test/walbak.test 4df1c7369da0301caeb9a48fa45997fd592380e4 @@ -830,7 +830,7 @@ F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224 F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f -P 4f62dbcfc96855f69e71d163bfc051d9db08cca9 -R f52a1f85e73238582a4b7261462e4b43 +P 0fd809243652256d83ddcb58cf4890080654c667 +R ae40485a65c540ad12636335240b81ff U dan -Z e8767c792bb517bede02d353e2828146 +Z 0889c61d98828296de0585eeb971649f diff --git a/manifest.uuid b/manifest.uuid index b3a5417b03..5e41fc1cb4 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -0fd809243652256d83ddcb58cf4890080654c667 \ No newline at end of file +62a10101776b41236ff7bd08c8aa85765a43df7c \ No newline at end of file diff --git a/test/malloc.test b/test/malloc.test index 8459b280a2..f1eee17ecd 100644 --- a/test/malloc.test +++ b/test/malloc.test @@ -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); diff --git a/test/pager1.test b/test/pager1.test index 8afe647d72..2e71072e05 100644 --- a/test/pager1.test +++ b/test/pager1.test @@ -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. diff --git a/test/pagerfault.test b/test/pagerfault.test index 75b21a796e..87ffda35b8 100644 --- a/test/pagerfault.test +++ b/test/pagerfault.test @@ -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"} diff --git a/test/pagerfault2.test b/test/pagerfault2.test index edc24bda7e..931b89b70e 100644 --- a/test/pagerfault2.test +++ b/test/pagerfault2.test @@ -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); diff --git a/test/permutations.test b/test/permutations.test index fcd55ef326..67be583e09 100644 --- a/test/permutations.test +++ b/test/permutations.test @@ -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 } diff --git a/test/wal3.test b/test/wal3.test index 4e0a95d54e..b344c1423d 100644 --- a/test/wal3.test +++ b/test/wal3.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 {