]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Merge latest trunk changes into the apple-osx branch.
authordan <dan@noemail.net>
Tue, 23 Aug 2011 18:06:04 +0000 (18:06 +0000)
committerdan <dan@noemail.net>
Tue, 23 Aug 2011 18:06:04 +0000 (18:06 +0000)
FossilOrigin-Name: c5f7977b899e93bf90bd44572db78c744ea81c14

39 files changed:
1  2 
Makefile.in
main.mk
manifest
manifest.uuid
src/btree.c
src/os_unix.c
src/test1.c
src/test_config.c
src/vdbe.c
test/attach.test
test/exclusive.test
test/fallocate.test
test/incrvacuum2.test
test/journal3.test
test/lock5.test
test/main.test
test/malloc_common.tcl
test/manydb.test
test/memdb.test
test/memsubsys1.test
test/multiplex.test
test/pager1.test
test/pagerfault.test
test/pragma.test
test/shared.test
test/tester.tcl
test/tkt3457.test
test/wal.test
test/wal2.test
test/wal3.test
test/wal4.test
test/walbak.test
test/walcksum.test
test/walcrash.test
test/walfault.test
test/walmode.test
test/walslow.test
test/walthread.test
tool/mksqlite3c.tcl

diff --cc Makefile.in
Simple merge
diff --cc main.mk
Simple merge
diff --cc manifest
index 411227dd8e26c462cf1c03fa13966314915cd67d,1857541140c7e284bfd39c10d26786c6297e241e..e31673cb01315a1ca45f8799ef331fc9dce73641
+++ b/manifest
@@@ -1,9 -1,9 +1,9 @@@
- C Merge\sall\sthe\slatest\strunk\schanges\sinto\sthe\sapple-osx\sbranch.
- D 2011-08-02T18:25:20.857
 -C Have\sthe\s"crash"\sVFS\sused\sby\sthe\stcl\stests\s(test6.c)\shandle\sSQLITE_FCNTL_SIZE_HINT\sinternally,\sinstead\sof\spassing\sit\sdirectly\sthrough\sto\sthe\sunderlying\sVFS.\sThis\sis\simportant\sif\sthe\scrash\sVFS\sis\ssimulating\snon-default\sdevice\scharacteristics\ssuch\sas\sSQLITE_DEVCAP_SEQUENTIAL\sor\sATOMIC.
 -D 2011-08-23T16:41:06
++C Merge\slatest\strunk\schanges\sinto\sthe\sapple-osx\sbranch.
++D 2011-08-23T18:06:05
  F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
- F Makefile.in 2aed3fdeed9a8ab56f07e35c2486b789d1fa9fad
 -F Makefile.in 8c930e7b493d59099ea1304bd0f2aed152eb3315
++F Makefile.in 6d45d7ea497fd85ae06fd6e742b7cb579a02f732
  F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
- F Makefile.msc 8e04f517922b9e31a5bf975f07bb66df79ae7076
+ F Makefile.msc 386444f1e1a1536d19a426030d93fd6e03b7d3b5
  F Makefile.vxworks c85ec1d8597fe2f7bc225af12ac1666e21379151
  F README cd04a36fbc7ea56932a4052d7d0b7f09f27c33d6
  F VERSION f724de7326e87b7f3b0a55f16ef4b4d993680d54
@@@ -102,12 -102,9 +102,12 @@@ F ext/rtree/rtree_util.tcl 06aab2ed5b82
  F ext/rtree/sqlite3rtree.h 1af0899c63a688e272d69d8e746f24e76f10a3f0
  F ext/rtree/tkt3363.test 142ab96eded44a3615ec79fba98c7bde7d0f96de
  F ext/rtree/viewrtree.tcl eea6224b3553599ae665b239bd827e182b466024
 +F ext/sqlrr/README.txt 4239030e73023e72a2e727808cd433577d5bf730
 +F ext/sqlrr/sqlrr.c 8d1e6571cd6a6beabdb5bcdfe3a0e723b914db41
 +F ext/sqlrr/sqlrr.h 09e4f8929ad9bc2638732c0cc0db5eef8c417824
  F install-sh 9d4de14ab9fb0facae2f48780b874848cbf2f895 x
  F ltmain.sh 3ff0879076df340d2e23ae905484d8c15d5fdea8
- F main.mk 2c6142be5deca401db225d41945d49bf9c4fb9a3
 -F main.mk 269e7bb626997b42a7d6989ec60451492d599ec7
++F main.mk a1e924472da3250e51c177c0e8047b6831385e91
  F mkdll.sh 7d09b23c05d56532e9d44a50868eb4b12ff4f74a
  F mkextu.sh 416f9b7089d80e5590a29692c9d9280a10dbad9f
  F mkextw.sh 4123480947681d9b434a5e7b1ee08135abe409ac
@@@ -124,22 -121,22 +124,22 @@@ F src/alter.c ac80a0f31189f8b4a524ebf66
  F src/analyze.c a425d62e8fa9ebcb4359ab84ff0c62c6563d2e2a
  F src/attach.c 12c6957996908edc31c96d7c68d4942c2474405f
  F src/auth.c 523da7fb4979469955d822ff9298352d6b31de34
- F src/backup.c 986c15232757f2873dff35ee3b35cbf935fc573c
+ F src/backup.c 4dfc39043a42cbe47f22b2da47065ae5377f44fd
  F src/bitvec.c af50f1c8c0ff54d6bdb7a80e2fceca5a93670bef
  F src/btmutex.c 976f45a12e37293e32cae0281b15a21d48a8aaa7
- F src/btree.c e09181860cc8b32ac3c767b0747a5ee66104817b
 -F src/btree.c 97cf3ba4ff067e716753b33661035e50853aebba
++F src/btree.c 51e4af60aa467d6a78b39346986cd607fe5d29c1
  F src/btree.h f5d775cd6cfc7ac32a2535b70e8d2af48ef5f2ce
  F src/btreeInt.h 67978c014fa4f7cc874032dd3aacadd8db656bc3
- F src/build.c 5e614e586d9f8a81c16c80b545b9e1747f96c1bb
+ F src/build.c 6c60478a1e23f7cdd30ae0251b46f9adbe0e98c2
  F src/callback.c 0425c6320730e6d3981acfb9202c1bed9016ad1a
  F src/complete.c dc1d136c0feee03c2f7550bafc0d29075e36deac
- F src/ctime.c 7deec4534f3b5a0c3b4a4cbadf809d321f64f9c4
+ F src/ctime.c caf51429be3e0d4114056a8273b0fff812ff8ae9
  F src/date.c a3c6842bad7ae632281811de112a8ba63ff08ab3
  F src/delete.c ff68e5ef23aee08c0ff528f699a19397ed8bbed8
  F src/expr.c 4bbdfaf66bc614be9254ce0c26a17429067a3e07
  F src/fault.c 160a0c015b6c2629d3899ed2daf63d75754a32bb
- F src/fkey.c c8492fed772af1ed61251582707266227612b45b
+ F src/fkey.c 9f00ea98f6b360d477b5a78b5b59a1fbde82431c
 -F src/func.c 59bb046d7e3df1ab512ac339ccb0a6f996a17cb7
 +F src/func.c 1b9d471b632d8529e0f86b7bd2b918dcc2cb1097
  F src/global.c c70a46f28680f8d7c097dbc0430ccf3b932e90b0
  F src/hash.c 458488dcc159c301b8e7686280ab209f1fb915af
  F src/hash.h 2894c932d84d9f892d4b4023a75e501f83050970
@@@ -168,16 -165,16 +168,16 @@@ F src/os.c af614089eb9328f3a6a8374d2e4c
  F src/os.h 9dbed8c2b9c1f2f2ebabc09e49829d4777c26bf9
  F src/os_common.h 65a897143b64667d23ed329a7984b9b405accb58
  F src/os_os2.c 4a75888ba3dfc820ad5e8177025972d74d7f2440
- F src/os_unix.c f7883504e103e121d3acf7f4fd4fbddec4f5e625
- F src/os_win.c 60af92b1b1cc7aee13f5e0b5f9dde2d7abb41354
 -F src/os_unix.c 87ced852f8dc3da0c43621e4fed7d9021e43af6a
++F src/os_unix.c bcdfbf4f5580ee9224155f5140cdf2d03c03048e
+ F src/os_win.c 4eb6fa00ee28f6d7bad0526edcbe5a60d297c67a
 -F src/pager.c 120550e7ef01dafaa2cbb4a0528c0d87c8f12b41
 +F src/pager.c e3688b37e781e8e069ed6375299da82a34a41794
  F src/pager.h 3f8c783de1d4706b40b1ac15b64f5f896bcc78d1
  F src/parse.y 12b7ebd61ea54f0e1b1083ff69cc2c8ce9353d58
  F src/pcache.c 49e718c095810c6b3334e3a6d89970aceaddefce
  F src/pcache.h c683390d50f856d4cd8e24342ae62027d1bb6050
- F src/pcache1.c 912bd5687d6df344698d8e69560f347b6e21c18a
+ F src/pcache1.c a1d860753eee0a46165afaad3962a88463fb32a8
 -F src/pragma.c ebcd20f1e654f5cb3aeef864ed69c4697719fbaa
 -F src/prepare.c e64261559a3187698a3e7e6c8b001a4f4f98dab4
 +F src/pragma.c 66661dbe8428dd3215bd4c8f8a43dd3326e0bf6f
 +F src/prepare.c 9d7403fe75fefa134351b41400d09ba1b189134b
  F src/printf.c 585a36b6a963df832cfb69505afa3a34ed5ef8a1
  F src/random.c cd4a67b3953b88019f8cd4ccd81394a8ddfaba50
  F src/resolve.c 36368f44569208fa074e61f4dd0b6c4fb60ca2b4
@@@ -191,8 -187,8 +191,8 @@@ F src/sqliteInt.h 5c29fe37ecd1b105fba48
  F src/sqliteLimit.h 164b0e6749d31e0daa1a4589a169d31c0dec7b3d
  F src/status.c 7ac64842c86cec2fc1a1d0e5c16d3beb8ad332bf
  F src/table.c 2cd62736f845d82200acfa1287e33feb3c15d62e
- F src/tclsqlite.c c355b33803fb756dc09297ec84d19604301fa622
- F src/test1.c 0b610fa55524110c08484a3d418d79eb40fde5ae
+ F src/tclsqlite.c 3ef1dda2f1dc207c792eaadebf9d8adc44648581
 -F src/test1.c 7439efb86c1022f19a39a8e61de2cbac23ffab03
++F src/test1.c d94212eb95dc8bdb946bab5ee652ef3d9b846dae
  F src/test2.c 80d323d11e909cf0eb1b6fbb4ac22276483bcf31
  F src/test3.c 124ff9735fb6bb7d41de180d6bac90e7b1509432
  F src/test4.c d1e5a5e904d4b444cf572391fdcb017638e36ff7
@@@ -203,9 -199,9 +203,9 @@@ F src/test8.c 6b1d12912a04fe6fca8c45bb9
  F src/test9.c bea1e8cf52aa93695487badedd6e1886c321ea60
  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 e870ccc14e3dceb9a067645d19787a6644dafa1b
 -F src/test_config.c e342660556d64365aacea2b23cbb5e6654d7278f
++F src/test_config.c ab0434c9ae170664d9402d1e1826fd8d04100263
  F src/test_demovfs.c 20a4975127993f4959890016ae9ce5535a880094
  F src/test_devsym.c e7498904e72ba7491d142d5c83b476c4e76993bc
  F src/test_func.c cbdec5cededa0761daedde5baf06004a9bf416b5
@@@ -228,11 -224,11 +228,11 @@@ F src/test_rtree.c af76d5a2ead69280ba33
  F src/test_schema.c 8c06ef9ddb240c7a0fcd31bc221a6a2aade58bf0
  F src/test_server.c 2f99eb2837dfa06a4aacf24af24c6affdf66a84f
  F src/test_stat.c f682704b5d1ba8e1d4e7e882a6d7922e2dcf066c
 -F src/test_superlock.c 2b97936ca127d13962c3605dbc9a4ef269c424cd
 +F src/test_superlock.c 12e2bc484c6c2ba837327d37f2e6a6fd9d1464f8
- F src/test_syscall.c 162c4ec0137a549c009bb9ecab550527743cfc5d
+ F src/test_syscall.c a992d8c80ea91fbf21fb2dd570db40e77dd7e6ae
  F src/test_tclvar.c f4dc67d5f780707210d6bb0eb6016a431c04c7fa
  F src/test_thread.c fe9a7803fc1d69cccb60f016f28c1cedf2d9fcfa
- F src/test_vfs.c 956cb3f5cbd2a0d09129540e615bb0fb761c083d
+ F src/test_vfs.c b0baec983bd6f872715a4b44c8f39104fec333af
  F src/test_vfstrace.c 0b884e06094a746da729119a2cabdc7aa790063d
  F src/test_wholenumber.c 6129adfbe7c7444f2e60cc785927f3aa74e12290
  F src/test_wsd.c 41cadfd9d97fe8e3e4e44f61a4a8ccd6f7ca8fe9
@@@ -242,20 -238,21 +242,21 @@@ F src/update.c 74a6cfb34e9732c1e2a86278
  F src/utf.c c53eb7404b3eb5c1cbb5655c6a7a0e0ce6bd50f0
  F src/util.c 06302ffd2b80408d4f6c7af71f7090e0cf8d8ff7
  F src/vacuum.c 05513dca036a1e7848fe18d5ed1265ac0b32365e
- F src/vdbe.c 30e1d38a118f156a5af4718fc67cb8710e16d72e
 -F src/vdbe.c 22d0d5bc8e8e467e1e0fa20a0a6b21c297f5601f
++F src/vdbe.c 859006c0171c04f3215be1b45ba05add580e4b60
  F src/vdbe.h 5cf09e7ee8a3f7d93bc51f196a96550786afe7a1
- F src/vdbeInt.h ad84226cc0adcb1185c22b70696b235a1678bb45
+ F src/vdbeInt.h f9250326f264ca5f100acc19e9c07096bb889096
 -F src/vdbeapi.c 11dc47987abacb76ad016dcf5abc0dc422482a98
 +F src/vdbeapi.c 335435e65443f38d3073b5043e80cbbb7090c2d9
- F src/vdbeaux.c 4d100407e3c72e163854aff8903d19d5ecdf46c0
+ F src/vdbeaux.c 8fb978eb73a97b34d352dd3ef3bff35b1b3fa7e9
  F src/vdbeblob.c f024f0bf420f36b070143c32b15cc7287341ffd3
  F src/vdbemem.c 0498796b6ffbe45e32960d6a1f5adfb6e419883b
 -F src/vdbetrace.c 5d0dc3d5fd54878cc8d6d28eb41deb8d5885b114
+ F src/vdbesort.c a63bab05465ef7f8d28d46757eef55f84828d9a7
 +F src/vdbetrace.c 4b92fe7355f682368203d29b2be7125cbab85e79
  F src/vtab.c 901791a47318c0562cd0c676a2c6ff1bc530e582
 -F src/wal.c 3154756177d6219e233d84291d5b05f4e06ff5e9
 -F src/wal.h 66b40bd91bc29a5be1c88ddd1f5ade8f3f48728a
 +F src/wal.c 92c7c876b026d5e38fab3ce332e49266ffcf8b2b
 +F src/wal.h e75d87752bd5df3dc4152ee2cb3b0dcd0b309e5e
  F src/walker.c 3112bb3afe1d85dc52317cb1d752055e9a781f8f
  F src/where.c 7d09f4c1512affb60cc1190a4b33d121d4ce039a
- F test/8_3_names.test b93687beebd17f6ebf812405a6833bae5d1f4199
+ F test/8_3_names.test 631ea964a3edb091cf73c3b540f6bcfdb36ce823
  F test/aggerror.test a867e273ef9e3d7919f03ef4f0e8c0d2767944f2
  F test/alias.test 4529fbc152f190268a15f9384a5651bbbabc9d87
  F test/all.test 52fc8dee494092031a556911d404ca30a749a30b
@@@ -271,16 -268,16 +272,16 @@@ F test/analyze4.test 757b37875cf9bb528d
  F test/analyze5.test 1de8d66b11aae5a1453aa042d62e834a476bac9c
  F test/analyze6.test c125622a813325bba1b4999040ddc213773c2290
  F test/analyze7.test 5508e7828164ea0b518ed219bed7320a481863d4
- F test/async.test ad4ba51b77cd118911a3fe1356b0809da9c108c3
- F test/async2.test bf5e2ca2c96763b4cba3d016249ad7259a5603b6
- F test/async3.test 93edaa9122f498e56ea98c36c72abc407f4fb11e
+ F test/async.test 1d0e056ba1bb9729283a0f22718d3a25e82c277b
+ F test/async2.test c0a9bd20816d7d6a2ceca7b8c03d3d69c28ffb8b
+ F test/async3.test d73a062002376d7edc1fe3edff493edbec1fc2f7
  F test/async4.test 1787e3952128aa10238bf39945126de7ca23685a
- F test/async5.test f3592d79c84d6e83a5f50d3fd500445f7d97dfdf
- F test/attach.test e26b6c050d5b2ba0064288137bdd325370c11e65
- F test/attach2.test a295d2d7061adcee5884ef4a93c7c96a82765437
- F test/attach3.test bd9830bc3a0d22ed1310c9bff6896927937017dc
+ F test/async5.test 0dd8701bd588bf6e70c2557a22ae3f22b2567b4c
 -F test/attach.test 0e6f8de2589f11a5f474ef57fe5af2877e61c0e8
++F test/attach.test a1ddc40e5d7f7a81963ebf9bd76d727f9e9ba00c
+ F test/attach2.test e54436ed956d3d88bdee61221da59bf3935a0966
+ F test/attach3.test d89ccfe4fe6e2b5e368d480fcdfe4b496c54cf4e
  F test/attach4.test 31f9eb0ca7bdbc393cc4657b877903a226a83d4b
- F test/attachmalloc.test 1d5b821a676f7bf0b00d87cc106b78966789ba57
+ F test/attachmalloc.test 3a4bfca9545bfe906a8d2e622de10fbac5b711b0
  F test/auth.test b047105c32da7db70b842fd24056723125ecc2ff
  F test/auth2.test 270baddc8b9c273682760cffba6739d907bd2882
  F test/auth3.test a4755e6a2a2fea547ffe63c874eb569e60a28eb5
@@@ -390,19 -387,19 +391,19 @@@ F test/e_update.test b926341a65955d69a6
  F test/e_uri.test 6f35b491f80dac005c8144f38b2dfb4d96483596
  F test/e_vacuum.test 6c09c2af7f2f140518f371c5342100118f779dcf
  F test/enc.test e54531cd6bf941ee6760be041dff19a104c7acea
- F test/enc2.test 6d91a5286f59add0cfcbb2d0da913b76f2242398
- F test/enc3.test 5c550d59ff31dccdba5d1a02ae11c7047d77c041
- F test/enc4.test b145fa25feb56ea1d51a5bc43ca268c0cf691a67
+ F test/enc2.test 796c59832e2b9a52842f382ffda8f3e989db03ad
+ F test/enc3.test 90683ad0e6ea587b9d5542ca93568af9a9858c40
+ F test/enc4.test c8f1ce3618508fd0909945beb8b8831feef2c020
  F test/eqp.test f14fadd76da53405e9885e2431cacf7191d83cdb
  F test/eval.test bc269c365ba877554948441e91ad5373f9f91be3
- F test/exclusive.test 897074dc6706b0c4f3b1dc4580ffddffe2a79206
- F test/exclusive2.test 343d55130c12c67b8bf10407acec043a6c26c86b
 -F test/exclusive.test a1b324cb21834a490cd052d409d34789cfef57cb
++F test/exclusive.test bd8976a6e67daf8e9948eb1c6a27afafe79752fa
+ F test/exclusive2.test 372be98f6de44dd78734e364b7b626ea211761a6
  F test/exec.test e949714dc127eaa5ecc7d723efec1ec27118fdd7
  F test/exists.test 8f7b27b61c2fbe5822f0a1f899c715d14e416e30
  F test/expr.test 67c9fd6f8f829e239dc8b0f4a08a73c08b09196d
- F test/fallocate.test 95a45d7a705ab985a62ceed8ac7b145fcb61154e
- F test/filectrl.test 97003734290887566e01dded09dc9e99cb937e9e
- F test/filefmt.test f178cfc29501a14565954c961b226e61877dd32c
 -F test/fallocate.test b5d34437bd7ab01d41b1464b8117aefd4d32160e
++F test/fallocate.test 1abe364ff739f494523e88ba881c5eab72df9143
+ F test/filectrl.test 4eb0178956ca25a756e6d79711a90fec7157b454
+ F test/filefmt.test ffa17b5aebc3eb4b1e3be1ccb5ee906ffbd97f6e
  F test/fkey1.test 01c7de578e11747e720c2d9aeef27f239853c4da
  F test/fkey2.test 080969fe219b3b082b0e097ac18c6af2e5b0631f
  F test/fkey3.test 5ec899d12b13bcf1e9ef40eff7fb692fdb91392e
@@@ -503,14 -500,14 +504,14 @@@ F test/in.test 19b642bb134308980a922497
  F test/in2.test 5d4c61d17493c832f7d2d32bef785119e87bde75
  F test/in3.test 3cbf58c87f4052cee3a58b37b6389777505aa0c0
  F test/in4.test 64f3cc1acde1b9161ccdd8e5bde3daefdb5b2617
- F test/incrblob.test 76e787ca3301d9bfa6906031c626d26f8dd707de
+ F test/incrblob.test 3307c04876fe025e10256e3cc8050ab5a84aa27f
  F test/incrblob2.test edc3a96e557bd61fb39acc8d2edd43371fbbaa19
 -F test/incrblob3.test aedbb35ea1b6450c33b98f2b6ed98e5020be8dc7
 +F test/incrblob3.test 086482e7937202be9f8cf327117a042d8628fe7d
  F test/incrblob_err.test d2562d2771ebffd4b3af89ef64c140dd44371597
  F test/incrblobfault.test 917c0292224c64a56ef7215fd633a3a82f805be0
- F test/incrvacuum.test 453d1e490d8f5ad2c9b3a54282a0690d6ae56462
- F test/incrvacuum2.test 08b23884a3acc8f5027385adafede3a0b044e3f9
- F test/incrvacuum_ioerr.test 57d2f5777ab13fa03b87b262a4ea1bad5cfc0291
+ F test/incrvacuum.test d2a6ddf5e429720b5fe502766af747915ccf6c32
 -F test/incrvacuum2.test 62fbeb85459fe4e501684d8fb5b6e98a23e3b0c0
++F test/incrvacuum2.test 7072d6adb03bb452b055cdc288d88b1432aed5ef
+ F test/incrvacuum_ioerr.test 22f208d01c528403240e05beecc41dc98ed01637
  F test/index.test b5429732b3b983fa810e3ac867d7ca85dae35097
  F test/index2.test ee83c6b5e3173a3d7137140d945d9a5d4fdfb9d6
  F test/index3.test 423a25c789fc8cc51aaf2a4370bbdde2d9e9eed7
@@@ -536,12 -535,12 +539,12 @@@ F test/join3.test 6f0c774ff1ba0489e6c88
  F test/join4.test 1a352e4e267114444c29266ce79e941af5885916
  F test/join5.test 86675fc2919269aa923c84dd00ee4249b97990fe
  F test/join6.test bf82cf3f979e9eade83ad0d056a66c5ed71d1901
- F test/journal1.test 36f2d1bb9bf03f790f43fbdb439e44c0657fab19
- F test/journal2.test 50a3604768494d4a337f194f0a9480e7c57dcb72
- F test/journal3.test 7cfbd86429305c96c9d985665320db5364764d96
- F test/jrnlmode.test e3fe6c4a2c3213d285650dc8e33aab7eaaa5ce53
- F test/jrnlmode2.test a19e28de1a6ec898067e46a122f1b71c9323bf00
- F test/jrnlmode3.test c6522b276ba315fd1416198de6fc1da9e72409fb
+ F test/journal1.test 8b71ef1ed5798bdc0e6eb616d8694e2c2c188d4d
+ F test/journal2.test 29937bdbb253bbfd92057610120bdc0aa7e84a0a
 -F test/journal3.test 6fd28532c88b447db844186bc190523108b6dbb4
++F test/journal3.test cd6dbabe2c3aa680e1541cdac74de9c73686feec
+ F test/jrnlmode.test 9ee3a78f53d52cca737db69293d15dc41c0cbd36
+ F test/jrnlmode2.test 81610545a4e6ed239ea8fa661891893385e23a1d
+ F test/jrnlmode3.test 556b447a05be0e0963f4311e95ab1632b11c9eaa
  F test/keyword1.test a2400977a2e4fde43bf33754c2929fda34dbca05
  F test/lastinsert.test 474d519c68cb79d07ecae56a763aa7f322c72f51
  F test/laststmtchanges.test ae613f53819206b3222771828d024154d51db200
@@@ -553,19 -552,18 +556,19 @@@ F test/loadext2.test 0bcaeb4d81cd5b6e88
  F test/lock.test db74fdf5a73bad29ab3d862ea78bf1068972cc1d
  F test/lock2.test 5242d8ac4e2d59c403aebff606af449b455aceff
  F test/lock3.test f271375930711ae044080f4fe6d6eda930870d00
- F test/lock4.test c82268c031d39345d05efa672f80b025481b3ae5
- F test/lock5.test d0d313f059ae5661726d3f197ba6ed8f69257d8e
+ F test/lock4.test e175ae13865bc87680607563bafba21f31a26f12
 -F test/lock5.test 5ad6a1f536036ff1be915cfdd41481aeafda3273
 -F test/lock6.test ad5b387a3a8096afd3c68a55b9535056431b0cf5
++F test/lock5.test 71d0ba9cd23212b5ce1a433107c806203fa6d5f9
 +F test/lock6.test 83434ae8ca1d1c5e2eaf74d4e44aa24ab62b291c
  F test/lock7.test 64006c84c1c616657e237c7ad6532b765611cf64
  F test/lock_common.tcl 0c270b121d40959fa2f3add382200c27045b3d95
 +F test/lock_proxy.test 95be9c32d79be25cf643b4e41a0aa0e53aa21621
  F test/lookaside.test 93f07bac140c5bb1d49f3892d2684decafdc7af2
- F test/main.test 753e2b772c041bd8dbd17c7e4132b3981378eaab
 -F test/main.test 39c4bb8a157f57298ed1659d6df89d9f35aaf2c8
++F test/main.test 3991157c720c2b2b9ec27254d940f06ab81aab84
  F test/make-where7.tcl 05c16b5d4f5d6512881dfec560cb793915932ef9
- F test/malloc.test 76017be66cec4375a4b4ea5c71245e27a9fe2d0b
- F test/malloc3.test 4128b1e6ffa506103b278ad97af89174f310c7ca
+ F test/malloc.test 8c727fe29fccd280cbf8f6acf08bd10b76beaf34
+ F test/malloc3.test de8eca0c3e748878845fdca3663ec4b642073caf
  F test/malloc4.test 957337613002b7058a85116493a262f679f3a261
- F test/malloc5.test 4d16d1bb26d2deddd7c4f480deec341f9b2d0e22
+ F test/malloc5.test 338e0f7df5fde4a0129c8002a915410e1080bfb4
  F test/malloc6.test 2f039d9821927eacae43e1831f815e157659a151
  F test/malloc7.test 7c68a32942858bc715284856c5507446bba88c3a
  F test/malloc8.test 9b7a3f8cb9cf0b12fff566e80a980b1767bd961d
@@@ -582,48 -580,48 +585,48 @@@ F test/mallocH.test 79b65aed612c9b3ed2d
  F test/mallocI.test a88c2b9627c8506bf4703d8397420043a786cdb6
  F test/mallocJ.test b5d1839da331d96223e5f458856f8ffe1366f62e
  F test/mallocK.test d79968641d1b70d88f6c01bdb9a7eb4a55582cc9
- F test/malloc_common.tcl 228af61862dd3f61f09dab4251ce3c1660b8b878
- F test/manydb.test 7faa0df55bbab2b14c25f323801db336c4e7ce3a
 -F test/malloc_common.tcl 2930895b0962823ec679853e67e58dd6d8198b3c
 -F test/manydb.test 28385ae2087967aa05c38624cec7d96ec74feb3e
++F test/malloc_common.tcl 11838863dc689f2d2b10896c8f4276771a60b42f
++F test/manydb.test 3cd8e52ab3112cb8365afeedd6e8231977920577
  F test/mem5.test c6460fba403c5703141348cd90de1c294188c68f
- F test/memdb.test 4aa287fc0c18229086e7c286285d60773f0169c4
 -F test/memdb.test 4b5d2671588ed59cb08642adc67fd78c666dc9c2
++F test/memdb.test dc9b87a595368c6b2db275bb136793b17722d58d
  F test/memleak.test 10b9c6c57e19fc68c32941495e9ba1c50123f6e2
- F test/memsubsys1.test 7abc5c90b20e25040e2c800e3d95703d59d843a2
- F test/memsubsys2.test 72a731225997ad5e8df89fdbeae9224616b6aecc
 -F test/memsubsys1.test 39f1ddddf76ce51a3232aab0279668e23cf00f83
++F test/memsubsys1.test e9768f284f0fda54c66fb7c0e692b5d3eb7dd06b
+ F test/memsubsys2.test 3a1c1a9de48e5726faa85108b02459fae8cb9ee9
  F test/minmax.test 722d80816f7e096bf2c04f4111f1a6c1ba65453d
  F test/minmax2.test 33504c01a03bd99226144e4b03f7631a274d66e0
  F test/minmax3.test cc1e8b010136db0d01a6f2a29ba5a9f321034354
- F test/misc1.test e56baf44656dd68d6475a4b44521045a60241e9b
- F test/misc2.test a628db7b03e18973e5d446c67696b03de718c9fd
+ F test/misc1.test 55cb2bfbf4a8cd61f4be1effc30426ad41696bff
+ F test/misc2.test 00d7de54eda90e237fc9a38b9e5ccc769ebf6d4d
  F test/misc3.test 72c5dc87a78e7865c5ec7a969fc572913dbe96b6
  F test/misc4.test 9c078510fbfff05a9869a0b6d8b86a623ad2c4f6
- F test/misc5.test 9f9338f8211c7f5d1cbe16331fa65d019501aa50
+ F test/misc5.test 528468b26d03303b1f047146e5eefc941b9069f5
  F test/misc6.test 953cc693924d88e6117aeba16f46f0bf5abede91
- F test/misc7.test 29032efcd3d826fbd409e2a7af873e7939f4a4e3
- F test/misuse.test 30b3a458e5a70c31e74c291937b6c82204c59f33
- F test/multiplex.test 0577b94b3c93d3a07dcc4bde71bf6b75064542af
+ F test/misc7.test eafaa41b9133d7a2ded4641bbe5f340731d35a52
+ F test/misuse.test ba4fb5d1a6101d1c171ea38b3c613d0661c83054
 -F test/multiplex.test 9df8bf738b3b97c718fceb3fadb30900ba494418
++F test/multiplex.test 6771925b61c19fdbdb4739c1ef2a279c48b48a75
  F test/mutex1.test 78b2b9bb320e51d156c4efdb71b99b051e7a4b41
  F test/mutex2.test bfeaeac2e73095b2ac32285d2756e3a65e681660
  F test/nan.test dc212a22b36109fd1ae37154292444ef249c5ec2
- F test/notify1.test 8433bc74bd952fb8a6e3f8d7a4c2b28dfd69e310
- F test/notify2.test 195a467e021f74197be2c4fb02d6dee644b8d8db
- F test/notify3.test d60923e186e0900f4812a845fcdfd8eea096e33a
+ F test/notify1.test 669b2b743618efdc18ca4b02f45423d5d2304abf
+ F test/notify2.test 9503e51b9a272a5405c205ad61b7623d5a9ca489
+ F test/notify3.test a86259abbfb923aa27d30f0fc038c88e5251488a
  F test/notnull.test cc7c78340328e6112a13c3e311a9ab3127114347
  F test/null.test a8b09b8ed87852742343b33441a9240022108993
- F test/openv2.test af02ed0a9cbc0d2a61b8f35171d4d117e588e4ec
+ F test/openv2.test 0d3040974bf402e19b7df4b783e447289d7ab394
  F test/oserror.test 3fe52e0bd2891a9bf7cdeb639554992453d46301
- F test/pager1.test 52725f1e15e02ec651921a7cd1083c3d0052a9c4
 -F test/pager1.test 7fc949ccd463dedda729e4d0a1a44e63a3273d39
++F test/pager1.test abddd000fa8e92fcdf2ad93fa612da3893bfe018
  F test/pager2.test 745b911dde3d1f24ae0870bd433dfa83d7c658c1
  F test/pager3.test 3856d9c80839be0668efee1b74811b1b7f7fc95f
- F test/pagerfault.test b0a275779f0b0233809d2644dec94d689357e00a
 -F test/pagerfault.test 452f2cc23e3bfcfa935f4442aec1da4fe1dc0442
++F test/pagerfault.test a15ef77c8495882d7debb43794e87b6e46174c8a
  F test/pagerfault2.test 1f79ea40d1133b2683a2f811b00f2399f7ec2401
  F test/pagerfault3.test f16e2efcb5fc9996d1356f7cbc44c998318ae1d7
  F test/pageropt.test 8146bf448cf09e87bb1867c2217b921fb5857806
- F test/pagesize.test 76aa9f23ecb0741a4ed9d2e16c5fa82671f28efb
+ F test/pagesize.test 1dd51367e752e742f58e861e65ed7390603827a0
  F test/pcache.test 065aa286e722ab24f2e51792c1f093bf60656b16
- F test/pcache2.test 0d85f2ab6963aee28c671d4c71bec038c00a1d16
- F test/permutations.test aae89941ca0968b53633c97b5dd0d6f9f9899d27
- F test/pragma.test 6c4b98a9f5e3fbc23631fcbfa53b095f3955ca72
- F test/pragma2.test 5364893491b9231dd170e3459bfc2e2342658b47
+ F test/pcache2.test bc67c6802989dba05cdf3a4574fd882e238c7ecf
+ F test/permutations.test ad17319066a90e2db71823c3ff104795ffc71b31
 -F test/pragma.test c8108e01da04f16e67e5754e610bc62c1b993f6c
++F test/pragma.test 68f2a9a4ac4cb8f198947c18905377002c88a6aa
+ F test/pragma2.test 3a55f82b954242c642f8342b17dffc8b47472947
  F test/printf.test 05970cde31b1a9f54bd75af60597be75a5c54fea
  F test/progress.test 5b075c3c790c7b2a61419bc199db87aaf48b8301
  F test/ptrchng.test ef1aa72d6cf35a2bbd0869a649b744e9d84977fc
@@@ -664,12 -662,12 +667,12 @@@ F test/selectA.test 06d1032fa9009314c95
  F test/selectB.test 0d072c5846071b569766e6cd7f923f646a8b2bfa
  F test/selectC.test f9bf1bc4581b5b8158caa6e4e4f682acb379fb25
  F test/server1.test f5b790d4c0498179151ca8a7715a65a7802c859c
- F test/shared.test e5ed27551ba06b28e851101683f0caef1445f4ac
- F test/shared2.test 7f6ad2d857d0f4e5d6a0b9a897b5e56a6b6ea18c
- F test/shared3.test d69bdd5f156580876c5345652d21dc2092e85962
- F test/shared4.test d0fadacb50bb6981b2fb9dc6d1da30fa1edddf83
- F test/shared6.test 990d2584b5db28e6e1f24742c711b26e59757b67
- F test/shared7.test 8114027cb5e8c376e467115703d46e5ac4e77739
 -F test/shared.test 34945a516532b11182c3eb26e31247eee3c9ae48
++F test/shared.test 9d9b7085f877a8fd4bf3b353f53e52352edbf3f5
+ F test/shared2.test 8f71d4eb4d5261280de92284df74172545c852cc
+ F test/shared3.test ebf77f023f4bdaa8f74f65822b559e86ce5c6257
+ F test/shared4.test 72d90821e8d2fc918a08f16d32880868d8ee8e9d
+ F test/shared6.test 866bb4982c45ce216c61ded5e8fde4e7e2f3ffa9
+ F test/shared7.test 960760bc8d03e1419e70dea69cf41db62853616e
  F test/shared_err.test 91e26ec4f3fbe07951967955585137e2f18993de
  F test/sharedlock.test ffa0a3c4ac192145b310f1254f8afca4d553eabf
  F test/shortread1.test bb591ef20f0fd9ed26d0d12e80eee6d7ac8897a3
@@@ -685,28 -683,28 +688,28 @@@ F test/speed3.test d32043614c08c53eafdc
  F test/speed4.test abc0ad3399dcf9703abed2fff8705e4f8e416715
  F test/speed4p.explain 6b5f104ebeb34a038b2f714150f51d01143e59aa
  F test/speed4p.test 0e51908951677de5a969b723e03a27a1c45db38b
- F test/sqllimits1.test 0ebf7bed0b99c96f24e0b7fa5e59dbc42359c421
- F test/stat.test c7b20ea43003dc2dc33335e231c27be8284c4a2a
+ F test/sqllimits1.test b1aae27cc98eceb845e7f7adf918561256e31298
+ F test/stat.test 0997f6a57a35866b14111ed361ed8851ce7978ae
 -F test/stmt.test 25d64e3dbf9a3ce89558667d7f39d966fe2a71b9
 +F test/stmt.test 78a6764439cfa5abdcbf98d4d084739e81eeec4f
  F test/subquery.test b524f57c9574b2c0347045b4510ef795d4686796
  F test/subselect.test d24fd8757daf97dafd2e889c73ea4c4272dcf4e4
  F test/substr.test 18f57c4ca8a598805c4d64e304c418734d843c1a
 -F test/superlock.test 5d7a4954b0059c903f82c7b67867bc5451a7c082
 +F test/superlock.test b68339e473d26cdeabe784ef14d7522334ec22c3
- F test/sync.test 2bd73b585089c99e76b3e1796c42059b7d89d872
- F test/syscall.test 707c95e4ab7863e13f1293c6b0c76bead30249b3
+ F test/sync.test a34cd43e98b7fb84eabbf38f7ed8f7349b3f3d85
+ F test/syscall.test 966addf703faee6a5d509abe6d8885e393e552fd
  F test/sysfault.test c79441d88d23696fbec7b147dba98d42a04f523f
- F test/table.test 04ba066432430657712d167ebf28080fe878d305
+ F test/table.test 50c47f5fe9c112e92723af27cd735e6c92de6f85
  F test/tableapi.test 2674633fa95d80da917571ebdd759a14d9819126
- F test/tclsqlite.test 8c154101e704170c2be10f137a5499ac2c6da8d3
+ F test/tclsqlite.test 5ebcbb0dccc3fbc1edc3bba84c38e2c2d574c5aa
 -F test/tempdb.test 19d0f66e2e3eeffd68661a11c83ba5e6ace9128c
 +F test/tempdb.test 3263e5c3f0604e54d307481e8587327c54544d18
- F test/temptable.test 1a21a597055dcf6002b6f1ee867632dccd6e925c
- F test/temptrigger.test b0273db072ce5f37cf19140ceb1f0d524bbe9f05
- F test/tester.tcl a7e086805b188f86135f872c1258e3b4e19d0eb9
+ F test/temptable.test 51edd31c65ed1560dd600b1796e8325df96318e2
+ F test/temptrigger.test 26670ed7a39cf2296a7f0a9e0a1d7bdb7abe936d
 -F test/tester.tcl 0b2999b578964297663de4870babbbee29225622
++F test/tester.tcl 73327b8ef71ac6338a8811f6e3dee41715332f08
  F test/thread001.test a3e6a7254d1cb057836cb3145b60c10bf5b7e60f
- F test/thread002.test afd20095e6e845b405df4f2c920cb93301ca69db
- F test/thread003.test b824d4f52b870ae39fc5bae4d8070eca73085dca
+ F test/thread002.test 716631b06cccf33b368ab7f6dd3cad92907b8928
+ F test/thread003.test 33d2d46e6a53ccb2ff8dc4d0c4e3b3aaee36dcd1
  F test/thread004.test f51dfc3936184aaf73ee85f315224baad272a87f
- F test/thread005.test bf5c374ca65dd89fd56c8fe511ccfb46875bda5e
+ F test/thread005.test 50d10b5684399676174bd96c94ad4250b1a2c8b6
  F test/thread1.test df115faa10a4ba1d456e9d4d9ec165016903eae4
  F test/thread2.test f35d2106452b77523b3a2b7d1dcde2e5ee8f9e46
  F test/thread_common.tcl 334639cadcb9f912bf82aa73f49efd5282e6cadd
@@@ -795,7 -795,7 +800,7 @@@ F test/tkt3357.test 77c37c6482b526fe899
  F test/tkt3419.test 1bbf36d7ea03b638c15804251287c2391f5c1f6b
  F test/tkt3424.test 61f831bd2b071bd128fa5d00fbda57e656ca5812
  F test/tkt3442.test 0adb70e9fe9cb750a702065a68ad647409dbc158
- F test/tkt3457.test 8a8f29536bf65b994bef5dde881404530b61a62a
 -F test/tkt3457.test eb68bb3b19c8677cff06c639ff15d206dbf17fd6
++F test/tkt3457.test 026dae357d34b416b07cf042794c0c83ea661d23
  F test/tkt3461.test 228ea328a5a21e8663f80ee3d212a6ad92549a19
  F test/tkt3493.test 1686cbde85f8721fc1bdc0ee72f2ef2f63139218
  F test/tkt3508.test d75704db9501625c7f7deec119fcaf1696aefb7d
@@@ -883,28 -883,28 +888,28 @@@ F test/vtabF.test fd5ad376f5a34fe0891df
  F test/vtab_alter.test 9e374885248f69e251bdaacf480b04a197f125e5
  F test/vtab_err.test 0d4d8eb4def1d053ac7c5050df3024fd47a3fbd8
  F test/vtab_shared.test 0eff9ce4f19facbe0a3e693f6c14b80711a4222d
- F test/wal.test c2df96d6f209076fe0571054eedfc4879d1c8a3a
- F test/wal2.test aaeac9c0f901cb3a779a49a5100decc615f04d76
- F test/wal3.test 887978789111cd7f0a6a6dde34702a69fe3b3470
- F test/wal4.test 6a68c45bc1ca24a3592ec449ddcb92b29d0e0e87
 -F test/wal.test e11da8d5ea8a38a247339455098357e9adf63d76
 -F test/wal2.test ad6412596815f553cd30f271d291ab003092bc7e
 -F test/wal3.test 18da4e65c30c43c646ad40e145e9a074e4062fc9
 -F test/wal4.test 4744e155cd6299c6bd99d3eab1c82f77db9cdb3c
 -F test/wal5.test 08e145a352b1223930c7f0a1de82a8747a99c322
 -F test/wal6.test 2e3bc767d9c2ce35c47106148d43fcbd072a93b3
++F test/wal.test fa19bdb3be5103b69052cc6c4bf86df54c845a59
++F test/wal2.test cc834aa5e4361b472d115f7c8148e4d168e4db8c
++F test/wal3.test b9b6477ef354fea2066083e5badbc08bba45f5b0
++F test/wal4.test 5755887f321baa4c55de0b91066fa7d0cafcac9d
 +F test/wal5.test 7fffb2796bb57cb12c6300a98e143293df03248b
 +F test/wal6.test c561d1e44c89f9cb458a7b03003ed4baac08ba07
  F test/wal7.test 2ae8f427d240099cc4b2dfef63cff44e2a68a1bd
 -F test/wal_common.tcl a98f17fba96206122eff624db0ab13ec377be4fe
 -F test/walbak.test b9f68e39646375c2b877be906babcc15d38b4877
 -F test/walbig.test e882bc1d014afffbfa2b6ba36e0f07d30a633ad0
 -F test/walcksum.test f5447800a157c9e2234fbb8e80243f0813941bde
 -F test/walcrash.test 4fcb661faf71db91214156d52d43ee327f52bde1
 -F test/walcrash2.test 019d60b89d96c1937adb2b30b850ac7e86e5a142
 -F test/walfault.test efb0d5724893133e71b8d9d90abdb781845a6bb0
 -F test/walhook.test ed00a40ba7255da22d6b66433ab61fab16a63483
 -F test/walmode.test 4022fe03ae6e830583672caa101f046438a0473c
 +F test/wal_common.tcl 15f152fd55703975878741beca6cfa4209d5b3b3
- F test/walbak.test 767e1c9e0ea0cfb907873b332883e66e187fa4bc
++F test/walbak.test b30cbbb2996947c96a2e562020dff61013a17a96
 +F test/walbig.test 78ac493db2abdb65b9c6cace5b851cc32df1d449
- F test/walcksum.test cf6787f2ee1a6a3da6f0c2b20b9ede5153e4e03f
- F test/walcrash.test 80c1cc3173a0ef09d8303fa556cb0187a36d82ea
++F test/walcksum.test 3dff8817d31a4207d1ad31e7da06073a34e7fe1c
++F test/walcrash.test e2e8de53cadda0e1c5ceb86ff762b85aed2771cc
 +F test/walcrash2.test c032d0040374ae28b41f99fc0cc290b4e2e34f17
- F test/walfault.test 7db81f3dac64ce8897196f199c2909078bcabf8d
++F test/walfault.test c54e6a304d631565a12998fd1d4665ded7a18ee2
 +F test/walhook.test c934ac5219fee2b4e7653d291db9107b8dc73bba
- F test/walmode.test 8fe643a94841a1f95186e91e220181429f1188c1
- F test/walnoshm.test a074428046408f4eb5c6a00e09df8cc97ff93317
++F test/walmode.test 9308ffc25555a1c4eaa44a863792240406637496
+ F test/walnoshm.test 84ca10c544632a756467336b7c3b864d493ee496
  F test/walpersist.test 45fb0c94fb63908e2d66b1d99ce4645bfce0fa1e
 -F test/walro.test 2d5d69e2e99da19ce6faab340330234fc4ca0720
 -F test/walshared.test 6dda2293880c300baf5d791c307f653094585761
 -F test/walslow.test e7be6d9888f83aa5d3d3c7c08aa9b5c28b93609a
 -F test/walthread.test a2ed5270eb695284d4ad27d252517bdc3317ee2a
 +F test/walro.test 05769ae10ddce1b6ad41bdd5326ab7ef951c8278
 +F test/walshared.test 0befc811dcf0b287efae21612304d15576e35417
- F test/walslow.test 989854bc5c214700a9f2d545bb158643813b8881
- F test/walthread.test e6e32e93ccebfa401dfc0dd930c79daa3472b0ae
++F test/walslow.test 3c2475d7672511380d33cef1924a065d2ad62ff0
++F test/walthread.test 3decc7e72594e0270dc1a1cc0984d6db7165b4cc
  F test/where.test de337a3fe0a459ec7c93db16a519657a90552330
  F test/where2.test 43d4becaf5a5df854e6c21d624a1cb84c6904554
  F test/where3.test 8e1175c7ef710c70502858fc4fb08d784b3620b9
@@@ -931,9 -932,10 +937,10 @@@ F tool/lempar.c 01ca97f87610d1dac6d8cd9
  F tool/mkkeywordhash.c d2e6b4a5965e23afb80fbe74bb54648cd371f309
  F tool/mkopts.tcl 66ac10d240cc6e86abd37dc908d50382f84ff46e
  F tool/mkspeedsql.tcl a1a334d288f7adfe6e996f2e712becf076745c97
- F tool/mksqlite3c.tcl d99ceeda7010ce4bc47666f51d47edac57f24bb7
 -F tool/mksqlite3c.tcl 9fbac513cd9d5ac95ad55630f49bb16c5347ab75
++F tool/mksqlite3c.tcl 90f243ad9c76f814716452a4867a6a3befdb721a
  F tool/mksqlite3h.tcl 78013ad79a5e492e5f764f3c7a8ef834255061f8
  F tool/mksqlite3internalh.tcl 7b43894e21bcb1bb39e11547ce7e38a063357e87
+ F tool/offsets.c fe4262fdfa378e8f5499a42136d17bf3b98f6091
  F tool/omittest.tcl 8086c014cbae90f1f2b564d59d05a5e4ac1783c9
  F tool/opcodeDoc.awk b3a2a3d5d3075b8bd90b7afe24283efdd586659c
  F tool/restore_jrnl.tcl 6957a34f8f1f0f8285e07536225ec3b292a9024a
@@@ -959,7 -961,7 +966,7 @@@ F tool/symbols.sh caaf6ccc7300fd4335331
  F tool/tostr.awk 11760e1b94a5d3dcd42378f3cc18544c06cfa576
  F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f
  F tool/warnings.sh 2ebae31e1eb352696f3c2f7706a34c084b28c262
- P c6158b254fabd02a3d58b1a047a3c5fa979b41a8 a55f4ab99952a731e4cd8f6ef17389062e5ed4c5
- R e28b3bb5c7ab3bb40c311c2729336554
- U drh
- Z 1fdb11afa5488fb1c722198196102057
 -P 0da292da3bc867a5c6e29384f325581ea06bbd20
 -R dc16859e99d1a347b096d5c98e40d7f7
++P 77376b332b4460208f837f7bdf6df8c90d5071d5 fac8bc8f3450a6ce74c9250acb0608e940ffb54d
++R b3e8eaa8b0449f30ab4acaa54eec2531
+ U dan
 -Z 65c94081a9bcc76e85d7e9a92076df51
++Z cf2e3b8c5c529959da791d3809d937e6
diff --cc manifest.uuid
index 3318122b30c2e9926e2831c4c9ee093abba743b3,bc6d4d7828596d942e39d8cac851fba4d0ced84d..5e4548f0d8912bcaf8bc56e5e147be6915c40b9c
@@@ -1,1 -1,1 +1,1 @@@
- 77376b332b4460208f837f7bdf6df8c90d5071d5
 -fac8bc8f3450a6ce74c9250acb0608e940ffb54d
++c5f7977b899e93bf90bd44572db78c744ea81c14
diff --cc src/btree.c
Simple merge
diff --cc src/os_unix.c
index 7755e62a0b89a0e7dcccdee241472da23d7d9568,2f068dc58a49c79cf314794b530d8e9b4ee690a7..07069c46a50176a82981963a2f196d2644b33612
@@@ -2090,30 -1759,6 +2099,17 @@@ static int unixUnlock(sqlite3_file *id
  */
  static int closeUnixFile(sqlite3_file *id){
    unixFile *pFile = (unixFile*)id;
-   if( pFile->dirfd>=0 ){
-     int err = close(pFile->dirfd);
-     if( err ){
-       pFile->lastErrno = errno;
-       return SQLITE_IOERR_DIR_CLOSE;
-     }else{
-       pFile->dirfd=-1;
-     }
-   }
 +#if OSCLOSE_CHECK_CLOSE_IOERR
-   if( pFile->dirfd>=0 ){
-     robust_close(pFile, pFile->dirfd, __LINE__);
-     pFile->dirfd=-1;
-   }
 +  if( pFile->h>=0 ){
 +    int err = close(pFile->h);
 +    if( err ){
 +      pFile->lastErrno = errno;
 +      return SQLITE_IOERR_CLOSE;
 +    }else{
 +      pFile->h=-1;
 +    }
 +  }
 +#else
    if( pFile->h>=0 ){
      robust_close(pFile, pFile->h, __LINE__);
      pFile->h = -1;
@@@ -3677,37 -3337,21 +3719,29 @@@ static int unixSync(sqlite3_file *id, i
      pFile->lastErrno = errno;
      return unixLogError(SQLITE_IOERR_FSYNC, "full_fsync", pFile->zPath);
    }
-   if( pFile->dirfd>=0 ){
-     OSTRACE(("DIRSYNC %-3d (have_fullfsync=%d fullsync=%d)\n", pFile->dirfd,
+   /* Also fsync the directory containing the file if the DIRSYNC flag
+   ** is set.  This is a one-time occurrance.  Many systems (examples: AIX)
+   ** are unable to fsync a directory, so ignore errors on the fsync.
+   */
+   if( pFile->ctrlFlags & UNIXFILE_DIRSYNC ){
+     int dirfd;
+     OSTRACE(("DIRSYNC %s (have_fullfsync=%d fullsync=%d)\n", pFile->zPath,
              HAVE_FULLFSYNC, isFullsync));
- #ifndef SQLITE_DISABLE_DIRSYNC
-     /* The directory sync is only attempted if full_fsync is
-     ** turned off or unavailable.  If a full_fsync occurred above,
-     ** then the directory sync is superfluous.
-     */
-     if( (!HAVE_FULLFSYNC || !isFullsync) && full_fsync(pFile->dirfd,0,0) ){
-        /*
-        ** We have received multiple reports of fsync() returning
-        ** errors when applied to directories on certain file systems.
-        ** A failed directory sync is not a big deal.  So it seems
-        ** better to ignore the error.  Ticket #1657
-        */
-        /* pFile->lastErrno = errno; */
-        /* return SQLITE_IOERR; */
-     }
- #endif
-   /* Only need to sync once, so close the  directory when we are done */
+     rc = osOpenDirectory(pFile->zPath, &dirfd);
+     if( rc==SQLITE_OK && dirfd>=0 ){
+       full_fsync(dirfd, 0, 0);
 +#if OSCLOSE_CHECK_CLOSE_IOERR
-     if( close(pFile->dirfd)==0 ){
-       pFile->dirfd = -1;
-     }else{
-       pFile->lastErrno = errno;
-       rc = SQLITE_IOERR_DIR_CLOSE;
-     }
++      if( close(pFile->dirfd) ){
++        pFile->lastErrno = errno;
++        rc = SQLITE_IOERR_DIR_CLOSE;
++      }
 +#else
-     robust_close(pFile, pFile->dirfd, __LINE__);
-     pFile->dirfd = -1;
+       robust_close(pFile, dirfd, __LINE__);
 +#endif
+     }
+     pFile->ctrlFlags &= ~UNIXFILE_DIRSYNC;
++
    }
    return rc;
  }
@@@ -5614,13 -4938,8 +5622,12 @@@ static int unixOpen
  ){
    unixFile *p = (unixFile *)pFile;
    int fd = -1;                   /* File descriptor returned by open() */
-   int dirfd = -1;                /* Directory file descriptor */
    int openFlags = 0;             /* Flags to pass to open() */
 +#if SQLITE_ENABLE_DATA_PROTECTION
 +  int eType = flags&0xFF0FFF00;  /* Type of file to open */
 +#else
    int eType = flags&0xFFFFFF00;  /* Type of file to open */
 +#endif
    int noLock;                    /* True to omit locking primitives */
    int rc = SQLITE_OK;            /* Function Return Code */
  
        useProxy = !(fsInfo.f_flags&MNT_LOCAL);
      }
      if( useProxy ){
-       rc = fillInUnixFile(pVfs, fd, dirfd, pFile, zPath, noLock,
+       rc = fillInUnixFile(pVfs, fd, syncDir, pFile, zPath, noLock,
                            isDelete, isReadonly);
        if( rc==SQLITE_OK ){
 +        /* cache the pMethod in case the transform fails */
 +        const struct sqlite3_io_methods *pMethod = pFile->pMethods;
          rc = proxyTransformUnixFile((unixFile*)pFile, ":auto:");
          if( rc!=SQLITE_OK ){
            /* Use unixClose to clean up the resources added in fillInUnixFile 
diff --cc src/test1.c
Simple merge
index dfe264c345bc3ddf006d0695881bb296ff4ab7eb,5af60bafd065608e8979441e55a822e9d666afae..b7e0ab8faa9be1fd23769d5ec1a99c47529252c1
@@@ -558,22 -554,12 +564,28 @@@ Tcl_SetVar2(interp, "sqlite_options", "
  #else
    Tcl_SetVar2(interp, "sqlite_options", "yytrackmaxstackdepth", "0", TCL_GLOBAL_ONLY);
  #endif
+ #ifdef SQLITE_PAGECACHE_BLOCKALLOC
+   Tcl_SetVar2(interp, "sqlite_options", "blockalloc", "1", TCL_GLOBAL_ONLY);
+ #else
+   Tcl_SetVar2(interp, "sqlite_options", "blockalloc", "0", TCL_GLOBAL_ONLY);
+ #endif
 +  
 +#ifdef __APPLE__
 +# if  defined(__ppc__)
 +  Tcl_SetVar2(interp, "os_options", "arch", "ppc", TCL_GLOBAL_ONLY);
 +# elif defined(__i386__)
 +  Tcl_SetVar2(interp, "os_options", "arch", "i386", TCL_GLOBAL_ONLY);
 +# elif defined(__x86_64__)
 +  Tcl_SetVar2(interp, "os_options", "arch", "x86_64", TCL_GLOBAL_ONLY);
 +# elif defined(__arm__)
 +  Tcl_SetVar2(interp, "os_options", "arch", "arm", TCL_GLOBAL_ONLY);
 +# else
 +#  error Unrecognized architecture for exec_options
 +# endif
 +#else
 +  Tcl_SetVar2(interp, "os_options", "arch", "unknown", TCL_GLOBAL_ONLY);
 +#endif
  
  #define LINKVAR(x) { \
      static const int cv_ ## x = SQLITE_ ## x; \
diff --cc src/vdbe.c
Simple merge
index 1d4212b5a5e19584a27125cd97ed0f68f8371890,d57f5bfb52766365fb808db51b8f22ed9d707cb5..fc1e9692fb311c21721a1770fc56f268e3cd0199
@@@ -718,25 -718,24 +718,25 @@@ do_test attach-6.1 
    }
  } {0 {}}
  if {$tcl_platform(platform)=="unix"} {
 -  do_test attach-6.2 {
 -    sqlite3 dbx cannot-read
 -    dbx eval {CREATE TABLE t1(a,b,c)}
 -    dbx close
 -    file attributes cannot-read -permission 0000
 -    if {[file writable cannot-read]} {
 -      puts "\n**** Tests do not work when run as root ****"
 -      forcedelete cannot-read
 -      exit 1
 -    }
 -    catchsql {
 -      ATTACH DATABASE 'cannot-read' AS noread;
 -    }
 -  } {1 {unable to open database: cannot-read}}
 -  do_test attach-6.2.2 {
 -    db errorcode
 -  } {14}
 +  sqlite3 dbx cannot-read
 +  dbx eval {CREATE TABLE t1(a,b,c)}
 +  dbx close
 +  file attributes cannot-read -permission 0000
 +  if {[file writable cannot-read]} {
 +    #puts "\n**** Tests do not work when run as root ****"
-     file delete -force cannot-read
++    forcedelete cannot-read
 +    #exit 1
 +  } else {
 +    do_test attach-6.2 {
 +      catchsql {
 +        ATTACH DATABASE 'cannot-read' AS noread;
 +      }
 +    } {1 {unable to open database: cannot-read}}
 +    do_test attach-6.2.2 {
 +      db errorcode
 +    } {14}
 +  }
-   file delete -force cannot-read
+   forcedelete cannot-read
  }
  
  # Check the error message if we try to access a database that has
Simple merge
index 3fb50fb534837f8728dde948259b155be7060671,8a5fa323606aaefdbfcf4d4a9705092eac71b2c5..82379b397ad6f42aca13170417c3596a53a0b2ea
@@@ -80,8 -79,7 +80,8 @@@ if {![wal_is_ok]} { set skipwaltests 1 
  
  if {!$skipwaltests} {
    db close
-   file delete -force test.db
+   forcedelete test.db
 +  if {[forced_proxy_locking]} { file delete -force .test.db-conch }
    sqlite3 db test.db
    file_control_chunksize_test db main [expr 32*1024]
    
Simple merge
Simple merge
diff --cc test/lock5.test
Simple merge
diff --cc test/main.test
index 15ede39f992a278b422da1f6f1e56120d3982089,5bbc52b84509b901f460459c6e63ff807b81e5f6..e7b543b62f0f32f2d869a47eb2aef744e28bd87c
@@@ -314,16 -314,16 +314,16 @@@ if {[permutation] == ""} 
  #
  do_test main-3.1 {
    catch {db close}
-   catch {foreach f [glob -nocomplain testdb/*] {file delete -force $f}}
-   file delete -force testdb
 -  foreach f [glob -nocomplain testdb/*] {forcedelete $f}
++  catch {foreach f [glob -nocomplain testdb/*] {forcedelete $f}}
+   forcedelete testdb
    sqlite3 db testdb
    set v [catch {execsql {SELECT * from T1 where x!!5}} msg]
    lappend v $msg
  } {1 {unrecognized token: "!!"}}
  do_test main-3.2 {
    catch {db close}
-   catch {foreach f [glob -nocomplain testdb/*] {file delete -force $f}}
-   file delete -force testdb
 -  foreach f [glob -nocomplain testdb/*] {forcedelete $f}
++  catch {foreach f [glob -nocomplain testdb/*] {forcedelete $f}}
+   forcedelete testdb
    sqlite3 db testdb
    set v [catch {execsql {SELECT * from T1 where ^x}} msg]
    lappend v $msg
@@@ -442,8 -442,8 +442,8 @@@ do_test main-3.2.30 
  
  do_test main-3.3 {
    catch {db close}
-   catch {foreach f [glob -nocomplain testdb/*] {file delete -force $f}}
-   file delete -force testdb
 -  foreach f [glob -nocomplain testdb/*] {forcedelete $f}
++  catch {foreach f [glob -nocomplain testdb/*] {forcedelete $f}}
+   forcedelete testdb
    sqlite3 db testdb
    execsql {
      create table T1(X REAL);  /* C-style comments allowed */
index 5b1dec6c95ced0fd57939910ea8f90ab0a4eda4e,5937b958f85503a35ca3fa7333e12887f7b84243..6a03c09ee27d41a805c75a355bb0014c5813afbb
@@@ -408,7 -408,7 +408,7 @@@ proc do_malloc_test {tn args} 
        set zRepeat "transient"
        if {$::iRepeat} {set zRepeat "persistent"}
        restore_prng_state
-       catch {foreach file [glob -nocomplain test.db-mj*] {file delete -force $file}}
 -      foreach file [glob -nocomplain test.db-mj*] {forcedelete $file}
++      catch {foreach file [glob -nocomplain test.db-mj*] {forcedelete $file}}
  
        do_test ${tn}.${zRepeat}.${::n} {
    
Simple merge
diff --cc test/memdb.test
index aba3dbe72e8161a7481a6b6428544b8bc5c778f7,ec3accffa646c1fc6f17829fe0587ebc47fc6fb0..92810a106d564afabc67ada477d44d87a7260b01
@@@ -407,27 -407,24 +407,27 @@@ do_test memdb-8.2 
  
  # Test that auto-vacuum works with in-memory databases.
  # 
 -ifcapable autovacuum&&!blockalloc {
 -  do_test memdb-9.1 {
 -    db close
 -    sqlite3 db test.db
 -    db cache size 0
 -    execsql {
 -      PRAGMA auto_vacuum = full;
 -      CREATE TABLE t1(a);
 -      INSERT INTO t1 VALUES(randstr(1000,1000));
 -      INSERT INTO t1 VALUES(randstr(1000,1000));
 -      INSERT INTO t1 VALUES(randstr(1000,1000));
 -    }
 -    set memused [lindex [sqlite3_status SQLITE_STATUS_MEMORY_USED 0] 1]
 -    set pgovfl [lindex [sqlite3_status SQLITE_STATUS_PAGECACHE_OVERFLOW 0] 1]
 -    execsql { DELETE FROM t1 }
 -    set memused2 [lindex [sqlite3_status SQLITE_STATUS_MEMORY_USED 0] 1]
 -    expr {($memused2 + 2048 < $memused) || $pgovfl==0}
 -  } {1}
 +set msize [sqlite3_status SQLITE_STATUS_MALLOC_SIZE 0]
 +if {[lindex $msize 2]!=0} {
-   ifcapable autovacuum {
++  ifcapable autovacuum&&!blockalloc {
 +    do_test memdb-9.1 {
 +      db close
 +      sqlite3 db test.db
 +      db cache size 0
 +      execsql {
 +        PRAGMA auto_vacuum = full;
 +        CREATE TABLE t1(a);
 +        INSERT INTO t1 VALUES(randstr(1000,1000));
 +        INSERT INTO t1 VALUES(randstr(1000,1000));
 +        INSERT INTO t1 VALUES(randstr(1000,1000));
 +      }
 +      set memused [lindex [sqlite3_status SQLITE_STATUS_MEMORY_USED 0] 1]
 +      set pgovfl [lindex [sqlite3_status SQLITE_STATUS_PAGECACHE_OVERFLOW 0] 1]
 +      execsql { DELETE FROM t1 }
 +      set memused2 [lindex [sqlite3_status SQLITE_STATUS_MEMORY_USED 0] 1]
 +      expr {($memused2 + 2048 < $memused) || $pgovfl==0}
 +    } {1}
 +  }
  }
  
  } ;# ifcapable memorydb
Simple merge
Simple merge
index 6cc9575f4d4d099370bdd3d612cb533d6a28dd11,7fccc5f0c00eec9f26014b3f748bd0f01294dc3b..d282e10f7de98fb65a5aae1f41973affe078872f
@@@ -666,8 -664,7 +666,8 @@@ foreach {tn1 tcl} 
  }
  db close
  tv delete
- file delete -force $dirname
+ forcedelete $dirname
 +}
  
  
  # Set up a VFS to make a copy of the file-system just before deleting a
Simple merge
Simple merge
Simple merge
diff --cc test/tester.tcl
index 37a79e4255370bb814f99da499c4728cced635f2,3c34b45d4eff3868a80ba40f0dbd39534815b8cc..3bae710819ba0c97a4b1931944a3304123b29cd3
@@@ -263,17 -375,9 +392,17 @@@ proc forced_proxy_locking {} 
  #
  proc reset_db {} {
    catch {db close}
-   file delete -force test.db
-   file delete -force test.db-journal
-   file delete -force test.db-wal
+   forcedelete test.db
+   forcedelete test.db-journal
+   forcedelete test.db-wal
 +  if {[forced_proxy_locking]} {
 +    sqlite3 db ./test.db
 +    set lock_proxy_path [db eval "PRAGMA lock_proxy_file;"] 
 +    catch {db close}
 +    # puts "deleting $lock_proxy_path"
 +    file delete -force $lock_proxy_path    
 +    file delete -force test.db
 +  }
    sqlite3 db ./test.db
    set ::DB [sqlite3_connection_pointer db]
    if {[info exists ::SETUP_SQL]} {
@@@ -646,15 -750,11 +775,15 @@@ proc finalize_testing {} 
        memdebug_log_sql leaks.sql
      }
    }
 -  foreach f [glob -nocomplain test.db-*-journal] {
 -    forcedelete $f
 +  catch {
 +    foreach f [glob -nocomplain test.db-*-journal] {
-       file delete -force $f
++      forcedelete $f
 +    }
    }
 -  foreach f [glob -nocomplain test.db-mj*] {
 -    forcedelete $f
 +  catch {
 +    foreach f [glob -nocomplain test.db-mj*] {
-       file delete -force $f
++      forcedelete $f
 +    }
    }
    exit [expr {$nErr>0}]
  }
index 495ea3e16f733ab000919784acfa24270779b39f,7b9a1b35a34ba35e9d1af7308dff54e29a3ad5b7..af2c2f9e05252c4fd1f061344e122f93cec392e7
@@@ -62,28 -62,26 +62,27 @@@ do_test tkt3457-1.1 
    execsql COMMIT
  } {}
  
 -do_test tkt3457-1.2 {
 -  forcecopy bak.db-journal test.db-journal
 -  file attributes test.db-journal -permissions ---------
 -  catchsql { SELECT * FROM t1 }
 -} {1 {unable to open database file}}
 -do_test tkt3457-1.3 {
 -  forcecopy bak.db-journal test.db-journal
 -  file attributes test.db-journal -permissions -w--w--w-
 -  catchsql { SELECT * FROM t1 }
 -} {1 {unable to open database file}}
 -do_test tkt3457-1.4 {
 -  forcecopy bak.db-journal test.db-journal
 -  file attributes test.db-journal -permissions r--r--r--
 -  catchsql { SELECT * FROM t1 }
 -} {1 {unable to open database file}}
 -
 -do_test tkt3457-1.5 {
 -  forcecopy bak.db-journal test.db-journal
 -  file attributes test.db-journal -permissions rw-rw-rw-
 -  catchsql { SELECT * FROM t1 }
 -} {0 {1 2 3 4 5 6}}
 +if { ![path_is_dos "."] } {
 +  do_test tkt3457-1.2 {
-     file copy -force bak.db-journal test.db-journal
++    forcecopy bak.db-journal test.db-journal
 +    file attributes test.db-journal -permissions ---------
 +    catchsql { SELECT * FROM t1 }
 +  } {1 {unable to open database file}}
 +  do_test tkt3457-1.3 {
-     file copy -force bak.db-journal test.db-journal
++    forcecopy bak.db-journal test.db-journal
 +    file attributes test.db-journal -permissions -w--w--w-
 +    catchsql { SELECT * FROM t1 }
 +  } {1 {unable to open database file}}
 +  do_test tkt3457-1.4 {
-     file copy -force bak.db-journal test.db-journal
++    forcecopy bak.db-journal test.db-journal
 +    file attributes test.db-journal -permissions r--r--r--
 +    catchsql { SELECT * FROM t1 }
 +  } {1 {unable to open database file}}
 +  do_test tkt3457-1.5 {
-     file copy -force bak.db-journal test.db-journal
++    forcecopy bak.db-journal test.db-journal
 +    file attributes test.db-journal -permissions rw-rw-rw-
 +    catchsql { SELECT * FROM t1 }
 +  } {0 {1 2 3 4 5 6}}
 +}
  
  finish_test
diff --cc test/wal.test
Simple merge
diff --cc test/wal2.test
Simple merge
diff --cc test/wal3.test
index 5146fb25eff78c5e1cb1b9928b930c6b32c56f9d,ea5e70571bd55869717c4cd88c9ca65bacbdc1f7..48cff6ff93cb8022174d7621a695a3ea93e7a10e
@@@ -629,8 -614,8 +629,8 @@@ T delet
  
  #-------------------------------------------------------------------------
  # 
 -do_test wal3-8.1 {
 -  forcedelete test.db test.db-journal test.db wal
 +do_test wal3-8.1.1 {
-   file delete -force test.db test.db-journal test.db wal .test.db-conch
++  forcedelete test.db test.db-journal test.db wal .test.db-conch
    sqlite3 db test.db
    sqlite3 db2 test.db
    execsql {
diff --cc test/wal4.test
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge