]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Merge in all changes up to the 3.7.0.1 release.
authordrh <drh@noemail.net>
Sat, 7 Aug 2010 11:46:07 +0000 (11:46 +0000)
committerdrh <drh@noemail.net>
Sat, 7 Aug 2010 11:46:07 +0000 (11:46 +0000)
FossilOrigin-Name: f88c6367d2f96cc93846ba38e6b963a1a3936e8d

20 files changed:
1  2 
Makefile.in
configure
ext/rtree/rtree.c
main.mk
manifest
manifest.uuid
src/func.c
src/main.c
src/os_win.c
src/pager.c
src/pragma.c
src/prepare.c
src/test1.c
src/vdbeapi.c
test/main.test
test/malloc_common.tcl
test/memsubsys1.test
test/pragma.test
test/tester.tcl
tool/mksqlite3c.tcl

diff --cc Makefile.in
index 800c67c7f14452fd440739c1cb6b205333dd1071,49741940df5e6c9323acb446d79aefa0ff8943d6..fc394ac21044ac22b2be05807fc8160f83e88946
@@@ -330,48 -325,20 +325,23 @@@ SRC += 
  SRC += \
    $(TOP)/ext/rtree/rtree.h \
    $(TOP)/ext/rtree/rtree.c
 +SRC += \
 +  $(TOP)/ext/sqlrr/sqlrr.h \
 +  $(TOP)/ext/sqlrr/sqlrr.c
  
- # Source code to the library files needed by the test fixture
+ # Generated source code files
  #
- TESTSRC2 = \
-   $(TOP)/src/attach.c \
-   $(TOP)/src/backup.c \
-   $(TOP)/src/bitvec.c \
-   $(TOP)/src/btree.c \
-   $(TOP)/src/build.c \
-   $(TOP)/src/date.c \
-   $(TOP)/src/ctime.c \
-   $(TOP)/src/expr.c \
-   $(TOP)/src/func.c \
-   $(TOP)/src/insert.c \
-   $(TOP)/src/mem5.c \
-   $(TOP)/src/os.c \
-   $(TOP)/src/os_os2.c \
-   $(TOP)/src/os_unix.c \
-   $(TOP)/src/os_win.c \
-   $(TOP)/src/pager.c \
-   $(TOP)/src/pcache.c \
-   $(TOP)/src/pcache1.c \
-   $(TOP)/src/pragma.c \
-   $(TOP)/src/prepare.c \
-   $(TOP)/src/printf.c \
-   $(TOP)/src/random.c \
-   $(TOP)/src/select.c \
-   $(TOP)/src/tokenize.c \
-   $(TOP)/src/utf.c \
-   $(TOP)/src/util.c \
-   $(TOP)/src/vdbe.c \
-   $(TOP)/src/vdbeapi.c \
-   $(TOP)/src/vdbeaux.c \
-   $(TOP)/src/vdbemem.c \
-   $(TOP)/src/vdbetrace.c \
-   $(TOP)/src/where.c \
-   parse.c
+ SRC += \
+   keywordhash.h \
+   opcodes.c \
+   opcodes.h \
+   parse.c \
+   parse.h \
+   config.h \
+   sqlite3.h
  
- # Source code to the actual test files.
+ # Source code to the test files.
  #
  TESTSRC = \
    $(TOP)/src/test1.c \
@@@ -440,23 -456,11 +459,22 @@@ EXTHDR += 
    $(TOP)/ext/fts3/fts3Int.h \
    $(TOP)/ext/fts3/fts3_hash.h \
    $(TOP)/ext/fts3/fts3_tokenizer.h
- HDR += \
EXTHDR += \
    $(TOP)/ext/rtree/rtree.h
- HDR += \
EXTHDR += \
    $(TOP)/ext/icu/sqliteicu.h
- HDR += \
++EXTHDR += \
 +  $(TOP)/ext/sqlrr/sqlrr.h
 +
 +# If using the amalgamation, use sqlite3.c directly to build the test
 +# fixture.  Otherwise link against libsqlite3.la.  (This distinction is
 +# necessary because the test fixture requires non-API symbols which are
 +# hidden when the library is built via the amalgamation).
 +#
 +TESTFIXTURE_SRC0 = $(TESTSRC2) libsqlite3.la
 +TESTFIXTURE_SRC1 = sqlite3.c
 +TESTFIXTURE_SRC = $(TESTSRC) $(TOP)/src/tclsqlite.c $(TESTFIXTURE_SRC$(USE_AMALGAMATION))
  
  # This is the default Makefile target.  The objects listed here
  # are what get build when you type just "make" with no arguments.
  #
diff --cc configure
index 6b9b772c36db1677d18d64ba8b387c6a66b7c733,c8c0c1f99f9203e237502fb50dc493901e2508d7..c8c0c1f99f9203e237502fb50dc493901e2508d7
mode 100644,100755..100644
+++ b/configure
Simple merge
diff --cc main.mk
Simple merge
diff --cc manifest
index eaa5aa7a3be50304acc13794ed721c44fda8250d,d47ea27a440b0d8dbd5bc576c11335c350c9277e..548a10bf1859134573a5e9f29e721fcdd5bfdb6e
+++ b/manifest
@@@ -1,14 -1,14 +1,14 @@@
  -----BEGIN PGP SIGNED MESSAGE-----
  Hash: SHA1
  
- C Merge\sin\schanges\sup\sto\sand\sincluding\sthe\s3.6.23.1\srelease.
- D 2010-06-16T19:48:57
 -C Backport\sfix\s[a6bb2108bfb56]\sfor\sa\stypo\sin\sthe\sOS/2\sinterface.
 -D 2010-08-04T12:31:11
++C Merge\sin\sall\schanges\sup\sto\sthe\s3.7.0.1\srelease.
++D 2010-08-07T11:46:07
  F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0
- F Makefile.in b12be4429b75eca982a5646752652efde58e8f29
 -F Makefile.in ec08dc838fd8110fe24c92e5130bcd91cbb1ff2e
++F Makefile.in 9e1872338c526a5d6797f19dd04388f2a321e3d6
  F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654
- F Makefile.vxworks ab005d301296c40e021ccd0133ce49ca811e319f
+ F Makefile.vxworks 4314cde20a1d9460ec5083526ea975442306ae7e
  F README cd04a36fbc7ea56932a4052d7d0b7f09f27c33d6
- F VERSION e074e6c926531bc0ccf713d48465eb16807d7193
+ F VERSION 84a3e1c74ef99b2c08ceb1142780ac63d6e44c3d
  F aclocal.m4 a5c22d164aff7ed549d53a90fa56d56955281f50
  F addopcodes.awk 17dc593f791f874d2c23a0f9360850ded0286531
  F art/2005osaward.gif 0d1851b2a7c1c9d0ccce545f3e14bca42d7fd248
@@@ -22,7 -24,7 +24,7 @@@ F art/src_logo.gif 9341ef09f0e53cd44c0c
  F config.guess 226d9a188c6196f3033ffc651cbc9dcee1a42977
  F config.h.in 868fdb48c028421a203470e15c69ada15b9ba673
  F config.sub 9ebe4c3b3dab6431ece34f16828b594fb420da55
- F configure 17dee87ba9b797ea22940dc0fb5b08147bfb246a
 -F configure 37e90c7b9b88007f064f690ed79e64e228a51158 x
++F configure 37e90c7b9b88007f064f690ed79e64e228a51158
  F configure.ac 14740970ddb674d92a9f5da89083dff1179014ff
  F contrib/sqlitecon.tcl 210a913ad63f9f991070821e599d600bd913e0ad
  F doc/lemon.html f0f682f50210928c07e562621c3b7e8ab912a538
@@@ -77,9 -81,9 +81,9 @@@ F ext/icu/README.txt 3b130aa66e7a681136
  F ext/icu/icu.c 850e9a36567bbcce6bd85a4b68243cad8e3c2de2
  F ext/icu/sqliteicu.h 728867a802baa5a96de7495e9689a8e01715ef37
  F ext/rtree/README 6315c0d73ebf0ec40dedb5aa0e942bc8b54e3761
- F ext/rtree/rtree.c dc26ef90f81fe983a72e0ad787da1e7e9d3a6b86
 -F ext/rtree/rtree.c c7a18311f2d6ae9a42838e9c04b9e670483b4feb
++F ext/rtree/rtree.c 99ce980d111729c4f438ec883dc2048ae8614ab5
  F ext/rtree/rtree.h 834dbcb82dc85b2481cde6a07cdadfddc99e9b9e
- F ext/rtree/rtree1.test f72885ed80a329d6bd7991043016d74b51edf2c5
+ F ext/rtree/rtree1.test 51bb0cd0405970501e63258401ae5ad235a4f468
  F ext/rtree/rtree2.test 7b665c44d25e51b3098068d983a39902b2e2d7a1
  F ext/rtree/rtree3.test dece988c363368af8c11862995c762071894918f
  F ext/rtree/rtree4.test 94fdd570ab5bc47244d87d4590023be43ac786bd
@@@ -90,12 -94,9 +94,12 @@@ F ext/rtree/rtree_perf.tcl 6c18c1f23cd4
  F ext/rtree/rtree_util.tcl 06aab2ed5b826545bf215fff90ecb9255a8647ea
  F ext/rtree/tkt3363.test 2bf324f7908084a5f463de3109db9c6e607feb1b
  F ext/rtree/viewrtree.tcl eea6224b3553599ae665b239bd827e182b466024
 -F install-sh 9d4de14ab9fb0facae2f48780b874848cbf2f895 x
 +F ext/sqlrr/README.txt 4239030e73023e72a2e727808cd433577d5bf730
 +F ext/sqlrr/sqlrr.c 8d1e6571cd6a6beabdb5bcdfe3a0e723b914db41
 +F ext/sqlrr/sqlrr.h 09e4f8929ad9bc2638732c0cc0db5eef8c417824
 +F install-sh 9d4de14ab9fb0facae2f48780b874848cbf2f895
  F ltmain.sh 3ff0879076df340d2e23ae905484d8c15d5fdea8
- F main.mk 99e63c772efeb3819b646040bc54712c76d015da
 -F main.mk 26ad86cf0689940f19b3d608bbfdb3956b2fb9a7
++F main.mk c65aaec3a68162beb49281cbfed56cf17f1701a1
  F mkdll.sh 7d09b23c05d56532e9d44a50868eb4b12ff4f74a
  F mkextu.sh 416f9b7089d80e5590a29692c9d9280a10dbad9f
  F mkextw.sh 4123480947681d9b434a5e7b1ee08135abe409ac
@@@ -108,79 -109,79 +112,79 @@@ F spec.template 86a4a43b99ebb3e75e6b9a7
  F sqlite.pc.in 42b7bf0d02e08b9e77734a47798d1a55a9e0716b
  F sqlite3.1 6be1ad09113570e1fc8dcaff84c9b0b337db5ffc
  F sqlite3.pc.in ae6f59a76e862f5c561eb32a380228a02afc3cad
- F src/alter.c e6f4d11b1c0b23642fc46bac9abe0753c4294e05
- F src/analyze.c 92a65a5a402898a52b03695c7f0cd383724d711f
- F src/attach.c 7abe1607c2054585377cdba3c219e8572f84ca5e
+ F src/alter.c a9ff6f14b3935502537e90194b66c7bc79bed317
+ F src/analyze.c 3457a2af126eb78f20ad239c225a2c8ed61b78b6
+ F src/attach.c 17bec1f18254d9341369f20f90ba24ce35d20d10
  F src/auth.c 523da7fb4979469955d822ff9298352d6b31de34
- F src/backup.c b293534bc2df23c57668a585b17ee7faaaef0939
+ F src/backup.c 51d83300fe0baee39405c416ceb19a58ed30a8ed
  F src/bitvec.c 06ad2c36a9c3819c0b9cbffec7b15f58d5d834e0
  F src/btmutex.c 96a12f50f7a17475155971a241d85ec5171573ff
- F src/btree.c 0d6e44d664b1775b269ea7e6f66fdffcfc32ceb3
- F src/btree.h 0e193b7e90f1d78b79c79474040e3d66a553a4fa
- F src/btreeInt.h 71ed5e7f009caf17b7dc304350b3cb64b5970135
- F src/build.c 11100b66fb97638d2d874c1d34d8db90650bb1d7
- F src/callback.c 908f3e0172c3d4058f4ca0acd42c637c52e9669f
+ F src/btree.c 0de928e4da0fb4ef15e33bf3ff13656d0bc98e73
+ F src/btree.h dd83041eda10c17daf023257c1fc883b5f71f85a
+ F src/btreeInt.h b0c87f6725b06a0aa194a6d25d54b16ce9d6e291
+ F src/build.c 559d38b48f79bc92370c082f4606eefe1e8f94ac
+ F src/callback.c 01843bdf4b0420fd28046525d150fcd9802931a9
  F src/complete.c dc1d136c0feee03c2f7550bafc0d29075e36deac
- F src/ctime.c ceb247eb31620bba66a94c3f697db489a1652353
- F src/date.c 485a4409a384310e6d93fd1104a9d0a8658becd9
- F src/delete.c 610dc008e88a9599f905f5cbe9577ac9c36e0581
- F src/expr.c 6baed2a0448d494233d9c0a610eea018ab386a32
+ F src/ctime.c 4f3aadad62c6c9f0d4e5a96718516ac4e3c598df
+ F src/date.c 5dd8448a0bfea8d31fb14cff487d0c06ff8c8b20
+ F src/delete.c 41cb4f78557810eecc167b7e2317de7e12d20929
+ F src/expr.c 96bda574284ead53ba7af6334414b4e958cc866a
  F src/fault.c 160a0c015b6c2629d3899ed2daf63d75754a32bb
  F src/fkey.c e2116672a6bd610dc888e27df292ebc7999c9bb0
- F src/func.c cc68e721c25b9ad0d5c2d9e173298cfc1818fe4c
- F src/global.c 5a9c1e3c93213ca574786ac1caa976ce8f709105
 -F src/func.c 0c28599430856631216b6c0131c51c89bf516026
++F src/func.c 2448e7118bd35a4de4caefbccb4dde7ef9542bd0
+ F src/global.c 02335177cf6946fe5525c6f0755cf181140debf3
  F src/hash.c 458488dcc159c301b8e7686280ab209f1fb915af
  F src/hash.h 2894c932d84d9f892d4b4023a75e501f83050970
  F src/hwtime.h d32741c8f4df852c7d959236615444e2b1063b08
- F src/insert.c 76d6b44a9f9050134fd81205f4b792cbdac7c925
- F src/journal.c b0ea6b70b532961118ab70301c00a33089f9315c
+ F src/insert.c d9476f23f85a20eea3cc25a4b9f9cbae77a33bf2
+ F src/journal.c 552839e54d1bf76fb8f7abe51868b66acacf6a0e
 -F src/legacy.c a199d7683d60cef73089e892409113e69c23a99f
 +F src/legacy.c 015826a958f690302d27e096a68d50b3657e4201
  F src/lempar.c 7f026423f4d71d989e719a743f98a1cbd4e6d99e
  F src/loadext.c 1c7a61ce1281041f437333f366a96aa0d29bb581
- F src/main.c 5c1eeef69c0b6cb4cc72fa55e8d47914f7b49937
- F src/malloc.c 5fa175797f982b178eaf38afba9c588a866be729
 -F src/main.c a487fe90aecaccb142e4a6b738c7e26e99145bcd
++F src/main.c 5f44f46e02a19ce7e4a0e8bc16cb2c9a63d7a077
+ F src/malloc.c 09c3777bf733a387bec6aa344e455eb4e8ecf47e
  F src/mem0.c 6a55ebe57c46ca1a7d98da93aaa07f99f1059645
 -F src/mem1.c 89d4ea8d5cdd55635cbaa48ad53132af6294cbb2
 +F src/mem1.c 0f36f1eecd786240924a56f8796ffa850d47a96f
- F src/mem2.c ee752297650632935218dcf3b20c5ed5899cb4b5
+ F src/mem2.c 2ee7bdacda8299b5a91cff9f7ee3e46573195c38
  F src/mem3.c 9b237d911ba9904142a804be727cc6664873f8a3
  F src/mem5.c eb7a5cb98915dd7a086fa415ce3a5a0f20d0acff
- F src/memjournal.c 5bfc2f33c914946e2f77ed3f882aff14dfc9355d
- F src/mutex.c 581a272e09098040ca3ef543cb5f3d643eff7d50
+ F src/memjournal.c 4a93a25ad9f76c40afa070ffd7187eb3a5fd7aee
+ F src/mutex.c 6949180803ff05a7d0e2b9334a95b4fb5a00e23f
  F src/mutex.h 6fde601e55fa6c3fae768783c439797ab84c87c6
- F src/mutex_noop.c 5f58eaa31f2d742cb8957a747f7887ae98f16053
- F src/mutex_os2.c 20477db50cf3817c2f1cd3eb61e5c177e50231db
- F src/mutex_unix.c 04a25238abce7e3d06b358dcf706e26624270809
- F src/mutex_w32.c 4cc201c1bfd11d1562810554ff5500e735559d7e
- F src/notify.c f799bbda67ab6619b36b0a24153b49518874a203
- F src/os.c 8bc63cf91e9802e2b807198e54e50227fa889306
- F src/os.h 534b082c3cb349ad05fa6fa0b06087e022af282c
- F src/os_common.h 240c88b163b02c21a9f21f87d49678a0aa21ff30
- F src/os_os2.c 75a8c7b9a00a2cf1a65f9fa4afbc27d46634bb2f
- F src/os_unix.c fdeb37c703243141470396acf32331674b905e55
- F src/os_win.c bc65553f911439a6b1aa3cf22f34e5ea1c4aa394
- F src/pager.c e39ac887694a6644135f5e4151fe293b5397dd64
- F src/pager.h 1b32faf2e578ac3e7bcf9c9d11217128261c5c54
- F src/parse.y ace5c7a125d9f2a410e431ee3209034105045f7e
- F src/pcache.c 4956b41d6ba913f7a8a56fbf32be78caed0e45c2
+ F src/mutex_noop.c d5cfbca87168c661a0b118cd8e329a908e453151
+ F src/mutex_os2.c 6a62583e374ba3ac1a3fcc0da2bfdac7d3942689
+ F src/mutex_unix.c cf84466b4fdd2baa0d5a10bb19f08b2abc1ce42e
+ F src/mutex_w32.c 1fe0e735897be20e09dd6f53c3fb516c6b48c0eb
+ F src/notify.c cbfa66a836da3a51567209636e6a94059c137930
+ F src/os.c 60178f518c4d6c0dcb59f7292232281d7bea2dcf
+ F src/os.h 9dbed8c2b9c1f2f2ebabc09e49829d4777c26bf9
+ F src/os_common.h a8f95b81eca8a1ab8593d23e94f8a35f35d4078f
+ F src/os_os2.c 72d0b2e562952a2464308c4ce5f7913ac10bef3e
+ F src/os_unix.c 3109e0e5a0d5551bab2e8c7322b20a3b8b171248
 -F src/os_win.c 1f8b0a1a5bcf6289e7754d0d3c16cec16d4c93ab
 -F src/pager.c 78ca1e1f3315c8227431c403c04d791dccf242fb
++F src/os_win.c ed741817cfa97270e17f8f63c06f7e79e3b534d0
++F src/pager.c c0f3c60b701a794344961700da7c4e2ae23d79a8
+ F src/pager.h 879fdde5a102d2f21a3135d6f647530b21c2796c
+ F src/parse.y 220a11ac72e2c9dffbf4cbe5fe462f328bd8d884
+ F src/pcache.c 1e9aa2dbc0845b52e1b51cc39753b6d1e041cb07
  F src/pcache.h c683390d50f856d4cd8e24342ae62027d1bb6050
- F src/pcache1.c 2bb2261190b42a348038f5b1c285c8cef415fcc8
- F src/pragma.c cd1f5140914531a87222466565ff3a30db919ffd
- F src/prepare.c 1b3d55ed0fd5b530c9681ac306f06dd646f7e8df
+ F src/pcache1.c 3a7c28f46a61b43ff0b5c087a7983c154f4b264c
 -F src/pragma.c 4a79269ea6f86150fb8e44688c753989fc7238dd
 -F src/prepare.c f045aeff869d6409a2eae2fe08f7dc2df9528195
++F src/pragma.c 6ee427538964886ce466a6ef8b0c2557a2b27d7e
++F src/prepare.c e81fd00d882e849498b0927a046cd06aab7bd502
  F src/printf.c 5f5b65a83e63f2096a541a340722a509fa0240a7
  F src/random.c cd4a67b3953b88019f8cd4ccd81394a8ddfaba50
- F src/resolve.c a1648d98e869937b29f4f697461fe4d60f220a7b
+ F src/resolve.c 1c0f32b64f8e3f555fe1f732f9d6f501a7f05706
  F src/rowset.c 69afa95a97c524ba6faf3805e717b5b7ae85a697
- F src/select.c 4113ef360430ed4e7533690ef46d06c20204adce
- F src/shell.c c40427c7245535a04a9cb4a417b6cc05c022e6a4
- F src/sqlite.h.in f9a9be1bce911669a259f7c747bf05635cb360b5
+ F src/select.c 4903ff1bbd08b55cbce00ea43c645530de41b362
+ F src/shell.c fd4ccdb37c3b68de0623eb938a649e0990710714
+ F src/sqlite.h.in 8b05aef506d9bc7fc7da1572744e3174cb16ed59
  F src/sqlite3ext.h 69dfb8116af51b84a029cddb3b35062354270c89
- F src/sqliteInt.h 6873f7f4c24fcdceece8777f2a1cbec049df77a0
- F src/sqliteLimit.h 3afab2291762b5d09ae20c18feb8e9fa935a60a6
- F src/status.c d329385a2cba3ea49d9d68af0ad84b22d46b4f40
+ F src/sqliteInt.h d9e42f2029d4c526f9ba960bda1980ef17429c30
+ F src/sqliteLimit.h 196e2f83c3b444c4548fc1874f52f84fdbda40f3
+ F src/status.c 4df6fe7dce2d256130b905847c6c60055882bdbe
  F src/table.c 2cd62736f845d82200acfa1287e33feb3c15d62e
- F src/tclsqlite.c bad6570a005b234ea670b9f7b48256da19a032d3
- F src/test1.c 73a2b1d2188e9640d1915c1d8acc5679df7851dd
- F src/test2.c b6b43413d495addd039a88b87d65c839f86b18cb
+ F src/tclsqlite.c ae1e4fb653c91ddad7e2534d209711a12604ccc4
 -F src/test1.c ff3b4533fc4d78d1bff2ef831a5791db55096ed3
++F src/test1.c 0dc3be6a14d6478ded56daca868cc989fd8f7f1c
+ F src/test2.c e3f564ab1e9fd0b47b0c9e23e7054e38bf0836cf
  F src/test3.c 4c21700c73a890a47fc685c1097bfb661346ac94
  F src/test4.c ad03bb987ddedce928f4258c1e7fa4109a73497d
  F src/test5.c cc55900118fa4add8ec9cf69fc4225a4662f76b1
@@@ -188,12 -189,13 +192,13 @@@ F src/test6.c c7256cc21d2409486d094277d
  F src/test7.c 3f2d63e4ccf97f8c2cf1a7fa0a3c8e2e2a354e6e
  F src/test8.c f959db9a22d882013b64c92753fa793b2ce3bdea
  F src/test9.c bea1e8cf52aa93695487badedd6e1886c321ea60
- F src/test_async.c c1656facbaf43cb2e71b62621e5b9eb080e2621c
+ F src/test_async.c 0612a752896fad42d55c3999a5122af10dcf22ad
  F src/test_autoext.c 30e7bd98ab6d70a62bb9ba572e4c7df347fe645e
 -F src/test_backup.c c129c91127e9b46e335715ae2e75756e25ba27de
 +F src/test_backup.c 64fd6173ad99daade1227aa17c3ca0d18fa5e5fa
  F src/test_btree.c 47cd771250f09cdc6e12dda5bc71bc0b3abc96e2
- F src/test_config.c 5844274bf6cec4af3e6461fb3e2d349082635e81
- F src/test_devsym.c de3c9af2bb9a8b1e44525c449e4ec3f88e3d4110
+ F src/test_config.c 5a11c51af2156e2d07186930b36f2b8239a4393f
+ F src/test_demovfs.c da81a5f7785bb352bda7911c332a983ec4f17f27
+ F src/test_devsym.c e7498904e72ba7491d142d5c83b476c4e76993bc
  F src/test_func.c 13b582345fb1185a93e46c53310fae8547dcce20
  F src/test_hexio.c 1237f000ec7a491009b1233f5c626ea71bce1ea2
  F src/test_init.c 5d624ffd0409d424cf9adbfe1f056b200270077c
@@@ -208,43 -210,47 +213,47 @@@ F src/test_osinst.c f408c6a181f2fb04c56
  F src/test_pcache.c 7bf828972ac0d2403f5cfa4cd14da41f8ebe73d8
  F src/test_schema.c 8c06ef9ddb240c7a0fcd31bc221a6a2aade58bf0
  F src/test_server.c bbba05c144b5fc4b52ff650a4328027b3fa5fcc6
+ F src/test_stat.c 6ebaf2a86d01ccda24e49c148f1d33e8badda06e
  F src/test_tclvar.c f4dc67d5f780707210d6bb0eb6016a431c04c7fa
- F src/test_thread.c 00fed80690ae7f1525483a35861511c48bc579f2
+ F src/test_thread.c bedd05cad673dba53326f3aa468cc803038896c0
+ F src/test_vfs.c 7e291f85256516ebde6633bc381ff7eedfa30234
  F src/test_wsd.c 41cadfd9d97fe8e3e4e44f61a4a8ccd6f7ca8fe9
  F src/tokenize.c 25ceb0f0a746ea1d0f9553787f3f0a56853cfaeb
- F src/trigger.c 340c9eca0fb24b1197468d96ba059f867c9834c7
- F src/update.c c0dc6b75ad28b76b619042d934f337b02acee208
+ F src/trigger.c 67e95c76d625b92d43409ace771c8e0d02a09ac2
+ F src/update.c 19c899c23cd29fd102c9068e0b0ff5b087204beb
  F src/utf.c 1baeeac91707a4df97ccc6141ec0f808278af685
  F src/util.c 32aebf04c10e51ad3977a928b7416bed671b620b
- F src/vacuum.c b1d542c8919d4d11119f78069e1906a1ad07e0ee
- F src/vdbe.c 8acca6dab2505e9650f6f014ada6ef30570cba99
+ F src/vacuum.c 241a8386727c1497eba4955933356dfba6ff8c9f
+ F src/vdbe.c 6294de3327e09d14e9c06ecfd10e57c2d8e85307
  F src/vdbe.h 471f6a3dcec4817ca33596fe7f6654d56c0e75f3
- F src/vdbeInt.h ae1e6ba0dd3fb4a886898d2829d748be701b01f8
- F src/vdbeapi.c 6248612d1b1f6910bf535505bef4bd45ee2d6f1a
- F src/vdbeaux.c 0f352f63be78138bd94275aa3c8361e760ecc639
- F src/vdbeblob.c 5327132a42a91e8b7acfb60b9d2c3b1c5c863e0e
- F src/vdbemem.c 2a82f455f6ca6f78b59fb312f96054c04ae0ead1
+ F src/vdbeInt.h 19ebc8c2a2e938340051ee65af3f377fb99102d1
 -F src/vdbeapi.c dc3138f10afbc95ed3c21dd25abb154504b1db9d
++F src/vdbeapi.c 95b451c6d991fddef6f9e4e68acfe573f597fb2f
+ F src/vdbeaux.c 7f99c1f00e4b31e8b28d8a87ecc2322bb46ae99c
+ F src/vdbeblob.c 258a6010ba7a82b72b327fb24c55790655689256
+ F src/vdbemem.c 5e579abf6532001dfbee0e640dc34eae897a9807
  F src/vdbetrace.c 864cef96919323482ebd9986f2132435115e9cc2
- F src/vtab.c 606adf51cd6d4ba51a8c6dccede06a6f7b0dd72d
+ F src/vtab.c a0f8a40274e4261696ef57aa806de2776ab72cda
+ F src/wal.c 0925601f3299c2941a67c9cfff41ee710f70ca82
+ F src/wal.h 906c85760598b18584921fe08008435aa4eeeeb2
  F src/walker.c 3112bb3afe1d85dc52317cb1d752055e9a781f8f
- F src/where.c 399ea4c090284c9d16f76d685b9b44e8b9b4442b
+ F src/where.c 903a7828a0a7de03b5d0f1b5eff222d8d5b138f1
  F test/aggerror.test a867e273ef9e3d7919f03ef4f0e8c0d2767944f2
  F test/alias.test 4529fbc152f190268a15f9384a5651bbbabc9d87
- F test/all.test 14165b3e32715b700b5f0cbf8f6e3833dda0be45
- F test/alter.test 645b2e8d23c9936f9494af9d2fa7f8351a248c6e
- F test/alter2.test d0133bfa7a0a24aa84c034051410b95217d24a35
+ F test/all.test 6745008c144bd2956d58864d21f7b304689c1cce
+ F test/alter.test 15f9224868b290d6bf7a63f31437f31aee070636
+ F test/alter2.test 52096b711afe5f219e575c6db7a70f7a35df4f63
  F test/alter3.test 25b95a136708f22b87184fa6a4309eea03d65153
  F test/alter4.test 9386ffd1e9c7245f43eca412b2058d747509cc1f
  F test/altermalloc.test e81ac9657ed25c6c5bb09bebfa5a047cd8e4acfc
- F test/analyze.test ad5329098fe4de4a96852231d53e3e9e6283ad4b
- F test/analyze2.test a2ad7b0a4e13801ee3968fe70f22aff52326569c
+ F test/analyze.test bf692e7db414f268a136bade16c03a1bdbb9240c
+ F test/analyze2.test 59dac6c399c0c5d1a90a11ee7cc606743fb6db93
  F test/analyze3.test 506203875258ffd8ffa879b9c3c5432022d2b6d8
- F test/async.test 8c75d31b8330f8b70cf2571b014d4476a063efdb
+ F test/async.test ad4ba51b77cd118911a3fe1356b0809da9c108c3
  F test/async2.test bf5e2ca2c96763b4cba3d016249ad7259a5603b6
  F test/async3.test 93edaa9122f498e56ea98c36c72abc407f4fb11e
- F test/async4.test aafa6328c559d3e4bb587de770cbdecfca06f0da
+ F test/async4.test 1787e3952128aa10238bf39945126de7ca23685a
  F test/async5.test f3592d79c84d6e83a5f50d3fd500445f7d97dfdf
 -F test/attach.test ce9660e51768fab93cf129787be886c5d6c4fd81
 +F test/attach.test ccdedd5496a0244f8e45366ba9253af30083ea84
  F test/attach2.test a295d2d7061adcee5884ef4a93c7c96a82765437
  F test/attach3.test bd9830bc3a0d22ed1310c9bff6896927937017dc
  F test/attachmalloc.test 38d2da5fdaf09ba0add57296967a3061e5842584
@@@ -474,17 -485,17 +488,18 @@@ F test/limit.test 2db7b3b34fb925b8e847d
  F test/loadext.test 0393ce12d9616aa87597dd0ec88181de181f6db0
  F test/loadext2.test 0bcaeb4d81cd5b6e883fdfea3c1bdbe1f173cbca
  F test/lock.test 842e80b6be816c79525a20b098cca066989feed7
- F test/lock2.test 7bb642551df59b3de135291d62ee82409420181e
+ F test/lock2.test 5242d8ac4e2d59c403aebff606af449b455aceff
  F test/lock3.test f271375930711ae044080f4fe6d6eda930870d00
- F test/lock4.test f4f36271aa5ae1da449646bf43c7341f6b2b4c4e
- F test/lock5.test 6b1f78f09ad1522843dad571b76b321e6f439bf7
- F test/lock6.test 862aa71e97b288d6b3f92ba3313f51bd0b003776
+ F test/lock4.test c82268c031d39345d05efa672f80b025481b3ae5
+ F test/lock5.test b2abb5e711bc59b0eae00f6c97a36ec9f458fada
+ F test/lock6.test 8df56060f396151777390982422c800d026e1722
  F test/lock7.test 64006c84c1c616657e237c7ad6532b765611cf64
- F test/lookaside.test 1dd350dc6dff015c47c07fcc5a727a72fc5bae02
- F test/main.test 86565d07880b683b36cf4631d03bd9ff9922c63d
+ F test/lock_common.tcl e7013c6208f5fa818735c324eb0249b4c0f317cf
 +F test/lock_proxy.test 364b6c6220c023b57fc37eb52ec97c1f5c682c47
 -F test/main.test 9d7bbfcc1b52c88ba7b2ba6554068ecf9939f252
+ F test/lookaside.test 382e7bc2fab23d902c8eafb1b9ed7ababfff75a6
++F test/main.test 753e2b772c041bd8dbd17c7e4132b3981378eaab
  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
@@@ -501,14 -512,14 +516,14 @@@ F test/mallocE.test db1ed69d7eded1b0809
  F test/mallocF.test 2d5c590ebc2fc7f0dcebdf5aa8498b9aed69107e
  F test/mallocG.test 4584d0d8ddb8009f16ca0c8bab1fa37f6358efa2
  F test/mallocH.test 79b65aed612c9b3ed2dcdaa727c85895fd1bfbdb
- F test/mallocI.test e3ea401904d010cb7c1e4b2ee8803f4a9f5b999d
+ F test/mallocI.test a88c2b9627c8506bf4703d8397420043a786cdb6
  F test/mallocJ.test b5d1839da331d96223e5f458856f8ffe1366f62e
  F test/mallocK.test d79968641d1b70d88f6c01bdb9a7eb4a55582cc9
- F test/malloc_common.tcl a0b9f24aff8987f965a0d3e91cecdbb8b67e7916
 -F test/malloc_common.tcl f4a04b7a733eb114a3da16eb39035cde2c851220
++F test/malloc_common.tcl bd0b0916f03cb4f4c973bcb793f3057e84d5ecfb
  F test/manydb.test b3d3bc4c25657e7f68d157f031eb4db7b3df0d3c
 -F test/memdb.test 0825155b2290e900264daaaf0334b6dfe69ea498
 +F test/memdb.test f773146f66ee2c635854a8264317f39a6cc3e18c
- F test/memleak.test d2d2a1ff7105d32dc3fdf691458cf6cba58c7217
- F test/memsubsys1.test d7d3266a56e69bb3e6b8dd64822fcaa1c4f3e399
+ F test/memleak.test 10b9c6c57e19fc68c32941495e9ba1c50123f6e2
 -F test/memsubsys1.test 8fb47b7e2523f94c100f5885c5697505524de4b9
++F test/memsubsys1.test 98d5ff4c9f534cc863c07b74043bd44921893f29
  F test/memsubsys2.test 72a731225997ad5e8df89fdbeae9224616b6aecc
  F test/minmax.test 722d80816f7e096bf2c04f4111f1a6c1ba65453d
  F test/minmax2.test 33504c01a03bd99226144e4b03f7631a274d66e0
@@@ -529,12 -541,16 +545,16 @@@ F test/notify3.test 7eeba3628c4e707c004
  F test/notnull.test cc7c78340328e6112a13c3e311a9ab3127114347
  F test/null.test a8b09b8ed87852742343b33441a9240022108993
  F test/openv2.test af02ed0a9cbc0d2a61b8f35171d4d117e588e4ec
- F test/pageropt.test 3ee6578891baaca967f0bd349e4abfa736229e1a
+ F test/pager1.test d8e4b2bc8164c920e6ea0572c9e13576d6e4f3fa
+ F test/pager2.test f5c757c271ce642d36a393ecbfb3aef1c240dcef
+ F test/pagerfault.test c1d176326ce244db157ce9c3ba128be2a9b172d6
+ F test/pagerfault2.test 1f79ea40d1133b2683a2f811b00f2399f7ec2401
+ F test/pageropt.test 8146bf448cf09e87bb1867c2217b921fb5857806
  F test/pagesize.test 76aa9f23ecb0741a4ed9d2e16c5fa82671f28efb
- F test/pcache.test eebc4420b37cb07733ae9b6e99c9da7c40dd6d58
+ F test/pcache.test 4118a183908ecaed343a06fcef3ba82e87e0129d
  F test/pcache2.test 0d85f2ab6963aee28c671d4c71bec038c00a1d16
- F test/permutations.test 91928573ca2db2c88dbc50ab34e4a585d912b580
- F test/pragma.test 648a1760925d7d39003b3fd29e1b050c983e7553
+ F test/permutations.test 3fe47c21c32b294b2354e702a25bfbff65747bb1
 -F test/pragma.test ed78d200f65c6998df51196cb8c39d5300570f24
++F test/pragma.test 66a412d365188cebac3e4e2075eaf8f5d6eb87a2
  F test/pragma2.test 5364893491b9231dd170e3459bfc2e2342658b47
  F test/printf.test 05970cde31b1a9f54bd75af60597be75a5c54fea
  F test/progress.test 5b075c3c790c7b2a61419bc199db87aaf48b8301
@@@ -598,13 -616,13 +620,13 @@@ F test/subquery.test b524f57c9574b2c034
  F test/subselect.test d24fd8757daf97dafd2e889c73ea4c4272dcf4e4
  F test/substr.test 18f57c4ca8a598805c4d64e304c418734d843c1a
  F test/sync.test ded6b39d8d8ca3c0c5518516c6371b3316d3e3a3
- F test/table.test bf102a5669c4db7a41330802f24a4a81a4204f83
+ F test/table.test 04ba066432430657712d167ebf28080fe878d305
  F test/tableapi.test 7262a8cbaa9965d429f1cbd2747edc185fa56516
- F test/tclsqlite.test bf4227eb236a4c097aa7974a2bf7d3225acf34be
- F test/tempdb.test 1bf52da28a9c24e29717362a87722dff08feb72b
+ F test/tclsqlite.test 8c154101e704170c2be10f137a5499ac2c6da8d3
+ F test/tempdb.test 800c36623d67a2ad1f58784b9c5644e0405af6e6
  F test/temptable.test f42121a0d29a62f00f93274464164177ab1cc24a
  F test/temptrigger.test b0273db072ce5f37cf19140ceb1f0d524bbe9f05
- F test/tester.tcl a488554f216fa237e1649114f7ff0594195e41fb
 -F test/tester.tcl 295800403a36c4319354482749e9282ce47b7edc
++F test/tester.tcl 7ea0c78442dccd4d7dde572c4a271dbc8b615e17
  F test/thread001.test a3e6a7254d1cb057836cb3145b60c10bf5b7e60f
  F test/thread002.test afd20095e6e845b405df4f2c920cb93301ca69db
  F test/thread003.test b824d4f52b870ae39fc5bae4d8070eca73085dca
@@@ -779,7 -819,7 +823,7 @@@ F tool/lempar.c 01ca97f87610d1dac6d8cd9
  F tool/mkkeywordhash.c d2e6b4a5965e23afb80fbe74bb54648cd371f309
  F tool/mkopts.tcl 66ac10d240cc6e86abd37dc908d50382f84ff46e
  F tool/mkspeedsql.tcl a1a334d288f7adfe6e996f2e712becf076745c97
- F tool/mksqlite3c.tcl a30073f702570f963574a14c692a94c26c858ba8
 -F tool/mksqlite3c.tcl aff0d53f0e84cf919922c0d02e767bdf5eeafb90
++F tool/mksqlite3c.tcl be5206d081291aa4c0e1a328331171425bdbe77c
  F tool/mksqlite3h.tcl eb100dce83f24b501b325b340f8b5eb8e5106b3b
  F tool/mksqlite3internalh.tcl 7b43894e21bcb1bb39e11547ce7e38a063357e87
  F tool/omittest.tcl 27d6f6e3b1e95aeb26a1c140e6eb57771c6d794a
@@@ -799,14 -840,14 +844,14 @@@ F tool/speedtest2.tcl ee2149167303ba8e9
  F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
  F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
  F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f
- P 5c0afe70a5ee2b378896bf30426823dc5ae4e95c 776679af588625f13307369770979bccae7cf03a
- R 90e27fcea4f7f54474c3a0fb8671dd73
 -P 5074b85967df8f55739ba790924347c764288a88
 -R f5778ea9917b1adb206cc22be6e49c29
++P 21ca87f69125a9e7124c6ddc566d17f64661b0d3 042a1abb030a0711386add7eb6e10832cc8b0f57
++R a0302c2cc0f7d48015e224bb2b269904
  U drh
- Z b8746f44feb03a04fe1e2272410b2363
 -Z 60fae2989ec1bf91141b6299767f6365
++Z 2e5c390a58c654c840972d590ea9776b
  -----BEGIN PGP SIGNATURE-----
  Version: GnuPG v1.4.6 (GNU/Linux)
  
- iD8DBQFMGSqsoxKgR168RlERAtaeAJwOjCShd/QM6A+bZt7Sd1NRZQnhYgCdEZRm
- OPl6AbsNdGPQiQAPLtVWZiQ=
- =hX2q
 -iD8DBQFMWV2SoxKgR168RlERAiENAJ9TfAN62Ul3mO+iNQD+b8HJNbjgOwCeIZwB
 -BZSXOygjVggzK2g+JjZSHP8=
 -=3zag
++iD8DBQFMXUeCoxKgR168RlERAh3wAJ9vkuYLkmYAethkfRnCyA85itOWmQCdHqi9
++Um3XnsUJPDOzuj+sNtgxEE0=
++=FT3/
  -----END PGP SIGNATURE-----
diff --cc manifest.uuid
index c09111da5920b69831e0dd16919023a53d973273,8d921f874bc0d9173a474be36cc97f86f76fffc3..82f216b47c618fb41de0c239cad360d42eeeb9f9
@@@ -1,1 -1,1 +1,1 @@@
- 21ca87f69125a9e7124c6ddc566d17f64661b0d3
 -042a1abb030a0711386add7eb6e10832cc8b0f57
++f88c6367d2f96cc93846ba38e6b963a1a3936e8d
diff --cc src/func.c
Simple merge
diff --cc src/main.c
Simple merge
diff --cc src/os_win.c
index c3ea1b27548bb470e25ba23e32541e3393d90c28,095131232734c287290645fe5b3efcfc0f8bfb35..d38683a478c6442e9547e9a755630fe6cbdda1d7
@@@ -1112,11 -1146,13 +1146,18 @@@ static int winFileControl(sqlite3_file 
        *(int*)pArg = (int)((winFile*)id)->lastErrno;
        return SQLITE_OK;
      }
 +    case SQLITE_FCNTL_SIZE_HINT: {
 +      sqlite3_int64 sz = *(sqlite3_int64*)pArg;
 +      winTruncate(id, sz);
 +      return SQLITE_OK;
 +    }
+     case SQLITE_FCNTL_SIZE_HINT: {
+       sqlite3_int64 sz = *(sqlite3_int64*)pArg;
+       SimulateIOErrorBenign(1);
+       winTruncate(id, sz);
+       SimulateIOErrorBenign(0);
+       return SQLITE_OK;
+     }
    }
    return SQLITE_ERROR;
  }
diff --cc src/pager.c
index 61e0e98f38a68d4cef03bfa4457dbc00b9eb652f,dfb29e3df70308123f2fcad5477fe746d9d6531c..6c7cdc25b25031f9fd2a27cd44ecf3cfd449a665
@@@ -2869,16 -3361,14 +3358,27 @@@ static int pager_write_pagelist(Pager *
      rc = pagerOpentemp(pPager, pPager->fd, pPager->vfsFlags);
    }
  
++#if 0
+   /* Before the first write, give the VFS a hint of what the final
+   ** file size will be.
+   */
+   assert( rc!=SQLITE_OK || isOpen(pPager->fd) );
+   if( rc==SQLITE_OK && pPager->dbSize>(pPager->dbOrigSize+1) ){
+     sqlite3_int64 szFile = pPager->pageSize * (sqlite3_int64)pPager->dbSize;
+     sqlite3OsFileControl(pPager->fd, SQLITE_FCNTL_SIZE_HINT, &szFile);
+   }
++#endif
++
 +  /* Before the first write, give the VFS a hint of what the final
 +  ** file size will be.
 +  */
 +  if( rc==SQLITE_OK
 +   && pPager->dbSize>(pPager->dbFileSize+1)
 +   && isOpen(pPager->fd)
 +  ){
 +    sqlite3_int64 szFile = pPager->pageSize * (sqlite3_int64)pPager->dbSize;
 +    sqlite3OsFileControl(pPager->fd, SQLITE_FCNTL_SIZE_HINT, &szFile);
 +  }
  
    while( rc==SQLITE_OK && pList ){
      Pgno pgno = pList->pgno;
diff --cc src/pragma.c
index 51e5a2cd71a9675078bea376b9d036ec9a6df982,2428965182225470b3d96f05f41e73e64f4006a4..4841a404570cafab2cb74c3a89e6d7abf5f2d40b
@@@ -1384,6 -1391,36 +1395,40 @@@ void sqlite3Pragma
    }else
  #endif /* SQLITE_OMIT_COMPILEOPTION_DIAGS */
  
 -    returnSingleInt(pParse, "wal_autocheckpoint", 
 -       db->xWalCallback==sqlite3WalDefaultHook ? 
 -           SQLITE_PTR_TO_INT(db->pWalArg) : 0);
+ #ifndef SQLITE_OMIT_WAL
+   /*
+   **   PRAGMA [database.]wal_checkpoint
+   **
+   ** Checkpoint the database.
+   */
+   if( sqlite3StrICmp(zLeft, "wal_checkpoint")==0 ){
+     if( sqlite3ReadSchema(pParse) ) goto pragma_out;
+     sqlite3VdbeAddOp3(v, OP_Checkpoint, pId2->z?iDb:SQLITE_MAX_ATTACHED, 0, 0);
+   }else
+   /*
+   **   PRAGMA wal_autocheckpoint
+   **   PRAGMA wal_autocheckpoint = N
+   **
+   ** Configure a database connection to automatically checkpoint a database
+   ** after accumulating N frames in the log. Or query for the current value
+   ** of N.
+   */
+   if( sqlite3StrICmp(zLeft, "wal_autocheckpoint")==0 ){
++    sqlite3_int64 ret;
+     if( zRight ){
+       int nAuto = atoi(zRight);
+       sqlite3_wal_autocheckpoint(db, nAuto);
+     }
++    if( db->xWalCallback==sqlite3WalDefaultHook ){
++      ret = SQLITE_PTR_TO_INT(db->pWalArg);
++    }else{
++      ret = 0;
++    }
++    returnSingleInt(pParse, "wal_autocheckpoint", &ret);
+   }else
+ #endif
  #if defined(SQLITE_DEBUG) || defined(SQLITE_TEST)
    /*
    ** Report the current state of file logs for all databases
diff --cc src/prepare.c
Simple merge
diff --cc src/test1.c
Simple merge
diff --cc src/vdbeapi.c
Simple merge
diff --cc test/main.test
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc test/tester.tcl
Simple merge
index 16cda2df773dba591f860249bd4a41f691f2a25b,da31306963e5852e0c065e15a049523ec7d45197..b33dff665c9a1d89140e8446dd62f42f4197a1ce
@@@ -107,9 -107,9 +107,10 @@@ foreach hdr 
     sqliteicu.h
     sqliteInt.h
     sqliteLimit.h
 +   sqlrr.h
     vdbe.h
     vdbeInt.h
+    wal.h
  } {
    set available_hdr($hdr) 1
  }