From: drh Date: Tue, 16 Dec 2014 00:29:06 +0000 (+0000) Subject: Merge latest fixes and enhancements from trunk into apple-osx. X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=79e319ef93cb4a26f2162b4bf76e928b862b0481;p=thirdparty%2Fsqlite.git Merge latest fixes and enhancements from trunk into apple-osx. FossilOrigin-Name: 2c1d8ddab23b36dbdd30ff82401925f97ffc5d76 --- 79e319ef93cb4a26f2162b4bf76e928b862b0481 diff --cc manifest index 1b2dbb0d78,012153429f..fc060595c1 --- a/manifest +++ b/manifest @@@ -1,7 -1,7 +1,7 @@@ - C Increase\sthe\sdefault\sPMA\ssize\sfrom\s10\sto\s250\spages\sand\sprovide\sthe\nSQLITE_SORTER_PMASZ\scompile-time\soption\sto\schange\sthis\sdefault.\s\sAdd\nneeded\smutex\scall\swhen\sclearing\sthe\sKeyInfo\scache\sin\sshared-cache\smode. - D 2014-12-09T15:01:07.090 -C Enhanced\s"stress2"\stesting\sin\sthe\sthreadtest3.c\stest\sprogram. -D 2014-12-16T00:20:07.236 ++C Merge\slatest\sfixes\sand\senhancements\sfrom\strunk\sinto\sapple-osx. ++D 2014-12-16T00:29:06.447 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f -F Makefile.in 6c4f961fa91d0b4fa121946a19f9e5eac2f2f809 +F Makefile.in 4551c03de49c2a4d400016f9007df2528d79e3cd F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 F Makefile.msc 10720782f88648bf2b5dcedf4c1524b067d43e47 F Makefile.vxworks 034289efa9d591b04b1a73598623119c306cbba0 @@@ -155,7 -152,7 +155,7 @@@ F ext/userauth/userauth.c 5fa3bdb492f48 F install-sh 9d4de14ab9fb0facae2f48780b874848cbf2f895 x F ltmain.sh 3ff0879076df340d2e23ae905484d8c15d5fdea8 F magic.txt 8273bf49ba3b0c8559cb2774495390c31fd61c60 - F main.mk 38606b15b2fcbf2ed6222decebda345270d75dc9 -F main.mk 9f8c54fe62b60e0a24a2e65cfc8d2add063dda07 ++F main.mk 29f7eb2f663c0bc93b36afe30a05ea0b19078eaa F mkopcodec.awk c2ff431854d702cdd2d779c9c0d1f58fa16fa4ea F mkopcodeh.awk c6b3fa301db6ef7ac916b14c60868aeaec1337b5 F mkso.sh fd21c06b063bb16a5d25deea1752c2da6ac3ed83 @@@ -176,10 -173,10 +176,10 @@@ F src/auth.c b56c78ebe40a2110fd361379f7 F src/backup.c 7ddee9c7d505e07e959a575b18498f17c71e53ea F src/bitvec.c 19a4ba637bd85f8f63fc8c9bae5ade9fb05ec1cb F src/btmutex.c 49ca66250c7dfa844a4d4cb8272b87420d27d3a5 - F src/btree.c e8325955bd7f6e9e55b695b8e56f541b7637e831 -F src/btree.c 92f745ccd18099973beb28e25fce80148545429e ++F src/btree.c ecb04166882bb1a968cc6c8985bfe22c7bad3c99 F src/btree.h e31a3a3ebdedb1caf9bda3ad5dbab3db9b780f6e F src/btreeInt.h 3363e18fd76f69a27a870b25221b2345b3fd4d21 - F src/build.c 67bb05b1077e0cdaccb2e36bfcbe7a5df9ed31e8 + F src/build.c 162d84e4833b03f9d07192ef06057b0226f6e543 F src/callback.c 7b44ce59674338ad48b0e84e7b72f935ea4f68b0 F src/complete.c c4ba6e0626bb94bc77a0861735f3382fcf7cc818 F src/ctime.c df19848891c8a553c80e6f5a035e768280952d1a @@@ -195,10 -192,10 +195,10 @@@ F src/hash.h c8f3c31722cf3277d037139097 F src/hwtime.h d32741c8f4df852c7d959236615444e2b1063b08 F src/insert.c 5b9243a33726008cc4132897d2be371db12a13be F src/journal.c b4124532212b6952f42eb2c12fa3c25701d8ba8d -F src/legacy.c ba1863ea58c4c840335a84ec276fc2b25e22bc4e +F src/legacy.c 9c17d86e06522c261307f0eb6bcb1254c8b04a59 F src/lempar.c 7274c97d24bb46631e504332ccd3bd1b37841770 - F src/loadext.c de741e66e5ddc1598d904d7289239696e40ed994 - F src/main.c 02f8f92211f8a277b60a42bfcee3765311c030f1 + F src/loadext.c 86bd4e2fccd520b748cba52492ab60c4a770f660 -F src/main.c 48e0410a661c629471ca9061d4153245cc9f853b ++F src/main.c 8e1b6b45e15c22f087417c20c2727ff12cbae1e2 F src/malloc.c 740db54387204c9a2eb67c6d98e68b08e9ef4eab F src/mem0.c 6a55ebe57c46ca1a7d98da93aaa07f99f1059645 F src/mem1.c faf615aafd8be74a71494dfa027c113ea5c6615f @@@ -216,33 -213,32 +216,33 @@@ F src/os.c 5822c2b843a77219bba1e28887cd F src/os.h 3e57a24e2794a94d3cf2342c6d9a884888cd96bf F src/os_common.h 92815ed65f805560b66166e3583470ff94478f04 F src/os_setup.h c9d4553b5aaa6f73391448b265b89bed0b890faa -F src/os_unix.c fb587121840f690101336879adfa6d0b2cd0e8c7 -F src/os_win.c ecb04a0dad2fa6fa659931a9d8f0f3aca33f908a +F src/os_unix.c 2af3813fd2df6f5d016d1dfef541d2c9e98fd600 - F src/os_win.c 1a38ad1288b4b263c85d124093b8a6f59702925b ++F src/os_win.c 76068f9daea55e09e242fe88474d84a44cb2e544 F src/os_win.h 09e751b20bbc107ffbd46e13555dc73576d88e21 -F src/pager.c 7a5c5bc0e29b9b16834f5558a9d5d22bbae59a08 -F src/pager.h d1eee3c3f741be247ce6d82752a178515fc8578b +F src/pager.c 0bfd3ceb7254cca749866f852412984f81c2389d +F src/pager.h 78ba46ce1f98b9a9791f4b39e52aedd6ed988472 F src/parse.y 5dfead8aed90cb0c7c1115898ee2266804daff45 F src/pcache.c ace1b67632deeaa84859b4c16c27711dfb7db3d4 F src/pcache.h b44658c9c932d203510279439d891a2a83e12ba8 F src/pcache1.c facbdd3ecc09c8f750089d941305694301328e98 - F src/pragma.c 0de5c12a996108c3ffd4ce0a6be7a1d2e5ae5450 - F src/prepare.c 307a3ddc2f087df85114c5e4bfcc4a55c9970cde -F src/pragma.c c93be505649183b2d80082c2eef1a56879dabfe6 -F src/prepare.c 173a5a499138451b2561614ecb87d78f9f4644b9 ++F src/pragma.c 8ed75925574e21827668228374c6152cbdb77ed2 ++F src/prepare.c 01740b0d6b8f5c6da421a86c300464ff5b53e167 F src/printf.c 9e75a6a0b55bf61cfff7d7e19d89834a1b938236 F src/random.c ba2679f80ec82c4190062d756f22d0c358180696 F src/resolve.c f6c46d3434439ab2084618d603e6d6dbeb0d6ada F src/rowset.c eccf6af6d620aaa4579bd3b72c1b6395d9e9fa1e -F src/select.c f377fb8a5c73c10678ea74f3400f7913943e3d75 +F src/select.c 4f48f3b05e5c8aa272a13b79645a0b308caef9dc F src/shell.c 45d9c9bd7cde07845af957f2d849933b990773cf - F src/sqlite.h.in 58d18cf47b056ba56ed2c566c783026bc742ea2c -F src/sqlite.h.in 116dc731361549ee3fc79dcebace11b57d24dcfd ++F src/sqlite.h.in debf15893171b7ae385b8c2adaf9341271c2b12e F src/sqlite3.rc 992c9f5fb8285ae285d6be28240a7e8d3a7f2bad +F src/sqlite3_private.h a81a9c5f97c095cc3e86914a05f8fabe0011f4a1 F src/sqlite3ext.h 17d487c3c91b0b8c584a32fbeb393f6f795eea7d - F src/sqliteInt.h be4da0e05d15aa60ce50994c51856e31e4ee405c -F src/sqliteInt.h d36da9a07130cae13cbfee0986bf20028cb01465 ++F src/sqliteInt.h 5d511f0bd57361999f1fbe7672ed75f3bcc1c2c4 F src/sqliteLimit.h 164b0e6749d31e0daa1a4589a169d31c0dec7b3d F src/status.c 81712116e826b0089bb221b018929536b2b5406f F src/table.c f142bba7903e93ca8d113a5b8877a108ad1a27dc - F src/tclsqlite.c 0a874655dd39a9875e39c5d3c464db662171d228 - F src/test1.c 6ee15f0a993b33514879560d18ba42f0bd4410a4 + F src/tclsqlite.c c6a21c64da1490e14d53cdc2062d1e2e57942622 -F src/test1.c 56e33bf6b1827c6ca7520c189131ddd778fb2267 ++F src/test1.c d1d7f6fb79bfe8c1e0e2e419f7963090f0082bd7 F src/test2.c 98049e51a17dc62606a99a9eb95ee477f9996712 F src/test3.c 1c0e5d6f080b8e33c1ce8b3078e7013fdbcd560c F src/test4.c 9b32d22f5f150abe23c1830e2057c4037c45b3df @@@ -295,22 -291,22 +295,22 @@@ F src/update.c 3c4ecc282accf12d39edb8d5 F src/utf.c fc6b889ba0779b7722634cdeaa25f1930d93820c F src/util.c 3b627daa45c7308c1e36e3dbaa3f9ce7e5c7fa73 F src/vacuum.c 9b30ec729337dd012ed88d4c292922c8ef9cf00c -F src/vdbe.c 1a9e671c9cfc259e4d2affc71f7df4a4c00a842c +F src/vdbe.c 9f43973c08d115f5fbe46fe30663e536018d7b43 F src/vdbe.h 6fc69d9c5e146302c56e163cb4b31d1ee64a18c3 F src/vdbeInt.h 9bb69ff2447c34b6ccc58b34ec35b615f86ead78 - F src/vdbeapi.c 55cd14500f305264983952b816d3d3ce91501b3a -F src/vdbeapi.c 4bc511a46b9839392ae0e90844a71dc96d9dbd71 -F src/vdbeaux.c 6f7f39c3fcf0f5923758df8561bb5d843908a553 ++F src/vdbeapi.c ad6b1bde19d27ec5b278af4a8182ff60fdae5bc3 +F src/vdbeaux.c 6f91a25abf07dbbda79c155e5ae8860816dcef13 F src/vdbeblob.c 4af4bfb71f6df7778397b4a0ebc1879793276778 F src/vdbemem.c 31d8eabb0cd78bfeab4e5124c7363c3e9e54db9f - F src/vdbesort.c db015e20a77b25eca4d1e125815f4998a3ca1354 + F src/vdbesort.c c150803a3e98fbc68bd07772cbbd4328a0a7212d F src/vdbetrace.c 7e4222955e07dd707a2f360c0eb73452be1cb010 F src/vtab.c c08ec66f45919eaa726bf88aa53eb08379d607f9 -F src/wal.c 847692349eb6e1fb8543dbc97e69ddbfa4cc7ea7 -F src/wal.h df01efe09c5cb8c8e391ff1715cca294f89668a4 +F src/wal.c 75f2d8b18c846910406da9700e7dd4fc67b76030 +F src/wal.h 6b3a67ecd7172dcc9f18fc9cd4d76dc4c2166e68 F src/walker.c c253b95b4ee44b21c406e2a1052636c31ea27804 - F src/where.c e914fdb9159bb36af4a673193bbda08aaf9e5a73 + F src/where.c d46de821bc604a4fd36fa3928c086950e91aafb1 F src/whereInt.h d3633e9b592103241b74b0ec76185f3e5b8b62e0 -F test/8_3_names.test ebbb5cd36741350040fd28b432ceadf495be25b2 +F test/8_3_names.test 05034aadccd2253ffe6cbefb06662b8aa4600f77 F test/aggerror.test a867e273ef9e3d7919f03ef4f0e8c0d2767944f2 F test/aggnested.test b35b4cd69fc913f90d39a575e171e1116c3a4bb7 F test/alias.test 4529fbc152f190268a15f9384a5651bbbabc9d87 @@@ -695,13 -693,12 +697,13 @@@ F test/lock.test 87af515b0c4cf928576d0f F test/lock2.test 5242d8ac4e2d59c403aebff606af449b455aceff F test/lock3.test f271375930711ae044080f4fe6d6eda930870d00 F test/lock4.test e175ae13865bc87680607563bafba21f31a26f12 - F test/lock5.test 84971f57f31f44144d2cc2fadaf3f21c927ce3c2 -F test/lock5.test c6c5e0ebcb21c61a572870cc86c0cb9f14cede38 -F test/lock6.test ad5b387a3a8096afd3c68a55b9535056431b0cf5 ++F test/lock5.test 1f1e0fd1670deef8c0a76e8f895bd5e124133ca4 +F test/lock6.test 83434ae8ca1d1c5e2eaf74d4e44aa24ab62b291c F test/lock7.test 49f1eaff1cdc491cc5dee3669f3c671d9f172431 F test/lock_common.tcl 0c270b121d40959fa2f3add382200c27045b3d95 +F test/lock_proxy.test 95be9c32d79be25cf643b4e41a0aa0e53aa21621 F test/lookaside.test 93f07bac140c5bb1d49f3892d2684decafdc7af2 -F test/main.test 39c4bb8a157f57298ed1659d6df89d9f35aaf2c8 +F test/main.test 3991157c720c2b2b9ec27254d940f06ab81aab84 F test/make-where7.tcl 05c16b5d4f5d6512881dfec560cb793915932ef9 F test/malloc.test 96939d2d1a6f39667bbebe5bc27c6525f2ab614e F test/malloc3.test e3b32c724b5a124b57cb0ed177f675249ad0c66a @@@ -785,7 -782,7 +787,7 @@@ F test/pcache.test 488061b5dd685df2234d F test/pcache2.test a83efe2dec0d392f814bfc998def1d1833942025 F test/percentile.test b98fc868d71eb5619d42a1702e9ab91718cbed54 F test/permutations.test 4e12d43f4639ea8a0e366d9c64e0009afe2eb544 - F test/pragma.test 1666a0a9fb910b7f45d0c3f413d54c1d997be3cc -F test/pragma.test aa16dedfe01c02c8895169012f7dfde9c163f0d5 ++F test/pragma.test 7d7823c30925e6c18da6bf7bb4436b762188527f F test/pragma2.test aea7b3d82c76034a2df2b38a13745172ddc0bc13 F test/printf.test ec9870c4dce8686a37818e0bf1aba6e6a1863552 F test/printf2.test b4acd4bf8734243257f01ddefa17c4fb090acc8a @@@ -1231,7 -1232,8 +1237,7 @@@ F tool/vdbe_profile.tcl 67746953071a9f8 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4 F tool/warnings.sh 0abfd78ceb09b7f7c27c688c8e3fe93268a13b32 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f - P 8a9b43f930de9c789b230909233eee64ad1db93d b05340fe3cd5f1676a55023228dc8d1a92de5936 - R 459846a9088bf83459128c7ec2ff80a6 -P 5b1b697040116048e464b3ebab8395fe088e389a 5648af96d8e2521c5b0cca19f1358374d032394d -R 64bec50dd05bb00af986c569d5edb044 -T +closed 5648af96d8e2521c5b0cca19f1358374d032394d ++P 6e2da589ad562e0e412eb6572a8681225259b46e ae43539e62e76676a3daf561b629a1b9b4e2d2c9 ++R 062b153fdb4b740458fab0b4a751757b U drh - Z 5aa3333e205b6c4facb3ed20507b268f -Z 1075019e3631a6f364d3a72648c7dd6d ++Z d8403ec8372c85631fe585acadb7f151 diff --cc manifest.uuid index b807135028,209ef7a57a..70ebb18565 --- a/manifest.uuid +++ b/manifest.uuid @@@ -1,1 -1,1 +1,1 @@@ - 6e2da589ad562e0e412eb6572a8681225259b46e -ae43539e62e76676a3daf561b629a1b9b4e2d2c9 ++2c1d8ddab23b36dbdd30ff82401925f97ffc5d76 diff --cc test/lock5.test index 202ee9038b,99214afb19..7e20f455d3 --- a/test/lock5.test +++ b/test/lock5.test @@@ -106,77 -106,78 +106,77 @@@ if {[catch {sqlite3 db test.db -vfs uni return } -do_test lock5-flock.1 { - sqlite3 db test.db -vfs unix-flock - execsql { - CREATE TABLE t1(a, b); - BEGIN; - INSERT INTO t1 VALUES(1, 2); - } -} {} - -# Make sure we are not accidentally using the dotfile locking scheme. -do_test lock5-flock.2 { - file exists test.db.lock -} {0} - -do_test lock5-flock.3 { - catch { sqlite3 db2 test.db -vfs unix-flock } - catchsql { SELECT * FROM t1 } db2 -} {1 {database is locked}} - -do_test lock5-flock.4 { - execsql COMMIT - catchsql { SELECT * FROM t1 } db2 -} {0 {1 2}} - -do_test lock5-flock.5 { - execsql BEGIN - catchsql { SELECT * FROM t1 } db2 -} {0 {1 2}} - -do_test lock5-flock.6 { - execsql {SELECT * FROM t1} - catchsql { SELECT * FROM t1 } db2 -} {1 {database is locked}} - -do_test lock5-flock.7 { - db close - catchsql { SELECT * FROM t1 } db2 -} {0 {1 2}} - -do_test lock5-flock.8 { - db2 close -} {} - -##################################################################### - -do_test lock5-none.1 { - sqlite3 db test.db -vfs unix-none - sqlite3 db2 test.db -vfs unix-none - execsql { PRAGMA mmap_size = 0 } db2 - execsql { - BEGIN; - INSERT INTO t1 VALUES(3, 4); - } -} {} -do_test lock5-none.2 { - execsql { SELECT * FROM t1 } -} {1 2 3 4} -do_test lock5-none.3 { - execsql { SELECT * FROM t1; } db2 -} {1 2} -do_test lock5-none.4 { - execsql { - BEGIN; - SELECT * FROM t1; - } db2 -} {1 2} -do_test lock5-none.5 { - execsql COMMIT - execsql {SELECT * FROM t1} db2 -} {1 2} - -ifcapable memorymanage { +# Only run the flock tests on a local file system +if { [path_is_local "."] } { + + do_test lock5-flock.1 { + sqlite3 db test.db -vfs unix-flock + execsql { + CREATE TABLE t1(a, b); + BEGIN; + INSERT INTO t1 VALUES(1, 2); + } + } {} + + # Make sure we are not accidentally using the dotfile locking scheme. + do_test lock5-flock.2 { + file exists test.db.lock + } {0} + + do_test lock5-flock.3 { + catch { sqlite3 db2 test.db -vfs unix-flock } + catchsql { SELECT * FROM t1 } db2 + } {1 {database is locked}} + + do_test lock5-flock.4 { + execsql COMMIT + catchsql { SELECT * FROM t1 } db2 + } {0 {1 2}} + + do_test lock5-flock.5 { + execsql BEGIN + catchsql { SELECT * FROM t1 } db2 + } {0 {1 2}} + + do_test lock5-flock.6 { + execsql {SELECT * FROM t1} + catchsql { SELECT * FROM t1 } db2 + } {1 {database is locked}} + + do_test lock5-flock.7 { + db close + catchsql { SELECT * FROM t1 } db2 + } {0 {1 2}} + + do_test lock5-flock.8 { + db2 close + } {} + + ##################################################################### + + do_test lock5-none.1 { + sqlite3 db test.db -vfs unix-none + sqlite3 db2 test.db -vfs unix-none + execsql { + BEGIN; + INSERT INTO t1 VALUES(3, 4); + } + } {} + do_test lock5-none.2 { + execsql { SELECT * FROM t1 } + } {1 2 3 4} + do_test lock5-flock.3 { + execsql { SELECT * FROM t1 } db2 + } {1 2} + do_test lock5-none.4 { + execsql { + BEGIN; + SELECT * FROM t1; + } db2 + } {1 2} + do_test lock5-none.5 { + execsql COMMIT - } ++ } {} do_test lock5-none.6 { sqlite3_release_memory 1000000 execsql {SELECT * FROM t1} db2