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