1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-08-07 02:42:48 +03:00

Experimental refactoring of the Pager object state.

FossilOrigin-Name: 03a240514aa07a22db787d221641253f23933e88
This commit is contained in:
dan
2010-08-02 14:32:52 +00:00
parent 51133eaefa
commit d08640871c
6 changed files with 546 additions and 305 deletions

View File

@@ -1,5 +1,5 @@
C Remove\svariable\sPager.needSync,\swhich\swas\salmost\scompletely\sunused. C Experimental\srefactoring\sof\sthe\sPager\sobject\sstate.
D 2010-07-30T15:43:13 D 2010-08-02T14:32:52
F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
F Makefile.in ec08dc838fd8110fe24c92e5130bcd91cbb1ff2e F Makefile.in ec08dc838fd8110fe24c92e5130bcd91cbb1ff2e
F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
@@ -156,7 +156,7 @@ F src/os_common.h a8f95b81eca8a1ab8593d23e94f8a35f35d4078f
F src/os_os2.c 72d0b2e562952a2464308c4ce5f7913ac10bef3e F src/os_os2.c 72d0b2e562952a2464308c4ce5f7913ac10bef3e
F src/os_unix.c ae5ca8a6031380708f3fec7be325233d49944914 F src/os_unix.c ae5ca8a6031380708f3fec7be325233d49944914
F src/os_win.c 51cb62f76262d961ea4249489383d714501315a7 F src/os_win.c 51cb62f76262d961ea4249489383d714501315a7
F src/pager.c 3e152b44733459c0a1f39d9a60646ab3aa4a7845 F src/pager.c 94f00bedf9afb83c47f9b5d8bf8608f0eff088dd
F src/pager.h 80726162dc3942f59ab27b738fb667b9ba0a89d5 F src/pager.h 80726162dc3942f59ab27b738fb667b9ba0a89d5
F src/parse.y 12b7ebd61ea54f0e1b1083ff69cc2c8ce9353d58 F src/parse.y 12b7ebd61ea54f0e1b1083ff69cc2c8ce9353d58
F src/pcache.c 1e9aa2dbc0845b52e1b51cc39753b6d1e041cb07 F src/pcache.c 1e9aa2dbc0845b52e1b51cc39753b6d1e041cb07
@@ -241,7 +241,7 @@ F test/alter4.test 9386ffd1e9c7245f43eca412b2058d747509cc1f
F test/altermalloc.test e81ac9657ed25c6c5bb09bebfa5a047cd8e4acfc F test/altermalloc.test e81ac9657ed25c6c5bb09bebfa5a047cd8e4acfc
F test/analyze.test bf692e7db414f268a136bade16c03a1bdbb9240c F test/analyze.test bf692e7db414f268a136bade16c03a1bdbb9240c
F test/analyze2.test 59dac6c399c0c5d1a90a11ee7cc606743fb6db93 F test/analyze2.test 59dac6c399c0c5d1a90a11ee7cc606743fb6db93
F test/analyze3.test 535bf0762f49fa96885efe8568738276c2204a2a F test/analyze3.test 6d4f4b0929545a9d1af803a0608a0c51b92a3537
F test/async.test ad4ba51b77cd118911a3fe1356b0809da9c108c3 F test/async.test ad4ba51b77cd118911a3fe1356b0809da9c108c3
F test/async2.test bf5e2ca2c96763b4cba3d016249ad7259a5603b6 F test/async2.test bf5e2ca2c96763b4cba3d016249ad7259a5603b6
F test/async3.test 93edaa9122f498e56ea98c36c72abc407f4fb11e F test/async3.test 93edaa9122f498e56ea98c36c72abc407f4fb11e
@@ -347,7 +347,7 @@ F test/enc.test e54531cd6bf941ee6760be041dff19a104c7acea
F test/enc2.test 6d91a5286f59add0cfcbb2d0da913b76f2242398 F test/enc2.test 6d91a5286f59add0cfcbb2d0da913b76f2242398
F test/enc3.test 5c550d59ff31dccdba5d1a02ae11c7047d77c041 F test/enc3.test 5c550d59ff31dccdba5d1a02ae11c7047d77c041
F test/eval.test bc269c365ba877554948441e91ad5373f9f91be3 F test/eval.test bc269c365ba877554948441e91ad5373f9f91be3
F test/exclusive.test 5fe18e10a159342dd52ca14b1554e33f98734267 F test/exclusive.test b1f9012cabc124af947165d15ffa62ad20f63db8
F test/exclusive2.test fcbb1c9ca9739292a0a22a3763243ad6d868086b F test/exclusive2.test fcbb1c9ca9739292a0a22a3763243ad6d868086b
F test/exec.test e949714dc127eaa5ecc7d723efec1ec27118fdd7 F test/exec.test e949714dc127eaa5ecc7d723efec1ec27118fdd7
F test/expr.test 9f521ae22f00e074959f72ce2e55d46b9ed23f68 F test/expr.test 9f521ae22f00e074959f72ce2e55d46b9ed23f68
@@ -782,7 +782,7 @@ F test/vtab_alter.test 9e374885248f69e251bdaacf480b04a197f125e5
F test/vtab_err.test 0d4d8eb4def1d053ac7c5050df3024fd47a3fbd8 F test/vtab_err.test 0d4d8eb4def1d053ac7c5050df3024fd47a3fbd8
F test/vtab_shared.test 0eff9ce4f19facbe0a3e693f6c14b80711a4222d F test/vtab_shared.test 0eff9ce4f19facbe0a3e693f6c14b80711a4222d
F test/wal.test 1891e6f72dd437a1c2a48091aa9182ba17a8f780 F test/wal.test 1891e6f72dd437a1c2a48091aa9182ba17a8f780
F test/wal2.test fa6dc4457b46988f46cf6c68ea51ebe341765f4a F test/wal2.test 8581b133ef58d48f24c56f645a20d6527723557c
F test/wal3.test 695ea0f6c516423c611891df9a285aacd33344e3 F test/wal3.test 695ea0f6c516423c611891df9a285aacd33344e3
F test/wal4.test 3404b048fa5e10605facaf70384e6d2943412e30 F test/wal4.test 3404b048fa5e10605facaf70384e6d2943412e30
F test/wal_common.tcl 895d76138043b86bdccf36494054bdabcf65837b F test/wal_common.tcl 895d76138043b86bdccf36494054bdabcf65837b
@@ -841,7 +841,7 @@ F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff
F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224 F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f
P 87e0f4e184284bf775c2fc7c4e9a334f4f237c59 P 347f22a5b777af92873590a5b9af5a6498bef918
R 3e31f33b6e6cf5ef4a3978e597fbc7d4 R fb51b6835fc754e61c37a4fea5d6298b
U dan U dan
Z 9b7608ba93c0b902202a5a1f630e015f Z 550ac78d14ba82c7a2ec704cc3fbe702

View File

@@ -1 +1 @@
347f22a5b777af92873590a5b9af5a6498bef918 03a240514aa07a22db787d221641253f23933e88

File diff suppressed because it is too large Load Diff

View File

@@ -403,7 +403,6 @@ do_test analyze3-3.6.5 {
} {SQLITE_OK} } {SQLITE_OK}
do_test analyze3-3.7.1 { do_test analyze3-3.7.1 {
breakpoint
set S [sqlite3_prepare_v2 db { set S [sqlite3_prepare_v2 db {
SELECT * FROM t1 WHERE a IN ( SELECT * FROM t1 WHERE a IN (
?1, ?2, ?3, ?4, ?5, ?6, ?7, ?8, ?9, ?33, ?1, ?2, ?3, ?4, ?5, ?6, ?7, ?8, ?9, ?33,

View File

@@ -253,6 +253,11 @@ db2 close
# from being inspected externally. # from being inspected externally.
# #
if {$tcl_platform(platform) != "windows"} { if {$tcl_platform(platform) != "windows"} {
# Return a list of two booleans (either 0 or 1). The first is true
# if the named file exists. The second is true only if the file
# exists and the first 28 bytes contain at least one non-zero byte.
#
proc filestate {fname} { proc filestate {fname} {
set exists 0 set exists 0
set content 0 set content 0
@@ -263,6 +268,7 @@ if {$tcl_platform(platform) != "windows"} {
} }
list $exists $content list $exists $content
} }
do_test exclusive-3.0 { do_test exclusive-3.0 {
filestate test.db-journal filestate test.db-journal
} {0 0} } {0 0}

View File

@@ -456,7 +456,7 @@ do_test wal2-6.1.5 {
SELECT * FROM t1; SELECT * FROM t1;
PRAGMA lock_status; PRAGMA lock_status;
} }
} {1 2 main exclusive temp closed} } {1 2 main shared temp closed}
do_test wal2-6.1.6 { do_test wal2-6.1.6 {
execsql { execsql {
INSERT INTO t1 VALUES(3, 4); INSERT INTO t1 VALUES(3, 4);
@@ -522,7 +522,7 @@ do_test wal2-6.2.8 {
SELECT * FROM t1; SELECT * FROM t1;
pragma lock_status; pragma lock_status;
} }
} {1 2 3 4 main exclusive temp closed} } {1 2 3 4 main shared temp closed}
do_test wal2-6.2.9 { do_test wal2-6.2.9 {
execsql { execsql {
INSERT INTO t1 VALUES(5, 6); INSERT INTO t1 VALUES(5, 6);
@@ -608,6 +608,11 @@ set READMARK1_SET {
set READMARK1_READ { set READMARK1_READ {
{4 1 lock shared} {4 1 unlock shared} {4 1 lock shared} {4 1 unlock shared}
} }
set READMARK1_WRITE {
{4 1 lock shared}
{0 1 lock exclusive} {0 1 unlock exclusive}
{4 1 unlock shared}
}
foreach {tn sql res expected_locks} { foreach {tn sql res expected_locks} {
2 { 2 {
@@ -664,13 +669,9 @@ foreach {tn sql res expected_locks} {
9 { 9 {
SELECT * FROM t1 ORDER BY x SELECT * FROM t1 ORDER BY x
} {Arthur {Julius Henry} Karl Leonard} { } } {Arthur {Julius Henry} Karl Leonard} $READMARK1_READ
10 { 10 { DELETE FROM t1 } {} $READMARK1_WRITE
DELETE FROM t1
} {} {
$READMARK1_READ
}
11 { 11 {
SELECT * FROM t1 SELECT * FROM t1
@@ -942,7 +943,6 @@ do_test wal2-10.2.2 {
set hdr [set_tvfs_hdr $::filename] set hdr [set_tvfs_hdr $::filename]
lindex $hdr 0 lindex $hdr 0
} {3007000} } {3007000}
breakpoint
do_test wal2-10.2.3 { do_test wal2-10.2.3 {
lset hdr 0 3007001 lset hdr 0 3007001
wal_fix_walindex_cksum hdr wal_fix_walindex_cksum hdr