From: drh Date: Mon, 5 Mar 2012 16:39:56 +0000 (+0000) Subject: Pull in all the latest trunk changes. X-Git-Tag: mountain-lion~5 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=40d50d1b0f7ee81084edc4ac4cf33bc7b7c1becf;p=thirdparty%2Fsqlite.git Pull in all the latest trunk changes. FossilOrigin-Name: 504bf4908618f4dc8c9d67380934016b311ca6d0 --- 40d50d1b0f7ee81084edc4ac4cf33bc7b7c1becf diff --cc manifest index 00919201c3,804df3f20b..ae4279758d --- a/manifest +++ b/manifest @@@ -1,9 -1,9 +1,9 @@@ - C Pull\sthe\slatest\strunk\schanges\sinto\sthe\sapple-osx\sbranch. - D 2012-02-10T18:18:00.311 -C Fix\sa\sproblem\scompiling\sthe\stest\scode\sin\sfts3_test.c\swhen\sSQLITE_ENABLE_FTS3\sis\snot\sdefined. -D 2012-03-05T16:24:26.279 ++C Pull\sin\sall\sthe\slatest\strunk\schanges. ++D 2012-03-05T16:39:56.387 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f -F Makefile.in 3f79a373e57c3b92dabf76f40b065e719d31ac34 +F Makefile.in d4fe214d68e653b8dba91e81a5fa4eae86125471 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 - F Makefile.msc dcad80fa69f17d46fe6778ba873fc108ca16298d + F Makefile.msc 3a5582a858b8071af43cd459bd757f7d0748f66a F Makefile.vxworks 1deb39c8bb047296c30161ffa10c1b5423e632f9 F README cd04a36fbc7ea56932a4052d7d0b7f09f27c33d6 F VERSION bb4c2a86abe53ea3c1d6ea515b69a426040e2414 @@@ -125,11 -122,11 +125,11 @@@ F src/alter.c 149cc80d9257971b0bff34e58 F src/analyze.c f32ff304da413851eefa562b04e61ff6cb88248b F src/attach.c 12c6957996908edc31c96d7c68d4942c2474405f F src/auth.c 523da7fb4979469955d822ff9298352d6b31de34 - F src/backup.c e9538bad2d4a4fcd4308f1aed7cb18a0fbc968f9 + F src/backup.c 6be23a344d3301ae38e92fddb3a33b91c309fce4 F src/bitvec.c af50f1c8c0ff54d6bdb7a80e2fceca5a93670bef F src/btmutex.c 976f45a12e37293e32cae0281b15a21d48a8aaa7 - F src/btree.c c21852e2e5bc50c448e587271f27e491e247ae76 - F src/btree.h 46e9f04672f1390255bc56865a3238b384d0f2d5 -F src/btree.c 253c3147a4ebbaee42cd329dbdc0856200bbbda7 ++F src/btree.c fbaf57644615a46ffd1117096d1ef9197e34de1f + F src/btree.h 48a013f8964f12d944d90e4700df47b72dd6d923 F src/btreeInt.h 26d8ca625b141927fe6620c1d2cf58eaf494ca0c F src/build.c c4d36e527f457f9992a6663365871dfa7c5094b8 F src/callback.c 0425c6320730e6d3981acfb9202c1bed9016ad1a @@@ -140,20 -137,20 +140,20 @@@ F src/delete.c 51d32f0a9c880663e54ce309 F src/expr.c 00675123e0beec98f999aa4594d2cbe1fec33c1b F src/fault.c 160a0c015b6c2629d3899ed2daf63d75754a32bb F src/fkey.c 657212460bf5cfd3ae607d12ea62092844c227b5 - F src/func.c 5d67931ffefd08e89057847dafee4a032eae505e -F src/func.c e75f41c421f00762ab9da7dc8fb90af3972cf99f ++F src/func.c bbbbc0d92d21f3e7cd77b37db5ecc64b9154410b F src/global.c 4cfdca5cb0edd33c4d021baec4ede958cb2c793b F src/hash.c 458488dcc159c301b8e7686280ab209f1fb915af F src/hash.h 2894c932d84d9f892d4b4023a75e501f83050970 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 fa92ea3c31fc165923d1ac88db85a108550b9b39 -F src/main.c dcb4a15254dca9cc59dba63e813a8c140c021832 ++F src/main.c 204833e0d384d22089ff48f74e39b60c29963b7d F src/malloc.c 15afac5e59b6584efe072e9933aefb4230e74f97 F src/mem0.c 6a55ebe57c46ca1a7d98da93aaa07f99f1059645 - F src/mem1.c c953f3bfc8fcd31d4de2078697caefeb1dcfd7ff + F src/mem1.c b3677415e69603d6a0e7c5410a1b3731d55beda1 F src/mem2.c e307323e86b5da1853d7111b68fd6b84ad6f09cf F src/mem3.c 61c9d47b792908c532ca3a62b999cf21795c6534 F src/mem5.c c2c63b7067570b00bf33d751c39af24182316f7f @@@ -169,26 -166,25 +169,26 @@@ F src/os.c 4c8c8d72a6c58ad2fde4865783e8 F src/os.h 59beba555b65a450bd1d804220532971d4299f60 F src/os_common.h 92815ed65f805560b66166e3583470ff94478f04 F src/os_os2.c 4a75888ba3dfc820ad5e8177025972d74d7f2440 - F src/os_unix.c 34a2b44b83645fe24937d84deefc7fbe15aa1ba5 -F src/os_unix.c 0e3d2942d228d0366fb80a3640f35caf413b66d1 -F src/os_win.c 5ac061ae1326a71500cee578ed0fd9113b4f6a37 -F src/pager.c 3955b62cdb5bb64559607cb474dd12a6c8e1d4a5 ++F src/os_unix.c c008584c899e9c6b702078fbb9cb59839a0a66d3 +F src/os_win.c 30dce5f00ca11ed0df4928ead901ea82f6c873c4 - F src/pager.c e34303157c734c6a9488296200dfa53a074622c5 - F src/pager.h a435da8421dc7844b7f9c7f37b636c160c50208a ++F src/pager.c a5bacc1a1913443fc4327f649dd74ccdcf28c4b8 + F src/pager.h ef1eaf8593e78f73885c1dfac27ad83bee23bdc5 F src/parse.y 1ddd71ae55f4b7cbb2672526ea4de023de0f519e F src/pcache.c f8043b433a57aba85384a531e3937a804432a346 F src/pcache.h 1b5dcc3dc8103d03e625b177023ee67764fa6b7c F src/pcache1.c b30b1c35908346ecc43d8d9d17f2ddf6817f8f60 - F src/pragma.c 99f401037d98a95c36a64d5b475637aacc6c0aaa -F src/pragma.c e708b3bb5704605816f617e0b1d63a5488060715 -F src/prepare.c ec4989f7f480544bdc4192fe663470d2a2d7d61e ++F src/pragma.c 29db41fc84bd7853d6c7ef85f9f8bd56a8be4320 +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 6b40963de459a46d8caec84d9feaeda0dd650961 -F src/select.c 44ccdcb5d2a1c48622c179b2d72167b716388581 ++F src/select.c 2d18d2e19f95d59c1a44f04866094f565bbc3b7d F src/shell.c aa28f117033ba3e44b5eaaf2ad572222bcdfd66e - F src/sqlite.h.in 30aea65b4ff98e1300ed94286f16d856e5575d31 -F src/sqlite.h.in f46e368d1a28b09d876e35444785674d170f2d62 ++F src/sqlite.h.in b01dd10b2f9640f365835d615acc0fb91707c1e6 +F src/sqlite3_private.h e3b586e0aa329075d99be7198df9bc80c5b19e2d F src/sqlite3ext.h 6904f4aadf976f95241311fbffb00823075d9477 - F src/sqliteInt.h 6a46b1a5e789226c0e53711429f0115417757d25 -F src/sqliteInt.h b013dab7d43fb67c3ca2f0253d7863abb37e233c ++F src/sqliteInt.h e38af5c1f5fee5643942de7e41e501ea4cc5d3a5 F src/sqliteLimit.h 164b0e6749d31e0daa1a4589a169d31c0dec7b3d F src/status.c 4568e72dfd36b6a5911f93457364deb072e0b03a F src/table.c 2cd62736f845d82200acfa1287e33feb3c15d62e @@@ -242,22 -238,22 +242,22 @@@ F src/tokenize.c 1e86210d3976717a19238e F src/trigger.c ee7e178fb9188f44b532cebd449a7c1df90fb684 F src/update.c d3076782c887c10e882996550345da9c4c9f9dea F src/utf.c 890c67dcfcc7a74623c95baac7535aadfe265e84 - F src/util.c 9e07bd67dfafe9c75b1da78c87ba030cebbb5388 - F src/vacuum.c 0c0ba2242355c6048d65e2b333abe0f7c06348fa - F src/vdbe.c f384d056539f448b27646761a89f360fd6585000 + F src/util.c 906731099c4397bf8adf3fa90a833355e7472af0 + F src/vacuum.c bfd53f9bd20a8fdb70b0fa8e77182b866875c0d8 -F src/vdbe.c 32720e873ed0a23e6ee928b676cd995864b984d6 ++F src/vdbe.c c4638fe3adb6d495e9c6513ecfaa055a1cd11d73 F src/vdbe.h 18f581cac1f4339ec3299f3e0cc6e11aec654cdb F src/vdbeInt.h 6ff4180a05683566a8835d12f7ec504b22932c82 -F src/vdbeapi.c 3662b6a468a2a4605a15dfab313baa6dff81ad91 -F src/vdbeaux.c 79cf42b70e211a52d664fc4d585ee2da0a64deac +F src/vdbeapi.c bf1f632719ee596d43ccf6c2ed68ff8911f5b376 - F src/vdbeaux.c 41cf1fc6434fb7dd43c2ec5eff6cb0124a2f9ac0 ++F src/vdbeaux.c dfaa1694e43aea6470a53e50a318fe9f54d63374 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 24b994ef487ee554273beffe57239abd0f5f536c - F src/wal.h 313ef1ffc435960563f655fec0d6e92f736946f5 -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 af623942514571895818b9b7ae11db95ae3b3d88 + F src/where.c f2cf59751f7facb4c422adf83ddc989aa5772874 F test/8_3_names.test 631ea964a3edb091cf73c3b540f6bcfdb36ce823 F test/aggerror.test a867e273ef9e3d7919f03ef4f0e8c0d2767944f2 F test/alias.test 4529fbc152f190268a15f9384a5651bbbabc9d87 @@@ -399,10 -395,10 +399,10 @@@ F test/enc.test e54531cd6bf941ee6760be0 F test/enc2.test 796c59832e2b9a52842f382ffda8f3e989db03ad F test/enc3.test 90683ad0e6ea587b9d5542ca93568af9a9858c40 F test/enc4.test c8f1ce3618508fd0909945beb8b8831feef2c020 - F test/eqp.test f14fadd76da53405e9885e2431cacf7191d83cdb + F test/eqp.test 6a389bba6ea113fd5179515001be788a38d53ec7 F test/errmsg.test 3bb606db9d040cc6854459f8f5e5a2bcd9b7fd2a F test/eval.test bc269c365ba877554948441e91ad5373f9f91be3 -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 @@@ -515,9 -513,9 +517,9 @@@ F test/in.test a7b8a0f43da81cd08645b7a7 F test/in2.test 5d4c61d17493c832f7d2d32bef785119e87bde75 F test/in3.test 3cbf58c87f4052cee3a58b37b6389777505aa0c0 F test/in4.test 64f3cc1acde1b9161ccdd8e5bde3daefdb5b2617 - F test/incrblob.test 3307c04876fe025e10256e3cc8050ab5a84aa27f + F test/incrblob.test 26fde912a1e0aff158b3a84ef3b265f046aad3be 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 d2a6ddf5e429720b5fe502766af747915ccf6c32 @@@ -549,10 -547,10 +551,10 @@@ F test/join2.test f2171c265e57ee298a27e F test/join3.test 6f0c774ff1ba0489e6c88a3e77b9d3528fb4fda0 F test/join4.test 1a352e4e267114444c29266ce79e941af5885916 F test/join5.test 86675fc2919269aa923c84dd00ee4249b97990fe - F test/join6.test bf82cf3f979e9eade83ad0d056a66c5ed71d1901 + F test/join6.test cfe6503791ceb0cbb509966740286ec423cbf10b F test/journal1.test 8b71ef1ed5798bdc0e6eb616d8694e2c2c188d4d F test/journal2.test ae06f566c28552c313ded3fee79a6c69e6d049b1 - F test/journal3.test cd6dbabe2c3aa680e1541cdac74de9c73686feec -F test/journal3.test ff8af941f9e06161d3db1b46bb9f965ff0e7f307 ++F test/journal3.test ef775301aa8c64c80efa859e6aa0207add921a93 F test/jrnlmode.test 9ee3a78f53d52cca737db69293d15dc41c0cbd36 F test/jrnlmode2.test 81610545a4e6ed239ea8fa661891893385e23a1d F test/jrnlmode3.test 556b447a05be0e0963f4311e95ab1632b11c9eaa @@@ -615,9 -612,9 +617,9 @@@ F test/misc5.test 528468b26d03303b1f047 F test/misc6.test 953cc693924d88e6117aeba16f46f0bf5abede91 F test/misc7.test 6743b810884ef64ae14c07ad1f9f858c40c06100 F test/misuse.test ba4fb5d1a6101d1c171ea38b3c613d0661c83054 -F test/multiplex.test e08cc7177bd6d85990ee1d71100bb6c684c02256 +F test/multiplex.test 85a4be2b23e7294d468b6e3a578ec00020723bee F test/multiplex2.test 580ca5817c7edbe4cc68fa150609c9473393003a - F test/multiplex3.test 15903c343f1eaa4b00998b7ceacfc4987e4ccfe9 + F test/multiplex3.test d228f59eac91839a977eac19f21d053f03e4d101 F test/mutex1.test 78b2b9bb320e51d156c4efdb71b99b051e7a4b41 F test/mutex2.test bfeaeac2e73095b2ac32285d2756e3a65e681660 F test/nan.test e9648b9d007c7045242af35e11a984d4b169443a @@@ -638,8 -635,8 +640,8 @@@ F test/pageropt.test 9191867ed19a2b3db6 F test/pagesize.test 1dd51367e752e742f58e861e65ed7390603827a0 F test/pcache.test 065aa286e722ab24f2e51792c1f093bf60656b16 F test/pcache2.test a83efe2dec0d392f814bfc998def1d1833942025 - F test/permutations.test fa6f0e5f13fe0b1d3f7a7613179b7f7b20028184 - F test/pragma.test 76d644288007c7eb74650ab6e261e6f78e48cb0f + F test/permutations.test 2b5a1b64a8e5114757457fbce9010387d1fe7682 -F test/pragma.test f11c59ec935a52edb4d3d5676d456588121fcefa ++F test/pragma.test ac4448f41ce198094c5b81b156191a8a563803c2 F test/pragma2.test 3a55f82b954242c642f8342b17dffc8b47472947 F test/printf.test ec9870c4dce8686a37818e0bf1aba6e6a1863552 F test/progress.test 5b075c3c790c7b2a61419bc199db87aaf48b8301 @@@ -681,10 -678,10 +683,10 @@@ F test/select8.test 391de11bdd52339c305 F test/select9.test 74c0fb2c6eecb0219cbed0cbe3df136f8fbf9343 F test/selectA.test 06d1032fa9009314c95394f2ca2e60d9f7ae8532 F test/selectB.test 954e4e49cf1f896d61794e440669e03a27ceea25 - F test/selectC.test f9bf1bc4581b5b8158caa6e4e4f682acb379fb25 + F test/selectC.test 871fb55d884d3de5943c4057ebd22c2459e71977 F test/server1.test 46803bd3fe8b99b30dbc5ff38ffc756f5c13a118 -F test/shared.test 34945a516532b11182c3eb26e31247eee3c9ae48 +F test/shared.test 9d9b7085f877a8fd4bf3b353f53e52352edbf3f5 - F test/shared2.test 8f71d4eb4d5261280de92284df74172545c852cc + F test/shared2.test 03eb4a8d372e290107d34b6ce1809919a698e879 F test/shared3.test ebf77f023f4bdaa8f74f65822b559e86ce5c6257 F test/shared4.test 72d90821e8d2fc918a08f16d32880868d8ee8e9d F test/shared6.test 866bb4982c45ce216c61ded5e8fde4e7e2f3ffa9 @@@ -706,15 -703,15 +708,15 @@@ F test/speed4.test abc0ad3399dcf9703abe F test/speed4p.explain 6b5f104ebeb34a038b2f714150f51d01143e59aa F test/speed4p.test 0e51908951677de5a969b723e03a27a1c45db38b F test/sqllimits1.test b1aae27cc98eceb845e7f7adf918561256e31298 - F test/stat.test 36bc951bdc2beac4224cc54396fd6a7dc65336f4 + F test/stat.test 08e8185b3fd5b010c90d7ad82b9dd4ea1cbf14b0 -F test/stmt.test 25d64e3dbf9a3ce89558667d7f39d966fe2a71b9 +F test/stmt.test 78a6764439cfa5abdcbf98d4d084739e81eeec4f F test/subquery.test b524f57c9574b2c0347045b4510ef795d4686796 F test/subquery2.test edcad5c118f0531c2e21bf16a09bbb105252d4cd F test/subselect.test d24fd8757daf97dafd2e889c73ea4c4272dcf4e4 F test/substr.test 18f57c4ca8a598805c4d64e304c418734d843c1a -F test/superlock.test 1cde669f68d2dd37d6c9bd35eee1d95491ae3fc2 +F test/superlock.test d69dcf1cd52c52c38dbb2df432233e1ecb62fd09 F test/sync.test a34cd43e98b7fb84eabbf38f7ed8f7349b3f3d85 - F test/syscall.test 265cda616f56a297406728ee1e74c9b4a93aa6dd + F test/syscall.test bea9bf329bff733c791310244617c2a76974e64a F test/sysfault.test c79441d88d23696fbec7b147dba98d42a04f523f F test/table.test a59d985ca366e39b17b175f387f9d5db5a18d4e2 F test/tableapi.test 2674633fa95d80da917571ebdd759a14d9819126 @@@ -909,24 -906,25 +911,25 @@@ F test/vtabE.test 7c4693638d7797ce2eda1 F test/vtabF.test fd5ad376f5a34fe0891df1f3cddb4fe7c3eb077e F test/vtab_alter.test 9e374885248f69e251bdaacf480b04a197f125e5 F test/vtab_err.test 0d4d8eb4def1d053ac7c5050df3024fd47a3fbd8 - F test/vtab_shared.test 0eff9ce4f19facbe0a3e693f6c14b80711a4222d + F test/vtab_shared.test 82f463886e18d7f8395a4b6167c91815efe54839 -F test/wal.test edefe316b4125d7f68004ea53c5e73c398d436cc +F test/wal.test ed0d04a508e4e4899c688c56028f453c75f2166d - F test/wal2.test f11883dd3cb7f647c5d2acfd7b5c6d4ba5770cc9 + 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 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 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 @@@ -994,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 2cc414cd144cd84aad6420058c6e674c2920ba72 92131195d0c24c0116992db51ed5d8316626ba57 - R 3a2933be457913ac9fcccd0dfd540438 -P 99a9073b5e411ce94f38ce49608baaa15de8b850 -R d0dc4635c0ac977f7342c0a0dac9e48b -U dan -Z d6573fd4e75425ab6ee13bee3b518e09 ++P e248598649dd69ed4b4d3da80566d2a7a36a349a b00ccda307caae597c143ab0586f90acb77f79cf ++R 59ab807b891fb7ced75f555304ceb82c +U drh - Z fd224f852d9f234a5ccb35fd53d9134b ++Z b82bbcdcd5a26a1ea6e4a5504dbe3ce2 diff --cc manifest.uuid index 3881d2cc66,dda6c5d414..1408d32dc7 --- a/manifest.uuid +++ b/manifest.uuid @@@ -1,1 -1,1 +1,1 @@@ - e248598649dd69ed4b4d3da80566d2a7a36a349a -b00ccda307caae597c143ab0586f90acb77f79cf ++504bf4908618f4dc8c9d67380934016b311ca6d0 diff --cc src/os_unix.c index 1902a7eb75,48c130935e..be50b43719 --- a/src/os_unix.c +++ b/src/os_unix.c @@@ -5940,14 -5123,10 +5982,14 @@@ static int unixOpen if( isExclusive ) openFlags |= (O_EXCL|O_NOFOLLOW); openFlags |= (O_LARGEFILE|O_BINARY); +#if SQLITE_ENABLE_DATA_PROTECTION + p->protFlags = (flags & SQLITE_OPEN_FILEPROTECTION_MASK); +#endif + if( fd<0 ){ mode_t openMode; /* Permissions to create file with */ - uid_t uid; - gid_t gid; + uid_t uid; /* Userid for the file */ + gid_t gid; /* Groupid for the file */ rc = findCreateFileMode(zName, flags, &openMode, &uid, &gid); if( rc!=SQLITE_OK ){ assert( !p->pUnused ); @@@ -5969,16 -5148,17 +6011,27 @@@ rc = unixLogError(SQLITE_CANTOPEN_BKPT, "open", zName); goto open_finished; } + /* if we're opening the wal or journal and running as root, set the journal uid/gid */ + if( !isReadonly && (flags & (SQLITE_OPEN_WAL|SQLITE_OPEN_MAIN_JOURNAL)) ){ + uid_t euid = geteuid(); + if( euid==0 && (euid!=uid || getegid()!=gid) ){ + if( fchown(fd, uid, gid) ){ + rc = SQLITE_CANTOPEN_BKPT; + goto open_finished; + } + } + } + + /* If this process is running as root and if creating a new rollback + ** journal or WAL file, set the ownership of the journal or WAL to be + ** the same as the original database. If we are not running as root, + ** then the fchown() call will fail, but that's ok. The "if(){}" and + ** the setting of the UNIXFILE_CHOWN flag are purely to silence compiler + ** warnings from gcc. + */ + if( flags & (SQLITE_OPEN_WAL|SQLITE_OPEN_MAIN_JOURNAL) ){ + if( osFchown(fd, uid, gid)==0 ){ p->ctrlFlags |= UNIXFILE_CHOWN; } + } } assert( fd>=0 ); if( pOutFlags ){ @@@ -7167,18 -6293,10 +7219,17 @@@ static int proxyTakeConch(unixFile *pFi if( rc==SQLITE_OK && pFile->openFlags ){ int fd; if( pFile->h>=0 ){ +#if defined(STRICT_CLOSE_ERROR) && OSCLOSE_CHECK_CLOSE_IOERR + if( close(pFile->h) ){ + pFile->lastErrno = errno; + return SQLITE_IOERR_CLOSE; + } +#else robust_close(pFile, pFile->h, __LINE__); +#endif } pFile->h = -1; - fd = robust_open(pCtx->dbPath, pFile->openFlags, - SQLITE_DEFAULT_FILE_PERMISSIONS); + fd = robust_open(pCtx->dbPath, pFile->openFlags, 0); OSTRACE(("TRANSPROXY: OPEN %d\n", fd)); if( fd>=0 ){ pFile->h = fd; diff --cc test/journal3.test index b96a21d92d,939cc27c70..0430f69f96 --- a/test/journal3.test +++ b/test/journal3.test @@@ -20,9 -20,11 +20,11 @@@ source $testdir/malloc_common.tc # If a connection is required to create a journal file, it creates it with # the same file-system permissions as the database file itself. Test this. # -if {$::tcl_platform(platform) == "unix"} { +if {$::tcl_platform(platform) == "unix" && ![path_is_dos "."]} { - set umask [exec /bin/sh -c umask] + # Changed on 2012-02-13: umask is deliberately ignored for -wal, -journal, + # and -shm files. + #set umask [exec /bin/sh -c umask] faultsim_delete_and_reopen do_test journal3-1.1 { execsql { CREATE TABLE tx(y, z) } } {}