From: dan Date: Mon, 19 Mar 2012 16:21:28 +0000 (+0000) Subject: Merge latest trunk changes into apple-osx branch. X-Git-Tag: mountain-lion~4 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=296c8cad4d63c9578759eb1e374b36df722460a8;p=thirdparty%2Fsqlite.git Merge latest trunk changes into apple-osx branch. FossilOrigin-Name: f999197b75465a1f71ac1dab8f22ba2167fc0c67 --- 296c8cad4d63c9578759eb1e374b36df722460a8 diff --cc manifest index ae4279758d,02ccade03d..709656814f --- a/manifest +++ b/manifest @@@ -1,10 -1,10 +1,10 @@@ - C Pull\sin\sall\sthe\slatest\strunk\schanges. - D 2012-03-05T16:39:56.387 -C Fix\sone\smore\scompiler\swarning\smissed\sby\sthe\sprevious\scheck-in. -D 2012-03-19T14:57:49.232 ++C Merge\slatest\strunk\schanges\sinto\sapple-osx\sbranch. ++D 2012-03-19T16:21:28.474 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f - F Makefile.in d4fe214d68e653b8dba91e81a5fa4eae86125471 -F Makefile.in 2f37e468503dbe79d35c9f6dffcf3fae1ae9ec20 ++F Makefile.in 7bd2fa7753fc9de38994b8d4fa7f10deb19966a5 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 - F Makefile.msc 3a5582a858b8071af43cd459bd757f7d0748f66a - F Makefile.vxworks 1deb39c8bb047296c30161ffa10c1b5423e632f9 + F Makefile.msc 7849a871b6cdb20fd51baee6bbe5965a03326be4 + F Makefile.vxworks 3b7fe7a0571fdadc61363ebc1b23732d2d6363ca F README cd04a36fbc7ea56932a4052d7d0b7f09f27c33d6 F VERSION bb4c2a86abe53ea3c1d6ea515b69a426040e2414 F aclocal.m4 a5c22d164aff7ed549d53a90fa56d56955281f50 @@@ -85,7 -85,7 +85,7 @@@ F ext/icu/README.txt bf8461d8cdc6b8f514 F ext/icu/icu.c eb9ae1d79046bd7871aa97ee6da51eb770134b5a F ext/icu/sqliteicu.h 728867a802baa5a96de7495e9689a8e01715ef37 F ext/rtree/README 6315c0d73ebf0ec40dedb5aa0e942bc8b54e3761 - F ext/rtree/rtree.c 418543c384d477cb9b6aaa0d427deaf386c645b6 -F ext/rtree/rtree.c 4c1878818fc50efe5c2c7b8809d5cd0d88c7d396 ++F ext/rtree/rtree.c 4e69b25ba3ec9ce229dbbd388d5281e1486b3bef F ext/rtree/rtree.h 834dbcb82dc85b2481cde6a07cdadfddc99e9b9e F ext/rtree/rtree1.test 28e1b8da4da98093ce3210187434dd760a8d89d8 F ext/rtree/rtree2.test acbb3a4ce0f4fbc2c304d2b4b784cfa161856bba @@@ -103,12 -103,9 +103,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 0fd1bb7dd9a961ce0d7250491b8a41c185b8fdcf -F main.mk a80771d44176a0c744d9d4e048497e7ed0b4040d ++F main.mk 92babfc15d7838f01b4bf1cc14ea8d9c06772c2b F mkdll.sh 7d09b23c05d56532e9d44a50868eb4b12ff4f74a F mkextu.sh 416f9b7089d80e5590a29692c9d9280a10dbad9f F mkextw.sh 4123480947681d9b434a5e7b1ee08135abe409ac @@@ -147,10 -144,10 +147,10 @@@ F src/hash.h 2894c932d84d9f892d4b4023a7 F src/hwtime.h d32741c8f4df852c7d959236615444e2b1063b08 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 204833e0d384d22089ff48f74e39b60c29963b7d -F src/main.c 91458c713e9b7f8dbc98d79e78f1150f0ca9c2a1 ++F src/main.c d61d7eacf656b19b353e2cab34daf4eba4ba8c8f F src/malloc.c 15afac5e59b6584efe072e9933aefb4230e74f97 F src/mem0.c 6a55ebe57c46ca1a7d98da93aaa07f99f1059645 F src/mem1.c b3677415e69603d6a0e7c5410a1b3731d55beda1 @@@ -183,17 -180,16 +183,17 @@@ F src/printf.c 7ffb4ebb8b341f67e049695b F src/random.c cd4a67b3953b88019f8cd4ccd81394a8ddfaba50 F src/resolve.c 3d3e80a98f203ac6b9329e9621e29eda85ddfd40 F src/rowset.c 69afa95a97c524ba6faf3805e717b5b7ae85a697 -F src/select.c 44ccdcb5d2a1c48622c179b2d72167b716388581 +F src/select.c 2d18d2e19f95d59c1a44f04866094f565bbc3b7d F src/shell.c aa28f117033ba3e44b5eaaf2ad572222bcdfd66e - F src/sqlite.h.in b01dd10b2f9640f365835d615acc0fb91707c1e6 -F src/sqlite.h.in 6af2d92925bfed3dfd2c022fef48469762ccd435 ++F src/sqlite.h.in a8cf754ae35c2c8e7ec4fe2195ed4ea40dc716f8 +F src/sqlite3_private.h e3b586e0aa329075d99be7198df9bc80c5b19e2d F src/sqlite3ext.h 6904f4aadf976f95241311fbffb00823075d9477 - F src/sqliteInt.h e38af5c1f5fee5643942de7e41e501ea4cc5d3a5 -F src/sqliteInt.h e65429a6f19b41720561b9434b2192574a91cfa2 ++F src/sqliteInt.h e4a50c6ae8e2299191ee56739f5b8f0fafd9e653 F src/sqliteLimit.h 164b0e6749d31e0daa1a4589a169d31c0dec7b3d F src/status.c 4568e72dfd36b6a5911f93457364deb072e0b03a F src/table.c 2cd62736f845d82200acfa1287e33feb3c15d62e F src/tclsqlite.c 2aeb69958965dad0842d5ea1456f1a958ef296e6 - F src/test1.c 2f474e052c78377539c0782e7d94f1e42d314cf5 -F src/test1.c 07f30e8714bab94d8de8a88865d9c59bc512a1a8 ++F src/test1.c 0a90f9dbcfc884d8bf08c36776b8a2fe6d970ccd F src/test2.c 711555927f1f7e8db9aab86b512bc6934a774abe F src/test3.c 91d3f1a09cfae3533ef17d8b484a160f3d1f1a21 F src/test4.c d1e5a5e904d4b444cf572391fdcb017638e36ff7 @@@ -252,12 -248,12 +252,12 @@@ F src/vdbeaux.c dfaa1694e43aea6470a53e5 F src/vdbeblob.c 32f2a4899d67f69634ea4dd93e3f651936d732cb F src/vdbemem.c fb0ac964ccbcd94f595eb993c05bfd9c52468a4a F src/vdbesort.c b25814d385895544ebc8118245c8311ded7f81c9 -F src/vdbetrace.c d6e50e04e1ec498150e519058f617d91b8f5c843 +F src/vdbetrace.c 2405f68d14c49d2e0a798d71e35d62b8569bfb65 F src/vtab.c ab90fb600a3f5e4b7c48d22a4cdb2d6b23239847 -F src/wal.c 7bb3ad807afc7973406c805d5157ec7a2f65e146 -F src/wal.h 29c197540b19044e6cd73487017e5e47a1d3dac6 +F src/wal.c 8a89f4f60097c88e3b5c3baeb5f4942035411a29 +F src/wal.h a8ade3069ab75e3c79e9ca067a5ac7e1dbaf93a6 F src/walker.c 3112bb3afe1d85dc52317cb1d752055e9a781f8f - F src/where.c f2cf59751f7facb4c422adf83ddc989aa5772874 + F src/where.c 6baab5dfcf4472552c0346d04f6fd2f4f8539c78 F test/8_3_names.test 631ea964a3edb091cf73c3b540f6bcfdb36ce823 F test/aggerror.test a867e273ef9e3d7919f03ef4f0e8c0d2767944f2 F test/alias.test 4529fbc152f190268a15f9384a5651bbbabc9d87 @@@ -300,10 -296,10 +300,10 @@@ F test/backup_malloc.test 7162d604ec2b4 F test/badutf.test d5360fc31f643d37a973ab0d8b4fb85799c3169f F test/badutf2.test f5bc7f2d280670ecd79b9cf4f0f1760c607fe51f F test/between.test 16b1776c6323faadb097a52d673e8e3d8be7d070 - F test/bigfile.test a8ec8073a20207456dab01a29ad9cde42b0dd103 - F test/bigfile2.test f8e83eca9abef60692a34255a2ebcb96aff897fc + F test/bigfile.test 82dfe93ee7eb9e2e05641afa2b39ffd947a92ff1 + F test/bigfile2.test 852f948cb492aadab45b58f4d2f3b0832a115cb0 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 @@@ -407,8 -403,8 +407,8 @@@ F test/exclusive2.test 372be98f6de44dd7 F test/exec.test e949714dc127eaa5ecc7d723efec1ec27118fdd7 F test/exists.test 8f7b27b61c2fbe5822f0a1f899c715d14e416e30 F test/expr.test 67c9fd6f8f829e239dc8b0f4a08a73c08b09196d -F test/fallocate.test b5d34437bd7ab01d41b1464b8117aefd4d32160e +F test/fallocate.test 1abe364ff739f494523e88ba881c5eab72df9143 - F test/filectrl.test 4eb0178956ca25a756e6d79711a90fec7157b454 + F test/filectrl.test f0327bd804d9c7bd048fa7a151c5eab8e27df42b F test/filefmt.test ffa17b5aebc3eb4b1e3be1ccb5ee906ffbd97f6e F test/fkey1.test 01c7de578e11747e720c2d9aeef27f239853c4da F test/fkey2.test 080969fe219b3b082b0e097ac18c6af2e5b0631f @@@ -615,9 -610,9 +615,9 @@@ F test/misc3.test fe55130a43e444ee75e21 F test/misc4.test 9c078510fbfff05a9869a0b6d8b86a623ad2c4f6 F test/misc5.test 528468b26d03303b1f047146e5eefc941b9069f5 F test/misc6.test 953cc693924d88e6117aeba16f46f0bf5abede91 - F test/misc7.test 6743b810884ef64ae14c07ad1f9f858c40c06100 + F test/misc7.test 4337d84e441f36cee62656f9f7ba8bc22a7ca721 F test/misuse.test ba4fb5d1a6101d1c171ea38b3c613d0661c83054 -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 @@@ -630,10 -625,10 +630,10 @@@ F test/notnull.test cc7c78340328e6112a1 F test/null.test a8b09b8ed87852742343b33441a9240022108993 F test/openv2.test 0d3040974bf402e19b7df4b783e447289d7ab394 F test/oserror.test 50417780d0e0d7cd23cf12a8277bb44024765df3 - F test/pager1.test 5ee48e6e035fcfa07a8c2a979924ed174eff0cff -F test/pager1.test cf8f40cf77b5c4f762b1e8492390d61b46a81623 ++F test/pager1.test 20a99956dbe336cbe98cdcab9c03bb137a21d820 F test/pager2.test 745b911dde3d1f24ae0870bd433dfa83d7c658c1 F test/pager3.test 3856d9c80839be0668efee1b74811b1b7f7fc95f -F test/pagerfault.test 452f2cc23e3bfcfa935f4442aec1da4fe1dc0442 +F test/pagerfault.test a15ef77c8495882d7debb43794e87b6e46174c8a F test/pagerfault2.test 1f79ea40d1133b2683a2f811b00f2399f7ec2401 F test/pagerfault3.test f16e2efcb5fc9996d1356f7cbc44c998318ae1d7 F test/pageropt.test 9191867ed19a2b3db6c42d1b36b6fbc657cd1ab0 @@@ -641,7 -636,7 +641,7 @@@ F test/pagesize.test 1dd51367e752e742f5 F test/pcache.test 065aa286e722ab24f2e51792c1f093bf60656b16 F test/pcache2.test a83efe2dec0d392f814bfc998def1d1833942025 F test/permutations.test 2b5a1b64a8e5114757457fbce9010387d1fe7682 - F test/pragma.test ac4448f41ce198094c5b81b156191a8a563803c2 -F test/pragma.test c51c148defe32bf4a419a522f95d26838d5cf677 ++F test/pragma.test e284a28b6e9debfb8b55d5413b7c27996e3ae2cd F test/pragma2.test 3a55f82b954242c642f8342b17dffc8b47472947 F test/printf.test ec9870c4dce8686a37818e0bf1aba6e6a1863552 F test/progress.test 5b075c3c790c7b2a61419bc199db87aaf48b8301 @@@ -721,10 -716,10 +721,10 @@@ F test/sysfault.test c79441d88d23696fbe F test/table.test a59d985ca366e39b17b175f387f9d5db5a18d4e2 F test/tableapi.test 2674633fa95d80da917571ebdd759a14d9819126 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 a2c3874cb3768d4369940e7235871f8a85a75580 -F test/tester.tcl 7db9e90e4a9cc57ea92118ee011634f86dc8e847 ++F test/tester.tcl 7925398e4f994a8296ecbe81c8f3575941928e77 F test/thread001.test 7cc2ce08f9cde95964736d11e91f9ab610f82f91 F test/thread002.test e630504f8a06c00bf8bbe68528774dd96aeb2e58 F test/thread003.test ee4c9efc3b86a6a2767516a37bd64251272560a7 @@@ -912,24 -907,24 +912,24 @@@ F test/vtabF.test fd5ad376f5a34fe0891df F test/vtab_alter.test 9e374885248f69e251bdaacf480b04a197f125e5 F test/vtab_err.test 0d4d8eb4def1d053ac7c5050df3024fd47a3fbd8 F test/vtab_shared.test 82f463886e18d7f8395a4b6167c91815efe54839 - F test/wal.test ed0d04a508e4e4899c688c56028f453c75f2166d -F test/wal.test 2fbf4bbd0cb03aff6ada8150f29808c79370d50b ++F test/wal.test 9c29891ca329de5bba41dfa26b855ca82950e01c F test/wal2.test 8871e7fd2c86711ff415a5817d68ea3101a15312 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/wal8.test 5ab217d21f7e5e86af2933a4ffd0d8357cc2c0bd -F test/wal_common.tcl a98f17fba96206122eff624db0ab13ec377be4fe -F test/walbak.test b9f68e39646375c2b877be906babcc15d38b4877 -F test/walbig.test f437473a16cfb314867c6b5d1dbcd519e73e3434 -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/walbig.test 65699b66911a681e194eec280d45c6ee715e48b4 +F test/walcksum.test 3dff8817d31a4207d1ad31e7da06073a34e7fe1c +F test/walcrash.test 5f749f38e4a5ee1f862c88a73286b35cf05031a0 +F test/walcrash2.test c032d0040374ae28b41f99fc0cc290b4e2e34f17 F test/walcrash3.test 595e44c6197f0d0aa509fc135be2fd0209d11a2c -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 @@@ -997,7 -992,7 +997,7 @@@ F tool/tostr.awk e75472c2f98dd76e06b8c9 F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f F tool/warnings-clang.sh 9f406d66e750e8ac031c63a9ef3248aaa347ef2a F tool/warnings.sh fbc018d67fd7395f440c28f33ef0f94420226381 - P e248598649dd69ed4b4d3da80566d2a7a36a349a b00ccda307caae597c143ab0586f90acb77f79cf - R 59ab807b891fb7ced75f555304ceb82c -P 4fd68647c8d4b120e04d054617cef31001f44c6f -R d0de9386b7862d0d496b567825b3fc4a --U drh - Z b82bbcdcd5a26a1ea6e4a5504dbe3ce2 -Z d75a5126aa3d9bafa8a4a6d3f6859d6d ++P 504bf4908618f4dc8c9d67380934016b311ca6d0 bc03d99a78e90c02b69037e5f5f81537b5a3ac60 ++R 9f70d7baa8cf86bac27841be078e7989 ++U dan ++Z c152a2266757c87b472ab8b2b09e3ebe diff --cc manifest.uuid index 1408d32dc7,8ce488b11e..ff34800e0c --- a/manifest.uuid +++ b/manifest.uuid @@@ -1,1 -1,1 +1,1 @@@ - 504bf4908618f4dc8c9d67380934016b311ca6d0 -bc03d99a78e90c02b69037e5f5f81537b5a3ac60 ++f999197b75465a1f71ac1dab8f22ba2167fc0c67 diff --cc src/main.c index 09ec9d404e,d148b4b42c..84ea47b4d2 --- a/src/main.c +++ b/src/main.c @@@ -3078,26 -3034,20 +3071,44 @@@ Btree *sqlite3DbNameToBtree(sqlite3 *db return 0; } + /* + ** Return the filename of the database associated with a database + ** connection. + */ + const char *sqlite3_db_filename(sqlite3 *db, const char *zDbName){ + Btree *pBt = sqlite3DbNameToBtree(db, zDbName); + return pBt ? sqlite3BtreeGetFilename(pBt) : 0; + } + + /* + ** Return 1 if database is read-only or 0 if read/write. Return -1 if + ** no such database exists. + */ + int sqlite3_db_readonly(sqlite3 *db, const char *zDbName){ + Btree *pBt = sqlite3DbNameToBtree(db, zDbName); + return pBt ? sqlite3PagerIsreadonly(sqlite3BtreePager(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; + } + return SQLITE_LOCKSTATE_ERROR; +} + +#endif /* SQLITE_ENABLE_APPLE_SPI */ diff --cc test/pager1.test index ba7643951e,45253857c3..a0c3ef5a35 --- a/test/pager1.test +++ b/test/pager1.test @@@ -535,9 -535,7 +535,9 @@@ proc copy_on_mj_delete {method filenam return SQLITE_OK } - set pwd [pwd] + set pwd [get_pwd] +if {![forced_proxy_locking]} { + # proxy locking uses can't deal with auto proxy file paths longer than MAXPATHLEN foreach {tn1 tcl} { 1 { set prefix "test.db" } 2 {