From: drh Date: Mon, 26 May 2014 20:08:23 +0000 (+0000) Subject: Merge recent trunk changes into the apple-osx branch. X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ef39ae556cdea1d4e2beb568476077d1a4b36ee9;p=thirdparty%2Fsqlite.git Merge recent trunk changes into the apple-osx branch. FossilOrigin-Name: 54b5fa77e9b2ae447fd25cbdb9abfe37f2226504 --- ef39ae556cdea1d4e2beb568476077d1a4b36ee9 diff --cc manifest index 2b8ba2e3b7,f1b1389523..aa49a4d064 --- a/manifest +++ b/manifest @@@ -1,7 -1,7 +1,7 @@@ - C Merge\sall\srecent\strunk\schanges\sinto\sthe\sapple-osx\sbranch. - D 2014-05-20T00:27:19.719 -C Fix\sa\sproblem\sin\sthe\sshell\swhen\simporting\sCSV\sfiles.\sIf\sthe\sleftmost\sfield\sof\sthe\sfirst\srow\sin\sthe\sCSV\sfile\swas\sboth\szero\sbytes\sin\ssize\sand\sunquoted,\sno\sdata\swas\simported. -D 2014-05-26T18:27:12.472 ++C Merge\srecent\strunk\schanges\sinto\sthe\sapple-osx\sbranch. ++D 2014-05-26T20:08:23.818 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f -F Makefile.in dd2b1aba364ff9b05de41086f74407f285c57670 +F Makefile.in 444faa7b5c5b3189fa674ff42be94d87a37eba9d F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 F Makefile.msc 52911c6bfeaf9b40f47ef4615ab66d98ab0f2b3d F Makefile.vxworks 034289efa9d591b04b1a73598623119c306cbba0 @@@ -168,10 -165,10 +168,10 @@@ F src/auth.c 523da7fb4979469955d822ff92 F src/backup.c a729e63cf5cd1829507cb7b8e89f99b95141bb53 F src/bitvec.c 19a4ba637bd85f8f63fc8c9bae5ade9fb05ec1cb F src/btmutex.c 976f45a12e37293e32cae0281b15a21d48a8aaa7 - F src/btree.c 12c020dbba798e47fcc8a9955d7faef4792125cc - F src/btree.h d79306df4ed9181b48916737fe8871a4392c4594 -F src/btree.c e29fc07a968f8d1bbe38b5736d71db59959f545c ++F src/btree.c 9656f30cce57433bdc708d4ad91d81c64237d2c4 + F src/btree.h 4245a349bfe09611d7ff887dbc3a80cee8b7955a F src/btreeInt.h cf180d86b2e9e418f638d65baa425c4c69c0e0e3 - F src/build.c 02665ca158431a0926b10cbd7d8178a4c9fc4a22 + F src/build.c 92539f47043ac9c48921450a9b2162da672bda4a F src/callback.c 174e3c8656bc29f91d710ab61550d16eea34be98 F src/complete.c dc1d136c0feee03c2f7550bafc0d29075e36deac F src/ctime.c 0231df905e2c4abba4483ee18ffc05adc321df2a @@@ -185,12 -182,12 +185,12 @@@ F src/global.c 1e4bd956dc2f608f87d2a929 F src/hash.c d139319967164f139c8d1bb8a11b14db9c4ba3cd F src/hash.h 8890a25af81fb85a9ad7790d32eedab4b994da22 F src/hwtime.h d32741c8f4df852c7d959236615444e2b1063b08 - F src/insert.c ab34bea5af4fee9f956a0805a32463fb7f674d00 + F src/insert.c ac1a00ca5952555ad54911666762ee5d59cb63cd 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 b53f4492ca1940aaf5ca74fbdc93ce2fbdab058c -F src/main.c 40d0837e5d0597eadc47c3acc2fc95bdbd9250b8 ++F src/main.c a0c13683598252e3d5edda0459e972cd52616b0b F src/malloc.c 0203ebce9152c6a0e5de520140b8ba65187350be F src/mem0.c 6a55ebe57c46ca1a7d98da93aaa07f99f1059645 F src/mem1.c c0c990fcaddff810ea277b4fb5d9138603dd5d4b @@@ -223,13 -220,12 +223,13 @@@ F src/printf.c e5a0005f8b3de21f85da6a70 F src/random.c d10c1f85b6709ca97278428fd5db5bbb9c74eece F src/resolve.c 273d5f47c4e2c05b2d3d2bffeda939551ab59e66 F src/rowset.c a9c9aae3234b44a6d7c6f5a3cadf90dce1e627be - F src/select.c 2270f57439f69f4b2fd97452203b5da53a51d668 - F src/shell.c 2afe7a7154e97be0c74c5feacf09626bda8493be -F src/select.c a6e8fe35d2929911448fe29fc9194eec73c6c0a5 ++F src/select.c bd4020ec258f7dcf346da550dbd08481d7fb0877 + F src/shell.c bfac06fb15f3cd0d447e2e72ab3a283fac301813 -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 886f5a34de171002ad46fae8c36a7d8051c190fc -F src/sqliteInt.h 1977f44283be0d3b40da315fb4fd9e21c79fadcc +F src/sqliteInt.h 43694557feda63c43d3ca345386ce25f377a2c79 F src/sqliteLimit.h 164b0e6749d31e0daa1a4589a169d31c0dec7b3d F src/status.c 7ac05a5c7017d0b9f0b4bcd701228b784f987158 F src/table.c 2cd62736f845d82200acfa1287e33feb3c15d62e @@@ -285,22 -281,22 +285,22 @@@ F src/update.c 5b3e74a03b3811e586b4f2b4 F src/utf.c 6dc9ec9f1b3db43ae8ba0365377f11df1ee4c01c F src/util.c 049fe1d3c0e2209c1bee107aec2fcff6285f909f F src/vacuum.c 3728d74919d4fb1356f9e9a13e27773db60b7179 - F src/vdbe.c 0c64781331869342b7c1b2fd7140318da0d9a3a8 -F src/vdbe.c 3ebcbe6a83198045b0411956fc6005b9f4a6991c ++F src/vdbe.c 523587222aee9e0da91b5300143a1472e0650da2 F src/vdbe.h 394464909ed682334aa3d5831aae0c2fe2abef94 F src/vdbeInt.h e6d83e5bfd62fc6685ba1ed6153f7099f82de9f7 -F src/vdbeapi.c 0ed6053f947edd0b30f64ce5aeb811872a3450a4 -F src/vdbeaux.c e493f38758c4b8f4ca2007cf6a700bd405d192f3 +F src/vdbeapi.c 32a443608642a93b77ca4b13e42e2a4d7b0fc123 +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/where.c 9d351a5ecefdcc104d0bb7d9b5631dce4d60757c 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 45c0201e28045ad38a530b5a144b73cd4aa2cfd6 F test/alias.test 4529fbc152f190268a15f9384a5651bbbabc9d87 @@@ -460,10 -456,10 +460,10 @@@ F test/enc.test e54531cd6bf941ee6760be0 F test/enc2.test 83437a79ba1545a55fb549309175c683fb334473 F test/enc3.test 90683ad0e6ea587b9d5542ca93568af9a9858c40 F test/enc4.test c8f1ce3618508fd0909945beb8b8831feef2c020 - F test/eqp.test 90b56d03a93a2e7bb90f88be6083a8ea53f11a0e + F test/eqp.test 85873fa5816c48915c82c4e74cb5c35a5b48160f F test/errmsg.test f31592a594b44ee121371d25ddd5d63497bb3401 F test/eval.test bc269c365ba877554948441e91ad5373f9f91be3 -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 @@@ -822,13 -817,13 +822,13 @@@ F test/shell1.test f2a1d471e5cd2b42f7a6 F test/shell2.test c57da3a381c099b02c813ba156298d5c2f5c93a3 F test/shell3.test 5e8545ec72c4413a0e8d4c6be56496e3c257ca29 F test/shell4.test aa4eef8118b412d1a01477a53426ece169ea86a9 - F test/shell5.test bb755ea9144b8078a752fc56223582627070b5f1 + F test/shell5.test fa5583230c0aea5c9ff33f0ac1e26b1e3f03d153 F test/shortread1.test bb591ef20f0fd9ed26d0d12e80eee6d7ac8897a3 F test/show_speedtest1_rtree.tcl 32e6c5f073d7426148a6936a0408f4b5b169aba5 -F test/shrink.test 8c70f62b6e8eb4d54533de6d65bd06b1b9a17868 +F test/shrink.test 41ab166b276af4812bcaf6f1b99c53fab4e706d0 F test/sidedelete.test f0ad71abe6233e3b153100f3b8d679b19a488329 - F test/skipscan1.test bed8cbe9d554c8c27afb6c88500f704c86a9196f - F test/skipscan2.test d77f79cdbba25f0f6f35298136cff21a7d7a553a + F test/skipscan1.test 28c7faa41a0d7265040ecb0a0abd90c0904270b2 + F test/skipscan2.test d1d1450952b7275f0b0a3a981f0230532743951a F test/soak.test 0b5b6375c9f4110c828070b826b3b4b0bb65cd5f F test/softheap1.test 40562fe6cac6d9827b7b42b86d45aedf12c15e24 F test/sort.test 0e4456e729e5a92a625907c63dcdedfbe72c5dc5 @@@ -1177,7 -1172,7 +1177,7 @@@ F tool/vdbe_profile.tcl 67746953071a9f8 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4 F tool/warnings.sh d1a6de74685f360ab718efda6265994b99bbea01 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f - P c8d384d14650482ac7f311c49f8264a954b1d654 8180e320ee4090e41511836678e49a98c0b228e8 - R 73770ba5f5de8e70682d46d13606f662 -P d90c4964fcf46b0b043dbfd58267098582267001 -R 4f49cf43bba70559a864b8b79fde7303 -U dan -Z b7657af7a09e4e39091c8340eac623cc ++P 23722be49ad8ff21aed49a66174626798c428811 856d44a206d82e96265103556dedda39ca3602b1 ++R 9d6d9a29c0b3c4c142dbb445d5e2c64b +U drh - Z b8f9004830b8476a09b7de6c6dc2e22a ++Z 7b09d2434e64f941ce66ead79dfbcafc diff --cc manifest.uuid index bcd695a1df,daf356e5f4..1609107d34 --- a/manifest.uuid +++ b/manifest.uuid @@@ -1,1 -1,1 +1,1 @@@ - 23722be49ad8ff21aed49a66174626798c428811 -856d44a206d82e96265103556dedda39ca3602b1 ++54b5fa77e9b2ae447fd25cbdb9abfe37f2226504 diff --cc src/main.c index 996a53a903,6b54ca6da5..81fd11e610 --- a/src/main.c +++ b/src/main.c @@@ -3576,32 -3445,5 +3576,32 @@@ const char *sqlite3_db_filename(sqlite */ int sqlite3_db_readonly(sqlite3 *db, const char *zDbName){ Btree *pBt = sqlite3DbNameToBtree(db, zDbName); - return pBt ? sqlite3PagerIsreadonly(sqlite3BtreePager(pBt)) : -1; + return pBt ? sqlite3BtreeIsReadonly(pBt) : -1; } + +#if (SQLITE_ENABLE_APPLE_SPI>0) && defined(__APPLE__) + +#include "sqlite3_private.h" + +/* +** Testing a file path for sqlite locks held by a process ID. +** Returns SQLITE_LOCKSTATE_ON if locks are present on path +** that would prevent writing to the database. +*/ +int _sqlite3_lockstate(const char *path, pid_t pid){ + sqlite3 *db = NULL; + + if( sqlite3_open_v2(path, &db, SQLITE_OPEN_READONLY, NULL) == SQLITE_OK ){ + LockstatePID lockstate = {pid, -1}; + sqlite3_file_control(db, NULL, SQLITE_FCNTL_LOCKSTATE_PID, &lockstate); + sqlite3_close(db); + int state = lockstate.state; + return state; + } + if( NULL!=db ){ + sqlite3_close(db); /* need to close even if open returns an error */ + } + return SQLITE_LOCKSTATE_ERROR; +} + +#endif /* SQLITE_ENABLE_APPLE_SPI */