]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Pull in all the latest trunk changes.
authordrh <drh@noemail.net>
Mon, 5 Mar 2012 16:39:56 +0000 (16:39 +0000)
committerdrh <drh@noemail.net>
Mon, 5 Mar 2012 16:39:56 +0000 (16:39 +0000)
FossilOrigin-Name: 504bf4908618f4dc8c9d67380934016b311ca6d0

17 files changed:
1  2 
manifest
manifest.uuid
src/btree.c
src/func.c
src/main.c
src/os_unix.c
src/pager.c
src/pragma.c
src/select.c
src/sqlite.h.in
src/sqliteInt.h
src/vdbe.c
src/vdbeaux.c
src/wal.c
src/wal.h
test/journal3.test
test/pragma.test

diff --cc manifest
index 00919201c396baa403f4d1f21cc925523f6d3b87,804df3f20bfecc51e8c0068b1f84cc5202bd7cdc..ae4279758db2f7162246664af3e1748a44367005
+++ 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/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/wal8.test 5ab217d21f7e5e86af2933a4ffd0d8357cc2c0bd
 +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 3881d2cc663437458f180e944bc62b5c0dbf6c6c,dda6c5d4144f7aa95e27b4eb7b00807dd9bffbf6..1408d32dc7ac718579a2ac5279f1c070a4ede456
@@@ -1,1 -1,1 +1,1 @@@
- e248598649dd69ed4b4d3da80566d2a7a36a349a
 -b00ccda307caae597c143ab0586f90acb77f79cf
++504bf4908618f4dc8c9d67380934016b311ca6d0
diff --cc src/btree.c
Simple merge
diff --cc src/func.c
Simple merge
diff --cc src/main.c
Simple merge
diff --cc src/os_unix.c
index 1902a7eb75c568f99f4d9f20ddb645aeb781b427,48c130935e983fe74c8a1f4325fdb55bb95fa91b..be50b43719638cd58781e080d1bdebccd44b0ee5
@@@ -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 );
        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 src/pager.c
Simple merge
diff --cc src/pragma.c
Simple merge
diff --cc src/select.c
Simple merge
diff --cc src/sqlite.h.in
Simple merge
diff --cc src/sqliteInt.h
Simple merge
diff --cc src/vdbe.c
Simple merge
diff --cc src/vdbeaux.c
Simple merge
diff --cc src/wal.c
Simple merge
diff --cc src/wal.h
Simple merge
index b96a21d92db2909b141c0a2f70666a91ae0182eb,939cc27c7084b029a8173d69e9881b5b5bcd2609..0430f69f96ec4565d1988ab5f9ec124a944d462d
@@@ -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) } } {}
  
Simple merge