]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Merge the latest changes from trunk into the apple-osx branch.
authordrh <drh@noemail.net>
Fri, 2 Jan 2015 19:17:44 +0000 (19:17 +0000)
committerdrh <drh@noemail.net>
Fri, 2 Jan 2015 19:17:44 +0000 (19:17 +0000)
FossilOrigin-Name: df3cdf9f0690f2724c7e4e0adb2e3bd4b1a4dd26

19 files changed:
1  2 
Makefile.in
ext/rtree/rtree.c
manifest
manifest.uuid
src/btree.c
src/main.c
src/os_unix.c
src/os_win.c
src/pager.c
src/pager.h
src/pragma.c
src/sqlite.h.in
src/sqliteInt.h
src/test1.c
src/vdbeaux.c
src/wal.c
test/memsubsys1.test
test/wal5.test
tool/mksqlite3c.tcl

diff --cc Makefile.in
Simple merge
Simple merge
diff --cc manifest
index fc060595c1e9b2ee85a3f9c65688492a25d8bb59,5142e98f04222b76c68ef01b291cb7fe58be3b4d..52400a5679a1f57649f27710f6655124b0021eef
+++ b/manifest
@@@ -1,11 -1,11 +1,11 @@@
- C Merge\slatest\sfixes\sand\senhancements\sfrom\strunk\sinto\sapple-osx.
- D 2014-12-16T00:29:06.447
 -C Add\sthe\sSQLITE_CONFIG_PMASZ\sstart-time\soption.
 -D 2015-01-02T15:55:29.645
++C Merge\sthe\slatest\schanges\sfrom\strunk\sinto\sthe\sapple-osx\sbranch.
++D 2015-01-02T19:17:44.843
  F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
- F Makefile.in 4551c03de49c2a4d400016f9007df2528d79e3cd
 -F Makefile.in 335e2d3ff0f2455eacbfa3075fc37495e3321410
++F Makefile.in 65378d227c542010f7405d1a9c5fee763b393cb1
  F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
- F Makefile.msc 10720782f88648bf2b5dcedf4c1524b067d43e47
+ F Makefile.msc b363b90fe1bfc3b87d190f2f728a126c00d9ce09
  F Makefile.vxworks 034289efa9d591b04b1a73598623119c306cbba0
- F README.md 64f270c43c38c46de749e419c22f0ae2f4499fe8
+ F README.md d58e3bebc0a4145e0f2a87994015fdb575a8e866
  F VERSION d846487aff892625eb8e75960234e7285f0462fe
  F aclocal.m4 a5c22d164aff7ed549d53a90fa56d56955281f50
  F addopcodes.awk 9eb448a552d5c0185cf62c463f9c173cedae3811
@@@ -124,7 -124,7 +124,7 @@@ F ext/misc/vfslog.c fe40fab5c077a40477f
  F ext/misc/vtshim.c babb0dc2bf116029e3e7c9a618b8a1377045303e
  F ext/misc/wholenumber.c 784b12543d60702ebdd47da936e278aa03076212
  F ext/rtree/README 6315c0d73ebf0ec40dedb5aa0e942bc8b54e3761
- F ext/rtree/rtree.c 8f4190b3c53a2e9741fc367b8e7517b242e10a3b
 -F ext/rtree/rtree.c a03ebd2480a1a4969cb363bb696d9d911e5a6ecd
++F ext/rtree/rtree.c 072d7c54c438246b85ad308cbee59eaf1d2b782e
  F ext/rtree/rtree.h 834dbcb82dc85b2481cde6a07cdadfddc99e9b9e
  F ext/rtree/rtree1.test 541bbcab74613907fea08b2ecdcdd5b7aa724cc9
  F ext/rtree/rtree2.test acbb3a4ce0f4fbc2c304d2b4b784cfa161856bba
@@@ -176,29 -173,29 +176,29 @@@ F src/auth.c b56c78ebe40a2110fd361379f7
  F src/backup.c 7ddee9c7d505e07e959a575b18498f17c71e53ea
  F src/bitvec.c 19a4ba637bd85f8f63fc8c9bae5ade9fb05ec1cb
  F src/btmutex.c 49ca66250c7dfa844a4d4cb8272b87420d27d3a5
- F src/btree.c ecb04166882bb1a968cc6c8985bfe22c7bad3c99
- F src/btree.h e31a3a3ebdedb1caf9bda3ad5dbab3db9b780f6e
- F src/btreeInt.h 3363e18fd76f69a27a870b25221b2345b3fd4d21
- F src/build.c 162d84e4833b03f9d07192ef06057b0226f6e543
 -F src/btree.c 4c098bb6e8678e4596983862abf78f7a0fcb807e
++F src/btree.c 2dfa99acdb2cffd9ed70413ad9657fc9d141ee51
+ F src/btree.h 94277c1d30c0b75705974bcc8b0c05e79c03d474
+ F src/btreeInt.h a3d0ae1d511365e1a2b76ad10960dbe55c286f34
+ F src/build.c f5cfd7b32216f695b995bbc7c1a395f6d451d11f
  F src/callback.c 7b44ce59674338ad48b0e84e7b72f935ea4f68b0
- F src/complete.c c4ba6e0626bb94bc77a0861735f3382fcf7cc818
+ F src/complete.c 198a0066ba60ab06fc00fba1998d870a4d575463
  F src/ctime.c df19848891c8a553c80e6f5a035e768280952d1a
  F src/date.c 93594514aae68de117ca4a2a0d6cc63eddf26744
  F src/delete.c 0750b1eb4d96cd3fb2c798599a3a7c85e92f1417
  F src/expr.c 00da3072f362b06f39ce4052baa1d4ce2bb36d1c
  F src/fault.c 160a0c015b6c2629d3899ed2daf63d75754a32bb
- F src/fkey.c da985ae673efef2c712caef825a5d2edb087ead7
+ F src/fkey.c e0444b61bed271a76840cbe6182df93a9baa3f12
 -F src/func.c 6d3c4ebd72aa7923ce9b110a7dc15f9b8c548430
 +F src/func.c e331a645ae437de0089d9789f678073a114c804d
- F src/global.c 6ded36dda9466fc1c9a3c5492ded81d79bf3977d
+ F src/global.c 12561d70a1b25f67b21154622bb1723426724f75
  F src/hash.c 4263fbc955f26c2e8cdc0cf214bc42435aa4e4f5
  F src/hash.h c8f3c31722cf3277d03713909761e152a5b81094
  F src/hwtime.h d32741c8f4df852c7d959236615444e2b1063b08
  F src/insert.c 5b9243a33726008cc4132897d2be371db12a13be
  F src/journal.c b4124532212b6952f42eb2c12fa3c25701d8ba8d
 -F src/legacy.c ba1863ea58c4c840335a84ec276fc2b25e22bc4e
 +F src/legacy.c 9c17d86e06522c261307f0eb6bcb1254c8b04a59
  F src/lempar.c 7274c97d24bb46631e504332ccd3bd1b37841770
  F src/loadext.c 86bd4e2fccd520b748cba52492ab60c4a770f660
- F src/main.c 8e1b6b45e15c22f087417c20c2727ff12cbae1e2
 -F src/main.c b0a7f3f9ff70106b7735f38c602d1b3ca56eb065
++F src/main.c cee396009c8ae26aac298de36e1ff28c8bb98fb1
  F src/malloc.c 740db54387204c9a2eb67c6d98e68b08e9ef4eab
  F src/mem0.c 6a55ebe57c46ca1a7d98da93aaa07f99f1059645
  F src/mem1.c faf615aafd8be74a71494dfa027c113ea5c6615f
@@@ -210,39 -207,38 +210,39 @@@ F src/mutex.c 19bf9acba69ca2f367c376108
  F src/mutex.h 779d588e3b7756ec3ecf7d78cde1d84aba414f85
  F src/mutex_noop.c f3f09fd7a2eb4287cfc799753ffc30380e7b71a1
  F src/mutex_unix.c 551e2f25f0fa0ee8fd7a43f50fc3d8be00e95dde
- F src/mutex_w32.c 06bfff9a3a83b53389a51a967643db3967032e1e
+ F src/mutex_w32.c df48fe07562a45c5c927c45b8d5873a27f98bbb0
  F src/notify.c 9711a7575036f0d3040ba61bc6e217f13a9888e7
 -F src/os.c 8fd25588eeba74068d41102d26810e216999b6c8
 +F src/os.c 5822c2b843a77219bba1e28887cdc816b27ca29d
  F src/os.h 3e57a24e2794a94d3cf2342c6d9a884888cd96bf
  F src/os_common.h 92815ed65f805560b66166e3583470ff94478f04
  F src/os_setup.h c9d4553b5aaa6f73391448b265b89bed0b890faa
- F src/os_unix.c 2af3813fd2df6f5d016d1dfef541d2c9e98fd600
- F src/os_win.c 76068f9daea55e09e242fe88474d84a44cb2e544
 -F src/os_unix.c 08c0346d2ea5e5ffd5b1a796f9becf1976d648d7
 -F src/os_win.c 91d3d08e33ec0258d180d4c8255492f47d15e007
++F src/os_unix.c 68823f4a3c0010eec238252b12f3802979f0adaa
++F src/os_win.c 659d2ea531c671e5322d896f61011253786e8e70
  F src/os_win.h 09e751b20bbc107ffbd46e13555dc73576d88e21
- F src/pager.c 0bfd3ceb7254cca749866f852412984f81c2389d
- F src/pager.h 78ba46ce1f98b9a9791f4b39e52aedd6ed988472
 -F src/pager.c 4120a49ecd37697e28f5ed807f470b9c0b88410c
 -F src/pager.h c3476e7c89cdf1c6914e50a11f3714e30b4e0a77
++F src/pager.c 694caffb16891a96608193968d7c9a8fa9a71240
++F src/pager.h 5ead19acf64a16b7b663476bd36c60d26f03a696
  F src/parse.y 5dfead8aed90cb0c7c1115898ee2266804daff45
- F src/pcache.c ace1b67632deeaa84859b4c16c27711dfb7db3d4
+ F src/pcache.c b83d160ce81ca101f98f0d27498e6d6bd49f1599
  F src/pcache.h b44658c9c932d203510279439d891a2a83e12ba8
- F src/pcache1.c facbdd3ecc09c8f750089d941305694301328e98
- F src/pragma.c 8ed75925574e21827668228374c6152cbdb77ed2
+ F src/pcache1.c 1e77432b40b7d3288327d9cdf399dcdfd2b6d3bf
 -F src/pragma.c bd33aa24456f043bb6f6d32a918bbeed41d8c591
 -F src/prepare.c 173a5a499138451b2561614ecb87d78f9f4644b9
++F src/pragma.c 1f13dbb5522fe763fbe64b58a844787917648e7b
 +F src/prepare.c 01740b0d6b8f5c6da421a86c300464ff5b53e167
  F src/printf.c 9e75a6a0b55bf61cfff7d7e19d89834a1b938236
  F src/random.c ba2679f80ec82c4190062d756f22d0c358180696
  F src/resolve.c f6c46d3434439ab2084618d603e6d6dbeb0d6ada
  F src/rowset.c eccf6af6d620aaa4579bd3b72c1b6395d9e9fa1e
 -F src/select.c f377fb8a5c73c10678ea74f3400f7913943e3d75
 +F src/select.c 4f48f3b05e5c8aa272a13b79645a0b308caef9dc
  F src/shell.c 45d9c9bd7cde07845af957f2d849933b990773cf
- F src/sqlite.h.in debf15893171b7ae385b8c2adaf9341271c2b12e
 -F src/sqlite.h.in ed799ff5c814227c7957eb4f4a217f67fdc0da48
++F src/sqlite.h.in fd69431f2facc8cfadf1c9eb9b365c4c028dbae6
  F src/sqlite3.rc 992c9f5fb8285ae285d6be28240a7e8d3a7f2bad
 +F src/sqlite3_private.h a81a9c5f97c095cc3e86914a05f8fabe0011f4a1
  F src/sqlite3ext.h 17d487c3c91b0b8c584a32fbeb393f6f795eea7d
- F src/sqliteInt.h 5d511f0bd57361999f1fbe7672ed75f3bcc1c2c4
 -F src/sqliteInt.h 3e0079855cb7b3c85dffac5bcbb1cd712ac62e65
++F src/sqliteInt.h b04caf7cc326c31c8925a0aec3824500e64cd182
  F src/sqliteLimit.h 164b0e6749d31e0daa1a4589a169d31c0dec7b3d
  F src/status.c 81712116e826b0089bb221b018929536b2b5406f
- F src/table.c f142bba7903e93ca8d113a5b8877a108ad1a27dc
+ F src/table.c e7a09215315a978057fb42c640f890160dbcc45e
  F src/tclsqlite.c c6a21c64da1490e14d53cdc2062d1e2e57942622
- F src/test1.c d1d7f6fb79bfe8c1e0e2e419f7963090f0082bd7
 -F src/test1.c 041c4edf2f9c49a329add297e26ee86a83852f51
++F src/test1.c 2cec956c56461b4066dfd7610cccd30542caa865
  F src/test2.c 98049e51a17dc62606a99a9eb95ee477f9996712
  F src/test3.c 1c0e5d6f080b8e33c1ce8b3078e7013fdbcd560c
  F src/test4.c 9b32d22f5f150abe23c1830e2057c4037c45b3df
@@@ -295,18 -291,18 +295,18 @@@ F src/update.c 3c4ecc282accf12d39edb8d5
  F src/utf.c fc6b889ba0779b7722634cdeaa25f1930d93820c
  F src/util.c 3b627daa45c7308c1e36e3dbaa3f9ce7e5c7fa73
  F src/vacuum.c 9b30ec729337dd012ed88d4c292922c8ef9cf00c
 -F src/vdbe.c 1a9e671c9cfc259e4d2affc71f7df4a4c00a842c
 +F src/vdbe.c 9f43973c08d115f5fbe46fe30663e536018d7b43
  F src/vdbe.h 6fc69d9c5e146302c56e163cb4b31d1ee64a18c3
  F src/vdbeInt.h 9bb69ff2447c34b6ccc58b34ec35b615f86ead78
 -F src/vdbeapi.c 4bc511a46b9839392ae0e90844a71dc96d9dbd71
 -F src/vdbeaux.c 07ef87c6d4b5abdf13ff33babb10205702fdab0a
 +F src/vdbeapi.c ad6b1bde19d27ec5b278af4a8182ff60fdae5bc3
- F src/vdbeaux.c 6f91a25abf07dbbda79c155e5ae8860816dcef13
++F src/vdbeaux.c 65d2516652fa8d171085a2ae4a04f76545c633c1
  F src/vdbeblob.c 4af4bfb71f6df7778397b4a0ebc1879793276778
  F src/vdbemem.c 31d8eabb0cd78bfeab4e5124c7363c3e9e54db9f
- F src/vdbesort.c c150803a3e98fbc68bd07772cbbd4328a0a7212d
+ F src/vdbesort.c fc1aa0d1a8b539bf3a272945d02c9f9ede93039b
  F src/vdbetrace.c 7e4222955e07dd707a2f360c0eb73452be1cb010
  F src/vtab.c c08ec66f45919eaa726bf88aa53eb08379d607f9
- F src/wal.c 75f2d8b18c846910406da9700e7dd4fc67b76030
 -F src/wal.c 85353539f2d9d0c91ebd057c32525b1e1aa3335e
 -F src/wal.h df01efe09c5cb8c8e391ff1715cca294f89668a4
++F src/wal.c 895b26c4c5fe9139f676d9bd64cf7e72563b6705
 +F src/wal.h 6b3a67ecd7172dcc9f18fc9cd4d76dc4c2166e68
  F src/walker.c c253b95b4ee44b21c406e2a1052636c31ea27804
  F src/where.c d46de821bc604a4fd36fa3928c086950e91aafb1
  F src/whereInt.h d3633e9b592103241b74b0ec76185f3e5b8b62e0
@@@ -370,8 -366,8 +370,8 @@@ F test/between.test 34d375fb5ce1ae283ff
  F test/bigfile.test aa74f4e5db51c8e54a1d9de9fa65d01d1eb20b59
  F test/bigfile2.test 1b489a3a39ae90c7f027b79110d6b4e1dbc71bfc
  F test/bigrow.test f0aeb7573dcb8caaafea76454be3ade29b7fc747
- F test/bigsort.test 835478d0ce83bd1e5b05c90571dedd9871a09196
+ F test/bigsort.test 8299fa9298f4f1e02fc7d2712e8b77d6cd60e5a2
 -F test/bind.test 3c7b320969000c441a70952b0b15938fbb66237c
 +F test/bind.test 30af0fc61bc3836034215cdbdeca46113ca1b4a1
  F test/bindxfer.test efecd12c580c14df5f4ad3b3e83c667744a4f7e0
  F test/bitvec.test 75894a880520164d73b1305c1c3f96882615e142
  F test/blob.test e7ac6c7d3a985cc4678c64f325292529a69ae252
@@@ -726,12 -722,12 +727,12 @@@ F test/mallocI.test a88c2b9627c8506bf47
  F test/mallocJ.test b5d1839da331d96223e5f458856f8ffe1366f62e
  F test/mallocK.test 3cff7c0f64735f6883bacdd294e45a6ed5714817
  F test/mallocL.test 252ddc7eb4fbf75364eab17b938816085ff1fc17
 -F test/malloc_common.tcl 3663f9001ce3e29bbaa9677ffe15cd468e3ec7e3
 -F test/manydb.test 28385ae2087967aa05c38624cec7d96ec74feb3e
 +F test/malloc_common.tcl c34d5b7f337336a7f2e30a197f1cf2646dbe8e76
 +F test/manydb.test 3cd8e52ab3112cb8365afeedd6e8231977920577
  F test/mem5.test c6460fba403c5703141348cd90de1c294188c68f
 -F test/memdb.test fcb5297b321b562084fc79d64d5a12a1cd2b639b
 +F test/memdb.test da09b7f354f3dc0b74d992f5451ae03ebfb36920
  F test/memleak.test 10b9c6c57e19fc68c32941495e9ba1c50123f6e2
- F test/memsubsys1.test 1a527f89bfbb3d402934ad1ec0858142f3814097
 -F test/memsubsys1.test 690d142525a7d31efb638b0d232e25fac3afeb1a
++F test/memsubsys1.test ab9e5d4268f19d08ee06fdd9b3b5c678083224e7
  F test/memsubsys2.test 3a1c1a9de48e5726faa85108b02459fae8cb9ee9
  F test/minmax.test 42fbad0e81afaa6e0de41c960329f2b2c3526efd
  F test/minmax2.test b44bae787fc7b227597b01b0ca5575c7cb54d3bc
@@@ -783,12 -779,13 +784,13 @@@ F test/pagerfault2.test caf4c7facb914fd
  F test/pagerfault3.test 1003fcda009bf48a8e22a516e193b6ef0dd1bbd8
  F test/pageropt.test 6b8f6a123a5572c195ad4ae40f2987007923bbd6
  F test/pagesize.test 1dd51367e752e742f58e861e65ed7390603827a0
 -F test/pcache.test b09104b03160aca0d968d99e8cd2c5b1921a993d
 +F test/pcache.test 488061b5dd685df2234d690370285c9b4813377b
  F test/pcache2.test a83efe2dec0d392f814bfc998def1d1833942025
- F test/percentile.test b98fc868d71eb5619d42a1702e9ab91718cbed54
- F test/permutations.test 4e12d43f4639ea8a0e366d9c64e0009afe2eb544
+ F test/percentile.test 4243af26b8f3f4555abe166f723715a1f74c77ff
+ F test/permutations.test 3a58611f8b703d385015bbe1710c722ff900f2ee
 -F test/pragma.test aa16dedfe01c02c8895169012f7dfde9c163f0d5
 +F test/pragma.test 7d7823c30925e6c18da6bf7bb4436b762188527f
  F test/pragma2.test aea7b3d82c76034a2df2b38a13745172ddc0bc13
+ F test/pragma3.test 6f849ccffeee7e496d2f2b5e74152306c0b8757c
  F test/printf.test ec9870c4dce8686a37818e0bf1aba6e6a1863552
  F test/printf2.test b4acd4bf8734243257f01ddefa17c4fb090acc8a
  F test/progress.test a282973d1d17f08071bc58a77d6b80f2a81c354d
@@@ -1123,32 -1119,32 +1124,32 @@@ F test/vtabF.test fd5ad376f5a34fe0891df
  F test/vtab_alter.test 9e374885248f69e251bdaacf480b04a197f125e5
  F test/vtab_err.test 0d4d8eb4def1d053ac7c5050df3024fd47a3fbd8
  F test/vtab_shared.test ea8778d5b0df200adef2ca7c00c3c37d4375f772
 -F test/wal.test 885f32b2b390b30b4aa3dbb0e568f8f78d40f5cc
 -F test/wal2.test 1f841d2048080d32f552942e333fd99ce541dada
 -F test/wal3.test b22eb662bcbc148c5f6d956eaf94b047f7afe9c0
 -F test/wal4.test 4744e155cd6299c6bd99d3eab1c82f77db9cdb3c
 -F test/wal5.test 11b8658dd4d5448f4604124bebd9b68be5bc3e66
 -F test/wal6.test 527581f5527bf9c24394991e2be83000aace5f9e
 +F test/wal.test 0ae504805b7e41b64a55fb5b7745de5ca2a0db2a
 +F test/wal2.test 703b87c21c1e3e169d607158de414c7c2655b93e
 +F test/wal3.test de822707fbc8e9d056edc895adfb8abcccee4590
 +F test/wal4.test 5755887f321baa4c55de0b91066fa7d0cafcac9d
- F test/wal5.test eeb8ba1318370bce8c89ac6eb2f65be1e32b8db4
++F test/wal5.test 67a92d812f3aee443d361737836914159690efe0
 +F test/wal6.test 54ac71d59046014c70ad78957139984c5bfb7eb2
  F test/wal64k.test 163655ecd2cb8afef4737cac2a40fdd2eeaf20b8
 -F test/wal7.test 2ae8f427d240099cc4b2dfef63cff44e2a68a1bd
 -F test/wal8.test 75c42e1bc4545c277fed212f8fc9b7723cd02216
 +F test/wal7.test 18cf68ab8010ae0a2baaa48e5b59567a9503e63e
 +F test/wal8.test c35dd183708148120928dca908641c361f58062c
  F test/wal9.test 378e76a9ad09cd9bee06c172ad3547b0129a6750
 -F test/wal_common.tcl a98f17fba96206122eff624db0ab13ec377be4fe
 -F test/walbak.test b9f68e39646375c2b877be906babcc15d38b4877
 -F test/walbig.test f437473a16cfb314867c6b5d1dbcd519e73e3434
 -F test/walcksum.test 9afeb96240296c08c72fc524d199c912cfe34daa
 -F test/walcrash.test 451d79e528add5c42764cea74aa2750754171b25
 -F test/walcrash2.test a0edab4e5390f03b99a790de89aad15d6ec70b36
 -F test/walcrash3.test e426aa58122d20f2b9fbe9a507f9eb8cab85b8af
 -F test/walfault.test 1f8389f7709877e9b4cc679033d71d6fe529056b
 -F test/walhook.test ed00a40ba7255da22d6b66433ab61fab16a63483
 -F test/walmode.test 4022fe03ae6e830583672caa101f046438a0473c
 -F test/walnoshm.test 84ca10c544632a756467336b7c3b864d493ee496
 -F test/walpersist.test 8c6b7e3ec1ba91b5e4dc4e0921d6d3f87cd356a6
 -F test/walro.test 34422d1d95aaff0388f0791ec20edb34e2a3ed57
 -F test/walshared.test 0befc811dcf0b287efae21612304d15576e35417
 -F test/walslow.test e7be6d9888f83aa5d3d3c7c08aa9b5c28b93609a
 -F test/walthread.test de8dbaf6d9e41481c460ba31ca61e163d7348f8e
 +F test/wal_common.tcl 15f152fd55703975878741beca6cfa4209d5b3b3
 +F test/walbak.test 67339b9e54db0cdaaf21287349bc8056e2919f96
 +F test/walbig.test 3ca3d94751b80054eed5bda20a1339ae1f619483
 +F test/walcksum.test 932d12a2a36fb2765560d35e7eaa1e5f0b198385
 +F test/walcrash.test 011e05e9170da888851cb9ec4276bb1894ad32e3
 +F test/walcrash2.test 6eb6842d34cc5955726264c80566963c32a9cbea
 +F test/walcrash3.test 279640ffafa23f7564529ccd69bfb97849ccae9d
 +F test/walfault.test f4160abd02d583d06d7ea9554e7a3f749f6b3410
 +F test/walhook.test 5d2bdb04fd3e220e2f96e6b566d57e00020bdaec
 +F test/walmode.test aa45339b4afa435dde5d88e71a95459cc221a3f4
 +F test/walnoshm.test 559b878f3aab838971d820329ca35f1caa7b038e
 +F test/walpersist.test abd956d66e2f36d2d9d05d3a969f48be6d2ddbec
 +F test/walro.test 256ea9380825a34be43e8ff02bd1e240f1f62e8c
 +F test/walshared.test 04590b10c677f75318701818c50bc0dda5da64ab
 +F test/walslow.test 658066419a92d3bd85be71a11ce477af4ffe9153
 +F test/walthread.test c13f5a12fbd9d81e58f49875dc9dd8a52a84cf03
  F test/where.test 28b64e93428961b07b0d486778d63fd672948f6b
  F test/where2.test 23fdb5d8e756554aad4ca7ae03de9dd8367a2c6e
  F test/where3.test 1ad55ba900bd7747f98b6082e65bd3e442c5004e
@@@ -1201,10 -1198,10 +1203,10 @@@ F tool/logest.c eef612f8adf4d0993dafed0
  F tool/mkautoconfamal.sh 5dc5010e2e748a9e1bba67baca5956a2c2deda7b
  F tool/mkkeywordhash.c dfff09dbbfaf950e89af294f48f902181b144670
  F tool/mkopts.tcl 66ac10d240cc6e86abd37dc908d50382f84ff46e
- F tool/mkpragmatab.tcl cce51d8f60c7f145d8fccabe6b5dfdedf31c5f5c
+ F tool/mkpragmatab.tcl 07a5124cf2dbafa1b375eefcf8ac4227028b0f8b
  F tool/mkspeedsql.tcl a1a334d288f7adfe6e996f2e712becf076745c97
  F tool/mksqlite3c-noext.tcl 88a1e3b0c769773fb7a9ebb363ffc603a4ac21d8
- F tool/mksqlite3c.tcl 863ce7cee875efae65aafef4a1a7cd14faee46d0
 -F tool/mksqlite3c.tcl e94bdc37b531bba50d421e82efbe3738d0c1e950
++F tool/mksqlite3c.tcl 4280f9d22fe60d2fcc4076354c464701f2994cc7
  F tool/mksqlite3h.tcl ba24038056f51fde07c0079c41885ab85e2cff12
  F tool/mksqlite3internalh.tcl b6514145a7d5321b47e64e19b8116cc44f973eb1
  F tool/mkvsix.tcl 52a4c613707ac34ae9c226e5ccc69cb948556105
@@@ -1237,7 -1234,7 +1239,7 @@@ F tool/vdbe_profile.tcl 67746953071a9f8
  F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
  F tool/warnings.sh 0abfd78ceb09b7f7c27c688c8e3fe93268a13b32
  F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
- P 6e2da589ad562e0e412eb6572a8681225259b46e ae43539e62e76676a3daf561b629a1b9b4e2d2c9
- R 062b153fdb4b740458fab0b4a751757b
 -P 2835e79a0afec6e4d449ac9340afec068c2d4c11
 -R 382d23526375da181cc875b46066d9ad
++P 2c1d8ddab23b36dbdd30ff82401925f97ffc5d76 acb0d1e8324f19da3d4d577d58748848de1bcef7
++R 2e33f5472a6c606a9db08c44aa76f0c6
  U drh
- Z d8403ec8372c85631fe585acadb7f151
 -Z bc81c476960284f7c54d9feff6b6453a
++Z 39744d0c72d16dbee8746b4f50f84428
diff --cc manifest.uuid
index 70ebb18565f037b89f838b2981e4951a943e9b85,4fa42f8241ae75d41a8ec49dea3d8e84d4cf5e08..b154455e3ba5ef9fe6585490a7fd4aa93791bdef
@@@ -1,1 -1,1 +1,1 @@@
- 2c1d8ddab23b36dbdd30ff82401925f97ffc5d76
 -acb0d1e8324f19da3d4d577d58748848de1bcef7
++df3cdf9f0690f2724c7e4e0adb2e3bd4b1a4dd26
diff --cc src/btree.c
Simple merge
diff --cc src/main.c
index 4598d353726bdbe376c5f4efa4973b24915d376e,8af34cc2f10bb58bd30abdab3cafaf127d2557df..5006f0fe4a1b17d70d123a7811bb4cde40be4f64
@@@ -3811,33 -3694,6 +3825,33 @@@ int sqlite3_db_readonly(sqlite3 *db, co
      return -1;
    }
  #endif
-   Btree *pBt = sqlite3DbNameToBtree(db, zDbName);
+   pBt = sqlite3DbNameToBtree(db, zDbName);
    return pBt ? sqlite3BtreeIsReadonly(pBt) : -1;
  }
 +
 +#if (SQLITE_ENABLE_APPLE_SPI>0) && defined(__APPLE__)
 +
 +#include "sqlite3_private.h"
 +
 +/* 
 +** Testing a file path for sqlite locks held by a process ID. 
 +** Returns SQLITE_LOCKSTATE_ON if locks are present on path
 +** that would prevent writing to the database.
 +*/
 +int _sqlite3_lockstate(const char *path, pid_t pid){
 +  sqlite3 *db = NULL;
 +  
 +  if( sqlite3_open_v2(path, &db, SQLITE_OPEN_READONLY, NULL) == SQLITE_OK ){
 +    LockstatePID lockstate = {pid, -1};
 +    sqlite3_file_control(db, NULL, SQLITE_FCNTL_LOCKSTATE_PID, &lockstate);
 +    sqlite3_close(db);
 +    int state = lockstate.state;
 +    return state;
 +  }
 +  if( NULL!=db ){ 
 +    sqlite3_close(db); /* need to close even if open returns an error */
 +  }
 +  return SQLITE_LOCKSTATE_ERROR;
 +}
 +
 +#endif /* SQLITE_ENABLE_APPLE_SPI */
diff --cc src/os_unix.c
index 011d1f92fc8ac0d1a369226d8ac12c4034d57df1,f802d9cd1944567ee8cf50bc44f259a1a81f4a71..4161d7cdbd4e902b057d23142f1e16baffe2d467
@@@ -4131,15 -3719,17 +4132,21 @@@ static int fcntlSizeHint(unixFile *pFil
        int nBlk = buf.st_blksize;  /* File-system block size */
        i64 iWrite;                 /* Next offset to write to */
  
 +      if( robust_ftruncate(pFile->h, nSize) ){
 +        storeLastErrno(pFile, errno);
 +        return unixLogError(SQLITE_IOERR_TRUNCATE, "ftruncate", pFile->zPath);
 +      }
        iWrite = ((buf.st_size + 2*nBlk - 1)/nBlk)*nBlk-1;
-       while( iWrite<nSize ){
+       assert( iWrite>=buf.st_size );
+       assert( (iWrite/nBlk)==((buf.st_size+nBlk-1)/nBlk) );
+       assert( ((iWrite+1)%nBlk)==0 );
+       for(/*no-op*/; iWrite<nSize; iWrite+=nBlk ){
          int nWrite = seekAndWrite(pFile, iWrite, "", 1);
          if( nWrite!=1 ) return SQLITE_IOERR_WRITE;
-         iWrite += nBlk;
+       }
+       if( nSize%nBlk ){
+         int nWrite = seekAndWrite(pFile, nSize-1, "", 1);
+         if( nWrite!=1 ) return SQLITE_IOERR_WRITE;
        }
  #endif
      }
diff --cc src/os_win.c
Simple merge
diff --cc src/pager.c
Simple merge
diff --cc src/pager.h
Simple merge
diff --cc src/pragma.c
Simple merge
diff --cc src/sqlite.h.in
Simple merge
diff --cc src/sqliteInt.h
Simple merge
diff --cc src/test1.c
Simple merge
diff --cc src/vdbeaux.c
Simple merge
diff --cc src/wal.c
Simple merge
index 6deb05e7433ac2f95620d198a76dc07d97f771d2,891558fd528c72acb7c69acb0405419d99bc287a..e649f605a7d86d2796b40918d861288ee509869e
@@@ -195,21 -189,18 +195,21 @@@ build_test_db memsubsys1-5 {PRAGMA page
  #show_memstats
  do_test memsubsys1-5.3 {
    set pg_used [lindex [sqlite3_status SQLITE_STATUS_PAGECACHE_USED 0] 2]
- } 24
+ } {/^2[34]$/}
 -do_test memsubsys1-5.4 {
 -  set maxreq [lindex [sqlite3_status SQLITE_STATUS_MALLOC_SIZE 0] 2]
 -  expr {$maxreq>4096}
 -} 1
 -do_test memsubsys1-5.5 {
 -  set s_used [lindex [sqlite3_status SQLITE_STATUS_SCRATCH_USED 0] 2]
 -} 0
 -do_test memsubsys1-5.6 {
 -  set s_ovfl [lindex [sqlite3_status SQLITE_STATUS_SCRATCH_OVERFLOW 0] 2]
 -  expr {$s_ovfl>6000}
 -} 1
 +set msize [sqlite3_status SQLITE_STATUS_MALLOC_SIZE 0]
 +if {[lindex $msize 2]!=0} {
 +  do_test memsubsys1-5.4 {
 +    set maxreq [lindex [sqlite3_status SQLITE_STATUS_MALLOC_SIZE 0] 2]
 +    expr {$maxreq>4096}
 +  } 1
 +  do_test memsubsys1-5.5 {
 +    set s_used [lindex [sqlite3_status SQLITE_STATUS_SCRATCH_USED 0] 2]
 +  } 0
 +  do_test memsubsys1-5.6 {
 +    set s_ovfl [lindex [sqlite3_status SQLITE_STATUS_SCRATCH_OVERFLOW 0] 2]
 +    expr {$s_ovfl>6000}
 +  } 1
 +}
  
  # Test 6:  Activate both PAGECACHE and SCRATCH with a 4k page size.
  # Make it so that SCRATCH is large enough
diff --cc test/wal5.test
Simple merge
Simple merge