- C Pull\sall\sthe\slatest\strunk\schanges\sover\sinto\sthe\sapple-osx\sbranch.
- D 2012-01-03T21:54:09.582
-C Make\ssure\sthe\sEXTERN\smacro\sis\sproperly\sdefined\swhen\sbuilding\stargets\sthat\srequire\sit\s(e.g.\son\sMinGW).
-D 2012-01-14T03:34:24.129
++C Merge\sthe\slatest\strunk\schanges\sinto\sthe\sapple-osx\sbranch.
++D 2012-01-14T14:13:31.641
F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
- F Makefile.in 44bbe5a7c5c58b28d5dc310cfedcf8f35b4b39e5
-F Makefile.in 3f79a373e57c3b92dabf76f40b065e719d31ac34
++F Makefile.in d4fe214d68e653b8dba91e81a5fa4eae86125471
F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
F Makefile.msc dcad80fa69f17d46fe6778ba873fc108ca16298d
F Makefile.vxworks 1deb39c8bb047296c30161ffa10c1b5423e632f9
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 500e38ce0df2b5a13c21ccb9f224fc5b4b2c0791
-F main.mk ac48970ca7506c9034f5c7b2212111fbeb0a1aaa
++F main.mk 0fd1bb7dd9a961ce0d7250491b8a41c185b8fdcf
F mkdll.sh 7d09b23c05d56532e9d44a50868eb4b12ff4f74a
F mkextu.sh 416f9b7089d80e5590a29692c9d9280a10dbad9f
F mkextw.sh 4123480947681d9b434a5e7b1ee08135abe409ac
F src/analyze.c f32ff304da413851eefa562b04e61ff6cb88248b
F src/attach.c 12c6957996908edc31c96d7c68d4942c2474405f
F src/auth.c 523da7fb4979469955d822ff9298352d6b31de34
- F src/backup.c 80d713109d295cc3a674f55cfe6446afb9b024ad
+ F src/backup.c e9538bad2d4a4fcd4308f1aed7cb18a0fbc968f9
F src/bitvec.c af50f1c8c0ff54d6bdb7a80e2fceca5a93670bef
F src/btmutex.c 976f45a12e37293e32cae0281b15a21d48a8aaa7
- F src/btree.c 7cf38b094359e7ac7ec554a23f22d0afa3cbaceb
-F src/btree.c a65816cc000bdd421772986e64c88c9035331332
++F src/btree.c 572deff98fd1ef2c9e152c79bef0ee4d4c3fbde3
F src/btree.h f5d775cd6cfc7ac32a2535b70e8d2af48ef5f2ce
- F src/btreeInt.h 6e57bacaa4feb7dd56719678133e63a7c289c6e7
- F src/build.c 8915bb6d72ead998f94c2756ea8d143c77709b70
+ F src/btreeInt.h 6c9960645c431c9456ca56498f43a2b3bf1fa8c2
+ F src/build.c 8e2a4dedad860fed982270ef43968505f35ec57f
F src/callback.c 0425c6320730e6d3981acfb9202c1bed9016ad1a
F src/complete.c dc1d136c0feee03c2f7550bafc0d29075e36deac
F src/ctime.c a9c26822515f81ec21588cbb482ca6724be02e33
F src/hash.c 458488dcc159c301b8e7686280ab209f1fb915af
F src/hash.h 2894c932d84d9f892d4b4023a75e501f83050970
F src/hwtime.h d32741c8f4df852c7d959236615444e2b1063b08
- F src/insert.c ea820fe9af748075b3b6827fb6f23f25079bf1f7
+ F src/insert.c d7c69718acbb92e10e4b121da7bed13903342962
F src/journal.c 552839e54d1bf76fb8f7abe51868b66acacf6a0e
-F src/legacy.c a199d7683d60cef73089e892409113e69c23a99f
+F src/legacy.c 015826a958f690302d27e096a68d50b3657e4201
F src/lempar.c 0ee69fca0be54cd93939df98d2aca4ca46f44416
F src/loadext.c f20382fbaeec832438a1ba7797bee3d3c8a6d51d
-F src/main.c e60abee4a7ca3da31b67745ccf02b8d29f138614
+F src/main.c 69330c9f9e815bb0313ea0661aeedf3cbeda4651
F src/malloc.c 15afac5e59b6584efe072e9933aefb4230e74f97
F src/mem0.c 6a55ebe57c46ca1a7d98da93aaa07f99f1059645
-F src/mem1.c 7998e7003a3047e323c849a26dda004debc04d03
+F src/mem1.c ed2df8b1679cfcb60331fe5d76d609915cda6167
F src/mem2.c e307323e86b5da1853d7111b68fd6b84ad6f09cf
F src/mem3.c 61c9d47b792908c532ca3a62b999cf21795c6534
F src/mem5.c c2c63b7067570b00bf33d751c39af24182316f7f
F src/memjournal.c 0ebce851677a7ac035ba1512a7e65851b34530c6
- F src/mutex.c 6949180803ff05a7d0e2b9334a95b4fb5a00e23f
+ F src/mutex.c d3b66a569368015e0fcb1ac15f81c119f504d3bc
F src/mutex.h 2a79e0c10c26412546b501ee0f3d92b42decf63e
- F src/mutex_noop.c d5cfbca87168c661a0b118cd8e329a908e453151
+ F src/mutex_noop.c 7682796b7d8d39bf1c138248858efcd10c9e1553
F src/mutex_os2.c 882d735098c07c8c6a5472b8dd66e19675fe117f
- F src/mutex_unix.c b4f4e923bb8de93ec3f251fadb50855f23df9579
+ F src/mutex_unix.c c3a4e00f96ba068a8dbef34084465979aaf369cc
F src/mutex_w32.c 5e54f3ba275bcb5d00248b8c23107df2e2f73e33
F src/notify.c 976dd0f6171d4588e89e874fcc765e92914b6d30
- F src/os.c 74c5ae9955879b0f41b373a26b4f3740ddd767f3
- F src/os.h c7d888830f168a9b681b3aec30789f4ad2445c17
-F src/os.c e1acdc09ff3ac2412945cca9766e2dcf4675f31c
++F src/os.c 4c8c8d72a6c58ad2fde4865783e8ae26b494a85e
+ F src/os.h a2219c3b05ce31230bb000fdc4f1a542b33ee649
F src/os_common.h 92815ed65f805560b66166e3583470ff94478f04
F src/os_os2.c 4a75888ba3dfc820ad5e8177025972d74d7f2440
- F src/os_unix.c fc3159578369b57acbc838fd0e5948c044d02b89
- F src/os_win.c d4eb85610ea0fb02462f9054ba4636daedbbdbb4
- F src/pager.c f87fa939f8435341256bea1711fd9dc1b32daa0e
-F src/os_unix.c 657672fab2580a84116c140b36ee3d6b6fc75b4e
-F src/os_win.c 5ac061ae1326a71500cee578ed0fd9113b4f6a37
-F src/pager.c 4d58c983d9f4d34bc2d48e4280361ccaeecd03c5
++F src/os_unix.c 43d5790e037c7af7a8d95fc2334136990f556fd4
++F src/os_win.c 30dce5f00ca11ed0df4928ead901ea82f6c873c4
++F src/pager.c 0c6cebb314597cbd65c2a7dfdcd1d8fba97b1741
F src/pager.h 5cd760857707529b403837d813d86b68938d6183
F src/parse.y fabb2e7047417d840e6fdb3ef0988a86849a08ba
F src/pcache.c f8043b433a57aba85384a531e3937a804432a346
F src/pcache.h b1d8775a9bddf44e65edb0d20bfc57a4982f840f
- F src/pcache1.c e1aaa3bc9bbfd8b0bc391ca731f5f8185467375d
- F src/pragma.c dae8d30795e6c3d1a5597108ed1fa00275ce339a
+ F src/pcache1.c 281822d22265245b19f908cb3f5df725f7e11b06
-F src/pragma.c fb979b7b5103ad0db1b72bcf349c83f5dec62574
-F src/prepare.c ec4989f7f480544bdc4192fe663470d2a2d7d61e
++F src/pragma.c 5868838281dfe857ad9e3441da403afa19f3d103
+F src/prepare.c 4450a714a7ebb4b0ce4159087338e1159d083885
F src/printf.c 7ffb4ebb8b341f67e049695ba031da717b3d2699
F src/random.c cd4a67b3953b88019f8cd4ccd81394a8ddfaba50
F src/resolve.c 3d3e80a98f203ac6b9329e9621e29eda85ddfd40
F src/rowset.c 69afa95a97c524ba6faf3805e717b5b7ae85a697
-F src/select.c a1d075db66a0ea42807353501b62997969e5be79
+F src/select.c 3f4cdc3c4d21376ac23ae3195390cfe71a0cedcd
F src/shell.c aa4183d4a5243d8110b1d3d77faa4aea7e9c9c2d
- F src/sqlite.h.in 578de223daa37be1810079ec7ccdd103644f25e5
-F src/sqlite.h.in 53516617d2945a411d028674d7fa20dd394b9ec0
++F src/sqlite.h.in ebc70cc730a920f7cfa7f1f5e6c43faee5cedd48
+F src/sqlite3_private.h e3b586e0aa329075d99be7198df9bc80c5b19e2d
F src/sqlite3ext.h 6904f4aadf976f95241311fbffb00823075d9477
-F src/sqliteInt.h b8fdd9c39c8d7f5c794f4ea917293d9c75b9aff2
+F src/sqliteInt.h 738b994ee7401b1d1353d7de6a15f3dc50d79a09
F src/sqliteLimit.h 164b0e6749d31e0daa1a4589a169d31c0dec7b3d
F src/status.c 4568e72dfd36b6a5911f93457364deb072e0b03a
F src/table.c 2cd62736f845d82200acfa1287e33feb3c15d62e
- F src/tclsqlite.c bd86070f52ae3f77a2e6b3b065ff03adb9140bfa
+ F src/tclsqlite.c 2aeb69958965dad0842d5ea1456f1a958ef296e6
-F src/test1.c 1b1e514e85ffe7152b02cba38bd0a1ce8cd56113
+F src/test1.c c159dbfa54d31ae591f12183dcbbd2e0ccffb705
- F src/test2.c 80d323d11e909cf0eb1b6fbb4ac22276483bcf31
- F src/test3.c 124ff9735fb6bb7d41de180d6bac90e7b1509432
+ F src/test2.c 711555927f1f7e8db9aab86b512bc6934a774abe
+ F src/test3.c 91d3f1a09cfae3533ef17d8b484a160f3d1f1a21
F src/test4.c d1e5a5e904d4b444cf572391fdcb017638e36ff7
F src/test5.c e1a19845625144caf038031234a12185e40d315c
F src/test6.c cf6ab27a59e1ab64b011bb251ba600131e803e59
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 a036a69b550ebc477ab9ca2b37269201f888436e
+F src/test_config.c 7f1aa0d93f76c2657bfa00a54e5837ab9af1a912
F src/test_demovfs.c 20a4975127993f4959890016ae9ce5535a880094
F src/test_devsym.c e7498904e72ba7491d142d5c83b476c4e76993bc
- F src/test_func.c cbdec5cededa0761daedde5baf06004a9bf416b5
+ F src/test_func.c 6232d722a4ddb193035aa13a03796bf57d6c12fd
F src/test_fuzzer.c f884f6f32e8513d34248d6e1ac8a32047fead254
F src/test_hexio.c c4773049603151704a6ab25ac5e936b5109caf5a
F src/test_init.c 3cbad7ce525aec925f8fda2192d576d47f0d478a
F src/test_onefile.c 40cf9e212a377a6511469384a64b01e6e34b2eec
F src/test_osinst.c 6abf0a37ce831120c4ef1b913afdd813e7ac1a73
F src/test_pcache.c a5cd24730cb43c5b18629043314548c9169abb00
- F src/test_quota.c 1a5874e3ee9074426f43b37e8d7404948065b585
+ F src/test_quota.c b4a6519417d87870e7ef5838dbf3cae164dcc28d
F src/test_quota.h 9ffa1d3ad6d0a6a24e8670ea64b909c717ec3358
-F src/test_rtree.c 6d06306e29946dc36f528a3a2cdc3add794656f1
+F src/test_rtree.c a2eebb68c0f1463918cdfbe603cb2e869c551038
F src/test_schema.c 8c06ef9ddb240c7a0fcd31bc221a6a2aade58bf0
F src/test_server.c 2f99eb2837dfa06a4aacf24af24c6affdf66a84f
F src/test_stat.c 80271ad7d776a79babe0e025bb3a1bfcd3a3cfb1
F src/trigger.c ee7e178fb9188f44b532cebd449a7c1df90fb684
F src/update.c d3076782c887c10e882996550345da9c4c9f9dea
F src/utf.c 890c67dcfcc7a74623c95baac7535aadfe265e84
- F src/util.c ad06374bc92b98071f221f00d553daea514f2b60
+ F src/util.c 9e07bd67dfafe9c75b1da78c87ba030cebbb5388
F src/vacuum.c 0c0ba2242355c6048d65e2b333abe0f7c06348fa
- F src/vdbe.c 9a5ea29c68fdc4da6a83bb4d64be982840d884be
-F src/vdbe.c 64e3fc0bb56c54ceac3cc1d1e65257bfda21550e
++F src/vdbe.c 7d3e9dda676b79a246954a4297047033ba5ff1d2
F src/vdbe.h 18f581cac1f4339ec3299f3e0cc6e11aec654cdb
- F src/vdbeInt.h 48c158b2fceca9682d1577e61c62da3c58cf0748
+ F src/vdbeInt.h ef9b8584b23b033894a0804dc6b90196c6779fb9
-F src/vdbeapi.c 3662b6a468a2a4605a15dfab313baa6dff81ad91
-F src/vdbeaux.c eb13a6917ed7455b5b49236fe5cfb3d3c3e4c57b
+F src/vdbeapi.c bf1f632719ee596d43ccf6c2ed68ff8911f5b376
- F src/vdbeaux.c 9dd6bfd0ad931c4a9938aacf5db874bee21d9b1e
++F src/vdbeaux.c 819a6b2b0dff718231311ff3a7bac0addecdb6a1
F src/vdbeblob.c 32f2a4899d67f69634ea4dd93e3f651936d732cb
- F src/vdbemem.c 5e8c0831bd0a270ff81af385e891ff381dec900f
+ F src/vdbemem.c 4f7d25d5ea2e2040254095b8f6de07f8dbbadf80
F src/vdbesort.c 468d43c057063e54da4f1988b38b4f46d60e7790
-F src/vdbetrace.c d6e50e04e1ec498150e519058f617d91b8f5c843
+F src/vdbetrace.c 2405f68d14c49d2e0a798d71e35d62b8569bfb65
F src/vtab.c e9318d88feac85be8e27ee783ac8f5397933fc8a
- F src/wal.c 59d2f71c6ffaea3b9c5d739090c4b1213b2986f0
-F src/wal.c 5f7bcc0610af759953defd769eacebfd98a22bc8
-F src/wal.h eaa00b9a403ddda2b56d01b7afc19ef600f9363f
++F src/wal.c 24b994ef487ee554273beffe57239abd0f5f536c
+F src/wal.h 313ef1ffc435960563f655fec0d6e92f736946f5
F src/walker.c 3112bb3afe1d85dc52317cb1d752055e9a781f8f
F src/where.c af623942514571895818b9b7ae11db95ae3b3d88
F test/8_3_names.test 631ea964a3edb091cf73c3b540f6bcfdb36ce823
F test/misc6.test 953cc693924d88e6117aeba16f46f0bf5abede91
F test/misc7.test eafaa41b9133d7a2ded4641bbe5f340731d35a52
F test/misuse.test ba4fb5d1a6101d1c171ea38b3c613d0661c83054
- F test/multiplex.test 3df42f5e7d00caa32551b35f58a78d0645ea15fd
-F test/multiplex.test e08cc7177bd6d85990ee1d71100bb6c684c02256
++F test/multiplex.test 85a4be2b23e7294d468b6e3a578ec00020723bee
F test/multiplex2.test 580ca5817c7edbe4cc68fa150609c9473393003a
F test/multiplex3.test 15903c343f1eaa4b00998b7ceacfc4987e4ccfe9
F test/mutex1.test 78b2b9bb320e51d156c4efdb71b99b051e7a4b41
F test/pagesize.test 1dd51367e752e742f58e861e65ed7390603827a0
F test/pcache.test 065aa286e722ab24f2e51792c1f093bf60656b16
F test/pcache2.test a83efe2dec0d392f814bfc998def1d1833942025
- F test/permutations.test 8db6d3b72e6ce423cfb94d87926e5edcb4b0078f
+ F test/permutations.test fa6f0e5f13fe0b1d3f7a7613179b7f7b20028184
-F test/pragma.test 7fa35e53085812dac94c2bfcbb02c2a4ad35df5e
+F test/pragma.test 76d644288007c7eb74650ab6e261e6f78e48cb0f
F test/pragma2.test 3a55f82b954242c642f8342b17dffc8b47472947
F test/printf.test ec9870c4dce8686a37818e0bf1aba6e6a1863552
F test/progress.test 5b075c3c790c7b2a61419bc199db87aaf48b8301
F test/sysfault.test c79441d88d23696fbec7b147dba98d42a04f523f
F test/table.test a59d985ca366e39b17b175f387f9d5db5a18d4e2
F test/tableapi.test 2674633fa95d80da917571ebdd759a14d9819126
- F test/tclsqlite.test 5ebcbb0dccc3fbc1edc3bba84c38e2c2d574c5aa
+ F test/tclsqlite.test 1597d353308531527583481d14d9da52ea8ed0af
-F test/tempdb.test 19d0f66e2e3eeffd68661a11c83ba5e6ace9128c
+F test/tempdb.test 3263e5c3f0604e54d307481e8587327c54544d18
F test/temptable.test 51edd31c65ed1560dd600b1796e8325df96318e2
F test/temptrigger.test 26670ed7a39cf2296a7f0a9e0a1d7bdb7abe936d
-F test/tester.tcl 001051eaf28c1040800f588a64c63e0bd0e1f36b
+F test/tester.tcl a2c3874cb3768d4369940e7235871f8a85a75580
F test/thread001.test 7cc2ce08f9cde95964736d11e91f9ab610f82f91
F test/thread002.test e630504f8a06c00bf8bbe68528774dd96aeb2e58
F test/thread003.test ee4c9efc3b86a6a2767516a37bd64251272560a7
F test/vtab_alter.test 9e374885248f69e251bdaacf480b04a197f125e5
F test/vtab_err.test 0d4d8eb4def1d053ac7c5050df3024fd47a3fbd8
F test/vtab_shared.test 0eff9ce4f19facbe0a3e693f6c14b80711a4222d
-F test/wal.test edefe316b4125d7f68004ea53c5e73c398d436cc
+F test/wal.test ed0d04a508e4e4899c688c56028f453c75f2166d
F test/wal2.test f11883dd3cb7f647c5d2acfd7b5c6d4ba5770cc9
F test/wal3.test 6504bbf348b2d6dfade64a064f1050fd617e8706
-F test/wal4.test 4744e155cd6299c6bd99d3eab1c82f77db9cdb3c
+F test/wal4.test 5755887f321baa4c55de0b91066fa7d0cafcac9d
F test/wal5.test f58ed4b8b542f71c7441da12fbd769d99b362437
-F test/wal6.test 2e3bc767d9c2ce35c47106148d43fcbd072a93b3
+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 0ab8a430ef420a3114f7092e0f30fc9585ffa155
-F test/walcksum.test f5447800a157c9e2234fbb8e80243f0813941bde
-F test/walcrash.test 4457436593be8c136f9148487c7dccd5e9013af2
-F test/walcrash2.test 019d60b89d96c1937adb2b30b850ac7e86e5a142
+F test/wal_common.tcl 15f152fd55703975878741beca6cfa4209d5b3b3
+F test/walbak.test b30cbbb2996947c96a2e562020dff61013a17a96
+F test/walbig.test 44141082891fb91bcfa793fb6411605ac42830eb
+F test/walcksum.test 3dff8817d31a4207d1ad31e7da06073a34e7fe1c
- F test/walcrash.test e2e8de53cadda0e1c5ceb86ff762b85aed2771cc
++F test/walcrash.test 5f749f38e4a5ee1f862c88a73286b35cf05031a0
+F test/walcrash2.test c032d0040374ae28b41f99fc0cc290b4e2e34f17
F test/walcrash3.test 595e44c6197f0d0aa509fc135be2fd0209d11a2c
- F test/walfault.test c54e6a304d631565a12998fd1d4665ded7a18ee2
-F test/walfault.test 97394d8de82a99f7abf1c12ed229640607fd0ad2
-F test/walhook.test ed00a40ba7255da22d6b66433ab61fab16a63483
-F test/walmode.test 4022fe03ae6e830583672caa101f046438a0473c
++F test/walfault.test a16ad4987e6ff433e9dc760fec91f95c174c8e51
+F test/walhook.test c934ac5219fee2b4e7653d291db9107b8dc73bba
+F test/walmode.test 9308ffc25555a1c4eaa44a863792240406637496
F test/walnoshm.test 84ca10c544632a756467336b7c3b864d493ee496
F test/walpersist.test 8c6b7e3ec1ba91b5e4dc4e0921d6d3f87cd356a6
F test/walro.test e6bb27762c9f22601cbb8bff6e0acfd124e74b63
F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f
F tool/warnings-clang.sh 9f406d66e750e8ac031c63a9ef3248aaa347ef2a
F tool/warnings.sh fbc018d67fd7395f440c28f33ef0f94420226381
- P 59e0d4f3d9af81d0c920812a6583228faa300cd6 d73e93cfdc9441ade77b796dcdcf6eeb753cb398
- R d791304ece26609bd6a5cb40baa3c9e2
-P 6da0821a4717253221b25fb22e05cd9c13492f3d
-R 60e95146390d8e5cafff65c7013a6898
-U mistachkin
-Z 628b160b9efffdc491244097b11ce639
++P 8a048423f0e409d2332558cb5148e5a1d251ae30 88ad2f23c5036cbb4a69b73ce5792bd5c33a9177
++R c5fa1df0d5251eb3736eab416068f4ee
+U drh
- Z 4de01c9ac1d1d7db944c5486add73dca
++Z 670fd9d15d75047f11581abda2d6978f
robust_close(pFile, pFile->h, __LINE__);
pFile->h = -1;
}
+#endif
#if OS_VXWORKS
if( pFile->pId ){
- if( pFile->isDelete ){
+ if( pFile->ctrlFlags & UNIXFILE_DELETE ){
osUnlink(pFile->pId->zCanonicalName);
}
vxworksReleaseFileId(pFile->pId);
return proxyFileControl(id,op,pArg);
}
#endif /* SQLITE_ENABLE_LOCKING_STYLE && defined(__APPLE__) */
- case SQLITE_FCNTL_SYNC_OMITTED: {
- return SQLITE_OK; /* A no-op */
- }
+#if (SQLITE_ENABLE_APPLE_SPI>0) && defined(__APPLE__)
+ case SQLITE_FCNTL_TRUNCATE_DATABASE: {
+ return unixTruncateDatabase(pFile, (pArg ? (*(int *)pArg) : 0));
+ }
+ case SQLITE_FCNTL_REPLACE_DATABASE: {
+ return unixReplaceDatabase(pFile, (sqlite3 *)pArg);
+ }
+ case SQLITE_FCNTL_LOCKSTATE_PID: {
+ LockstatePID *pLockstate;
+ int rc;
+
+ if( pArg==NULL ){
+ return SQLITE_MISUSE;
+ }
+ pLockstate = (LockstatePID *)pArg;
+ rc = unixLockstatePid(pFile, pLockstate->pid, &(pLockstate->state));
+ return rc;
+ }
+
+#endif /* (SQLITE_ENABLE_APPLE_SPI>0) && defined(__APPLE__) */
}
return SQLITE_NOTFOUND;
}
unixFile *p = (unixFile *)pFile;
int fd = -1; /* File descriptor returned by open() */
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 */
+ int ctrlFlags = 0; /* UNIXFILE_* flags */
int isExclusive = (flags & SQLITE_OPEN_EXCLUSIVE);
int isDelete = (flags & SQLITE_OPEN_DELETEONCLOSE);
if (0 == strncmp("msdos", fsInfo.f_fstypename, 5)) {
((unixFile*)pFile)->fsFlags |= SQLITE_FSFLAGS_IS_MSDOS;
}
+ if (0 == strncmp("exfat", fsInfo.f_fstypename, 5)) {
+ ((unixFile*)pFile)->fsFlags |= SQLITE_FSFLAGS_IS_MSDOS;
+ }
#endif
-
+
+ /* Set up appropriate ctrlFlags */
+ if( isDelete ) ctrlFlags |= UNIXFILE_DELETE;
+ if( isReadonly ) ctrlFlags |= UNIXFILE_RDONLY;
+ if( noLock ) ctrlFlags |= UNIXFILE_NOLOCK;
+ if( syncDir ) ctrlFlags |= UNIXFILE_DIRSYNC;
+ if( flags & SQLITE_OPEN_URI ) ctrlFlags |= UNIXFILE_URI;
+
#if SQLITE_ENABLE_LOCKING_STYLE
#if SQLITE_PREFER_PROXY_LOCKING
isAutoProxy = 1;
useProxy = !(fsInfo.f_flags&MNT_LOCAL);
}
if( useProxy ){
- rc = fillInUnixFile(pVfs, fd, syncDir, pFile, zPath, noLock,
- isDelete, isReadonly);
+ rc = fillInUnixFile(pVfs, fd, pFile, zPath, ctrlFlags);
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