- C Merge\sthe\slatest\strunk\schanges\s(PRAGMA\sbusy_timeout\sand\sthe\sORDER\sBY\nquery\splanner\senhancements)\sinto\sthe\sapple-osx\sbranch.
- D 2012-09-28T10:57:42.795
-C Include\ssqlite3rtree.h\sin\sthe\stsrc/\spile\sof\ssource\sfiles\sduring\ntarget_source\sin\sthe\smain.mk\smakefile.
-D 2014-05-07T21:16:56.524
++C Initial\sattempt\sto\smerge\sin\sall\strunk\schanges\sover\sthe\sprevious\s1.5\syears.\nThis\scheck-in\scompiles\sbut\sthere\sare\scompiler\swarnings\sand\s"make\stest"\nsegfaults\safter\sonly\srunning\sa\sfew\stest\smodules.
++D 2014-05-08T23:01:59.070
F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
- F Makefile.in 535aaf4b82ce03a91c9b7b31367f160401cce226
-F Makefile.in dd2b1aba364ff9b05de41086f74407f285c57670
++F Makefile.in 444faa7b5c5b3189fa674ff42be94d87a37eba9d
F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
- F Makefile.msc 1102ce2c75965b9b5534efce380007ffcb08c52e
- F Makefile.vxworks b18ad88e9a8c6a001f5cf4a389116a4f1a7ab45f
- F README cd04a36fbc7ea56932a4052d7d0b7f09f27c33d6
- F VERSION edab4af5a4623f8198833ea481ce98ab53750a8d
+ F Makefile.msc 7e6c495d9a145054a09f518781916c7503f7a8e9
+ F Makefile.vxworks 034289efa9d591b04b1a73598623119c306cbba0
-F README.md 64f270c43c38c46de749e419c22f0ae2f4499fe8
++F README.md 64f270c43c38c46de749e419c22f0ae2f4499fe8 w README
+ F VERSION 9f823c026c6a32fc5f84d212a8aae0a221dba45c
F aclocal.m4 a5c22d164aff7ed549d53a90fa56d56955281f50
- F addopcodes.awk 17dc593f791f874d2c23a0f9360850ded0286531
+ F addopcodes.awk 9eb448a552d5c0185cf62c463f9c173cedae3811
F art/sqlite370.eps aa97a671332b432a54e1d74ff5e8775be34200c2
F art/sqlite370.ico af56c1d00fee7cd4753e8631ed60703ed0fc6e90
F art/sqlite370.jpg d512473dae7e378a67e28ff96a34da7cb331def2
F ext/fts3/tool/fts3view.c 6cfc5b67a5f0e09c0d698f9fd012c784bfaa9197
F ext/fts3/unicode/CaseFolding.txt 8c678ca52ecc95e16bc7afc2dbf6fc9ffa05db8c
F ext/fts3/unicode/UnicodeData.txt cd07314edb62d49fde34debdaf92fa2aa69011e7
- F ext/fts3/unicode/mkunicode.tcl 7a9bc018e2962abb79563c5a39fe581fcbf2f675
- F ext/icu/README.txt bf8461d8cdc6b8f514c080e4e10dc3b2bbdfefa9
- F ext/icu/icu.c eb9ae1d79046bd7871aa97ee6da51eb770134b5a
+ F ext/fts3/unicode/mkunicode.tcl dc6f268eb526710e2c6e496c372471d773d0c368
+ F ext/icu/README.txt d9fbbad0c2f647c3fdf715fc9fd64af53aedfc43
+ F ext/icu/icu.c d415ccf984defeb9df2c0e1afcfaa2f6dc05eacb
F ext/icu/sqliteicu.h 728867a802baa5a96de7495e9689a8e01715ef37
-F ext/misc/fuzzer.c 136533c53cfce0957f0b48fa11dba27e21c5c01d
+ F ext/misc/amatch.c 678056a4bfcd83c4e82dea81d37543cd1d6dbee1
+ F ext/misc/closure.c 636024302cde41b2bf0c542f81c40c624cfb7012
-F ext/misc/spellfix.c 93f3961074cebe63c31fcefe62ca2a032ee8dfed
++F ext/misc/fuzzer.c 136533c53cfce0957f0b48fa11dba27e21c5c01d w src/test_fuzzer.c
+ F ext/misc/ieee754.c b0362167289170627659e84173f5d2e8fee8566e
+ F ext/misc/nextchar.c 35c8b8baacb96d92abbb34a83a997b797075b342
+ F ext/misc/percentile.c bcbee3c061b884eccb80e21651daaae8e1e43c63
+ F ext/misc/regexp.c af92cdaa5058fcec1451e49becc7ba44dba023dc
+ F ext/misc/rot13.c 1ac6f95f99b575907b9b09c81a349114cf9be45a
-F ext/misc/wholenumber.c 784b12543d60702ebdd47da936e278aa03076212
++F ext/misc/spellfix.c 93f3961074cebe63c31fcefe62ca2a032ee8dfed w src/test_spellfix.c
+ F ext/misc/totype.c 4a167594e791abeed95e0a8db028822b5e8fe512
+ F ext/misc/vfslog.c fe40fab5c077a40477f7e5eba994309ecac6cc95
+ F ext/misc/vtshim.c babb0dc2bf116029e3e7c9a618b8a1377045303e
++F ext/misc/wholenumber.c 784b12543d60702ebdd47da936e278aa03076212 w src/test_wholenumber.c
F ext/rtree/README 6315c0d73ebf0ec40dedb5aa0e942bc8b54e3761
- F ext/rtree/rtree.c 950e43bcef7739f3b206e6da78a339ab83b3578c
-F ext/rtree/rtree.c 6f70db93e0e42c369325c5cddcf2024c5a87ca43
++F ext/rtree/rtree.c 8884ffb0db17df33084b0ae2d475427a4276e383
F ext/rtree/rtree.h 834dbcb82dc85b2481cde6a07cdadfddc99e9b9e
- F ext/rtree/rtree1.test e474a2b5eff231496dbd073fe67e5fbaf7f444c9
+ F ext/rtree/rtree1.test e2da4aaa426918d27122d1a1066c6ecf8409a514
F ext/rtree/rtree2.test acbb3a4ce0f4fbc2c304d2b4b784cfa161856bba
F ext/rtree/rtree3.test a494da55c30ee0bc9b01a91c80c81b387b22d2dc
F ext/rtree/rtree4.test c8fe384f60ebd49540a5fecc990041bf452eb6e0
- F ext/rtree/rtree5.test 9a229678a00f40e6aedb40cb3a07ec5444af892c
- F ext/rtree/rtree6.test 3ff9113b4a872fa935309e3511cd9b7cdb4d2472
+ F ext/rtree/rtree5.test 6a510494f12454bf57ef28f45bc7764ea279431e
+ F ext/rtree/rtree6.test 756585abc51727fec97c77852476445c10c0ee95
F ext/rtree/rtree7.test 1fa710b9e6bf997a0c1a537b81be7bb6fded1971
- F ext/rtree/rtree8.test 9772e16da71e17e02bdebf0a5188590f289ab37d
+ F ext/rtree/rtree8.test db79c812f9e4a11f9b1f3f9934007884610a713a
F ext/rtree/rtree9.test d86ebf08ff6328895613ed577dd8a2a37c472c34
F ext/rtree/rtreeA.test ace05e729a36e342d40cf94e9efc7b4723d9dcdf
- F ext/rtree/rtreeB.test 983e567b49b5dca165940f66b87e161aa30e82b2
+ F ext/rtree/rtreeB.test c85f9ce78766c4e68b8b89fbf2979ee9cfa82b4e
+ F ext/rtree/rtreeC.test df158dcc81f1a43ce7eef361af03c48ec91f1e06
+ F ext/rtree/rtreeD.test 636630357638f5983701550b37f0f5867130d2ca
+ F ext/rtree/rtreeE.test 388c1c8602c3ce55c15f03b509e9cf545fb7c41f
F ext/rtree/rtree_perf.tcl 6c18c1f23cd48e0f948930c98dfdd37dfccb5195
F ext/rtree/rtree_util.tcl 06aab2ed5b826545bf215fff90ecb9255a8647ea
- F ext/rtree/sqlite3rtree.h c34c1e41d1ab80bb8ad09aae402c9c956871a765
+ F ext/rtree/sqlite3rtree.h 83349d519fe5f518b3ea025d18dd1fe51b1684bd
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 b96c4ca76db96d169006c53867410c455918ce40
- F mkdll.sh 7d09b23c05d56532e9d44a50868eb4b12ff4f74a
- F mkextu.sh 416f9b7089d80e5590a29692c9d9280a10dbad9f
- F mkextw.sh 4123480947681d9b434a5e7b1ee08135abe409ac
- F mkopcodec.awk f6fccee29e68493bfd90a2e0466ede5fa94dd2fc
- F mkopcodeh.awk 29b84656502eee5f444c3147f331ee686956ab0e
+ F magic.txt f439556c5ce01ced70987e5ee86549a45165d9ff
-F main.mk cfa185eed4e0f7e9d28a2e3167cecaa9d6cb39f3
++F main.mk 8400550fd8065095031ba4ecadf355d184a81282
+ F mkopcodec.awk c2ff431854d702cdd2d779c9c0d1f58fa16fa4ea
+ F mkopcodeh.awk c6b3fa301db6ef7ac916b14c60868aeaec1337b5
F mkso.sh fd21c06b063bb16a5d25deea1752c2da6ac3ed83
+ F mptest/config01.test 3c6adcbc50b991866855f1977ff172eb6d901271
+ F mptest/config02.test 4415dfe36c48785f751e16e32c20b077c28ae504
+ F mptest/crash01.test cce8e306d8596d5a2e497e27112dae1f6e5e3538
+ F mptest/crash02.subtest f4ef05adcd15d60e5d2bd654204f2c008b519df8
+ F mptest/mptest.c 499a74af4be293b7c1c7c3d40f332b67227dd739
+ F mptest/multiwrite01.test 499ad0310da8dff8e8f98d2e272fc2a8aa741b2e
F spec.template 86a4a43b99ebb3e75e6b9a735d5fd293a24e90ca
F sqlite.pc.in 42b7bf0d02e08b9e77734a47798d1a55a9e0716b
- F sqlite3.1 6be1ad09113570e1fc8dcaff84c9b0b337db5ffc
- F sqlite3.pc.in ae6f59a76e862f5c561eb32a380228a02afc3cad
- F src/alter.c 0c1716aa8d248bd6bc750e23be4c68ad05f8668c
- F src/analyze.c 7553068d21e32a57fc33ab6b2393fc8c1ba41410
- F src/attach.c 577bf5675b0c50495fc28549f2fcbdb1bac71143
+ F sqlite3.1 3d8b83c91651f53472ca17599dae3457b8b89494
+ F sqlite3.pc.in 48fed132e7cb71ab676105d2a4dc77127d8c1f3a
+ F src/alter.c b00900877f766f116f9e16116f1ccacdc21d82f1
+ F src/analyze.c 3596f863bb80126fe56ba217df5932749271efc8
+ F src/attach.c 3801129015ef59d76bf23c95ef9b0069d18a0c52
F src/auth.c 523da7fb4979469955d822ff9298352d6b31de34
- F src/backup.c 5b31b24d6814b11de763debf342c8cd0a15a4910
- F src/bitvec.c 26675fe8e431dc555e6f2d0e11e651d172234aa1
+ F src/backup.c a729e63cf5cd1829507cb7b8e89f99b95141bb53
+ F src/bitvec.c 19a4ba637bd85f8f63fc8c9bae5ade9fb05ec1cb
F src/btmutex.c 976f45a12e37293e32cae0281b15a21d48a8aaa7
- F src/btree.c 64acbd5fd89629d2f52d5d6f851cc534d2a66fbe
- F src/btree.h 4aee02e879211bfcfd3f551769578d2e940ab6c2
- F src/btreeInt.h 4e5c2bd0f9b36b2a815a6d84f771a61a65830621
- F src/build.c c4555e16f8ccdadb2616014c617ed8166c5a93f7
- F src/callback.c 0cb4228cdcd827dcc5def98fb099edcc9142dbcd
-F src/btree.c 6c9b51abd404ce5b78b173b6f2248e8cb824758c
++F src/btree.c 12c020dbba798e47fcc8a9955d7faef4792125cc
+ F src/btree.h d79306df4ed9181b48916737fe8871a4392c4594
+ F src/btreeInt.h cf180d86b2e9e418f638d65baa425c4c69c0e0e3
+ F src/build.c 02665ca158431a0926b10cbd7d8178a4c9fc4a22
+ F src/callback.c 174e3c8656bc29f91d710ab61550d16eea34be98
F src/complete.c dc1d136c0feee03c2f7550bafc0d29075e36deac
- F src/ctime.c 72a70dcfda75d3a1f81041ce4573e7afddcd8e4e
- F src/date.c 067a81c9942c497aafd2c260e13add8a7d0c7dd4
- F src/delete.c 4f7d773ec44b7db22b30ec9144f58a69154e09b7
- F src/expr.c 4de967b85f577ba00a7cdcb53d22070def6198db
+ F src/ctime.c 0231df905e2c4abba4483ee18ffc05adc321df2a
+ F src/date.c 593c744b2623971e45affd0bde347631bdfa4625
+ F src/delete.c bcf8f72126cea80fc3d5bc5494cf19b3f8935aaf
+ F src/expr.c 4f9e497c66e2f25a4d139357a778c84d5713207c
F src/fault.c 160a0c015b6c2629d3899ed2daf63d75754a32bb
- F src/fkey.c c82a04e7a92bb728f9ab972b76590403283be2af
- F src/func.c 8dea4e82d536997cf4aa85d6573479995e18f38c
- F src/global.c fb44b11e02e06c995e6ed6642509edd23599d584
- F src/hash.c a4031441741932da9e7a65bee2b36b5d0e81c073
- F src/hash.h 2894c932d84d9f892d4b4023a75e501f83050970
+ F src/fkey.c 5269ef07b100763134f71b889327c333bd0989cf
-F src/func.c 2e16316ec3a6365a0dc3e553c586f91b20f7f6c8
++F src/func.c 6ace0c0c0d5f0a23273a0c74b35b5f41113f09eb
+ F src/global.c 1d7bb7ea8254ae6a68ed9bfaf65fcb3d1690b486
+ F src/hash.c d139319967164f139c8d1bb8a11b14db9c4ba3cd
+ F src/hash.h 8890a25af81fb85a9ad7790d32eedab4b994da22
F src/hwtime.h d32741c8f4df852c7d959236615444e2b1063b08
- F src/insert.c 6e2aa7fbb5d4c5f34d412772751ed0aff0b9e87b
- F src/journal.c 552839e54d1bf76fb8f7abe51868b66acacf6a0e
- F src/legacy.c 015826a958f690302d27e096a68d50b3657e4201
- F src/lempar.c 0ee69fca0be54cd93939df98d2aca4ca46f44416
- F src/loadext.c f20382fbaeec832438a1ba7797bee3d3c8a6d51d
- F src/main.c 6fb68d1b6c7dd9188f3ef0182ca1a3ebd1fa0b42
- F src/malloc.c fe085aa851b666b7c375c1ff957643dc20a04bf6
+ F src/insert.c ab34bea5af4fee9f956a0805a32463fb7f674d00
+ F src/journal.c b4124532212b6952f42eb2c12fa3c25701d8ba8d
-F src/legacy.c 0df0b1550b9cc1f58229644735e317ac89131f12
++F src/legacy.c 17887cec559966b62ab3673a02c427338483b147
+ F src/lempar.c cdf0a000315332fc9b50b62f3b5e22e080a0952b
+ F src/loadext.c 867c7b330b740c6c917af9956b13b81d0a048303
-F src/main.c 0a8cfb6b2899649880e5874ac9bfd1c6f7c6a4a3
++F src/main.c b3ce9d74745c8ebd16aca28dcacbd30a080626c9
+ F src/malloc.c 0203ebce9152c6a0e5de520140b8ba65187350be
F src/mem0.c 6a55ebe57c46ca1a7d98da93aaa07f99f1059645
- F src/mem1.c 437c7c4af964895d4650f29881df63535caaa1fa
- F src/mem2.c e307323e86b5da1853d7111b68fd6b84ad6f09cf
+ F src/mem1.c c0c990fcaddff810ea277b4fb5d9138603dd5d4b
+ F src/mem2.c dce31758da87ec2cfa52ba4c5df1aed6e07d8e8f
F src/mem3.c 61c9d47b792908c532ca3a62b999cf21795c6534
- F src/mem5.c c2c63b7067570b00bf33d751c39af24182316f7f
- F src/memjournal.c 0ebce851677a7ac035ba1512a7e65851b34530c6
+ F src/mem5.c 74670012946c4adc8a6ad84d03acc80959c3e529
+ F src/memjournal.c 0683aac6cab6ec2b5374c0db37c0deb2436a3785
F src/mutex.c d3b66a569368015e0fcb1ac15f81c119f504d3bc
F src/mutex.h 5bc526e19dccc412b7ff04642f6fdad3fdfdabea
F src/mutex_noop.c 7682796b7d8d39bf1c138248858efcd10c9e1553
F src/mutex_unix.c c3a4e00f96ba068a8dbef34084465979aaf369cc
- F src/mutex_w32.c 32a9b3841e2d757355f0012b860b1bc5e01eafa0
+ F src/mutex_w32.c ab08c0fc54b71979370ca7c8f42fc64a9f211ebb
F src/notify.c 976dd0f6171d4588e89e874fcc765e92914b6d30
- F src/os.c 4c8c8d72a6c58ad2fde4865783e8ae26b494a85e
- F src/os.h 027491c77d2404c0a678bb3fb06286f331eb9b57
-F src/os.c 1b147e4cf7cc39e618115c14a086aed44bc91ace
++F src/os.c 25df79baf4bec87f75a2c4e995d63361b66b918a
+ F src/os.h 60d419395e32a8029fa380a80a3da2e9030f635e
F src/os_common.h 92815ed65f805560b66166e3583470ff94478f04
- F src/os_unix.c 0482b132e8f1617276661276dd49e6b0ebe1db49
- F src/os_win.c 1e6b79bea91ee0000ed59aec8cc4935342529229
- F src/pager.c 403e8cfae0e0e798e147ec6b04ee712301b54158
- F src/pager.h 491e782fbefc83e115f85588987ebb7d00d9fde6
- F src/parse.y f29df90bd3adc64b33114ab1de9fb7768fcf2099
- F src/pcache.c f8043b433a57aba85384a531e3937a804432a346
- F src/pcache.h 1b5dcc3dc8103d03e625b177023ee67764fa6b7c
- F src/pcache1.c 9fd22671c270b35131ef480bbc00392b8b5f8ab9
- F src/pragma.c 2b556a8a7afcb9e5c17f1901d63413f15c75c4a7
- F src/prepare.c 417a6a758be68de72b34f526d554171bf240e5da
- F src/printf.c 4a9f882f1c1787a8b494a2987765acf9d97ac21f
- F src/random.c cd4a67b3953b88019f8cd4ccd81394a8ddfaba50
- F src/resolve.c 9e28280ec98035f31900fdd1db01f86f68ca6c32
- F src/rowset.c 64655f1a627c9c212d9ab497899e7424a34222e0
- F src/select.c 80633ba7505bf830597edafbeae7b6016fc635ed
- F src/shell.c 8ee5a3cb502e2d574f97b43972e6c1e275e7bec7
- F src/sqlite.h.in f157b58f6876dbfc23d5e64ea2a7eb01d33c02d6
- F src/sqlite3.rc fea433eb0a59f4c9393c8e6d76a6e2596b1fe0c0
+ F src/os_setup.h c9d4553b5aaa6f73391448b265b89bed0b890faa
-F src/os_unix.c ae4b5240af4619d711301d7992396e182585269f
-F src/os_win.c 485d06a93965f306c7281fca0937829292367234
++F src/os_unix.c a0ebd5f039e35f4a7e6f254b279a08324166fd00
++F src/os_win.c 31f80c90591fdee22a76682c4b1dd5552d5a69a9
+ F src/os_win.h 057344a6720b4c8405d9bd98f58cb37a6ee46c25
-F src/pager.c f6bb1fa6cdf2062f2d8aec3e64db302bca519ab8
-F src/pager.h ffd5607f7b3e4590b415b007a4382f693334d428
++F src/pager.c 0f8835053ca30c67177bcebf10a2011dde152e27
++F src/pager.h 8feb18f845951ab37e1f65a319b2da24185173ac
+ F src/parse.y 22d6a074e5f5a7258947a1dc55a9bf946b765dd0
+ F src/pcache.c d8eafac28290d4bb80332005435db44991d07fc2
+ F src/pcache.h a5e4f5d9f5d592051d91212c5949517971ae6222
+ F src/pcache1.c 102e6f5a2fbc646154463eb856d1fd716867b64c
-F src/pragma.c 810ef31ccfaa233201dcf100637a9777cc24e897
-F src/prepare.c 677521ab7132615a8a26107a1d1c3132f44ae337
++F src/pragma.c 67d3b4a85cb1844ace98889de10d5b7ae8bf4a80
++F src/prepare.c 954f80160f120ca715ffa5db5549c3262abb335e
+ F src/printf.c e5a0005f8b3de21f85da6a709d2fbee76775bf4b
+ F src/random.c d10c1f85b6709ca97278428fd5db5bbb9c74eece
+ F src/resolve.c 273d5f47c4e2c05b2d3d2bffeda939551ab59e66
+ F src/rowset.c a9c9aae3234b44a6d7c6f5a3cadf90dce1e627be
-F src/select.c 089c4d46f067a5cccae93524c6377f981ba99bd9
++F src/select.c 2270f57439f69f4b2fd97452203b5da53a51d668
+ F src/shell.c 2afe7a7154e97be0c74c5feacf09626bda8493be
-F src/sqlite.h.in 564fc23db33870b5096b20d72df7491ce0b8b74f
++F src/sqlite.h.in 1581bfade051f90dcd28b44c6b04fbf326bec4db
+ F src/sqlite3.rc 11094cc6a157a028b301a9f06b3d03089ea37c3e
+F src/sqlite3_private.h a81a9c5f97c095cc3e86914a05f8fabe0011f4a1
- F src/sqlite3ext.h 6904f4aadf976f95241311fbffb00823075d9477
- F src/sqliteInt.h 44d0917a4fa806cfa51a3f4737b13845fdc4e569
+ F src/sqlite3ext.h 886f5a34de171002ad46fae8c36a7d8051c190fc
-F src/sqliteInt.h b2947801eccefd7ba3e5f14e1353289351a83cf3
++F src/sqliteInt.h 53c0b5cd25c12a22837807373693a129d90ab98b
F src/sqliteLimit.h 164b0e6749d31e0daa1a4589a169d31c0dec7b3d
- F src/status.c 35939e7e03abf1b7577ce311f48f682c40de3208
+ F src/status.c 7ac05a5c7017d0b9f0b4bcd701228b784f987158
F src/table.c 2cd62736f845d82200acfa1287e33feb3c15d62e
- F src/tclsqlite.c e4de2458b3ef38fdd0498bc4e5ea5367a241b0f3
- F src/test1.c f435cf69dc915a692c37862e5abcab0f79f550e8
- F src/test2.c 4178056dd1e7d70f954ad8a1e3edb71a2a784daf
- F src/test3.c 3c3c2407fa6ec7a19e24ae23f7cb439d0275a60d
- F src/test4.c bf9fa9bece01de08e6f5e02314e4af5c13590dfa
- F src/test5.c a6d1ac55ac054d0b2b8f37b5e655b6c92645a013
- F src/test6.c 417e1e214734393c24a8ee80b41485a9c4169123
- F src/test7.c 2e0781754905c8adc3268d8f0967e7633af58843
- F src/test8.c 8bcce65e5ee027fbfd7da41d28371aabbfd369ff
+ F src/tclsqlite.c e87c99e28a145943666b51b212dacae35fcea0bd
-F src/test1.c 899bddeb0c7fb2b8062de6f03af4a4e4f48f9df5
++F src/test1.c d289efd4896bf3536c99c097a9181a3239201ca4
+ F src/test2.c 7355101c085304b90024f2261e056cdff13c6c35
+ F src/test3.c 1c0e5d6f080b8e33c1ce8b3078e7013fdbcd560c
+ F src/test4.c 9b32d22f5f150abe23c1830e2057c4037c45b3df
+ F src/test5.c 5a34feec76d9b3a86aab30fd4f6cc9c48cbab4c1
+ F src/test6.c 41cacf3b0dd180823919bf9e1fbab287c9266723
+ F src/test7.c 72b732baa5642f795655ba1126ea032af46ecfd2
+ F src/test8.c 54ccd7b1df5062f0ecbf50a8f7b618f8b1f13b20
F src/test9.c bea1e8cf52aa93695487badedd6e1886c321ea60
- F src/test_async.c 0612a752896fad42d55c3999a5122af10dcf22ad
- F src/test_autoext.c 30e7bd98ab6d70a62bb9ba572e4c7df347fe645e
- F src/test_backup.c 64fd6173ad99daade1227aa17c3ca0d18fa5e5fa
- F src/test_btree.c 5b89601dcb42a33ba8b820a6b763cc9cb48bac16
- F src/test_config.c e8a50ba3bdd9b191f9078c7d2ce068ae7d99117c
- F src/test_demovfs.c 20a4975127993f4959890016ae9ce5535a880094
+ F src/test_async.c 21e11293a2f72080eda70e1124e9102044531cd8
+ F src/test_autoext.c dea8a01a7153b9adc97bd26161e4226329546e12
-F src/test_backup.c 3875e899222b651e18b662f86e0e50daa946344e
++F src/test_backup.c 2e6e6a081870150f20c526a2e9d0d29cda47d803
+ F src/test_btree.c 2e9978eca99a9a4bfa8cae949efb00886860a64f
-F src/test_config.c dabaa32868974e1ae39770cc17d7e066a9c38e6d
++F src/test_config.c 15c77838d6646644362c8ec13348f9889d6e37b0
+ F src/test_demovfs.c 69b2085076654ebc18014cbc6386f04409c959a9
F src/test_devsym.c e7498904e72ba7491d142d5c83b476c4e76993bc
- F src/test_func.c 3a8dd37c08ab43b76d38eea2836e34a3897bf170
- F src/test_fuzzer.c 1d26aa965120420bc14807da29d4d4541bfa6148
+ F src/test_fs.c ced436e3d4b8e4681328409b8081051ce614e28f
+ F src/test_func.c d3013ce36f19ac72a99c73864930fd1fa41832f8
F src/test_hexio.c abfdecb6fa58c354623978efceb088ca18e379cd
- F src/test_init.c 3cbad7ce525aec925f8fda2192d576d47f0d478a
- F src/test_intarray.c d879bbf8e4ce085ab966d1f3c896a7c8b4f5fc99
- F src/test_intarray.h 489edb9068bb926583445cb02589344961054207
+ F src/test_init.c 66b33120ffe9cd853b5a905ec850d51151337b32
+ F src/test_intarray.c 87847c71c3c36889c0bcc9c4baf9d31881665d61
+ F src/test_intarray.h 2ece66438cfd177b78d1bfda7a4180cd3a10844d
F src/test_journal.c f5c0a05b7b3d5930db769b5ee6c3766dc2221a64
- F src/test_loadext.c df586c27176e3c2cb2e099c78da67bf14379a56e
- F src/test_malloc.c 01cd65ae7ae93de9fbf8214d1ee6b4eba4850700
- F src/test_multiplex.c ac0fbc1748e5b86a41a1d7a84654fae0d53a881d
- F src/test_multiplex.h e99c571bc4968b7a9363b661481f3934bfead61d
- F src/test_mutex.c a6bd7b9cf6e19d989e31392b06ac8d189f0d573e
+ F src/test_loadext.c a5251f956ab6af21e138dc1f9c0399394a510cb4
+ F src/test_malloc.c 1ff5b1243d96124c9a180f3b89424820a1f337f3
+ F src/test_multiplex.c 9f304bf04170c91c0318238d512df2da039eb1c8
+ F src/test_multiplex.h 110a8c4d356e0aa464ca8730375608a9a0b61ae1
+ F src/test_mutex.c 293042d623ebba969160f471a82aa1551626454f
F src/test_onefile.c 0396f220561f3b4eedc450cef26d40c593c69a25
- F src/test_osinst.c 90a845c8183013d80eccb1f29e8805608516edba
+ F src/test_osinst.c 3d0340bc31a9f3d8a3547e0272373e80f78dde25
F src/test_pcache.c a5cd24730cb43c5b18629043314548c9169abb00
- F src/test_quota.c 8ab295092c70903ca6f3209fa4c75f5cb6c1bf8e
- F src/test_quota.h 8761e463b25e75ebc078bd67d70e39b9c817a0cb
- F src/test_rtree.c a1bbfc30f14d2bad2f93dbea7dcc697c97a40c66
- F src/test_schema.c 8c06ef9ddb240c7a0fcd31bc221a6a2aade58bf0
- F src/test_server.c 2f99eb2837dfa06a4aacf24af24c6affdf66a84f
- F src/test_spellfix.c 76dd8d3111d2f5354c374f71fa23b752bd0b029c
- F src/test_stat.c d1569c7a4839f13e80187e2c26b2ab4da2d03935
+ F src/test_quota.c 65f6348fec0f2b3020c907247fb47556b214abb9
+ F src/test_quota.h 2a8ad1952d1d2ca9af0ce0465e56e6c023b5e15d
-F src/test_rtree.c fdd8d29ca5165c7857987a2ba263fac5c69e231f
++F src/test_rtree.c bfe6f4386517f70054311109f3528adffec34485
+ F src/test_schema.c cd12a2223c3a394f4d07bb93bdf6d344c5c121b6
+ F src/test_server.c a2615049954cbb9cfb4a62e18e2f0616e4dc38fe
+ F src/test_sqllog.c c1c1bbedbcaf82b93d83e4f9dd990e62476a680e
+ F src/test_stat.c 9898687a6c2beca733b0dd6fe19163d987826d31
-F src/test_superlock.c 2b97936ca127d13962c3605dbc9a4ef269c424cd
+F src/test_superlock.c 12e2bc484c6c2ba837327d37f2e6a6fd9d1464f8
- F src/test_syscall.c a992d8c80ea91fbf21fb2dd570db40e77dd7e6ae
+ F src/test_syscall.c 2e21ca7f7dc54a028f1967b63f1e76155c356f9b
F src/test_tclvar.c f4dc67d5f780707210d6bb0eb6016a431c04c7fa
- F src/test_thread.c e286f2173563f2a1747c24bcda6b9d030bf4f4e4
- F src/test_vfs.c c6260ef238c1142c8f8bd402db02216afd182ae3
- F src/test_vfstrace.c f60e12754e65c05386aab59db8d2ae086314138d
- F src/test_wholenumber.c 3d2b9ed1505c40ad5c5ca2ad16ae7a289d6cc251
+ F src/test_thread.c 1e133a40b50e9c035b00174035b846e7eef481cb
+ F src/test_vfs.c f84075a388527892ff184988f43b69ce69b8083c
+ F src/test_vfstrace.c bab9594adc976cbe696ff3970728830b4c5ed698
F src/test_wsd.c 41cadfd9d97fe8e3e4e44f61a4a8ccd6f7ca8fe9
- F src/tokenize.c 1e86210d3976717a19238ea7b047fac481fe8c12
- F src/trigger.c 3f258307040173aff383eb23fb74c44fe829078c
- F src/update.c 28d2d098b43a2c70dae399896ea8a02f622410ef
- F src/utf.c 8d819e2e5104a430fc2005f018db14347c95a38f
- F src/util.c 0af2e515dc0dabacec931bca39525f6c3f1c5455
- F src/vacuum.c 587a52bb8833d7ac15af8916f25437e2575028bd
- F src/vdbe.c fcb5bb6f48d8ac9079e1b0fddbc680c91fe95c68
- F src/vdbe.h 18f581cac1f4339ec3299f3e0cc6e11aec654cdb
- F src/vdbeInt.h 573a43ab5697b648a1e8f3dfc7d8667d5ca55729
- F src/vdbeapi.c e05707f39ab3691422b59b72188c004154eb6417
- F src/vdbeaux.c a709b258b800bcfddc69a9d262fe46f88fea63b1
- F src/vdbeblob.c 32f2a4899d67f69634ea4dd93e3f651936d732cb
- F src/vdbemem.c cb55e84b8e2c15704968ee05f0fae25883299b74
- F src/vdbesort.c 0dc1b274dcb4d4c8e71b0b2b15261f286caba39b
- F src/vdbetrace.c 36c1ae141327a5352e5656fd448194b6927bc763
- F src/vtab.c d8020c0a0e8ccc490ca449d7e665311b6e9f3ba9
- F src/wal.c 61b556fa9ddf1f6d60244ead41f9a17aeb1e0f12
- F src/wal.h ce626f1f9000caf09a99a6634a8d794686f92e1b
- F src/walker.c 3d75ba73de15e0f8cd0737643badbeb0e002f07b
- F src/where.c d836df3a2096c41c39e48ab5636f09f94ba02676
- F test/8_3_names.test 0ed0f6711fefac33829ef9f1d6ca3c56c48ef1c7
+ F src/tokenize.c 6da2de6e12218ccb0aea5184b56727d011f4bee7
+ F src/trigger.c 66f3470b03b52b395e839155786966e3e037fddb
+ F src/update.c 5b3e74a03b3811e586b4f2b4cbd7c49f01c93115
+ F src/utf.c 6dc9ec9f1b3db43ae8ba0365377f11df1ee4c01c
+ F src/util.c 2b5fb283a190aacdb286f7835a447c45b345b83c
+ F src/vacuum.c 3728d74919d4fb1356f9e9a13e27773db60b7179
-F src/vdbe.c 7f359193bf2366cc914a9ece093ebf284e56acdc
++F src/vdbe.c 0c64781331869342b7c1b2fd7140318da0d9a3a8
+ F src/vdbe.h 394464909ed682334aa3d5831aae0c2fe2abef94
+ F src/vdbeInt.h e6d83e5bfd62fc6685ba1ed6153f7099f82de9f7
-F src/vdbeapi.c 0ed6053f947edd0b30f64ce5aeb811872a3450a4
-F src/vdbeaux.c e493f38758c4b8f4ca2007cf6a700bd405d192f3
++F src/vdbeapi.c e37d694feecdcd458427715d8d7ab62e1a5761ef
++F src/vdbeaux.c a82cfad30a3b4c1758c28dcee2b4fc20a70cd121
+ F src/vdbeblob.c 9205ce9d3b064d9600f8418a897fc88b5687d9ac
+ F src/vdbemem.c 6fc77594c60f6155404f3f8d71bf36d1fdeb4447
+ F src/vdbesort.c 4abb7c0f8f19b7d7d82f4558d5da1a30fdf9ea38
+ F src/vdbetrace.c 6f52bc0c51e144b7efdcfb2a8f771167a8816767
+ F src/vtab.c 21b932841e51ebd7d075e2d0ad1415dce8d2d5fd
-F src/wal.c 76e7fc6de229bea8b30bb2539110f03a494dc3a8
-F src/wal.h df01efe09c5cb8c8e391ff1715cca294f89668a4
++F src/wal.c 29854e652a9d7dc0d7a87ff1a9dbffac0aaf2e16
++F src/wal.h 6b3a67ecd7172dcc9f18fc9cd4d76dc4c2166e68
+ F src/walker.c 11edb74d587bc87b33ca96a5173e3ec1b8389e45
+ F src/where.c fd4b525cd5ab652cea2fbc71ac15c975271ca461
+ F src/whereInt.h 6804c2e5010378568c2bb1350477537755296a46
-F test/8_3_names.test ebbb5cd36741350040fd28b432ceadf495be25b2
++F test/8_3_names.test 05034aadccd2253ffe6cbefb06662b8aa4600f77
F test/aggerror.test a867e273ef9e3d7919f03ef4f0e8c0d2767944f2
- F test/aggnested.test 0be144b453e0622a085fae8665c32f5676708e00
+ F test/aggnested.test 45c0201e28045ad38a530b5a144b73cd4aa2cfd6
F test/alias.test 4529fbc152f190268a15f9384a5651bbbabc9d87
- F test/all.test 52fc8dee494092031a556911d404ca30a749a30b
- F test/alter.test 57d96ec9b320bd07af77567034488dcb6642c748
+ F test/all.test 6ff7b43c2b4b905c74dc4a813d201d0fa64c5783
+ F test/alter.test 547dc2d292644301ac9a7dda22b319b74f9c08d2
F test/alter2.test 7ea05c7d92ac99349a802ef7ada17294dd647060
F test/alter3.test 49c9d9fba2b8fcdce2dedeca97bbf1f369cc548d
- F test/alter4.test b2debc14d8cbe4c1d12ccd6a41eef88a8c1f15d5
+ F test/alter4.test d6c011fa0d6227abba762498cafbb607c9609e93
F test/altermalloc.test e81ac9657ed25c6c5bb09bebfa5a047cd8e4acfc
- F test/analyze.test f8ab7d15858b4093b06caf5e57e2a5ff7104bdae
- F test/analyze3.test c3c7f6c3951900c188cf94b2d5ee3246d6b3ff89
- F test/analyze4.test 757b37875cf9bb528d46f74497bc789c88365045
- F test/analyze5.test 713354664c5ff1853ab2cbcb740f0cf5cb7c802e
- F test/analyze6.test aa8dae5066bbed35c5f45a507fb87f2d342f2c99
- F test/analyze7.test d3587aa5af75c9048d031b94fceca2534fa75d1d
- F test/analyze8.test 4ca170de2ba30ccb1af2c0406803db72262f9691
+ F test/amatch1.test b5ae7065f042b7f4c1c922933f4700add50cdb9f
+ F test/analyze.test 1772936d66471c65221e437b6d1999c3a03166c4
+ F test/analyze3.test bf41f0f680dd1e0d44eed5e769531e93a5320275
+ F test/analyze4.test eff2df19b8dd84529966420f29ea52edc6b56213
+ F test/analyze5.test 765c4e284aa69ca172772aa940946f55629bc8c4
+ F test/analyze6.test d31defa011a561b938b4608d3538c1b4e0b5e92c
+ F test/analyze7.test bb1409afc9e8629e414387ef048b8e0e3e0bdc4f
+ F test/analyze8.test 093d15c1c888eed5034304a98c992f7360130b88
+ F test/analyze9.test 623e02a99a78fa12fe5def2fd559032d5d887e0f
+ F test/analyzeA.test 1a5c40079894847976d983ca39c707aaa44b6944
+ F test/analyzeB.test 8bf35ee0a548aea831bf56762cb8e7fdb1db083d
F test/async.test 1d0e056ba1bb9729283a0f22718d3a25e82c277b
F test/async2.test c0a9bd20816d7d6a2ceca7b8c03d3d69c28ffb8b
F test/async3.test d73a062002376d7edc1fe3edff493edbec1fc2f7
F test/async4.test 1787e3952128aa10238bf39945126de7ca23685a
- F test/async5.test 0dd8701bd588bf6e70c2557a22ae3f22b2567b4c
- F test/atof1.test 9bf1d25180a2e05fc12ce3940cc8003033642f68
+ F test/async5.test 383ab533fdb9f7ad228cc99ee66e1acb34cc0dc0
+ F test/atof1.test 08a61df9365c341f334a65f4348897312d8f3db7
-F test/attach.test 0d112b7713611fdf0340260192749737135fda5f
+F test/attach.test 63033baa59be42c811ef0d4e73ebd2d6dba4805c
- F test/attach2.test e54436ed956d3d88bdee61221da59bf3935a0966
- F test/attach3.test d89ccfe4fe6e2b5e368d480fcdfe4b496c54cf4e
+ F test/attach2.test 0ec5defa340363de6cd50fd595046465e9aaba2d
+ F test/attach3.test 359eb65d00102cdfcef6fa4e81dc1648f8f80b27
-F test/attach4.test 53bf502f17647c6d6c5add46dda6bac8b6f4665c
+F test/attach4.test faaaf33fa51f986b414520cb03cecdc7999df108
F test/attachmalloc.test 3a4bfca9545bfe906a8d2e622de10fbac5b711b0
- F test/auth.test 304e82f31592820d3bde26ab6b75deaa123e1a6f
- F test/auth2.test 270baddc8b9c273682760cffba6739d907bd2882
+ F test/auth.test 5bdf154eb28c0e4bbc0473f335858c0d96171768
+ F test/auth2.test c3b415b76c033bedb81292118fb7c01f5f10cbcd
F test/auth3.test a4755e6a2a2fea547ffe63c874eb569e60a28eb5
- F test/autoinc.test bd30d372d00045252f6c2e41b5f41455e1975acf
- F test/autoindex1.test 058d0b331ae6840a61bbee910d8cbae27bfd5991
- F test/autovacuum.test 9f22a7733f39c56ef6a5665d10145ac25d8cb574
+ F test/autoinc.test c58912526998a39e11f66b533e23cfabea7f25b7
+ F test/autoindex1.test 762ff3f8e25d852aae55c6462ca166a80c0cde61
+ F test/autovacuum.test 941892505d2c0f410a0cb5970dfa1c7c4e5f6e74
F test/autovacuum_ioerr2.test 8a367b224183ad801e0e24dcb7d1501f45f244b4
F test/avtrans.test 0252654f4295ddda3b2cce0e894812259e655a85
- F test/backcompat.test ecd841f3a3bfb81518721879cc56a760670e3198
+ F test/backcompat.test 5f8ad58b3eaebc78cd2c66c65476a42e6f32b2ad
F test/backup.test c9cdd23a495864b9edf75a9fa66f5cb7e10fcf62
F test/backup2.test 34986ef926ea522911a51dfdb2f8e99b7b75ebcf
- F test/backup_ioerr.test 40d208bc9224b666ee3ed423f49bc9062a36a9d0
+ F test/backup4.test 2a2e4a64388090b152de753fd9e123f28f6a3bd4
+ F test/backup_ioerr.test 4c3c7147cee85b024ecf6e150e090c32fdbb5135
F test/backup_malloc.test 7162d604ec2b4683c4b3799a48657fb8b5e2d450
F test/badutf.test d5360fc31f643d37a973ab0d8b4fb85799c3169f
F test/badutf2.test f5bc7f2d280670ecd79b9cf4f0f1760c607fe51f
F test/bc_common.tcl 5c8689cc6d2fb44b7c0968ae4f85eb26d50022fa
- F test/between.test 16b1776c6323faadb097a52d673e8e3d8be7d070
- F test/bigfile.test 8f88b5ef065e31c615c49d725ede94155fbe9609
- F test/bigfile2.test 8a3c242c3c3481e7cde5a6ef2a66fdc367a095f7
+ F test/between.test 34d375fb5ce1ae283ffe82b6b233e9f38e84fc6c
+ F test/bigfile.test aa74f4e5db51c8e54a1d9de9fa65d01d1eb20b59
+ F test/bigfile2.test 1b489a3a39ae90c7f027b79110d6b4e1dbc71bfc
F test/bigrow.test f0aeb7573dcb8caaafea76454be3ade29b7fc747
-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
F test/boundary3.test 56ef82096b4329aca2be74fa1e2b0f762ea0eb45
F test/boundary4.tcl 0bb4b1a94f4fc5ae59b79b9a2b7a140c405e2983
F test/boundary4.test 89e02fa66397b8a325d5eb102b5806f961f8ec4b
+ F test/btreefault.test c2bcb542685eea44621275cfedbd8a13f65201e3
F test/busy.test 76b4887f8b9160ba903c1ac22e8ff406ad6ae2f0
- F test/cache.test 3e50417948e06959aca785db81896b28a38c36dd
- F test/capi2.test 835d4cee9f542ea50fa8d01f3fe6de80b0627360
- F test/capi3.test 56ab450125ead38846cbae7e5b6a216686c3cffa
-F test/cache.test 13bc046b26210471ca6f2889aceb1ea52dc717de
++F test/cache.test 0bc2195f4a7207108af2617ed356e77daf4412f7
+ F test/capi2.test 011c16da245fdc0106a2785035de6b242c05e738
+ F test/capi3.test 71bcf2fbd36a9732f617766dfd752552c8e491b5
F test/capi3b.test efb2b9cfd127efa84433cd7a2d72ce0454ae0dc4
- F test/capi3c.test 93d24621c9ff84da9da060f30431e0453db1cdb0
- F test/capi3d.test 17b57ca28be3e37e14c2ba8f787d292d84b724a1
- F test/capi3e.test f7408dda65c92b9056199fdc180f893015f83dde
+ F test/capi3c.test a21869e4d50d5dbb7e566e328fc0bc7c2efa6a32
+ F test/capi3d.test 6d0fc0a86d73f42dd19a7d8b7761ab9bc02277d0
+ F test/capi3e.test 3d49c01ef2a1a55f41d73cba2b23b5059ec460fe
F test/cast.test 4c275cbdc8202d6f9c54a3596701719868ac7dc3
- F test/check.test 193f47ed43a8d29aca12b30cd30ceb105fbe710d
+ F test/check.test 5831ddb6f2c687782eaf2e1a07b6e17f24c4f763
+ F test/close.test 340bd24cc58b16c6bc01967402755027c37eb815
+ F test/closure01.test b1703ba40639cfc9b295cf478d70739415eec6a4
F test/coalesce.test cee0dccb9fbd2d494b77234bccf9dc6c6786eb91
- F test/collate1.test e3eaa48c21e150814be1a7b852d2a8af24458d04
- F test/collate2.test 04cebe4a033be319d6ddbb3bbc69464e01700b49
- F test/collate3.test d28d2cfab2c3a3d4628ae4b2b7afc9965daa3b4c
- F test/collate4.test d37682293d3c32223dec2e6afdeaf9de18415248
+ F test/collate1.test 73b91005f264b7c403e2d63a6708d150679ac99a
+ F test/collate2.test 9aaa410a00734e48bcb27f3872617d6f69b2a621
+ F test/collate3.test 79558a286362cb9ed603c6fa543f1cda7f563f0f
+ F test/collate4.test f04d5168685f2eef637ecfa2d4ddf8ec0d600177
F test/collate5.test 65d928034d30d2d263a80f6359f7549ee1598ec6
F test/collate6.test 8be65a182abaac8011a622131486dafb8076e907
F test/collate7.test 8ec29d98f3ee4ccebce6e16ce3863fb6b8c7b868
F test/createtab.test b5de160630b209c4b8925bdcbbaf48cc90b67fe8
F test/cse.test 277350a26264495e86b1785f34d2d0c8600e021c
F test/ctime.test 7bd009071e242aac4f18521581536b652b789a47
- F test/date.test f3228180c87bbe5d39c9397bf001c0095c3821b9
- F test/dbstatus.test 207e5b63fcb7b9c3bb8e1fdf38ebd4654ad0e54b
- F test/dbstatus2.test 3efd4beb77136cd02f826d81d83bc3b94cf9d276
- F test/default.test 6faf23ccb300114924353007795aa9a8ec0aa9dc
+ F test/date.test 42973251b9429f2c41b77eb98a7b0b0ba2d3b2c0
+ F test/dbstatus.test 8de104bb5606f19537d23cd553b41349b5ab1204
-F test/dbstatus2.test 10418e62b3db5dca070f0c3eef3ea13946f339c2
++F test/dbstatus2.test fc968d3005b4d827eba807a06573a6c528aa119a
+ F test/default.test 792c3c70836f1901e2a8cb34fa0880ed71e2c1a9
F test/delete.test a065b05d2ebf60fd16639c579a4adfb7c381c701
F test/delete2.test 3a03f2cca1f9a67ec469915cb8babd6485db43fa
F test/delete3.test 555e84a00a99230b7d049d477a324a631126a6ab
- F test/descidx1.test 533dcbda614b0463b0ea029527fd27e5a9ab2d66
+ F test/descidx1.test 6d03b44c8538fe0eb4924e19fba10cdd8f3c9240
F test/descidx2.test 9f1a0c83fd57f8667c82310ca21b30a350888b5d
- F test/descidx3.test fe720e8b37d59f4cef808b0bf4e1b391c2e56b6f
+ F test/descidx3.test 09ddbe3f5295f482d2f8b687cf6db8bad7acd9a2
F test/diskfull.test 106391384780753ea6896b7b4f005d10e9866b6e
- F test/distinct.test c239558222e5ae357aade535bfe61aaabcb00bbf
+ F test/distinct.test 086e70c765f172e8974e9f83b9ac5ca03c154e77
F test/distinctagg.test 1a6ef9c87a58669438fc771450d7a72577417376
- F test/e_createtable.test 0a2465736199cb5e084645a8714ee04299b81721
- F test/e_delete.test 89aa84d3d1bd284a0689ede04bce10226a5aeaa5
- F test/e_droptrigger.test afd5c4d27dec607f5997a66bf7e2498a082cb235
- F test/e_dropview.test 583411e470458c5d76148542cfb5a5fa84c8f93e
- F test/e_expr.test 5489424d3d9a452ac3701cdf4b680ae31a157894
- F test/e_fkey.test a79ab1d3213c7ac64621eec28f8e8bb219775445
+ F test/e_createtable.test ed82efcedc4b3656b27a5fcd12335cdb7e20eeee
+ F test/e_delete.test d5186e2f5478b659f16a2c8b66c09892823e542a
+ F test/e_droptrigger.test 3cd080807622c13e5bbb61fc9a57bd7754da2412
+ F test/e_dropview.test 0c9f7f60989164a70a67a9d9c26d1083bc808306
+ F test/e_expr.test 5c71d183fbf519a4769fd2e2124afdc70b5b1f42
+ F test/e_fkey.test a1783fe1f759e1990e6a11adfcf0702dac4d0707
F test/e_fts3.test 5c02288842e4f941896fd44afdef564dd5fc1459
- F test/e_insert.test c6ac239a97cb16dfbd0c16496f8cd871b4068c0c
- F test/e_reindex.test dfedfc32c5a282b0596c6537cbcd4217fbb1a216
+ F test/e_insert.test 1e44f84d2abe44d66e4fbf198be4b20e3cc724a0
+ F test/e_reindex.test 396b7b4f0a66863b4e95116a67d93b227193e589
F test/e_resolve.test dcce9308fb13b934ce29591105d031d3e14fbba6
- F test/e_select.test 07e8d81268ba1ffcaf1dc4bec48956af150c42f9
- F test/e_select2.test 5c3d3da19c7b3e90ae444579db2b70098599ab92
- F test/e_update.test 161d5dc6a3ed9dd08f5264d13e20735d7a89f00c
- F test/e_uri.test 9e190ca799d9190eec6e43f2aadf1d10c06a57a3
- F test/e_vacuum.test 331da289ae186656cf5f2eb27f577a89c0c221af
+ F test/e_select.test 52692ff3849541e828ad4661fe3773a9b8711763
+ F test/e_select2.test aceb80ab927d46fba5ce7586ebabf23e2bb0604f
+ F test/e_update.test 312cb8f5ccfe41515a6bb092f8ea562a9bd54d52
+ F test/e_uri.test a2c92d80093a7efdcfbb11093651cbea87097b6b
+ F test/e_vacuum.test 5bfbdc21b65c0abf24398d0ba31dc88d93ca77a9
F test/enc.test e54531cd6bf941ee6760be041dff19a104c7acea
- F test/enc2.test 796c59832e2b9a52842f382ffda8f3e989db03ad
+ F test/enc2.test 83437a79ba1545a55fb549309175c683fb334473
F test/enc3.test 90683ad0e6ea587b9d5542ca93568af9a9858c40
F test/enc4.test c8f1ce3618508fd0909945beb8b8831feef2c020
- F test/eqp.test 46aa946dd55c90635327898275d3e533d23a9845
- F test/errmsg.test 3bb606db9d040cc6854459f8f5e5a2bcd9b7fd2a
+ F test/eqp.test 90b56d03a93a2e7bb90f88be6083a8ea53f11a0e
+ F test/errmsg.test f31592a594b44ee121371d25ddd5d63497bb3401
F test/eval.test bc269c365ba877554948441e91ad5373f9f91be3
- F test/exclusive.test bd8976a6e67daf8e9948eb1c6a27afafe79752fa
- F test/exclusive2.test 372be98f6de44dd78734e364b7b626ea211761a6
-F test/exclusive.test c7ebbc756eacf544c108b15eed64d7d4e5f86b75
++F test/exclusive.test c0d5e3c0756ac6ccd4d45e0b21ff9f01b963fa61
+ F test/exclusive2.test 32798111aae78a5deec980eee383213f189df308
F test/exec.test e949714dc127eaa5ecc7d723efec1ec27118fdd7
F test/exists.test 8f7b27b61c2fbe5822f0a1f899c715d14e416e30
F test/expr.test 67c9fd6f8f829e239dc8b0f4a08a73c08b09196d
- F test/fallocate.test 9b74e7469ac8c1c19871a667dac1dd642d06a9ed
- F test/filectrl.test f0327bd804d9c7bd048fa7a151c5eab8e27df42b
- F test/filefmt.test ffa17b5aebc3eb4b1e3be1ccb5ee906ffbd97f6e
- F test/fkey1.test 01c7de578e11747e720c2d9aeef27f239853c4da
- F test/fkey2.test 080969fe219b3b082b0e097ac18c6af2e5b0631f
- F test/fkey3.test 5ec899d12b13bcf1e9ef40eff7fb692fdb91392e
- F test/fkey4.test c6c8f9f9be885f95c85c7bceb26f243ad906fd49
- F test/fkey_malloc.test c3a12acd053c976de09036498eef09b83afa4a80
-F test/fallocate.test 3e979af17dfa7e5e9dda5eba1a696c04fa9d47f7
++F test/fallocate.test fe52076a43ff99da8411990dbb4f374e81e88c85
+ F test/filectrl.test 14fa712e42c4cb791e09dfd58a6a03efb47ef13a
+ F test/filefmt.test cb34663f126cbc2d358af552dcaf5c72769b0146
+ F test/fkey1.test e1d1fa84cde579185ea01358436839703e415a5b
+ F test/fkey2.test 32ca728bcb854feed72d1406ea375fe423eebff2
+ F test/fkey3.test 76d475c80b84ee7a5d062e56ccb6ea68882e2b49
+ F test/fkey4.test 86446017011273aad8f9a99c1a65019e7bd9ca9d
+ F test/fkey5.test 8a1fde4e7721ae00b05b3178888833726ca2df8d
+ F test/fkey6.test abb59f866c1b44926fd02d1fdd217d831fe04f48
+ F test/fkey7.test e31d0e71a41c1d29349a16448d6c420e2c53a8fc
+ F test/fkey_malloc.test 594a7ea1fbab553c036c70813cd8bd9407d63749
F test/format4.test 1f0cac8ff3895e9359ed87e41aaabee982a812eb
F test/fts-9fd058691.test 78b887e30ae6816df0e1fed6259de4b5a64ad33c
F test/fts1a.test 46090311f85da51bb33bd5ce84f7948359c6d8d7
F test/fts4merge.test c424309743fdd203f8e56a1f1cd7872cd66cc0ee
F test/fts4merge2.test 5faa558d1b672f82b847d2a337465fa745e46891
F test/fts4merge3.test aab02a09f50fe6baaddc2e159c3eabc116d45fc7
- F test/fts4unicode.test aad033abdcfa0f87ce5f56468f59fdf2a0acbcef
+ F test/fts4merge4.test c19c85ca1faa7b6d536832b49c12e1867235f584
+ F test/fts4noti.test aed33ba44808852dcb24bf70fa132e7bf530f057
+ F test/fts4unicode.test 01ec3fe2a7c3cfff3b4c0581b83caa11b33efa36
F test/full.test 6b3c8fb43c6beab6b95438c1675374b95fab245d
- F test/func.test 0d89043dab9a8853358d14c68e028ee0093bf066
+ F test/func.test ae97561957aba6ca9e3a7b8a13aac41830d701ef
F test/func2.test 772d66227e4e6684b86053302e2d74a2500e1e0f
- F test/func3.test 001021e5b88bd02a3b365a5c5fd8f6f49d39744a
+ F test/func3.test dbccee9133cfef1473c59ec07b5f0262b9d72f9a
+ F test/func4.test 6beacdfcb0e18c358e6c2dcacf1b65d1fa80955f
+ F test/func5.test cdd224400bc3e48d891827cc913a57051a426fa4
F test/fuzz-oss1.test 4912e528ec9cf2f42134456933659d371c9e0d74
- F test/fuzz.test 77fd50afc12847af50fcf1941679d90adebadde6
+ F test/fuzz.test 96083052bf5765e4518c1ba686ce2bab785670d1
F test/fuzz2.test 207d0f9d06db3eaf47a6b7bfc835b8e2fc397167
- F test/fuzz3.test aec64345184d1662bd30e6a17851ff659d596dc5
+ F test/fuzz3.test efd384b896c647b61a2c1848ba70d42aad60a7b3
F test/fuzz_common.tcl a87dfbb88c2a6b08a38e9a070dabd129e617b45b
F test/fuzz_malloc.test 328f70aaca63adf29b4c6f06505ed0cf57ca7c26
- F test/fuzzer1.test 69cf1036b92fd3b8e1fd65bef4d7ee3f085c28fb
- F test/fuzzerfault.test ff2282c81797b6a355f0748d8b54c7287c5d2b25
- F test/hook.test 5f3749de6462a6b87b4209b74adf7df5ac2df639
+ F test/fuzzer1.test d4c52aaf3ef923da293a2653cfab33d02f718a36
+ F test/fuzzerfault.test 8792cd77fd5bce765b05d0c8e01b9edcf8af8536
+ F test/genesis.tcl 1e2e2e8e5cc4058549a154ff1892fe5c9de19f98
+ F test/hook.test 162d7cef7a2d2b04839fe14402934e6a1b79442f
F test/icu.test 70df4faca133254c042d02ae342c0a141f2663f4
- F test/in.test 5941096407d8c133b9eff15bd3e666624b6cbde3
+ F test/in.test 047c4671328e9032ab95666a67021adbbd36e98e
F test/in2.test 5d4c61d17493c832f7d2d32bef785119e87bde75
F test/in3.test 3cbf58c87f4052cee3a58b37b6389777505aa0c0
- F test/in4.test 64f3cc1acde1b9161ccdd8e5bde3daefdb5b2617
+ F test/in4.test 41c1c031aa46b1eb4411df2687ed2ed498da23b5
F test/in5.test 99f9a40af01711b06d2d614ecfe96129f334fba3
- F test/incrblob.test 34765fa6fb5d8e0f256fc7d6497c04b205398849
- F test/incrblob2.test edc3a96e557bd61fb39acc8d2edd43371fbbaa19
- F test/incrblob3.test 086482e7937202be9f8cf327117a042d8628fe7d
- F test/incrblob4.test 09be37d3dd996a31ea6993bba7837ece549414a8
+ F test/incrblob.test e81846d214f3637622620fbde7cd526781cfe328
+ F test/incrblob2.test bf4d549aa4a466d7fbe3e3a3693d3861263d5600
-F test/incrblob3.test d8d036fde015d4a159cd3cbae9d29003b37227a4
++F test/incrblob3.test 5fa6f2665ae37da05928bb16851d4f86515af78a
+ F test/incrblob4.test f26502a5697893e5acea268c910f16478c2f0fab
F test/incrblob_err.test d2562d2771ebffd4b3af89ef64c140dd44371597
- F test/incrblobfault.test 917c0292224c64a56ef7215fd633a3a82f805be0
+ F test/incrblobfault.test 280474078f6da9e732cd2a215d3d854969014b6e
F test/incrvacuum.test d2a6ddf5e429720b5fe502766af747915ccf6c32
-F test/incrvacuum2.test 379eeb8740b0ef60c372c439ad4cbea20b34bb9b
+F test/incrvacuum2.test a1828b6165af6c248c4eb80aeaee2bcbb45768c1
- F test/incrvacuum_ioerr.test 22f208d01c528403240e05beecc41dc98ed01637
- F test/index.test b5429732b3b983fa810e3ac867d7ca85dae35097
+ F test/incrvacuum3.test 75256fb1377e7c39ef2de62bfc42bbff67be295a
+ F test/incrvacuum_ioerr.test 6ae2f783424e47a0033304808fe27789cf93e635
+ F test/index.test 4d990005a67a36984e4f1a5f1bdccea8d08da4ee
F test/index2.test ee83c6b5e3173a3d7137140d945d9a5d4fdfb9d6
- F test/index3.test 423a25c789fc8cc51aaf2a4370bbdde2d9e9eed7
- F test/index4.test 2983216eb8c86ee62d9ed7cb206b5cc3331c0026
- F test/index5.test edc8c64ca78bee140c21ce3836820fadf47906bb
- F test/indexedby.test be501e381b82b2f8ab406309ba7aac46e221f4ad
+ F test/index3.test 55a90cff99834305e8141df7afaef39674b57062
+ F test/index4.test ab92e736d5946840236cd61ac3191f91a7856bf6
+ F test/index5.test fc07c14193c0430814e7a08b5da46888ee795c33
+ F test/index6.test fb370966ac3cd0989053dd5385757b5c3e24ab6a
+ F test/index7.test a3baf9a625bda7fd49471e99aeae04095fbfeecf
+ F test/indexedby.test b2f22f3e693a53813aa3f50b812eb609ba6df1ec
F test/indexfault.test 31d4ab9a7d2f6e9616933eb079722362a883eb1d
F test/init.test 15c823093fdabbf7b531fe22cf037134d09587a7
- F test/insert.test 489aa12a027c83d291f5034a83c8c32e6be1dca2
+ F test/insert.test acf909b067b838eb55338d619e800e148c17f1f5
F test/insert2.test 4f3a04d168c728ed5ec2c88842e772606c7ce435
F test/insert3.test 1b7db95a03ad9c5013fdf7d6722b6cd66ee55e30
- F test/insert4.test 87f6798f31d60c4e177622fcc3663367e6ecbd90
+ F test/insert4.test 4791662c50518bdd37d394cae9a7a8014e845bb3
F test/insert5.test 394f96728d1258f406fe5f5aeb0aaf29487c39a6
+ F test/instr.test 737bbf80685232033f3abedc6ae92f75860b5dd2
F test/intarray.test 066b7d7ac38d25bf96f87f1b017bfc687551cdd4
- F test/interrupt.test 42e7cf98646fd9cb4a3b131a93ed3c50b9e149f1
- F test/intpkey.test 7af30f6ae852d8d1c2b70e4bf1551946742e92d8
- F test/io.test 36d251507d72e92b965fb2f0801c2f0b56335bcf
- F test/ioerr.test 40bb2cfcab63fb6aa7424cd97812a84bc16b5fb8
+ F test/interrupt.test dfe9a67a94b0b2d8f70545ba1a6cca10780d71cc
+ F test/intpkey.test 7506090fc08e028712a8bf47e5f54111947e3844
+ F test/io.test 3a7abcef18727cc0f2399e04b0e8903eccae50f8
+ F test/ioerr.test 2a24bd6ed5a8b062e64bfe1f6cf94fb25e92210d
F test/ioerr2.test 9d71166f8466eda510f1af6137bdabaa82b5408d
F test/ioerr3.test d3cec5e1a11ad6d27527d0d38573fbff14c71bdd
F test/ioerr4.test f130fe9e71008577b342b8874d52984bd04ede2c
F test/lock2.test 5242d8ac4e2d59c403aebff606af449b455aceff
F test/lock3.test f271375930711ae044080f4fe6d6eda930870d00
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/lock7.test 49f1eaff1cdc491cc5dee3669f3c671d9f172431
F test/lock_common.tcl 0c270b121d40959fa2f3add382200c27045b3d95
+F test/lock_proxy.test 95be9c32d79be25cf643b4e41a0aa0e53aa21621
F test/lookaside.test 93f07bac140c5bb1d49f3892d2684decafdc7af2
-F test/main.test 39c4bb8a157f57298ed1659d6df89d9f35aaf2c8
+F test/main.test 3991157c720c2b2b9ec27254d940f06ab81aab84
F test/make-where7.tcl 05c16b5d4f5d6512881dfec560cb793915932ef9
- F test/malloc.test bc745155ff4252d4f35ec8316625b0dfe2abc659
- F test/malloc3.test de8eca0c3e748878845fdca3663ec4b642073caf
+ F test/malloc.test fd368e31fe98d4779ed80442f311ed9f03bcd1f7
+ F test/malloc3.test e3b32c724b5a124b57cb0ed177f675249ad0c66a
F test/malloc4.test 957337613002b7058a85116493a262f679f3a261
- F test/malloc5.test a577cbbcc1594c7763b9b3515b3633555751c7f0
+ F test/malloc5.test fafce0aa9157060445cd1a56ad50fc79d82f28c3
F test/malloc6.test 2f039d9821927eacae43e1831f815e157659a151
F test/malloc7.test 7c68a32942858bc715284856c5507446bba88c3a
F test/malloc8.test 9b7a3f8cb9cf0b12fff566e80a980b1767bd961d
F test/mallocI.test a88c2b9627c8506bf4703d8397420043a786cdb6
F test/mallocJ.test b5d1839da331d96223e5f458856f8ffe1366f62e
F test/mallocK.test d79968641d1b70d88f6c01bdb9a7eb4a55582cc9
- F test/malloc_common.tcl 11838863dc689f2d2b10896c8f4276771a60b42f
-F test/malloc_common.tcl 58e54229c4132ef882a11fab6419ec4cd3073589
-F test/manydb.test 28385ae2087967aa05c38624cec7d96ec74feb3e
++F test/malloc_common.tcl e0fbe63a9a0bb8c42fe8d3ebf502141f485acbc2
+F test/manydb.test 3cd8e52ab3112cb8365afeedd6e8231977920577
F test/mem5.test c6460fba403c5703141348cd90de1c294188c68f
- F test/memdb.test 499d199e612bc229f52d1c46c6038deeef93d1f2
-F test/memdb.test fcb5297b321b562084fc79d64d5a12a1cd2b639b
++F test/memdb.test da09b7f354f3dc0b74d992f5451ae03ebfb36920
F test/memleak.test 10b9c6c57e19fc68c32941495e9ba1c50123f6e2
- F test/memsubsys1.test c5fcd4bfda423c7cca6edbba96491af631758939
-F test/memsubsys1.test f97cfd0b30e85c2f1ed16d642e7ac58006be84b2
++F test/memsubsys1.test 04b6c76f91070bbb7cb8713cd51882d6e49f7530
F test/memsubsys2.test 3a1c1a9de48e5726faa85108b02459fae8cb9ee9
- F test/minmax.test 722d80816f7e096bf2c04f4111f1a6c1ba65453d
- F test/minmax2.test 33504c01a03bd99226144e4b03f7631a274d66e0
+ F test/minmax.test 42fbad0e81afaa6e0de41c960329f2b2c3526efd
+ F test/minmax2.test b44bae787fc7b227597b01b0ca5575c7cb54d3bc
F test/minmax3.test cc1e8b010136db0d01a6f2a29ba5a9f321034354
F test/minmax4.test 536a3360470633a177e42fbc19660d146b51daef
- F test/misc1.test 889b40722442380a2f6575f30831b32b2372d70e
+ F test/misc1.test 441a0fafc7087f841db09fbfca54e7aea9f5a84c
F test/misc2.test 00d7de54eda90e237fc9a38b9e5ccc769ebf6d4d
- F test/misc3.test fe55130a43e444ee75e2156ff75dc96e964b5738
+ F test/misc3.test cf3dda47d5dda3e53fc5804a100d3c82be736c9d
F test/misc4.test 9c078510fbfff05a9869a0b6d8b86a623ad2c4f6
F test/misc5.test 528468b26d03303b1f047146e5eefc941b9069f5
F test/misc6.test 953cc693924d88e6117aeba16f46f0bf5abede91
- F test/misc7.test f00dad9a004da659330013e6f21819d018b683d3
- F test/misuse.test ba4fb5d1a6101d1c171ea38b3c613d0661c83054
+ F test/misc7.test edd0b63e2ee29a256900b0514f6fff27e19e9bb2
+ F test/misuse.test 3c34719944ba045cc6c188a4852ba04680728912
+ F test/mmap1.test 93d167b328255cbe6679fe1e1a23be1b1197d07b
+ F test/mmap2.test 9d6dd9ddb4ad2379f29cc78f38ce1e63ed418022
+ F test/mmap3.test c92273e16eb8d23c1d55c9815b446bb72ef0512e
+ F test/mmapfault.test d4c9eff9cd8c2dc14bc43e71e042f175b0a26fe3
-F test/multiplex.test e08cc7177bd6d85990ee1d71100bb6c684c02256
+F test/multiplex.test 85a4be2b23e7294d468b6e3a578ec00020723bee
F test/multiplex2.test 580ca5817c7edbe4cc68fa150609c9473393003a
F test/multiplex3.test d228f59eac91839a977eac19f21d053f03e4d101
F test/mutex1.test 78b2b9bb320e51d156c4efdb71b99b051e7a4b41
F test/mutex2.test bfeaeac2e73095b2ac32285d2756e3a65e681660
F test/nan.test e9648b9d007c7045242af35e11a984d4b169443a
+ F test/nolock.test 0540dd96f39b8876e3ffdd8814fad0ea425efeee
F test/notify1.test 669b2b743618efdc18ca4b02f45423d5d2304abf
- F test/notify2.test 9503e51b9a272a5405c205ad61b7623d5a9ca489
- F test/notify3.test a86259abbfb923aa27d30f0fc038c88e5251488a
- F test/notnull.test cc7c78340328e6112a13c3e311a9ab3127114347
+ F test/notify2.test ce23eb522c9e1fff6443f96376fe67872202061c
+ F test/notify3.test 10ff25cde502e72a92053a2f215d64bece4ef934
+ F test/notnull.test f8fcf58669ddba79274daa2770d61dfad8274f62
F test/null.test a8b09b8ed87852742343b33441a9240022108993
+ F test/numcast.test 5d126f7f581432e86a90d1e35cac625164aec4a1
F test/openv2.test 0d3040974bf402e19b7df4b783e447289d7ab394
- F test/orderby1.test 31c9865626046666e81cd22ecf8e1c24a4ea41b6
+ F test/orderby1.test 9b524aff9147288da43a6d7ddfdcff47fa2303c6
+ F test/orderby2.test bc11009f7cd99d96b1b11e57b199b00633eb5b04
+ F test/orderby3.test 8619d06a3debdcd80a27c0fdea5c40b468854b99
+ F test/orderby4.test 4d39bfbaaa3ae64d026ca2ff166353d2edca4ba4
+ F test/orderby5.test 8f08a54836d21fb7c70245360751aedd1c2286fb
+ F test/orderby6.test 8b38138ab0972588240b3fca0985d2e400432859
+ F test/orderby7.test 3d1383d52ade5b9eb3a173b3147fdd296f0202da
F test/oserror.test 50417780d0e0d7cd23cf12a8277bb44024765df3
- F test/pager1.test f1f261a4dc5a40b385dfcef946c2e772180d12a9
- F test/pager2.test 745b911dde3d1f24ae0870bd433dfa83d7c658c1
-F test/pager1.test 1acbdb14c5952a72dd43129cabdbf69aaa3ed1fa
++F test/pager1.test 1c39b52a036afd0813fdd47c9d2ebc83dec8fd90
+ F test/pager2.test 67b8f40ae98112bcdba1f2b2d03ea83266418c71
F test/pager3.test 3856d9c80839be0668efee1b74811b1b7f7fc95f
- F test/pagerfault.test a15ef77c8495882d7debb43794e87b6e46174c8a
- F test/pagerfault2.test 1f79ea40d1133b2683a2f811b00f2399f7ec2401
- F test/pagerfault3.test f16e2efcb5fc9996d1356f7cbc44c998318ae1d7
- F test/pageropt.test 9191867ed19a2b3db6c42d1b36b6fbc657cd1ab0
+ F test/pager4.test a122e9e6925d5b23b31e3dfef8c6a44bbf19590e
-F test/pagerfault.test ae9ee0db5a30aecda9db8290ce3dd12e5f7bbaa1
++F test/pagerfault.test 3ae5dafba16772a2349af57ebc5549fcf14646b0
+ F test/pagerfault2.test caf4c7facb914fd3b03a17b31ae2b180c8d6ca1f
+ F test/pagerfault3.test 1003fcda009bf48a8e22a516e193b6ef0dd1bbd8
+ F test/pageropt.test 6b8f6a123a5572c195ad4ae40f2987007923bbd6
F test/pagesize.test 1dd51367e752e742f58e861e65ed7390603827a0
- F test/pcache.test fa8a2b0677225765eced806d9d1676b78a9e2c40
-F test/pcache.test b09104b03160aca0d968d99e8cd2c5b1921a993d
++F test/pcache.test 488061b5dd685df2234d690370285c9b4813377b
F test/pcache2.test a83efe2dec0d392f814bfc998def1d1833942025
- F test/permutations.test 360b92859c0af814b3fe10b68746936389606501
- F test/pragma.test eaf172eb376b20b9d6c639e03903dd43e476f0b8
- F test/pragma2.test 3a55f82b954242c642f8342b17dffc8b47472947
+ F test/percentile.test b98fc868d71eb5619d42a1702e9ab91718cbed54
+ F test/permutations.test 40add071ba71aefe1c04f5845308cf46f7de8d04
-F test/pragma.test adb21a90875bc54a880fa939c4d7c46598905aa0
++F test/pragma.test 8ee8929dd652a5753d9cd72dbcbcb9b152bd6fd8
+ F test/pragma2.test aea7b3d82c76034a2df2b38a13745172ddc0bc13
F test/printf.test ec9870c4dce8686a37818e0bf1aba6e6a1863552
- F test/progress.test 5b075c3c790c7b2a61419bc199db87aaf48b8301
+ F test/printf2.test bed79b4c3e5da08ba88ad637c0bf62586843cfb1
+ F test/progress.test a282973d1d17f08071bc58a77d6b80f2a81c354d
F test/ptrchng.test ef1aa72d6cf35a2bbd0869a649b744e9d84977fc
+ F test/queryonly.test 5f653159e0f552f0552d43259890c1089391dcca
F test/quick.test 1681febc928d686362d50057c642f77a02c62e57
F test/quota-glob.test 32901e9eed6705d68ca3faee2a06b73b57cb3c26
- F test/quota.test b5b3eec55a059e0fe493c66c6e27bd2c07676cfd
- F test/quota2.test 6d2bd57e8a4da28817f46db9da18551211cd325f
+ F test/quota.test 2379902c25e291eac5c12b4cf96946a3447e3744
+ F test/quota2.test 7dc12e08b11cbc4c16c9ba2aa2e040ea8d8ab4b8
F test/quote.test 215897dbe8de1a6f701265836d6601cc6ed103e6
F test/randexpr1.tcl 40dec52119ed3a2b8b2a773bce24b63a3a746459
F test/randexpr1.test eda062a97e60f9c38ae8d806b03b0ddf23d796df
F test/schema2.test 906408621ea881fdb496d878b1822572a34e32c5
F test/schema3.test 1bc1008e1f8cb5654b248c55f27249366eb7ed38
F test/schema4.test e6a66e20cc69f0e306667c08be7fda3d11707dc5
- F test/schema5.test 0103e4c0313b3725b5ae5600bdca53006ab53db3
- F test/securedel.test 87a2561151af1f1e349071a89fdd77059f50113c
- F test/securedel2.test f13a916155f790a6b9de835049641b14ef312986
- F test/select1.test deba017eed9daa5af33de868676c997e7eebb931
+ F test/schema5.test 29699b4421f183c8f0e88bd28ce7d75d13ea653e
+ F test/securedel.test 21749c32ccc30f1ea9e4b9f33295a6521ec20fa0
+ F test/securedel2.test 2d54c28e46eb1fd6902089958b20b1b056c6f1c5
+ F test/select1.test fc2a61f226a649393664ad54bc5376631801517c
F test/select2.test 352480e0e9c66eda9c3044e412abdf5be0215b56
F test/select3.test 2ce595f8fb8e2ac10071d3b4e424cadd4634a054
- F test/select4.test 00179be44e531fe04c1c3f15df216439dff2519d
+ F test/select4.test 8c5a60d439e2df824aed56223566877a883c5c84
F test/select5.test e758b8ef94f69b111df4cb819008856655dcd535
F test/select6.test e76bd10a56988f15726c097a5d5a7966fe82d3b2
- F test/select7.test dad6f00f0d49728a879d6eb6451d4752db0b0abe
+ F test/select7.test 7fd2ef598cfabb6b9ff6ac13973b91d0527df49d
F test/select8.test 391de11bdd52339c30580dabbbbe97e3e9a3c79d
- F test/select9.test c0ca3cd87a8ebb04de2cb1402c77df55d911a0ea
- F test/selectA.test 06d1032fa9009314c95394f2ca2e60d9f7ae8532
+ F test/select9.test aebc2bb0c3bc44606125033cbcaac2c8d1f33a95
+ F test/selectA.test 64b88a80271c1710966e50e633380696b60a12a4
F test/selectB.test 954e4e49cf1f896d61794e440669e03a27ceea25
F test/selectC.test 871fb55d884d3de5943c4057ebd22c2459e71977
+ F test/selectD.test b0f02a04ef7737decb24e08be2c39b9664b43394
+ F test/selectE.test fc02a1eb04c8eb537091482644b7d778ae8759b7
+ F test/selectF.test 21c94e6438f76537b72532fa9fd4710cdd455fc3
F test/server1.test 46803bd3fe8b99b30dbc5ff38ffc756f5c13a118
-F test/shared.test 1da9dbad400cee0d93f252ccf76e1ae007a63746
+F test/shared.test 13376ba3be1c5685ab1ec184189adabd15fa70be
F test/shared2.test 03eb4a8d372e290107d34b6ce1809919a698e879
- F test/shared3.test ebf77f023f4bdaa8f74f65822b559e86ce5c6257
+ F test/shared3.test fcd65cb11d189eff5f5c85cc4fad246fb0933108
F test/shared4.test 72d90821e8d2fc918a08f16d32880868d8ee8e9d
F test/shared6.test 866bb4982c45ce216c61ded5e8fde4e7e2f3ffa9
- F test/shared7.test 960760bc8d03e1419e70dea69cf41db62853616e
- F test/shared8.test b27befbefbe7f4517f1d6b7ff8f64a41ec74165d
- F test/shared_err.test 91e26ec4f3fbe07951967955585137e2f18993de
- F test/sharedlock.test ffa0a3c4ac192145b310f1254f8afca4d553eabf
- F test/shell1.test 272384163432c0efd2c6817396beb0d119565d53
- F test/shell2.test 037d6ad16e873354195d30bb2dc4b5321788154a
- F test/shell3.test 9196c42772d575685e722c92b4b39053c6ebba59
+ F test/shared7.test a81e99f83e6c51b02ac99c96fb3a2a7b5978c956
+ F test/shared8.test 00a07bf5e1337ecf72e94542bdefdc330d7a2538
+ F test/shared9.test 5f2a8f79b4d6c7d107a01ffa1ed05ae7e6333e21
+ F test/sharedA.test 0cdf1a76dfa00e6beee66af5b534b1e8df2720f5
+ F test/shared_err.test 0079c05c97d88cfa03989b7c20a8b266983087aa
+ F test/sharedlock.test 5ede3c37439067c43b0198f580fd374ebf15d304
+ F test/shell1.test f2a1d471e5cd2b42f7a65b166dc1ace2b8d11583
+ F test/shell2.test c57da3a381c099b02c813ba156298d5c2f5c93a3
+ F test/shell3.test 5e8545ec72c4413a0e8d4c6be56496e3c257ca29
F test/shell4.test aa4eef8118b412d1a01477a53426ece169ea86a9
- F test/shell5.test fa2188bbb13fe2d183fd04a5f7b512650c35ef5d
+ F test/shell5.test bb755ea9144b8078a752fc56223582627070b5f1
F test/shortread1.test bb591ef20f0fd9ed26d0d12e80eee6d7ac8897a3
-F test/shrink.test 8c70f62b6e8eb4d54533de6d65bd06b1b9a17868
+ F test/show_speedtest1_rtree.tcl 32e6c5f073d7426148a6936a0408f4b5b169aba5
+F test/shrink.test 41ab166b276af4812bcaf6f1b99c53fab4e706d0
F test/sidedelete.test f0ad71abe6233e3b153100f3b8d679b19a488329
+ F test/skipscan1.test bed8cbe9d554c8c27afb6c88500f704c86a9196f
+ F test/skipscan2.test d77f79cdbba25f0f6f35298136cff21a7d7a553a
F test/soak.test 0b5b6375c9f4110c828070b826b3b4b0bb65cd5f
- F test/softheap1.test c16709a16ad79fa43b32929b2e623d1d117ccf53
+ F test/softheap1.test 40562fe6cac6d9827b7b42b86d45aedf12c15e24
F test/sort.test 0e4456e729e5a92a625907c63dcdedfbe72c5dc5
F test/speed1.test f2974a91d79f58507ada01864c0e323093065452
F test/speed1p.explain d841e650a04728b39e6740296b852dccdca9b2cb
F test/speed4.test abc0ad3399dcf9703abed2fff8705e4f8e416715
F test/speed4p.explain 6b5f104ebeb34a038b2f714150f51d01143e59aa
F test/speed4p.test 0e51908951677de5a969b723e03a27a1c45db38b
- F test/spellfix.test 2953e9da0e46dab5f83059ef6bfdebca66e13418
+ F test/speedtest1.c d29c8048beb7ea9254191f3fde9414709166a920
+ F test/spellfix.test 61309f5efbec53603b3f86457d34a504f80abafe
F test/sqllimits1.test b1aae27cc98eceb845e7f7adf918561256e31298
- F test/stat.test 6d55845481374066804847cafadb2285839556ff
-F test/stat.test 76fd746b85459e812a0193410fb599f0531f22de
-F test/stmt.test 25d64e3dbf9a3ce89558667d7f39d966fe2a71b9
++F test/stat.test 1e5faf39649a0bb368770f780f926847520ea3f4
+F test/stmt.test 78a6764439cfa5abdcbf98d4d084739e81eeec4f
- F test/subquery.test d4aea23ac267463d4aa604bf937c3992347b20f7
- F test/subquery2.test edcad5c118f0531c2e21bf16a09bbb105252d4cd
+ F test/subquery.test 666fdecceac258f5fd84bed09a64e49d9f37edd9
+ F test/subquery2.test 91e1e364072aeff431d1f9689b15147e421d88c7
F test/subselect.test d24fd8757daf97dafd2e889c73ea4c4272dcf4e4
F test/substr.test 18f57c4ca8a598805c4d64e304c418734d843c1a
-F test/superlock.test 1cde669f68d2dd37d6c9bd35eee1d95491ae3fc2
+F test/superlock.test 2b27b4ae7c6b9d534b0412e0d99f989aa1f3b9cf
F test/sync.test a34cd43e98b7fb84eabbf38f7ed8f7349b3f3d85
- F test/syscall.test bea9bf329bff733c791310244617c2a76974e64a
- F test/sysfault.test c79441d88d23696fbec7b147dba98d42a04f523f
- F test/table.test a59d985ca366e39b17b175f387f9d5db5a18d4e2
+ F test/syscall.test d2fdaad713f103ac611fe7ef9b724c7b69f8149c
+ F test/sysfault.test fa776e60bf46bdd3ae69f0b73e46ee3977a58ae6
+ F test/table.test 580d23530187026d4502fae74a490f0408cf2cc7
F test/tableapi.test 2674633fa95d80da917571ebdd759a14d9819126
- F test/tclsqlite.test a3d2df21ee98957f5de4f9dc1db0eab68047ab5d
+ F test/tableopts.test dba698ba97251017b7c80d738c198d39ab747930
+ F test/tclsqlite.test 37a61c2da7e3bfe3b8c1a2867199f6b860df5d43
-F test/tempdb.test 19d0f66e2e3eeffd68661a11c83ba5e6ace9128c
+F test/tempdb.test 3263e5c3f0604e54d307481e8587327c54544d18
- F test/temptable.test 51edd31c65ed1560dd600b1796e8325df96318e2
- F test/temptrigger.test 26670ed7a39cf2296a7f0a9e0a1d7bdb7abe936d
- F test/tester.tcl 5764d5fe85275f9e40272754d6d06f1a43c32a38
- F test/thread001.test 7cc2ce08f9cde95964736d11e91f9ab610f82f91
+ F test/temptable.test d2c9b87a54147161bcd1822e30c1d1cd891e5b30
+ F test/temptrigger.test 8ec228b0db5d7ebc4ee9b458fc28cb9e7873f5e1
-F test/tester.tcl f31bea1483ea1d39620f982130026e76f872d744
++F test/tester.tcl 8c152084186b281f2d16aa4ef7cac35e71027adf
+ F test/thread001.test 9f22fd3525a307ff42a326b6bc7b0465be1745a5
F test/thread002.test e630504f8a06c00bf8bbe68528774dd96aeb2e58
F test/thread003.test ee4c9efc3b86a6a2767516a37bd64251272560a7
F test/thread004.test f51dfc3936184aaf73ee85f315224baad272a87f
F test/threadtest3.c 0ed13e09690f6204d7455fac3b0e8ece490f6eef
F test/tkt-02a8e81d44.test 6c80d9c7514e2a42d4918bf87bf6bc54f379110c
F test/tkt-26ff0c2d1e.test 888324e751512972c6e0d1a09df740d8f5aaf660
- F test/tkt-2a5629202f.test 1ab32e084e9fc3d36be6dee2617530846a0eb0b6
- F test/tkt-2d1a5c67d.test 0e23cbbbecda6ce453ffb560fdac28489d491d36
+ F test/tkt-2a5629202f.test 0521bd25658428baa26665aa53ffed9367d33af2
-F test/tkt-2d1a5c67d.test d371279946622698ab393ff88cad9f5f6d82960b
++F test/tkt-2d1a5c67d.test 8f48335224537ac91aa16277a1d5a44c9fc1bb3d
F test/tkt-2ea2425d34.test 1cf13e6f75d149b3209a0cb32927a82d3d79fb28
- F test/tkt-31338dca7e.test 1f714c14b6682c5db715e0bda347926a3456f7a9
+ F test/tkt-31338dca7e.test 6fb8807851964da0d24e942f2e19c7c705b9fb58
-F test/tkt-313723c356.test c47f8a9330523e6f35698bf4489bcb29609b53ac
+F test/tkt-313723c356.test 54a1558d2719e171bd88967d66c73be4c617ec55
- F test/tkt-385a5b56b9.test 7782a382912a51f09f1d1a1442bca1e75f9c549b
+ F test/tkt-385a5b56b9.test c0a06ada41d7f06b1686da0e718553f853771d1e
F test/tkt-38cb5df375.test f3cc8671f1eb604d4ae9cf886ed4366bec656678
F test/tkt-3998683a16.test 6d1d04d551ed1704eb3396ca87bb9ccc8c5c1eb7
- F test/tkt-3a77c9714e.test 32bb28afa8c63fc76e972e996193139b63551ed9
- F test/tkt-3fe897352e.test 10de1a67bd5c66b238a4c96abe55531b37bb4f00
- F test/tkt-4a03edc4c8.test 2865e4edbc075b954daa82f8da7cc973033ec76e
+ F test/tkt-3a77c9714e.test b08bca26de1140bdf004a37716582a43d7bd8be8
+ F test/tkt-3fe897352e.test 27e26eb0f1811aeba4d65aba43a4c52e99da5e70
+ F test/tkt-4a03edc4c8.test 91c0e135888cdc3d4eea82406a44b05c8c1648d0
+ F test/tkt-4c86b126f2.test cbcc611becd0396890169ab23102dd70048bbc9a
+ F test/tkt-4dd95f6943.test 3d0ce415d2ee15d3d564121960016b9c7be79407
+ F test/tkt-4ef7e3cfca.test 3965ae11cc9cf6e334f9d7d3c1e20bf8d56254b1
F test/tkt-54844eea3f.test a12b851128f46a695e4e378cca67409b9b8f5894
F test/tkt-5d863f876e.test c9f36ca503fa154a3655f92a69d2c30da1747bfa
F test/tkt-5e10420e8d.test 904d1687b3c06d43e5b3555bbcf6802e7c0ffd84
F test/tkt3357.test 77c37c6482b526fe89941ce951c22d011f5922ed
F test/tkt3419.test 1bbf36d7ea03b638c15804251287c2391f5c1f6b
F test/tkt3424.test 61f831bd2b071bd128fa5d00fbda57e656ca5812
- F test/tkt3442.test 0adb70e9fe9cb750a702065a68ad647409dbc158
- F test/tkt3457.test 026dae357d34b416b07cf042794c0c83ea661d23
+ F test/tkt3442.test 53840ec5325bb94544792aad4c20476f81dc26b1
-F test/tkt3457.test 44e980fe5334753dcc27b94fa4deabc485a92f74
++F test/tkt3457.test 08d2d9b3fc37fcc7ad9f24e5d1e004571f2a79c8
F test/tkt3461.test 228ea328a5a21e8663f80ee3d212a6ad92549a19
F test/tkt3493.test 1686cbde85f8721fc1bdc0ee72f2ef2f63139218
F test/tkt3508.test d75704db9501625c7f7deec119fcaf1696aefb7d
F test/vtabF.test fd5ad376f5a34fe0891df1f3cddb4fe7c3eb077e
F test/vtab_alter.test 9e374885248f69e251bdaacf480b04a197f125e5
F test/vtab_err.test 0d4d8eb4def1d053ac7c5050df3024fd47a3fbd8
- F test/vtab_shared.test 82f463886e18d7f8395a4b6167c91815efe54839
- F test/wal.test 5759631b0e610d616c33cc21124b3395f39cd0c7
- F test/wal2.test b715008438d7332d8c3d9f8dbead2a455d847ba8
+ 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 8f888b50f66b78821e61ed0e233ded5de378224b
-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 187ae92cc9ba1ec6803681b9025cad89af1a8c69
- F test/wal6.test c561d1e44c89f9cb458a7b03003ed4baac08ba07
++F test/wal5.test da70332902b19fea23b74c657a941a180e1cb777
++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 6510e82303f6fffc2c55bb77a7774cd0eed21a6e
- F test/walcrash.test a8fa8d8a9a50a49b7abaf8a4a7e2c7ea352c49be
- F test/walcrash2.test c032d0040374ae28b41f99fc0cc290b4e2e34f17
- F test/walcrash3.test 97e775404f4c76e5c46f71fbd09691c7e9c25c68
- F test/walfault.test e5309befcaf4ab08151c35dba20cc5b8a5846748
++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 3ce5c1d16a3d8c6b2f7504d44d1ebf1098efaa64
++F test/walro.test 256ea9380825a34be43e8ff02bd1e240f1f62e8c
+F test/walshared.test 04590b10c677f75318701818c50bc0dda5da64ab
+F test/walslow.test 658066419a92d3bd85be71a11ce477af4ffe9153
+F test/walthread.test c13f5a12fbd9d81e58f49875dc9dd8a52a84cf03
- F test/where.test a6bfb5a29286811d798d326a8f1153a58c0fb2bd
- F test/where2.test 43d4becaf5a5df854e6c21d624a1cb84c6904554
- F test/where3.test 667e75642102c97a00bf9b23d3cb267db321d006
- F test/where4.test e9b9e2f2f98f00379e6031db6a6fca29bae782a2
+ F test/where.test 28b64e93428961b07b0d486778d63fd672948f6b
+ F test/where2.test 455a2eb2666e66c1e84e2cb5815173a85e6237db
+ F test/where3.test 1ad55ba900bd7747f98b6082e65bd3e442c5004e
+ F test/where4.test d8420ceeb8323a41ceff1f1841fc528e824e1ecf
F test/where5.test fdf66f96d29a064b63eb543e28da4dfdccd81ad2
F test/where6.test 5da5a98cec820d488e82708301b96cb8c18a258b
- F test/where7.test 5c566388f0cc318b0032ce860f4ac5548e3c265a
- F test/where8.test a6c740fd286d7883e274e17b6230a9d672a7ab1f
+ F test/where7.test 5a4b0abc207d71da4deecd734ad8579e8dd40aa8
+ F test/where8.test 806f1dcec4088be2b826b33f757fe6e17c3236a1
F test/where8m.test da346596e19d54f0aba35ebade032a7c47d79739
- F test/where9.test bcab47eff78f1412a6aec1d6b8a3939d4a9db098
- F test/whereA.test 24c234263c8fe358f079d5e57d884fb569d2da0a
+ F test/where9.test 4f3eab951353a3ae164befc521c777dfa903e46c
+ F test/whereA.test 4d253178d135ec46d1671e440cd8f2b916aa6e6b
F test/whereB.test 0def95db3bdec220a731c7e4bec5930327c1d8c5
- F test/whereC.test 13ff5ec0dba407c0e0c075980c75b3275a6774e5
- F test/whereD.test 304ccbe3c77e0d0764f37c91d43b8c4792a5e02f
+ F test/whereC.test d6f4ecd4fa2d9429681a5b22a25d2bda8e86ab8a
+ F test/whereD.test fd9120e262f9da3c45940f52aefeef4d15b904e5
+ F test/whereE.test b3a055eef928c992b0a33198a7b8dc10eea5ad2f
+ F test/whereF.test 5b2ba0dbe8074aa13e416b37c753991f0a2492d7
+ F test/whereG.test 0ac23e5e8311b69d87245f4a85112de321031658
+ F test/whereH.test e4b07f7a3c2f5d31195cd33710054c78667573b2
F test/wherelimit.test 5e9fd41e79bb2b2d588ed999d641d9c965619b31
- F test/win32lock.test b2a539e85ae6b2d78475e016a9636b4451dc7fb9
+ F test/wild001.test bca33f499866f04c24510d74baf1e578d4e44b1c
+ F test/win32heap.test ea19770974795cff26e11575e12d422dbd16893c
+ F test/win32lock.test 7a6bd73a5dcdee39b5bb93e92395e1773a194361
+ F test/win32longpath.test 169c75a3b2e43481f4a62122510210c67b08f26d
+ F test/with1.test 268081a6b14817a262ced4d0ee34d4d2a1dd2068
+ F test/with2.test ee227a663586aa09771cafd4fa269c5217eaf775
+ F test/withM.test e97f2a8c506ab3ea9eab94e6f6072f6cc924c991
+ F test/without_rowid1.test e00a0a9dc9f0be651f011d61e8a32b7add5afb30
+ F test/without_rowid2.test af260339f79d13cb220288b67cd287fbcf81ad99
+ F test/without_rowid3.test eac3d5c8a1924725b58503a368f2cbd24fd6c8a0
+ F test/without_rowid4.test 4e08bcbaee0399f35d58b5581881e7a6243d458a
+ F test/without_rowid5.test b4a639a367f04d382d20e8f44fc1be4f2d57d107
+ F test/wordcount.c 9915e06cb33d8ca8109b8700791afe80d305afda
F test/zeroblob.test caaecfb4f908f7bc086ed238668049f96774d688
- F test/zerodamage.test e7f77fded01dfcdf92ac2c5400f1e35d7a21463c
- F tool/build-all-msvc.bat 1a18aa39983ae7354d834bc55a850a54fc007576 x
- F tool/build-shell.sh b64a481901fc9ffe5ca8812a2a9255b6cfb77381
+ F test/zerodamage.test cf6748bad89553cc1632be51a6f54e487e4039ac
+ F tool/build-all-msvc.bat a0534c971b86fe95f1983f445db5b896d3394818 x
+ F tool/build-shell.sh 950f47c6174f1eea171319438b93ba67ff5bf367
F tool/checkSpacing.c 810e51703529a204fc4e1eb060e9ab663e3c06d2
F tool/diffdb.c 7524b1b5df217c20cd0431f6789851a4e0cb191b
F tool/extract.c 054069d81b095fbdc189a6f5d4466e40380505e2
F tool/genfkey.README cf68fddd4643bbe3ff8e31b8b6d8b0a1b85e20f4
F tool/genfkey.test 4196a8928b78f51d54ef58e99e99401ab2f0a7e5
F tool/getlock.c f4c39b651370156cae979501a7b156bdba50e7ce
- F tool/lemon.c 680980c7935bfa1edec20c804c9e5ba4b1dd96f5
+ F tool/lemon.c 07aba6270d5a5016ba8107b09e431eea4ecdc123
F tool/lempar.c 01ca97f87610d1dac6d8cd96ab109ab1130e76dc
- F tool/mkkeywordhash.c bb52064aa614e1426445e4b2b9b00eeecd23cc79
+ F tool/logest.c eef612f8adf4d0993dafed0416064cf50d5d33c6
+ F tool/mkautoconfamal.sh f8d8dbf7d62f409ebed5134998bf5b51d7266383
+ F tool/mkkeywordhash.c c9e05e4a7bcab8fab9f583d5b321fb72f565ad97
F tool/mkopts.tcl 66ac10d240cc6e86abd37dc908d50382f84ff46e
+ F tool/mkpragmatab.tcl 78a77b2c554d534c6f2dc903130186ed15715460
F tool/mkspeedsql.tcl a1a334d288f7adfe6e996f2e712becf076745c97
- F tool/mksqlite3c-noext.tcl 8bce31074e4cbe631bb7676526a048335f4c9f02
- F tool/mksqlite3c.tcl 4edfe153b7e9f7b5e3df5ef5dd2e28a4c7fd3aed
- F tool/mksqlite3h.tcl 78013ad79a5e492e5f764f3c7a8ef834255061f8
- F tool/mksqlite3internalh.tcl 3dca7bb5374cee003379b8cbac73714f610ef795
- F tool/mkvsix.tcl 19b2ab9ea16445953a76568a5bbe4cb864f92dfe
+ F tool/mksqlite3c-noext.tcl 1712d3d71256ca1f297046619c89e77a4d7c8f6d
-F tool/mksqlite3c.tcl ba274df71f5e6534b0a913c7c48eabfcbd0934b6
++F tool/mksqlite3c.tcl 071ff81a618ca48c89662c0c38284d96887d09c3
+ F tool/mksqlite3h.tcl ba24038056f51fde07c0079c41885ab85e2cff12
+ F tool/mksqlite3internalh.tcl b6514145a7d5321b47e64e19b8116cc44f973eb1
+ F tool/mkvsix.tcl 924dcdecda86969686833301c08f84cca2600d94
F tool/offsets.c fe4262fdfa378e8f5499a42136d17bf3b98f6091
- F tool/omittest.tcl 4665982e95a6e5c1bd806cf7bc3dea95be422d77
+ F tool/omittest.tcl 34d7ac01fe4fd18e3637f64abe12c40eca0f6b97
F tool/opcodeDoc.awk b3a2a3d5d3075b8bd90b7afe24283efdd586659c
+ F tool/pagesig.c ff0ca355fd3c2398e933da5e22439bbff89b803b
F tool/restore_jrnl.tcl 6957a34f8f1f0f8285e07536225ec3b292a9024a
F tool/rollback-test.c 9fc98427d1e23e84429d7e6d07d9094fbdec65a5
- F tool/showdb.c 2e28d8e499b016485672e9a7ac65dacc0d28ff69
+ F tool/showdb.c 1f3fe634d6f690b8d39ab1b9fd34583d468921e1
F tool/showjournal.c b62cecaab86a4053d944c276bb5232e4d17ece02
- F tool/showwal.c f09e5a80a293919290ec85a6a37c85a5ddcf37d9
+ F tool/showwal.c 3f7f7da5ec0cba51b1449a75f700493377da57b5
F tool/soak1.tcl 8d407956e1a45b485a8e072470a3e629a27037fe
F tool/space_used.tcl f714c41a59e326b8b9042f415b628b561bafa06b
- F tool/spaceanal.tcl e42273000686a4afbf6a5e5d7fb12be65e92afb1
+ F tool/spaceanal.tcl 8e50b217c56a6a086a1b47eac9d09c5cd65b996f
F tool/speedtest.tcl 06c76698485ccf597b9e7dbb1ac70706eb873355
F tool/speedtest16.c c8a9c793df96db7e4933f0852abb7a03d48f2e81
F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff
F tool/symbols-mingw.sh 4dbcea7e74768305384c9fd2ed2b41bbf9f0414d
F tool/symbols.sh fec58532668296d7c7dc48be9c87f75ccdb5814f
F tool/tostr.awk e75472c2f98dd76e06b8c9c1367f4ab07e122d06
- F tool/vdbe-compress.tcl f12c884766bd14277f4fcedcae07078011717381
+ F tool/vdbe-compress.tcl 0cf56e9263a152b84da86e75a5c0cdcdb7a47891
+ F tool/vdbe_profile.tcl 67746953071a9f8f2f668b73fe899074e2c6d8c1
F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
- F tool/warnings.sh fbc018d67fd7395f440c28f33ef0f94420226381
- F tool/win/sqlite.vsix 67d8a99aceb56384a81b3f30d6c71743146d2cc9
- P bc9b9cd0589c4a51ece2e4657d622a04fc203315 1e874629d7cf568368b912b295bd3001147d0b52
- R 729e26131787df9859d2cc515ea0c277
+ F tool/warnings.sh d1a6de74685f360ab718efda6265994b99bbea01
+ F tool/win/sqlite.vsix a94fb9b1b1ef06efc2898975cdfcfa9643731f5e
-P 68766f837491cb89c2103f2627eb9e23ab326a68
-R 1b75d6e5e9a19ccc14f8e59e21c749f6
++P 6a5c59dd7e0de9b5a2136f1c333afe522f724a71 116bed5af664899a73b46dca528ac0c021fc50c3
++R 06b2bd1e0552b0311ec4ae7a91709791
U drh
- Z 2ac0e014d1bc5c5d9d375cc66ce59204
-Z 3528e73d8f87faaf66e6658213b6d573
++Z 342cd5aa6e06528e5576874b8f28089b
const char *zPath; /* Name of the file */
unixShm *pShm; /* Shared memory segment information */
int szChunk; /* Configured by FCNTL_CHUNK_SIZE */
-#if SQLITE_ENABLE_LOCKING_STYLE
+ #if SQLITE_MAX_MMAP_SIZE>0
+ int nFetchOut; /* Number of outstanding xFetch refs */
+ sqlite3_int64 mmapSize; /* Usable size of mapping at pMapRegion */
+ sqlite3_int64 mmapSizeActual; /* Actual size of mapping at pMapRegion */
+ sqlite3_int64 mmapSizeMax; /* Configured FCNTL_MMAP_SIZE value */
+ void *pMapRegion; /* Memory mapped region */
+ #endif
+ #ifdef __QNXNTO__
+ int sectorSize; /* Device sector size */
+ int deviceCharacteristics; /* Precomputed device characteristics */
+ #endif
+#if SQLITE_ENABLE_LOCKING_STYLE || defined(__APPLE__)
int openFlags; /* The flags specified at open() */
#endif
+#if SQLITE_ENABLE_DATA_PROTECTION
+ int protFlags; /* Data protection flags from unixOpen */
+#endif
#if SQLITE_ENABLE_LOCKING_STYLE || defined(__APPLE__)
unsigned fsFlags; /* cached details from statfs() */
#endif
#define threadid 0
#endif
+#ifdef __APPLE__
+#define SQLITE_ENABLE_SUPERLOCK 1
+#endif
+
+#if SQLITE_ENABLE_SUPERLOCK
+#include "sqlite3.h"
+#include <string.h>
+#include <assert.h>
+
+/*
+** A structure to collect a busy-handler callback and argument and a count
+** of the number of times it has been invoked.
+*/
+struct SuperlockBusy {
+ int (*xBusy)(void*,int); /* Pointer to busy-handler function */
+ void *pBusyArg; /* First arg to pass to xBusy */
+ int nBusy; /* Number of times xBusy has been invoked */
+};
+typedef struct SuperlockBusy SuperlockBusy;
+
+/*
+** An instance of the following structure is allocated for each active
+** superlock. The opaque handle returned by sqlite3demo_superlock() is
+** actually a pointer to an instance of this structure.
+*/
+struct Superlock {
+ sqlite3 *db; /* Database handle used to lock db */
+ int bWal; /* True if db is a WAL database */
+};
+typedef struct Superlock Superlock;
+
+/*
+** The pCtx pointer passed to this function is actually a pointer to a
+** SuperlockBusy structure. Invoke the busy-handler function encapsulated
+** by the structure and return the result.
+*/
+static int superlockBusyHandler(void *pCtx, int UNUSED){
+ SuperlockBusy *pBusy = (SuperlockBusy *)pCtx;
+ if( pBusy->xBusy==0 ) return 0;
+ return pBusy->xBusy(pBusy->pBusyArg, pBusy->nBusy++);
+}
+
+/*
+** This function is used to determine if the main database file for
+** connection db is open in WAL mode or not. If no error occurs and the
+** database file is in WAL mode, set *pbWal to true and return SQLITE_OK.
+** If it is not in WAL mode, set *pbWal to false.
+**
+** If an error occurs, return an SQLite error code. The value of *pbWal
+** is undefined in this case.
+*/
+static int superlockIsWal(Superlock *pLock){
+ int rc; /* Return Code */
+ sqlite3_stmt *pStmt; /* Compiled PRAGMA journal_mode statement */
+
+ rc = sqlite3_prepare(pLock->db, "PRAGMA main.journal_mode", -1, &pStmt, 0);
+ if( rc!=SQLITE_OK ) return rc;
+
+ pLock->bWal = 0;
+ if( SQLITE_ROW==sqlite3_step(pStmt) ){
+ const char *zMode = (const char *)sqlite3_column_text(pStmt, 0);
+ if( zMode && strlen(zMode)==3 && sqlite3_strnicmp("wal", zMode, 3)==0 ){
+ pLock->bWal = 1;
+ }
+ }
+
+ return sqlite3_finalize(pStmt);
+}
+
+/*
+** Obtain an exclusive shm-lock on nByte bytes starting at offset idx
+** of the file fd. If the lock cannot be obtained immediately, invoke
+** the busy-handler until either it is obtained or the busy-handler
+** callback returns 0.
+*/
+static int superlockShmLock(
+ sqlite3_file *fd, /* Database file handle */
+ int idx, /* Offset of shm-lock to obtain */
+ int nByte, /* Number of consective bytes to lock */
+ SuperlockBusy *pBusy /* Busy-handler wrapper object */
+){
+ int rc;
+ int (*xShmLock)(sqlite3_file*, int, int, int) = fd->pMethods->xShmLock;
+ do {
+ rc = xShmLock(fd, idx, nByte, SQLITE_SHM_LOCK|SQLITE_SHM_EXCLUSIVE);
+ }while( rc==SQLITE_BUSY && superlockBusyHandler((void *)pBusy, 0) );
+ return rc;
+}
+
+/*
+** Obtain the extra locks on the database file required for WAL databases.
+** Invoke the supplied busy-handler as required.
+*/
+static int superlockWalLock(
+ sqlite3 *db, /* Database handle open on WAL database */
+ SuperlockBusy *pBusy /* Busy handler wrapper object */
+){
+ int rc; /* Return code */
+ sqlite3_file *fd = 0; /* Main database file handle */
+ void volatile *p = 0; /* Pointer to first page of shared memory */
+
+ /* Obtain a pointer to the sqlite3_file object open on the main db file. */
+ rc = sqlite3_file_control(db, "main", SQLITE_FCNTL_FILE_POINTER, (void *)&fd);
+ if( rc!=SQLITE_OK ) return rc;
+
+ /* Obtain the "recovery" lock. Normally, this lock is only obtained by
+ ** clients running database recovery.
+ */
+ rc = superlockShmLock(fd, 2, 1, pBusy);
+ if( rc!=SQLITE_OK ) return rc;
+
+ /* Zero the start of the first shared-memory page. This means that any
+ ** clients that open read or write transactions from this point on will
+ ** have to run recovery before proceeding. Since they need the "recovery"
+ ** lock that this process is holding to do that, no new read or write
+ ** transactions may now be opened. Nor can a checkpoint be run, for the
+ ** same reason.
+ */
+ rc = fd->pMethods->xShmMap(fd, 0, 32*1024, 1, &p);
+ if( rc!=SQLITE_OK ) return rc;
+ memset((void *)p, 0, 32);
+
+ /* Obtain exclusive locks on all the "read-lock" slots. Once these locks
+ ** are held, it is guaranteed that there are no active reader, writer or
+ ** checkpointer clients.
+ */
+ rc = superlockShmLock(fd, 3, SQLITE_SHM_NLOCK-3, pBusy);
+ return rc;
+}
+
+/*
+** Release a superlock held on a database file. The argument passed to
+** this function must have been obtained from a successful call to
+** sqlite3demo_superlock().
+*/
+static void sqlite3demo_superunlock(void *pLock){
+ Superlock *p = (Superlock *)pLock;
+ if( p->bWal ){
+ int rc; /* Return code */
+ int flags = SQLITE_SHM_UNLOCK | SQLITE_SHM_EXCLUSIVE;
+ sqlite3_file *fd = 0;
+ rc = sqlite3_file_control(p->db, "main", SQLITE_FCNTL_FILE_POINTER,
+ (void *)&fd);
+ if( rc==SQLITE_OK ){
+ fd->pMethods->xShmLock(fd, 2, 1, flags);
+ fd->pMethods->xShmLock(fd, 3, SQLITE_SHM_NLOCK-3, flags);
+ }
+ }
+ sqlite3_close(p->db);
+ sqlite3_free(p);
+}
+
+/*
+** Obtain a superlock on the database file identified by zPath, using the
+** locking primitives provided by VFS zVfs. If successful, SQLITE_OK is
+** returned and output variable *ppLock is populated with an opaque handle
+** that may be used with sqlite3demo_superunlock() to release the lock.
+**
+** If an error occurs, *ppLock is set to 0 and an SQLite error code
+** (e.g. SQLITE_BUSY) is returned.
+**
+** If a required lock cannot be obtained immediately and the xBusy parameter
+** to this function is not NULL, then xBusy is invoked in the same way
+** as a busy-handler registered with SQLite (using sqlite3_busy_handler())
+** until either the lock can be obtained or the busy-handler function returns
+** 0 (indicating "give up").
+*/
+static int sqlite3demo_superlock(
+ const char *zPath, /* Path to database file to lock */
+ const char *zVfs, /* VFS to use to access database file */
+ int flags, /* Additional flags to pass to sqlite3_open_v2 */
+ int (*xBusy)(void*,int), /* Busy handler callback */
+ void *pBusyArg, /* Context arg for busy handler */
+ void **ppLock /* OUT: Context to pass to superunlock() */
+){
+ SuperlockBusy busy = {0, 0, 0}; /* Busy handler wrapper object */
+ int rc; /* Return code */
+ Superlock *pLock;
+
+ pLock = sqlite3_malloc(sizeof(Superlock));
+ if( !pLock ) return SQLITE_NOMEM;
+ memset(pLock, 0, sizeof(Superlock));
+
+ /* Open a database handle on the file to superlock. */
+ rc = sqlite3_open_v2(
+ zPath, &pLock->db, SQLITE_OPEN_READWRITE|SQLITE_OPEN_CREATE|flags, zVfs
+ );
+
+ /* Install a busy-handler and execute a BEGIN EXCLUSIVE. If this is not
+ ** a WAL database, this is all we need to do.
+ **
+ ** A wrapper function is used to invoke the busy-handler instead of
+ ** registering the busy-handler function supplied by the user directly
+ ** with SQLite. This is because the same busy-handler function may be
+ ** invoked directly later on when attempting to obtain the extra locks
+ ** required in WAL mode. By using the wrapper, we are able to guarantee
+ ** that the "nBusy" integer parameter passed to the users busy-handler
+ ** represents the total number of busy-handler invocations made within
+ ** this call to sqlite3demo_superlock(), including any made during the
+ ** "BEGIN EXCLUSIVE".
+ */
+ if( rc==SQLITE_OK ){
+ busy.xBusy = xBusy;
+ busy.pBusyArg = pBusyArg;
+ sqlite3_busy_handler(pLock->db, superlockBusyHandler, (void *)&busy);
+ rc = sqlite3_exec(pLock->db, "BEGIN EXCLUSIVE", 0, 0, 0);
+ }
+
+ /* If the BEGIN EXCLUSIVE was executed successfully and this is a WAL
+ ** database, call superlockWalLock() to obtain the extra locks required
+ ** to prevent readers, writers and/or checkpointers from accessing the
+ ** db while this process is holding the superlock.
+ **
+ ** Before attempting any WAL locks, commit the transaction started above
+ ** to drop the WAL read and write locks currently held. Otherwise, the
+ ** new WAL locks may conflict with the old.
+ */
+ if( rc==SQLITE_OK ){
+ if( SQLITE_OK==(rc = superlockIsWal(pLock)) && pLock->bWal ){
+ rc = sqlite3_exec(pLock->db, "COMMIT", 0, 0, 0);
+ if( rc==SQLITE_OK ){
+ rc = superlockWalLock(pLock->db, &busy);
+ }
+ }
+ }
+
+ if( rc!=SQLITE_OK ){
+ sqlite3demo_superunlock(pLock);
+ *ppLock = 0;
+ }else{
+ *ppLock = pLock;
+ }
+
+ return rc;
+}
+
+/* A corrupt DB won't work with the sql-based locking attempt, grab an
+** exclusive lock and return SQLITE_OK or SQLITE_BUSY if the lock fails
+** returns the current lock level held on sqlite3_file
+*/
+static int sqlite3demo_superlock_corrupt(
+ sqlite3_file *id,
+ int eTargetFileLock,
+ int *pFileLock
+){
+ unixFile *pFile = (unixFile*)id;
+ int eFileLock = pFile->eFileLock;
+ int rc = SQLITE_OK;
+
+ if( eFileLock<eTargetFileLock ){
+ rc = pFile->pMethod->xLock(id, SQLITE_LOCK_SHARED);
+ }
+ if( !rc && SQLITE_LOCK_SHARED<eTargetFileLock ){
+ rc = pFile->pMethod->xLock(id, SQLITE_LOCK_EXCLUSIVE);
+ }
+ if( rc ){
+ if( pFile->eFileLock > eFileLock ){
+ pFile->pMethod->xUnlock(id, eFileLock);
+ }
+ return rc;
+ }
+ if (pFileLock) {
+ *pFileLock = eFileLock;
+ }
+ return SQLITE_OK;
+}
+
+static int sqlite3demo_superunlock_corrupt(sqlite3_file *id, int eFileLock) {
+ unixFile *pFile = (unixFile*)id;
+ int rc = SQLITE_OK;
+
+ if( pFile->eFileLock > eFileLock ){
+ rc = pFile->pMethod->xUnlock(id, SQLITE_LOCK_SHARED);
+ }
+ if( pFile->eFileLock > eFileLock ){
+ int unlockRC = pFile->pMethod->xUnlock(id, SQLITE_LOCK_NONE);
+ if (!rc) rc = unlockRC;
+ }
+ return rc;
+}
+
+#endif /* SQLITE_ENABLE_SUPERLOCK */
+
+
+ /*
+ ** HAVE_MREMAP defaults to true on Linux and false everywhere else.
+ */
+ #if !defined(HAVE_MREMAP)
+ # if defined(__linux__) && defined(_GNU_SOURCE)
+ # define HAVE_MREMAP 1
+ # else
+ # define HAVE_MREMAP 0
+ # endif
+ #endif
+
/*
** Different Unix systems declare open() in different ways. Same use
** open(const char*,int,mode_t). Others use open(const char*,int,...).
}
}
}
-#endif
+
+ #if SQLITE_MAX_MMAP_SIZE>0
+ /* Deal with as much of this write request as possible by transfering
+ ** data from the memory mapping using memcpy(). */
+ if( offset<pFile->mmapSize ){
+ if( offset+amt <= pFile->mmapSize ){
+ memcpy(&((u8 *)(pFile->pMapRegion))[offset], pBuf, amt);
+ return SQLITE_OK;
+ }else{
+ int nCopy = pFile->mmapSize - offset;
+ memcpy(&((u8 *)(pFile->pMapRegion))[offset], pBuf, nCopy);
+ pBuf = &((u8 *)pBuf)[nCopy];
+ amt -= nCopy;
+ offset += nCopy;
+ }
+ }
#endif
while( amt>0 && (wrote = seekAndWrite(pFile, offset, pBuf, amt))>0 ){
# define unixShmUnmap 0
#endif /* #ifndef SQLITE_OMIT_WAL */
+#if (SQLITE_ENABLE_APPLE_SPI>0) && defined(__APPLE__)
+static const char *unixTempFileDir(void);
+
+static int unixInvalidateSupportFiles(unixFile *pFile, int skipWAL) {
+ char jPath[MAXPATHLEN+9];
+ int zLen = strlcpy(jPath, pFile->zPath, MAXPATHLEN+9);
+ if( zLen<MAXPATHLEN ){
+ size_t jLen;
+ const char extensions[3][9] = { "-wal", "-journal", "-shm" };
+ int j = (skipWAL ? 1 : 0);
+ for( ; j<3; j++ ){
+
+ /* Check to see if the shm file is already opened for this pFile */
+ if( j==2 ){
+ unixEnterMutex(); /* Because pFile->pInode is shared across threads */
+ unixShmNode *pShmNode = pFile->pInode->pShmNode;
+ if( pShmNode && !pShmNode->isReadonly ){
+ struct stat sStat;
+ sqlite3_mutex_enter(pShmNode->mutex);
+
+ if( pShmNode->h>=0 && !osFstat(pShmNode->h, &sStat) ){
+ unsigned long size = (sStat.st_size<4) ? sStat.st_size : 4;
+ if( size>0 ){
+ bzero(pShmNode->apRegion[0], size);
+ sqlite3_mutex_leave(pShmNode->mutex);
+ unixLeaveMutex();
+ continue;
+ }
+ }
+ sqlite3_mutex_leave(pShmNode->mutex);
+ }
+ unixLeaveMutex();
+ }
+ jLen = strlcpy(&jPath[zLen], extensions[j], 9);
+ if( jLen < 9 ){
+ int jflags = (j<2) ? O_TRUNC : O_RDWR;
+ int jfd = open(jPath, jflags);
+ if( jfd==(-1) ){
+ if( errno!=ENOENT ){
+ perror(jPath);
+ }
+ } else {
+ if( j==2 ){
+ struct stat sStat;
+ if( !osFstat(jfd, &sStat) ){
+ unsigned long size = (sStat.st_size<4) ? sStat.st_size : 4;
+ if( size>0 ){
+ uint32_t zero = 0;
+ pwrite(jfd, &zero, (size_t)size, 0);
+ }
+ }
+ }
+ fsync(jfd);
+ close(jfd);
+ }
+ }
+ }
+ }
+ return SQLITE_OK;
+}
+
+static int unixUnsafeTruncateDatabase(unixFile *pFile){
+ /* this is nasty & bad. destruction with prejudice. we'll lose all the
+ ** file locks in this process, however. sqlite3_file_control works properly.
+ ** But if it fails, this works approximately
+ */
+ char journalPath[MAXPATHLEN];
+ char walPath[MAXPATHLEN];
+ int rc = SQLITE_OK;
+
+#ifdef DEBUG
+ fprintf(stderr, "Force truncating database %s\n", pFile->zPath);
+#endif
+ strlcpy(journalPath, pFile->zPath, MAXPATHLEN);
+ strlcat(journalPath, "-journal", MAXPATHLEN);
+ strlcpy(walPath, pFile->zPath, MAXPATHLEN);
+ strlcat(walPath, "-wal", MAXPATHLEN);
+ int fd1 = pFile->h;
+ int result = 0;
+ result = ftruncate(fd1, 0ll);
+ if (result) {
+ result = errno;
+ }
+ if (result) {
+ rc = SQLITE_IOERR;
+ storeLastErrno(pFile, result);
+ }
+
+ int fd2 = open(journalPath, O_RDWR);
+ int result2 = 0;
+ if (fd2 < 0) {
+ if (errno != ENOENT) {
+ result2 = errno;
+ } else {
+ result2 = 0;
+ }
+ } else {
+ result2 = ftruncate(fd2, 0ll);
+ if (result2) {
+ result2 = errno;
+ }
+ }
+ if (result2 && !result) {
+ rc = SQLITE_IOERR;
+ storeLastErrno(pFile, result2);
+ }
+
+ int fd3 = open(walPath, O_RDWR);
+ int result3 = 0;
+ if (fd3 < 0) {
+ if (errno != ENOENT) {
+ result3 = errno;
+ } else {
+ result3 = 0;
+ }
+ } else {
+ result3 = ftruncate(fd3, 0ll);
+ if (result3) {
+ result3 = errno;
+ }
+ }
+ if (result3 && !(result || result2)) {
+ rc = SQLITE_IOERR;
+ storeLastErrno(pFile, result2);
+ }
+
+ if (fd3 >= 0) {
+ fsync(fd3);
+ close(fd3);
+ }
+ if (fd2 >= 0) {
+ fsync(fd2);
+ close(fd2);
+ }
+ fsync(fd1);
+
+ return rc;
+}
+
+static int unixTruncateDatabase(unixFile *pFile, int bFlags) {
+ sqlite3_file *id = (sqlite3_file *)pFile;
+ int rc = SQLITE_OK;
+ void *pLock = NULL;
+ int flags = 0;
+ int corruptFileLock = 0;
+ int isCorrupt = 0;
+ int force = (bFlags & SQLITE_TRUNCATE_FORCE);
+ int safeFailed = 0;
+
+#if SQLITE_ENABLE_DATA_PROTECTION
+ flags |= pFile->protFlags;
+#endif
+#if SQLITE_ENABLE_LOCKING_STYLE
+ if( isProxyLockingMode(pFile) ){
+ flags |= SQLITE_OPEN_AUTOPROXY;
+ }
+#endif
+
+ rc = sqlite3demo_superlock(pFile->zPath, 0, flags, 0, 0, &pLock);
+ if( rc ){
+ if( rc==SQLITE_CORRUPT || rc==SQLITE_NOTADB ){
+ isCorrupt = 1;
+ rc = sqlite3demo_superlock_corrupt(id, SQLITE_LOCK_EXCLUSIVE,
+ &corruptFileLock);
+ }
+ if( rc && !force ){
+ return rc;
+ }
+ rc = SQLITE_OK; /* Ignore the locking failure if force is true */
+ }
+ if( (bFlags&SQLITE_TRUNCATE_INITIALIZE_HEADER_MASK)!=0 ){
+ /* initialize a new database in TMPDIR and copy the contents over */
+ const char *tDir = unixTempFileDir();
+ int tDirLen = strlen(tDir);
+ int tLen = sizeof(char) * (tDirLen + 12);
+ char *tDbPath = (char *)malloc(tLen);
+ int tFd = -1;
+
+ strlcpy(tDbPath, tDir, tLen);
+ if( tDbPath[(tDirLen-1)] != '/' ){
+ strlcat(tDbPath, "/tmpdbXXXXX", tLen);
+ } else {
+ strlcat(tDbPath, "tmpdbXXXXX", tLen);
+ }
+ tFd = mkstemp(tDbPath);
+ if( tFd==-1 ){
+ storeLastErrno(pFile, errno);
+ rc = SQLITE_IOERR;
+ safeFailed = 1;
+ }else{
+ sqlite3 *tDb = NULL;
+ copyfile_state_t s;
+ int trc = sqlite3_open_v2(tDbPath, &tDb,
+ (SQLITE_OPEN_CREATE | SQLITE_OPEN_READWRITE
+ | SQLITE_OPEN_AUTOPROXY), NULL);
+ char *errmsg = NULL;
+ const char *sql = "";
+ if( !trc && (bFlags&SQLITE_TRUNCATE_PAGESIZE_MASK) ){
+ const char pagesize_sql[4][22] = {
+ "pragma page_size=1024",
+ "pragma page_size=2048",
+ "pragma page_size=4096",
+ "pragma page_size=8192"
+ };
+ int iPagesize = (((bFlags&SQLITE_TRUNCATE_PAGESIZE_MASK) >> 4) - 1);
+ assert( iPagesize>=0 && iPagesize<=4 );
+ sql = pagesize_sql[iPagesize];
+ trc = sqlite3_exec(tDb, sql, 0, 0, &errmsg);
+ }
+ if( !trc ){
+ const char autovacuum_sql[3][21] = {
+ "pragma auto_vacuum=0",
+ "pragma auto_vacuum=1",
+ "pragma auto_vacuum=2"
+ };
+ int iAutovacuum = 2; /* default to incremental */
+ if( (bFlags&SQLITE_TRUNCATE_AUTOVACUUM_MASK) ){
+ iAutovacuum = (((bFlags&SQLITE_TRUNCATE_AUTOVACUUM_MASK) >> 2) - 1);
+ }
+ assert( iAutovacuum>=0 && iAutovacuum<=2 );
+ sql = autovacuum_sql[iAutovacuum];
+ trc = sqlite3_exec(tDb, sql, 0, 0, &errmsg);
+ }
+ if( !trc && (bFlags&SQLITE_TRUNCATE_JOURNALMODE_WAL) ){
+ sql = "pragma journal_mode=wal";
+ trc = sqlite3_exec(tDb, sql, 0, 0, &errmsg);
+ }
+ if( trc ){
+ if( !tDb ){
+ fprintf(stderr, "failed to open temp database '%s' to reset "
+ "truncated database %s with flags %x: %d\n",
+ tDbPath, pFile->zPath, bFlags, trc);
+ }else{
+ fprintf(stderr, "failed to set '%s' on truncated database %s, %d: "
+ "%s\n", sql, pFile->zPath, trc, errmsg);
+ }
+ }
+ if( tDb ){
+ int off = 0;
+ /* merge the wal into the db */
+ sqlite3_file_control(tDb, NULL, SQLITE_FCNTL_PERSIST_WAL, &off);
+ sqlite3_close(tDb);
+ }
+ s = copyfile_state_alloc();
+ lseek(tFd, 0, SEEK_SET);
+ lseek(pFile->h, 0, SEEK_SET);
+ if( fcopyfile(tFd, pFile->h, s, COPYFILE_DATA) ){
+ int err=errno;
+ switch(err) {
+ case ENOMEM:
+ trc = SQLITE_NOMEM;
+ break;
+ default:
+ storeLastErrno(pFile, err);
+ trc = SQLITE_IOERR;
+ }
+ }
+ copyfile_state_free(s);
+ fsync(pFile->h);
+ close(tFd);
+ unlink(tDbPath);
+ if( trc!=SQLITE_OK ){
+ safeFailed = 1;
+ rc = trc;
+ }
+ }
+ free(tDbPath);
+ } else {
+ rc = pFile->pMethod->xTruncate(id,
+ ((pFile->fsFlags & SQLITE_FSFLAGS_IS_MSDOS) != 0) ? 1L : 0L);
+ if( rc ){
+ safeFailed = 1;
+ }
+ }
+ if( rc==SQLITE_OK || force ){
+ rc = unixInvalidateSupportFiles(pFile, 0);
+ if( rc ){
+ safeFailed = 1;
+ }
+ }
+ pFile->pMethod->xSync(id, SQLITE_SYNC_FULL);
+
+
+ if( isCorrupt ){
+ sqlite3demo_superunlock_corrupt(id, corruptFileLock);
+ }else if( pLock ){
+ sqlite3demo_superunlock(pLock);
+ }else{
+ assert(force);
+ }
+
+ if( force && safeFailed){
+ rc = unixUnsafeTruncateDatabase(pFile);
+ }
+
+ return rc;
+}
+
+/*
+ ** Lock locations for shared-memory locks used by WAL mode.
+ */
+#ifndef SHM_BASE
+# define SHM_BASE 120
+# define SHM_WRITE SHM_BASE
+# define SHM_CHECKPOINT (SHM_BASE+1)
+# define SHM_RECOVER (SHM_BASE+2)
+# define SHM_READ_FIRST (SHM_BASE+3)
+# define SHM_READ_SIZE 5
+#endif /* SHM_BASE */
+
+/*
+** This test only works for lock testing on unix/posix VFS.
+** Adapted from tool/getlock.c f4c39b651370156cae979501a7b156bdba50e7ce
+*/
+static int unixLockstatePid(unixFile *pFile, pid_t pid, int *pLockstate){
+ int hDb; /* File descriptor for the open database file */
+ int hShm = -1; /* File descriptor for WAL shared-memory file */
+ ssize_t got; /* Bytes read from header */
+ int isWal = 0; /* True if in WAL mode */
+ int nLock = 0; /* Number of locks held */
+ int noHdr = 0; /* Zero byte DB has no header */
+ unsigned char aHdr[100]; /* Database header */
+
+ assert(pLockstate);
+
+ /* make sure we are dealing with a database file */
+ hDb = pFile->h;
+ if( hDb<0 ){
+ *pLockstate = SQLITE_LOCKSTATE_ERROR;
+ return SQLITE_ERROR;
+ }
+ assert( (strlen(SQLITE_FILE_HEADER)+1)==SQLITE_FILE_HEADER_LEN );
+ got = pread(hDb, aHdr, 100, 0);
+ if( got<0 ){
+ *pLockstate = SQLITE_LOCKSTATE_ERROR;
+ return SQLITE_ERROR;
+ }
+ if( got==0 ){
+ noHdr = 1;
+ }else if( got!=100
+ || memcmp(aHdr, SQLITE_FILE_HEADER, SQLITE_FILE_HEADER_LEN)!=0
+ ){
+ *pLockstate = SQLITE_LOCKSTATE_NOTADB;
+ return SQLITE_NOTADB;
+ }
+
+ /* First check for an exclusive lock */
+ nLock += unixIsLocked(pid, hDb, F_RDLCK, SHARED_FIRST, SHARED_SIZE,
+ "EXCLUSIVE");
+ if (!noHdr) {
+ isWal = aHdr[18]==2;
+ }
+ if( nLock==0 && isWal==0 ){
+ /* Rollback mode */
+ nLock += unixIsLocked(pid, hDb, F_WRLCK, PENDING_BYTE, SHARED_SIZE+2,
+ "PENDING|RESERVED|SHARED");
+ }
+ if( nLock==0 && isWal!=0 ){
+ /* lookup the file descriptor for the shared memory file if we have it open
+ ** in this process */
+ unixEnterMutex(); /* Because pFile->pInode is shared across threads */
+ unixShmNode *pShmNode = pFile->pInode->pShmNode;
+ if( pShmNode ){
+ sqlite3_mutex_enter(pShmNode->mutex);
+
+ hShm = pShmNode->h;
+ if( hShm >= 0){
+ if( unixIsLocked(pid, hShm, F_RDLCK, SHM_RECOVER, 1, "WAL-RECOVERY") ||
+ unixIsLocked(pid, hShm, F_RDLCK, SHM_WRITE, 1, "WAL-WRITE") ){
+ nLock = 1;
+ }
+ }
+
+ sqlite3_mutex_leave(pShmNode->mutex);
+ }
+
+ if( hShm<0 ){
+ /* the shared memory file isn't open in this process space, open our
+ ** own FD */
+ char zShm[MAXPATHLEN];
+
+ /* WAL mode */
+ strlcpy(zShm, pFile->zPath, MAXPATHLEN);
+ strlcat(zShm, "-shm", MAXPATHLEN);
+ hShm = open(zShm, O_RDONLY, 0);
+ if( hShm<0 ){
+ *pLockstate = SQLITE_LOCKSTATE_OFF;
+ unixLeaveMutex();
+ return SQLITE_OK;
+ }
+ if( unixIsLocked(pid, hShm, F_RDLCK, SHM_RECOVER, 1, "WAL-RECOVERY") ||
+ unixIsLocked(pid, hShm, F_RDLCK, SHM_WRITE, 1, "WAL-WRITE") ){
+ nLock = 1;
+ }
+ close(hShm);
+ }
+ unixLeaveMutex();
+ }
+ if( nLock>0 ){
+ *pLockstate = SQLITE_LOCKSTATE_ON;
+ } else {
+ *pLockstate = SQLITE_LOCKSTATE_OFF;
+ }
+ return SQLITE_OK;
+}
+
+#endif /* (SQLITE_ENABLE_APPLE_SPI>0) && defined(__APPLE__) */
+
+ #if SQLITE_MAX_MMAP_SIZE>0
+ /*
+ ** If it is currently memory mapped, unmap file pFd.
+ */
+ static void unixUnmapfile(unixFile *pFd){
+ assert( pFd->nFetchOut==0 );
+ if( pFd->pMapRegion ){
+ osMunmap(pFd->pMapRegion, pFd->mmapSizeActual);
+ pFd->pMapRegion = 0;
+ pFd->mmapSize = 0;
+ pFd->mmapSizeActual = 0;
+ }
+ }
+
+ /*
+ ** Attempt to set the size of the memory mapping maintained by file
+ ** descriptor pFd to nNew bytes. Any existing mapping is discarded.
+ **
+ ** If successful, this function sets the following variables:
+ **
+ ** unixFile.pMapRegion
+ ** unixFile.mmapSize
+ ** unixFile.mmapSizeActual
+ **
+ ** If unsuccessful, an error message is logged via sqlite3_log() and
+ ** the three variables above are zeroed. In this case SQLite should
+ ** continue accessing the database using the xRead() and xWrite()
+ ** methods.
+ */
+ static void unixRemapfile(
+ unixFile *pFd, /* File descriptor object */
+ i64 nNew /* Required mapping size */
+ ){
+ const char *zErr = "mmap";
+ int h = pFd->h; /* File descriptor open on db file */
+ u8 *pOrig = (u8 *)pFd->pMapRegion; /* Pointer to current file mapping */
+ i64 nOrig = pFd->mmapSizeActual; /* Size of pOrig region in bytes */
+ u8 *pNew = 0; /* Location of new mapping */
+ int flags = PROT_READ; /* Flags to pass to mmap() */
+
+ assert( pFd->nFetchOut==0 );
+ assert( nNew>pFd->mmapSize );
+ assert( nNew<=pFd->mmapSizeMax );
+ assert( nNew>0 );
+ assert( pFd->mmapSizeActual>=pFd->mmapSize );
+ assert( MAP_FAILED!=0 );
+
+ if( (pFd->ctrlFlags & UNIXFILE_RDONLY)==0 ) flags |= PROT_WRITE;
+
+ if( pOrig ){
+ #if HAVE_MREMAP
+ i64 nReuse = pFd->mmapSize;
+ #else
+ const int szSyspage = osGetpagesize();
+ i64 nReuse = (pFd->mmapSize & ~(szSyspage-1));
+ #endif
+ u8 *pReq = &pOrig[nReuse];
+ /* Unmap any pages of the existing mapping that cannot be reused. */
+ if( nReuse!=nOrig ){
+ osMunmap(pReq, nOrig-nReuse);
+ }
+
+ #if HAVE_MREMAP
+ pNew = osMremap(pOrig, nReuse, nNew, MREMAP_MAYMOVE);
+ zErr = "mremap";
+ #else
+ pNew = osMmap(pReq, nNew-nReuse, flags, MAP_SHARED, h, nReuse);
+ if( pNew!=MAP_FAILED ){
+ if( pNew!=pReq ){
+ osMunmap(pNew, nNew - nReuse);
+ pNew = 0;
+ }else{
+ pNew = pOrig;
+ }
+ }
+ #endif
+
+ /* The attempt to extend the existing mapping failed. Free it. */
+ if( pNew==MAP_FAILED || pNew==0 ){
+ osMunmap(pOrig, nReuse);
+ }
+ }
+
+ /* If pNew is still NULL, try to create an entirely new mapping. */
+ if( pNew==0 ){
+ pNew = osMmap(0, nNew, flags, MAP_SHARED, h, 0);
+ }
+
+ if( pNew==MAP_FAILED ){
+ pNew = 0;
+ nNew = 0;
+ unixLogError(SQLITE_OK, zErr, pFd->zPath);
+
+ /* If the mmap() above failed, assume that all subsequent mmap() calls
+ ** will probably fail too. Fall back to using xRead/xWrite exclusively
+ ** in this case. */
+ pFd->mmapSizeMax = 0;
+ }
+ pFd->pMapRegion = (void *)pNew;
+ pFd->mmapSize = pFd->mmapSizeActual = nNew;
+ }
+
+ /*
+ ** Memory map or remap the file opened by file-descriptor pFd (if the file
+ ** is already mapped, the existing mapping is replaced by the new). Or, if
+ ** there already exists a mapping for this file, and there are still
+ ** outstanding xFetch() references to it, this function is a no-op.
+ **
+ ** If parameter nByte is non-negative, then it is the requested size of
+ ** the mapping to create. Otherwise, if nByte is less than zero, then the
+ ** requested size is the size of the file on disk. The actual size of the
+ ** created mapping is either the requested size or the value configured
+ ** using SQLITE_FCNTL_MMAP_LIMIT, whichever is smaller.
+ **
+ ** SQLITE_OK is returned if no error occurs (even if the mapping is not
+ ** recreated as a result of outstanding references) or an SQLite error
+ ** code otherwise.
+ */
+ static int unixMapfile(unixFile *pFd, i64 nByte){
+ i64 nMap = nByte;
+ int rc;
+
+ assert( nMap>=0 || pFd->nFetchOut==0 );
+ if( pFd->nFetchOut>0 ) return SQLITE_OK;
+
+ if( nMap<0 ){
+ struct stat statbuf; /* Low-level file information */
+ rc = osFstat(pFd->h, &statbuf);
+ if( rc!=SQLITE_OK ){
+ return SQLITE_IOERR_FSTAT;
+ }
+ nMap = statbuf.st_size;
+ }
+ if( nMap>pFd->mmapSizeMax ){
+ nMap = pFd->mmapSizeMax;
+ }
+
+ if( nMap!=pFd->mmapSize ){
+ if( nMap>0 ){
+ unixRemapfile(pFd, nMap);
+ }else{
+ unixUnmapfile(pFd);
+ }
+ }
+
+ return SQLITE_OK;
+ }
+ #endif /* SQLITE_MAX_MMAP_SIZE>0 */
+
+ /*
+ ** If possible, return a pointer to a mapping of file fd starting at offset
+ ** iOff. The mapping must be valid for at least nAmt bytes.
+ **
+ ** If such a pointer can be obtained, store it in *pp and return SQLITE_OK.
+ ** Or, if one cannot but no error occurs, set *pp to 0 and return SQLITE_OK.
+ ** Finally, if an error does occur, return an SQLite error code. The final
+ ** value of *pp is undefined in this case.
+ **
+ ** If this function does return a pointer, the caller must eventually
+ ** release the reference by calling unixUnfetch().
+ */
+ static int unixFetch(sqlite3_file *fd, i64 iOff, int nAmt, void **pp){
+ #if SQLITE_MAX_MMAP_SIZE>0
+ unixFile *pFd = (unixFile *)fd; /* The underlying database file */
+ #endif
+ *pp = 0;
+
+ #if SQLITE_MAX_MMAP_SIZE>0
+ if( pFd->mmapSizeMax>0 ){
+ if( pFd->pMapRegion==0 ){
+ int rc = unixMapfile(pFd, -1);
+ if( rc!=SQLITE_OK ) return rc;
+ }
+ if( pFd->mmapSize >= iOff+nAmt ){
+ *pp = &((u8 *)pFd->pMapRegion)[iOff];
+ pFd->nFetchOut++;
+ }
+ }
+ #endif
+ return SQLITE_OK;
+ }
+
+ /*
+ ** If the third argument is non-NULL, then this function releases a
+ ** reference obtained by an earlier call to unixFetch(). The second
+ ** argument passed to this function must be the same as the corresponding
+ ** argument that was passed to the unixFetch() invocation.
+ **
+ ** Or, if the third argument is NULL, then this function is being called
+ ** to inform the VFS layer that, according to POSIX, any existing mapping
+ ** may now be invalid and should be unmapped.
+ */
+ static int unixUnfetch(sqlite3_file *fd, i64 iOff, void *p){
+ #if SQLITE_MAX_MMAP_SIZE>0
+ unixFile *pFd = (unixFile *)fd; /* The underlying database file */
+ UNUSED_PARAMETER(iOff);
+
+ /* If p==0 (unmap the entire file) then there must be no outstanding
+ ** xFetch references. Or, if p!=0 (meaning it is an xFetch reference),
+ ** then there must be at least one outstanding. */
+ assert( (p==0)==(pFd->nFetchOut==0) );
+
+ /* If p!=0, it must match the iOff value. */
+ assert( p==0 || p==&((u8 *)pFd->pMapRegion)[iOff] );
+
+ if( p ){
+ pFd->nFetchOut--;
+ }else{
+ unixUnmapfile(pFd);
+ }
+
+ assert( pFd->nFetchOut>=0 );
+ #else
+ UNUSED_PARAMETER(fd);
+ UNUSED_PARAMETER(p);
+ UNUSED_PARAMETER(iOff);
+ #endif
+ return SQLITE_OK;
+ }
/*
** Here ends the implementation of all sqlite3_file methods.