From: drh Date: Tue, 2 Aug 2011 18:25:20 +0000 (+0000) Subject: Merge all the latest trunk changes into the apple-osx branch. X-Git-Tag: mountain-lion~24 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1b1b8325e1e57c5a52a14b73c05d24f62663099f;p=thirdparty%2Fsqlite.git Merge all the latest trunk changes into the apple-osx branch. FossilOrigin-Name: 77376b332b4460208f837f7bdf6df8c90d5071d5 --- 1b1b8325e1e57c5a52a14b73c05d24f62663099f diff --cc manifest index 3708a4362e,c87f2c9cc0..411227dd8e --- a/manifest +++ b/manifest @@@ -1,12 -1,12 +1,12 @@@ - C Changes\sto\smake\spragma\ssynchronous\ssticky\swhen\sSQLITE_DEFAULT_WAL_SAFETYLEVEL\sis\sused - D 2011-06-25T21:43:15.946 -C Make\ssure\sIS\sNOT\sNULL\sconstraints\swork\son\svirtual\stables.\nFix\sfor\sticket\s[6c14288a473ceff]. -D 2011-08-02T01:57:39.661 ++C Merge\sall\sthe\slatest\strunk\schanges\sinto\sthe\sapple-osx\sbranch. ++D 2011-08-02T18:25:20.857 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f - F Makefile.in 8410b02448997eb43bdf0ffa482c9bc2d2624e45 -F Makefile.in 1e6988b3c11dee9bd5edc0c804bd4468d74a9cdc ++F Makefile.in 2aed3fdeed9a8ab56f07e35c2486b789d1fa9fad F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 - F Makefile.msc 11082f65b452b908d93013292c17850378c39284 + F Makefile.msc 8e04f517922b9e31a5bf975f07bb66df79ae7076 F Makefile.vxworks c85ec1d8597fe2f7bc225af12ac1666e21379151 F README cd04a36fbc7ea56932a4052d7d0b7f09f27c33d6 - F VERSION 3fcdd7fbe3eb282df3978fe77288544543767961 + F VERSION f724de7326e87b7f3b0a55f16ef4b4d993680d54 F aclocal.m4 a5c22d164aff7ed549d53a90fa56d56955281f50 F addopcodes.awk 17dc593f791f874d2c23a0f9360850ded0286531 F art/2005osaward.gif 0d1851b2a7c1c9d0ccce545f3e14bca42d7fd248 @@@ -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 b2f00a81c37fbce7098d77c58eb816d9bd94d3d3 -F main.mk 50adb7368bd0faa888eb4634b874d542d44f3de3 ++F main.mk 2c6142be5deca401db225d41945d49bf9c4fb9a3 F mkdll.sh 7d09b23c05d56532e9d44a50868eb4b12ff4f74a F mkextu.sh 416f9b7089d80e5590a29692c9d9280a10dbad9f F mkextw.sh 4123480947681d9b434a5e7b1ee08135abe409ac @@@ -127,34 -124,34 +127,34 @@@ F src/auth.c 523da7fb4979469955d822ff92 F src/backup.c 986c15232757f2873dff35ee3b35cbf935fc573c F src/bitvec.c af50f1c8c0ff54d6bdb7a80e2fceca5a93670bef F src/btmutex.c 976f45a12e37293e32cae0281b15a21d48a8aaa7 -F src/btree.c 8c46f0ab69ad9549c75a3a91fed87abdaa743e2f +F src/btree.c e09181860cc8b32ac3c767b0747a5ee66104817b F src/btree.h f5d775cd6cfc7ac32a2535b70e8d2af48ef5f2ce F src/btreeInt.h 67978c014fa4f7cc874032dd3aacadd8db656bc3 - F src/build.c 5a428625d21ad409514afb40ad083bee25dd957a + F src/build.c 5e614e586d9f8a81c16c80b545b9e1747f96c1bb F src/callback.c 0425c6320730e6d3981acfb9202c1bed9016ad1a F src/complete.c dc1d136c0feee03c2f7550bafc0d29075e36deac F src/ctime.c 7deec4534f3b5a0c3b4a4cbadf809d321f64f9c4 - F src/date.c d3c11de76392ea62637bfac0f4655889fc2f5a85 - F src/delete.c 4925f9121525fc871f5d8d13c1f7dcc91abb38bb - F src/expr.c ab46ab0f0c44979a8164ca31728d7d10ae5e8106 + F src/date.c a3c6842bad7ae632281811de112a8ba63ff08ab3 + F src/delete.c ff68e5ef23aee08c0ff528f699a19397ed8bbed8 + F src/expr.c 4bbdfaf66bc614be9254ce0c26a17429067a3e07 F src/fault.c 160a0c015b6c2629d3899ed2daf63d75754a32bb - F src/fkey.c 9fabba17a4d4778dc660f0cb9d781fc86d7b9d41 + F src/fkey.c c8492fed772af1ed61251582707266227612b45b -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 F src/hwtime.h d32741c8f4df852c7d959236615444e2b1063b08 F src/insert.c 3eea5a53d2644116fb865afaa4699fabe62b441c F src/journal.c 552839e54d1bf76fb8f7abe51868b66acacf6a0e -F src/legacy.c a199d7683d60cef73089e892409113e69c23a99f +F src/legacy.c 015826a958f690302d27e096a68d50b3657e4201 F src/lempar.c 7f026423f4d71d989e719a743f98a1cbd4e6d99e - F src/loadext.c 3ae0d52da013a6326310655be6473fd472347b85 + F src/loadext.c 99a161b27a499fc8ad40745b7b1900a26f0a5f51 -F src/main.c fa654e1802e14a5f6c09c37971c3b69c1001d9c8 +F src/main.c a5414c66da45e65518e9f84e9cfe4ac1ff30ea06 F src/malloc.c 591aedb20ae40813f1045f2ef253438a334775d9 F src/mem0.c 6a55ebe57c46ca1a7d98da93aaa07f99f1059645 -F src/mem1.c 00bd8265c81abb665c48fea1e0c234eb3b922206 +F src/mem1.c 46095d62b241466ef51970e592aa3a7a87e443e1 F src/mem2.c e307323e86b5da1853d7111b68fd6b84ad6f09cf - F src/mem3.c 9b237d911ba9904142a804be727cc6664873f8a3 + F src/mem3.c 61c9d47b792908c532ca3a62b999cf21795c6534 F src/mem5.c c2c63b7067570b00bf33d751c39af24182316f7f F src/memjournal.c 0ebce851677a7ac035ba1512a7e65851b34530c6 F src/mutex.c 6949180803ff05a7d0e2b9334a95b4fb5a00e23f @@@ -164,35 -161,34 +164,35 @@@ F src/mutex_os2.c 882d735098c07c8c6a547 F src/mutex_unix.c b4f4e923bb8de93ec3f251fadb50855f23df9579 F src/mutex_w32.c 5e54f3ba275bcb5d00248b8c23107df2e2f73e33 F src/notify.c 976dd0f6171d4588e89e874fcc765e92914b6d30 - F src/os.c 1663f3754a3da185369a121a4f417762f77880b6 -F src/os.c fcc717427a80b2ed225373f07b642dc1aad7490b ++F src/os.c af614089eb9328f3a6a8374d2e4c12ff2761988b F src/os.h 9dbed8c2b9c1f2f2ebabc09e49829d4777c26bf9 - F src/os_common.h a8f95b81eca8a1ab8593d23e94f8a35f35d4078f + F src/os_common.h 65a897143b64667d23ed329a7984b9b405accb58 F src/os_os2.c 4a75888ba3dfc820ad5e8177025972d74d7f2440 - F src/os_unix.c af3aa6c091f501a590b45c95aa6af269ce728a94 - F src/os_win.c eafcd6b91cf204a7ef29ac1ef2a1b7132e132e58 -F src/os_unix.c 51caec436f811fa387a85cf7b05f13962c7fe0dc ++F src/os_unix.c f7883504e103e121d3acf7f4fd4fbddec4f5e625 + F src/os_win.c 60af92b1b1cc7aee13f5e0b5f9dde2d7abb41354 -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/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 1c0f32b64f8e3f555fe1f732f9d6f501a7f05706 + F src/resolve.c 36368f44569208fa074e61f4dd0b6c4fb60ca2b4 F src/rowset.c 69afa95a97c524ba6faf3805e717b5b7ae85a697 - F src/select.c 75b7dd8c6a5ff9b8ec3f7ed51d31af8b30f114bc - F src/shell.c 0e0173b3e79d956368013e759f084caa7995ecb1 - F src/sqlite.h.in dc26f18c71a30680b163317aa3d068e3aa02980c -F src/select.c d219c4b68d603cc734b6f9b1e2780fee12a1fa0d ++F src/select.c 015f2371832c921254220f9f15568f66601935f6 + F src/shell.c bbe7818ff5bc8614105ceb81ad67b8bdc0b671dd -F src/sqlite.h.in 0b3cab7b2ea51f58396e8871fa5f349cfece5330 ++F src/sqlite.h.in 4f475c9bcbf8dcee7b7714cff2b339fe538a005d +F src/sqlite3_private.h 1d18557420cb0cc51ff31ec0a3fcce11e5cd6f5a - F src/sqlite3ext.h c90bd5507099f62043832d73f6425d8d5c5da754 - F src/sqliteInt.h 7240bba17d8f49a667d67bdbbe4cdf898536fc61 + F src/sqlite3ext.h 1a1a4f784aa9c3b00edd287940197de52487cd93 -F src/sqliteInt.h ba4a6d6288efb25b84bc0d7d0aaf80f9b42523ba ++F src/sqliteInt.h 5c29fe37ecd1b105fba48956855e23798477d266 F src/sqliteLimit.h 164b0e6749d31e0daa1a4589a169d31c0dec7b3d F src/status.c 7ac64842c86cec2fc1a1d0e5c16d3beb8ad332bf F src/table.c 2cd62736f845d82200acfa1287e33feb3c15d62e - F src/tclsqlite.c 5db825be61708b1a2b3f8f6e185e9b753829acef - F src/test1.c 4671911a936bc2c9a845bf32f70d770e7a5cd0b8 + F src/tclsqlite.c c355b33803fb756dc09297ec84d19604301fa622 -F src/test1.c e7ea726d26b9007bae7907d8b40280c70ec6c504 ++F src/test1.c 0b610fa55524110c08484a3d418d79eb40fde5ae 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 90707f2dd59c01f11bbbbb168833fdef73f1e5de -F src/test_config.c b4648b103586d2ae863056080c657680f6fa4825 ++F src/test_config.c e870ccc14e3dceb9a067645d19787a6644dafa1b F src/test_demovfs.c 20a4975127993f4959890016ae9ce5535a880094 F src/test_devsym.c e7498904e72ba7491d142d5c83b476c4e76993bc F src/test_func.c cbdec5cededa0761daedde5baf06004a9bf416b5 @@@ -237,24 -233,24 +237,24 @@@ F src/test_vfstrace.c 0b884e06094a746da F src/test_wholenumber.c 6129adfbe7c7444f2e60cc785927f3aa74e12290 F src/test_wsd.c 41cadfd9d97fe8e3e4e44f61a4a8ccd6f7ca8fe9 F src/tokenize.c c819d9f72168a035d545a5bdafe9b085b20df705 - F src/trigger.c c836a6caac16ba96611558922106858f6ca3d6bf - F src/update.c 80d77311d91ebc06b27149e75701f1b3e9356622 + F src/trigger.c 1cfb80e2290ef66ea89cb4e821caae65a02c0d56 + F src/update.c 74a6cfb34e9732c1e2a86278b229913b4b51eeec F src/utf.c c53eb7404b3eb5c1cbb5655c6a7a0e0ce6bd50f0 - F src/util.c 0f33bbbdfcc4a2d8cf20c3b2a16ffc3b57c58a70 + F src/util.c 06302ffd2b80408d4f6c7af71f7090e0cf8d8ff7 F src/vacuum.c 05513dca036a1e7848fe18d5ed1265ac0b32365e - F src/vdbe.c 80d511d7096918f4f6be6a63988a885c54dd1048 -F src/vdbe.c a9ced64f380bbd8b04da3a1c3a9602d3942704b5 ++F src/vdbe.c 30e1d38a118f156a5af4718fc67cb8710e16d72e F src/vdbe.h 5cf09e7ee8a3f7d93bc51f196a96550786afe7a1 F src/vdbeInt.h ad84226cc0adcb1185c22b70696b235a1678bb45 - F src/vdbeapi.c 7f01db7d26758b2be316116f8325a0b9f0d8edd6 - F src/vdbeaux.c 0b2e2880f13af400a27c92a7673287c3eaec8b21 -F src/vdbeapi.c 11dc47987abacb76ad016dcf5abc0dc422482a98 ++F src/vdbeapi.c 335435e65443f38d3073b5043e80cbbb7090c2d9 + F src/vdbeaux.c 4d100407e3c72e163854aff8903d19d5ecdf46c0 F src/vdbeblob.c f024f0bf420f36b070143c32b15cc7287341ffd3 F src/vdbemem.c 0498796b6ffbe45e32960d6a1f5adfb6e419883b -F src/vdbetrace.c 5d0dc3d5fd54878cc8d6d28eb41deb8d5885b114 +F src/vdbetrace.c 4b92fe7355f682368203d29b2be7125cbab85e79 F src/vtab.c 901791a47318c0562cd0c676a2c6ff1bc530e582 - F src/wal.c 876f9b68df44e65a32c5106010a0a95ee554a284 -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 55403ce19c506be6a321c7f129aff693d6103db5 + F src/where.c 7d09f4c1512affb60cc1190a4b33d121d4ce039a F test/8_3_names.test b93687beebd17f6ebf812405a6833bae5d1f4199 F test/aggerror.test a867e273ef9e3d7919f03ef4f0e8c0d2767944f2 F test/alias.test 4529fbc152f190268a15f9384a5651bbbabc9d87 @@@ -394,12 -391,12 +395,12 @@@ F test/enc3.test 5c550d59ff31dccdba5d1a F test/enc4.test b145fa25feb56ea1d51a5bc43ca268c0cf691a67 F test/eqp.test f14fadd76da53405e9885e2431cacf7191d83cdb F test/eval.test bc269c365ba877554948441e91ad5373f9f91be3 -F test/exclusive.test 53e1841b422e554cecf0160f937c473d6d0e3062 +F test/exclusive.test 897074dc6706b0c4f3b1dc4580ffddffe2a79206 F test/exclusive2.test 343d55130c12c67b8bf10407acec043a6c26c86b F test/exec.test e949714dc127eaa5ecc7d723efec1ec27118fdd7 - F test/exists.test 5e2d64b4eb5a9d08876599bdae2e1213d2d12e2a + F test/exists.test 8f7b27b61c2fbe5822f0a1f899c715d14e416e30 F test/expr.test 67c9fd6f8f829e239dc8b0f4a08a73c08b09196d -F test/fallocate.test 43dc34b8c24be6baffadc3b4401ee15710ce83c6 +F test/fallocate.test 95a45d7a705ab985a62ceed8ac7b145fcb61154e F test/filectrl.test 97003734290887566e01dded09dc9e99cb937e9e F test/filefmt.test f178cfc29501a14565954c961b226e61877dd32c F test/fkey1.test 01c7de578e11747e720c2d9aeef27f239853c4da @@@ -504,11 -501,11 +505,11 @@@ F test/in3.test 3cbf58c87f4052cee3a58b3 F test/in4.test 64f3cc1acde1b9161ccdd8e5bde3daefdb5b2617 F test/incrblob.test 76e787ca3301d9bfa6906031c626d26f8dd707de F test/incrblob2.test edc3a96e557bd61fb39acc8d2edd43371fbbaa19 -F test/incrblob3.test aedbb35ea1b6450c33b98f2b6ed98e5020be8dc7 +F test/incrblob3.test 086482e7937202be9f8cf327117a042d8628fe7d - F test/incrblob_err.test c577c91d4ed9e8336cdb188b15d6ee2a6fe9604e + F test/incrblob_err.test d2562d2771ebffd4b3af89ef64c140dd44371597 F test/incrblobfault.test 917c0292224c64a56ef7215fd633a3a82f805be0 F test/incrvacuum.test 453d1e490d8f5ad2c9b3a54282a0690d6ae56462 -F test/incrvacuum2.test ae04573b73ad52179f56e194fff0fbe43b509d23 +F test/incrvacuum2.test 08b23884a3acc8f5027385adafede3a0b044e3f9 F test/incrvacuum_ioerr.test 57d2f5777ab13fa03b87b262a4ea1bad5cfc0291 F test/index.test b5429732b3b983fa810e3ac867d7ca85dae35097 F test/index2.test ee83c6b5e3173a3d7137140d945d9a5d4fdfb9d6 @@@ -599,7 -595,7 +600,7 @@@ F test/misc5.test 9f9338f8211c7f5d1cbe1 F test/misc6.test 953cc693924d88e6117aeba16f46f0bf5abede91 F test/misc7.test 29032efcd3d826fbd409e2a7af873e7939f4a4e3 F test/misuse.test 30b3a458e5a70c31e74c291937b6c82204c59f33 - F test/multiplex.test afd41c4fcf132a8940761c7852b427c37705e4bb -F test/multiplex.test b45367b1dac7dfa4c5b8ff0f3844260804a0034d ++F test/multiplex.test 0577b94b3c93d3a07dcc4bde71bf6b75064542af F test/mutex1.test 78b2b9bb320e51d156c4efdb71b99b051e7a4b41 F test/mutex2.test bfeaeac2e73095b2ac32285d2756e3a65e681660 F test/nan.test dc212a22b36109fd1ae37154292444ef249c5ec2 @@@ -620,8 -616,8 +621,8 @@@ F test/pageropt.test 8146bf448cf09e87bb F test/pagesize.test 76aa9f23ecb0741a4ed9d2e16c5fa82671f28efb F test/pcache.test 065aa286e722ab24f2e51792c1f093bf60656b16 F test/pcache2.test 0d85f2ab6963aee28c671d4c71bec038c00a1d16 - F test/permutations.test 1e8892ebf1bd6e9e8036f4841c72a91bf72da74a + F test/permutations.test aae89941ca0968b53633c97b5dd0d6f9f9899d27 -F test/pragma.test fdfc09067ea104a0c247a1a79d8093b56656f850 +F test/pragma.test 6c4b98a9f5e3fbc23631fcbfa53b095f3955ca72 F test/pragma2.test 5364893491b9231dd170e3459bfc2e2342658b47 F test/printf.test 05970cde31b1a9f54bd75af60597be75a5c54fea F test/progress.test 5b075c3c790c7b2a61419bc199db87aaf48b8301 @@@ -660,10 -656,10 +661,10 @@@ F test/select7.test dad6f00f0d49728a879 F test/select8.test 391de11bdd52339c30580dabbbbe97e3e9a3c79d F test/select9.test 74c0fb2c6eecb0219cbed0cbe3df136f8fbf9343 F test/selectA.test 06d1032fa9009314c95394f2ca2e60d9f7ae8532 - F test/selectB.test f305cc6660804cb239aab4e2f26b0e288b59958b + F test/selectB.test 0d072c5846071b569766e6cd7f923f646a8b2bfa F test/selectC.test f9bf1bc4581b5b8158caa6e4e4f682acb379fb25 F test/server1.test f5b790d4c0498179151ca8a7715a65a7802c859c -F test/shared.test b9114eaea7e748a3a4c8ff7b9ca806c8f95cef3e +F test/shared.test e5ed27551ba06b28e851101683f0caef1445f4ac F test/shared2.test 7f6ad2d857d0f4e5d6a0b9a897b5e56a6b6ea18c F test/shared3.test d69bdd5f156580876c5345652d21dc2092e85962 F test/shared4.test d0fadacb50bb6981b2fb9dc6d1da30fa1edddf83 @@@ -684,9 -680,9 +685,9 @@@ F test/speed3.test 5a419039e9da95d906ad F test/speed4.test abc0ad3399dcf9703abed2fff8705e4f8e416715 F test/speed4p.explain 6b5f104ebeb34a038b2f714150f51d01143e59aa F test/speed4p.test 0e51908951677de5a969b723e03a27a1c45db38b - F test/sqllimits1.test e90a0ed94452076f6a10209d378e06b5f75ef0a0 + F test/sqllimits1.test 0ebf7bed0b99c96f24e0b7fa5e59dbc42359c421 F test/stat.test c7b20ea43003dc2dc33335e231c27be8284c4a2a -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 @@@ -697,10 -693,10 +698,10 @@@ F test/sysfault.test c79441d88d23696fbe F test/table.test 04ba066432430657712d167ebf28080fe878d305 F test/tableapi.test 2674633fa95d80da917571ebdd759a14d9819126 F test/tclsqlite.test 8c154101e704170c2be10f137a5499ac2c6da8d3 -F test/tempdb.test 19d0f66e2e3eeffd68661a11c83ba5e6ace9128c +F test/tempdb.test 3263e5c3f0604e54d307481e8587327c54544d18 - F test/temptable.test f42121a0d29a62f00f93274464164177ab1cc24a + F test/temptable.test 1a21a597055dcf6002b6f1ee867632dccd6e925c F test/temptrigger.test b0273db072ce5f37cf19140ceb1f0d524bbe9f05 - F test/tester.tcl be83dc1662e7bce357d53f7ff9cecdc16a7046eb -F test/tester.tcl aad52c7644513e5650f6613d371b0af3193c3885 ++F test/tester.tcl a7e086805b188f86135f872c1258e3b4e19d0eb9 F test/thread001.test a3e6a7254d1cb057836cb3145b60c10bf5b7e60f F test/thread002.test afd20095e6e845b405df4f2c920cb93301ca69db F test/thread003.test b824d4f52b870ae39fc5bae4d8070eca73085dca @@@ -880,27 -878,28 +883,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 5617ad308bfdb8a8885220d8a261a6096a8d7e57 -F test/wal2.test aa0fb2314b3235be4503c06873e41ebfc0757782 -F test/wal3.test d512a5c8b4aa345722d11e8f1671db7eb15a0e39 -F test/wal4.test 3404b048fa5e10605facaf70384e6d2943412e30 -F test/wal5.test 08e145a352b1223930c7f0a1de82a8747a99c322 -F test/wal6.test 2e3bc767d9c2ce35c47106148d43fcbd072a93b3 +F test/wal.test c2df96d6f209076fe0571054eedfc4879d1c8a3a +F test/wal2.test aaeac9c0f901cb3a779a49a5100decc615f04d76 - F test/wal3.test a4670279d6ed3fc4e0355d0e77882f7f46d54bbc ++F test/wal3.test 887978789111cd7f0a6a6dde34702a69fe3b3470 +F test/wal4.test 6a68c45bc1ca24a3592ec449ddcb92b29d0e0e87 - F test/wal5.test ad9865a6e39bfcf62c96f075e4c31838295b6509 - F test/wal6.test 8df39843b1471dc02993d173937b2c6589e2cb59 ++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 4df1c7369da0301caeb9a48fa45997fd592380e4 -F test/walbig.test e882bc1d014afffbfa2b6ba36e0f07d30a633ad0 -F test/walcksum.test a37b36375c595e61bdb7e1ec49b5f0979b6fc7ce -F test/walcrash.test e763841551d6b23677ccb419797c1589dcbdbaf5 -F test/walcrash2.test 019d60b89d96c1937adb2b30b850ac7e86e5a142 -F test/walfault.test 58fce626359c9376fe35101b5c0f2df8040aa839 -F test/walhook.test ed00a40ba7255da22d6b66433ab61fab16a63483 -F test/walmode.test 22ddccd073c817ac9ead62b88ac446e8dedc7d2c +F test/wal_common.tcl 15f152fd55703975878741beca6cfa4209d5b3b3 +F test/walbak.test 767e1c9e0ea0cfb907873b332883e66e187fa4bc +F test/walbig.test 78ac493db2abdb65b9c6cace5b851cc32df1d449 +F test/walcksum.test cf6787f2ee1a6a3da6f0c2b20b9ede5153e4e03f +F test/walcrash.test 80c1cc3173a0ef09d8303fa556cb0187a36d82ea +F test/walcrash2.test c032d0040374ae28b41f99fc0cc290b4e2e34f17 +F test/walfault.test 7db81f3dac64ce8897196f199c2909078bcabf8d +F test/walhook.test c934ac5219fee2b4e7653d291db9107b8dc73bba +F test/walmode.test 8fe643a94841a1f95186e91e220181429f1188c1 F test/walnoshm.test a074428046408f4eb5c6a00e09df8cc97ff93317 + F test/walpersist.test 45fb0c94fb63908e2d66b1d99ce4645bfce0fa1e -F test/walro.test 2d5d69e2e99da19ce6faab340330234fc4ca0720 -F test/walshared.test 6dda2293880c300baf5d791c307f653094585761 -F test/walslow.test d21625e2e99e11c032ce949e8a94661576548933 -F test/walthread.test a25a393c068a2b42b44333fa3fdaae9072f1617c +F test/walro.test 05769ae10ddce1b6ad41bdd5326ab7ef951c8278 +F test/walshared.test 0befc811dcf0b287efae21612304d15576e35417 +F test/walslow.test 989854bc5c214700a9f2d545bb158643813b8881 +F test/walthread.test e6e32e93ccebfa401dfc0dd930c79daa3472b0ae F test/where.test de337a3fe0a459ec7c93db16a519657a90552330 F test/where2.test 43d4becaf5a5df854e6c21d624a1cb84c6904554 F test/where3.test 8e1175c7ef710c70502858fc4fb08d784b3620b9 @@@ -950,11 -950,11 +955,11 @@@ F tool/speedtest2.tcl ee2149167303ba8e9 F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224 F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e F tool/split-sqlite3c.tcl d9be87f1c340285a3e081eb19b4a247981ed290c - F tool/symbols.sh bc2a3709940d47c8ac8e0a1fdf17ec801f015a00 + F tool/symbols.sh caaf6ccc7300fd43353318b44524853e222557d5 F tool/tostr.awk 11760e1b94a5d3dcd42378f3cc18544c06cfa576 F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f - F tool/warnings.sh 347d974d143cf132f953b565fbc03026f19fcb4d - P 8f8b373eed7052e6e93c1805fc1effcf1db09366 - R e151aa11e88480c804b5ef43a2ab643c - U adam - Z 3111cbbb811aa7ac12c37845c0ffea17 + F tool/warnings.sh 2ebae31e1eb352696f3c2f7706a34c084b28c262 -P ed630b012f468d6779b83dd8c4dbf3a8dafee573 -R 171bb090fbd613c7785a72bd19098ec2 ++P c6158b254fabd02a3d58b1a047a3c5fa979b41a8 a55f4ab99952a731e4cd8f6ef17389062e5ed4c5 ++R e28b3bb5c7ab3bb40c311c2729336554 + U drh -Z 642ce1d00dc515b7cad2aa099629b2e0 ++Z 1fdb11afa5488fb1c722198196102057 diff --cc manifest.uuid index 54617e53b2,7c80798eac..3318122b30 --- a/manifest.uuid +++ b/manifest.uuid @@@ -1,1 -1,1 +1,1 @@@ - c6158b254fabd02a3d58b1a047a3c5fa979b41a8 -a55f4ab99952a731e4cd8f6ef17389062e5ed4c5 ++77376b332b4460208f837f7bdf6df8c90d5071d5 diff --cc src/os.c index 49e11b290a,41ec69ce45..0f5e7798b7 --- a/src/os.c +++ b/src/os.c @@@ -137,12 -136,7 +137,12 @@@ int sqlite3OsOpen ** down into the VFS layer. Some SQLITE_OPEN_ flags (for example, ** SQLITE_OPEN_FULLMUTEX or SQLITE_OPEN_SHAREDCACHE) are blocked before ** reaching the VFS. */ - rc = pVfs->xOpen(pVfs, zPath, pFile, flags & 0x87f7f, pFlagsOut); +#if SQLITE_ENABLE_DATA_PROTECTION - openFlags = flags & (0x87f3f | SQLITE_OPEN_FILEPROTECTION_MASK); ++ openFlags = flags & (0x87f7f | SQLITE_OPEN_FILEPROTECTION_MASK); +#else - openFlags = flags & 0x87f3f; ++ openFlags = flags & 0x87f7f; +#endif + rc = pVfs->xOpen(pVfs, zPath, pFile, openFlags, pFlagsOut); assert( rc==SQLITE_OK || pFile->pMethods==0 ); return rc; } diff --cc src/os_unix.c index 85e17598bb,9e7b458214..7755e62a0b --- a/src/os_unix.c +++ b/src/os_unix.c @@@ -5549,10 -4878,8 +5570,10 @@@ static int findCreateFileMode memcpy(zDb, zPath, nDb); zDb[nDb] = '\0'; - if( 0==stat(zDb, &sStat) ){ + if( 0==osStat(zDb, &sStat) ){ *pMode = sStat.st_mode & 0777; + *pUid = sStat.st_uid; + *pGid = sStat.st_gid; }else{ rc = SQLITE_IOERR_FSTAT; } diff --cc src/test1.c index dc5f5d2de4,9a5a50103f..7fe99beac4 --- a/src/test1.c +++ b/src/test1.c @@@ -5191,98 -5096,72 +5191,163 @@@ static int file_control_lockproxy_test return TCL_OK; } +#ifdef __APPLE__ +#include +#include +#include +#endif + +/* + ** tclcmd: path_is_local PWD + */ +static int path_is_local( + ClientData clientData, /* Pointer to sqlite3_enable_XXX function */ + Tcl_Interp *interp, /* The TCL interpreter that invoked this command */ + int objc, /* Number of arguments */ + Tcl_Obj *CONST objv[] /* Command arguments */ +){ + sqlite3 *db; + const char *zPath; + int nPath; + + if( objc!=2 ){ + Tcl_AppendResult(interp, "wrong # args: should be \"", + Tcl_GetStringFromObj(objv[0], 0), " PATH", 0); + return TCL_ERROR; + } + zPath = Tcl_GetStringFromObj(objv[1], &nPath); + +#ifdef __APPLE__ + { + struct statfs fsInfo; + if( statfs(zPath, &fsInfo) == -1 ){ + int err = errno; + Tcl_AppendResult(interp, "Error calling statfs on path", + Tcl_NewIntObj(err), 0); + return TCL_ERROR; + } + if( fsInfo.f_flags&MNT_LOCAL ){ + Tcl_SetObjResult(interp, Tcl_NewIntObj(1)); + } else { + Tcl_SetObjResult(interp, Tcl_NewIntObj(0)); + } + } +#else + Tcl_SetObjResult(interp, Tcl_NewIntObj(1)); +#endif + + return TCL_OK; +} + +/* + ** tclcmd: path_is_dos PWD + */ +static int path_is_dos( + ClientData clientData, /* Pointer to sqlite3_enable_XXX function */ + Tcl_Interp *interp, /* The TCL interpreter that invoked this command */ + int objc, /* Number of arguments */ + Tcl_Obj *CONST objv[] /* Command arguments */ +){ + sqlite3 *db; + const char *zPath; + int nPath; + + if( objc!=2 ){ + Tcl_AppendResult(interp, "wrong # args: should be \"", + Tcl_GetStringFromObj(objv[0], 0), " PATH", 0); + return TCL_ERROR; + } + zPath = Tcl_GetStringFromObj(objv[1], &nPath); + +#ifdef __APPLE__ + { + struct statfs fsInfo; + if( statfs(zPath, &fsInfo) == -1 ){ + int err = errno; + Tcl_AppendResult(interp, "Error calling statfs on path", + Tcl_NewIntObj(err), 0); + return TCL_ERROR; + } + if (0 == strncmp("msdos", fsInfo.f_fstypename, 5)) { + Tcl_SetObjResult(interp, Tcl_NewIntObj(1)); + } else if (0 == strncmp("exfat", fsInfo.f_fstypename, 5)) { + Tcl_SetObjResult(interp, Tcl_NewIntObj(1)); + } else { + Tcl_SetObjResult(interp, Tcl_NewIntObj(0)); + } + } +#else + Tcl_SetObjResult(interp, Tcl_NewIntObj(0)); +#endif + + return TCL_OK; +} + + /* + ** tclcmd: file_control_win32_av_retry DB NRETRY DELAY + ** + ** This TCL command runs the sqlite3_file_control interface with + ** the SQLITE_FCNTL_WIN32_AV_RETRY opcode. + */ + static int file_control_win32_av_retry( + ClientData clientData, /* Pointer to sqlite3_enable_XXX function */ + Tcl_Interp *interp, /* The TCL interpreter that invoked this command */ + int objc, /* Number of arguments */ + Tcl_Obj *CONST objv[] /* Command arguments */ + ){ + sqlite3 *db; + int rc; + int a[2]; + char z[100]; + + if( objc!=4 ){ + Tcl_AppendResult(interp, "wrong # args: should be \"", + Tcl_GetStringFromObj(objv[0], 0), " DB NRETRY DELAY", 0); + return TCL_ERROR; + } + if( getDbPointer(interp, Tcl_GetString(objv[1]), &db) ){ + return TCL_ERROR; + } + if( Tcl_GetIntFromObj(interp, objv[2], &a[0]) ) return TCL_ERROR; + if( Tcl_GetIntFromObj(interp, objv[3], &a[1]) ) return TCL_ERROR; + rc = sqlite3_file_control(db, NULL, SQLITE_FCNTL_WIN32_AV_RETRY, (void*)a); + sqlite3_snprintf(sizeof(z), z, "%d %d %d", rc, a[0], a[1]); + Tcl_AppendResult(interp, z, (char*)0); + return TCL_OK; + } + + /* + ** tclcmd: file_control_persist_wal DB PERSIST-FLAG + ** + ** This TCL command runs the sqlite3_file_control interface with + ** the SQLITE_FCNTL_PERSIST_WAL opcode. + */ + static int file_control_persist_wal( + ClientData clientData, /* Pointer to sqlite3_enable_XXX function */ + Tcl_Interp *interp, /* The TCL interpreter that invoked this command */ + int objc, /* Number of arguments */ + Tcl_Obj *CONST objv[] /* Command arguments */ + ){ + sqlite3 *db; + int rc; + int bPersist; + char z[100]; + + if( objc!=3 ){ + Tcl_AppendResult(interp, "wrong # args: should be \"", + Tcl_GetStringFromObj(objv[0], 0), " DB FLAG", 0); + return TCL_ERROR; + } + if( getDbPointer(interp, Tcl_GetString(objv[1]), &db) ){ + return TCL_ERROR; + } + if( Tcl_GetIntFromObj(interp, objv[2], &bPersist) ) return TCL_ERROR; + rc = sqlite3_file_control(db, NULL, SQLITE_FCNTL_PERSIST_WAL, (void*)&bPersist); + sqlite3_snprintf(sizeof(z), z, "%d %d", rc, bPersist); + Tcl_AppendResult(interp, z, (char*)0); + return TCL_OK; + } + - /* ** tclcmd: sqlite3_vfs_list ** @@@ -5988,16 -5957,12 +6144,18 @@@ int Sqlitetest1_Init(Tcl_Interp *interp { "file_control_test", file_control_test, 0 }, { "file_control_lasterrno_test", file_control_lasterrno_test, 0 }, { "file_control_lockproxy_test", file_control_lockproxy_test, 0 }, +#ifdef __APPLE__ + { "file_control_truncate_test", file_control_truncate_test, 0 }, + { "file_control_replace_test", file_control_replace_test, 0 }, +#endif { "file_control_chunksize_test", file_control_chunksize_test, 0 }, - { "file_control_sizehint_test", file_control_sizehint_test, 0 }, + { "file_control_sizehint_test", file_control_sizehint_test, 0 }, + { "file_control_win32_av_retry", file_control_win32_av_retry, 0 }, + { "file_control_persist_wal", file_control_persist_wal, 0 }, { "sqlite3_vfs_list", vfs_list, 0 }, { "sqlite3_create_function_v2", test_create_function_v2, 0 }, + { "path_is_local", path_is_local, 0 }, + { "path_is_dos", path_is_dos, 0 }, /* Functions from os.h */ #ifndef SQLITE_OMIT_UTF16 diff --cc test/wal5.test index 5ef6345cf1,af4056ccd2..756f727ce6 --- a/test/wal5.test +++ b/test/wal5.test @@@ -247,22 -233,9 +247,13 @@@ foreach {testprefix do_wal_checkpoint} do_test 2.3.$tn.3 { sql2 { BEGIN; SELECT * FROM t1 } } {1 2} do_test 2.3.$tn.4 { sql1 { INSERT INTO t1 VALUES(3, 4) } } {} do_test 2.3.$tn.5 { sql1 { INSERT INTO t2 VALUES(3, 4) } } {} - do_test 2.3.$tn.6 { file_page_counts } {1 7 1 7} - do_test 2.3.$tn.7 { code1 { do_wal_checkpoint db -mode full } } {1 7 5} + do_test 2.3.$tn.6 { file_page_counts } [ + list 1 [wal_frames db 4 3] 1 [wal_frames db 4 3] + ] + do_test 2.3.$tn.7 { code1 { do_wal_checkpoint db -mode full } } [ + list 1 [wal_frames db 4 3] [wal_frames db 3 2] + ] - if {$tcl_platform(platform) == "windows"} { - # on unix, the size_hint is a no-op if no chunk size is set. - # the windows implementation does not have a similar check, - # and because of this, the db file size has an extra page. - do_test 2.3.$tn.8 { file_page_counts } {2 7 2 7} - } { - do_test 2.3.$tn.8 { file_page_counts } [ - list 1 [wal_frames db 4 3] 2 [wal_frames db 4 3] - ] - } + do_test 2.3.$tn.8 { file_page_counts } {2 7 2 7} } # Check that checkpoints block on the correct locks. And respond correctly