From: drh Date: Wed, 16 Dec 2015 19:55:57 +0000 (+0000) Subject: Merge recent enhancements from trunk. X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8c9ea487d0c68a7c7adf8f7447743ed49659d8b4;p=thirdparty%2Fsqlite.git Merge recent enhancements from trunk. FossilOrigin-Name: cb22efaf50d83d9a73fdf8d986e6ea2fc6500cfb --- 8c9ea487d0c68a7c7adf8f7447743ed49659d8b4 diff --cc manifest index 018ece16c9,249e331ec1..9f6b730781 --- a/manifest +++ b/manifest @@@ -1,6 -1,6 +1,6 @@@ -C Make\sgreater\suse\sof\sthe\sSQLITE_WITHIN\smacro. -D 2015-12-16T13:07:35.753 +C Merge\srecent\senhancements\sfrom\strunk. - D 2015-12-02T20:53:14.202 - F Makefile.in 23d9a63484a383fc64951b25ef44067930f98dc6 ++D 2015-12-16T19:55:57.894 + F Makefile.in 28bcd6149e050dff35d4dcfd97e890cd387a499d F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434 F Makefile.msc e8fdca1cb89a1b58b5f4d3a130ea9a3d28cb314d F README.md 8ecc12493ff9f820cdea6520a9016001cb2e59b7 @@@ -282,13 -276,13 +276,13 @@@ F src/auth.c b56c78ebe40a2110fd361379f7 F src/backup.c 2869a76c03eb393ee795416e2387005553df72bc F src/bitvec.c 1a78d450a17c5016710eec900bedfc5729bf9bdf F src/btmutex.c 45a968cc85afed9b5e6cf55bf1f42f8d18107f79 - F src/btree.c ab52539c0c321de2bf4bb1238cff11eaad55c0bb -F src/btree.c 84ede51e371a11c3dbb3e24ccc5e3e99594a6c00 -F src/btree.h 2d76dee44704c47eed323356a758662724b674a0 -F src/btreeInt.h 3ab435ed27adea54d040584b0bcc488ee7db1e38 -F src/build.c e83da4d004a4e050c01acbb821ff7a7b1019c29b ++F src/btree.c d8e450a560ec4b141c3c3e6c622386ff51ea972d +F src/btree.h beef31274289a103fa811a7d7adc2dcedbcf2077 +F src/btreeInt.h 99ebf5c9716a8dd1ea6c0583b624e8e0de148d61 +F src/build.c a3fa162b06a16e10136e1693b0eae9998a82b324 F src/callback.c 7b44ce59674338ad48b0e84e7b72f935ea4f68b0 F src/complete.c addcd8160b081131005d5bc2d34adf20c1c5c92f - F src/ctime.c 58eda76364fb6f374e044aa4493219b13abf9400 + F src/ctime.c 60e135af364d777a9ab41c97e5e89cd224da6198 F src/date.c fb1c99172017dcc8e237339132c91a21a0788584 F src/dbstat.c ffd63fc8ba7541476ced189b95e95d7f2bc63f78 F src/delete.c 00af9f08a15ddc5cba5962d3d3e5bf2d67b2e7da @@@ -323,28 -317,28 +317,28 @@@ F src/os.c 8fd25588eeba74068d41102d2681 F src/os.h 3e57a24e2794a94d3cf2342c6d9a884888cd96bf F src/os_common.h abdb9a191a367793268fe553d25bab894e986a0e F src/os_setup.h c9d4553b5aaa6f73391448b265b89bed0b890faa - F src/os_unix.c 60997373a8d90bd17e1c0e49d11ef361b713439b + F src/os_unix.c 0ca6d8710366fbb01a275160f018334cd347cbda F src/os_win.c 386fba30419e8458b13209781c2af5590eab2811 F src/os_win.h eb7a47aa17b26b77eb97e4823f20a00b8bda12ca - F src/pager.c d4c71e12bf9ac51ee38043aa718eace0b52c7e98 - F src/pager.h c6b437a6543c7c57d7f85ceb474e176f1e62163e -F src/pager.c 58d2593612acb6b542de6715b4af397ea1fa0a35 -F src/pager.h bf25005b4656cd805af43487c3139fca9678d0cc -F src/parse.y 23737e649c26ce327603799e57f5c2ff50e5e6ba ++F src/pager.c e290899d28c063a66029f813b39c61eb07018420 ++F src/pager.h d72d174e10f8ed64dbfb8172279c042c1d046f2e +F src/parse.y b0ad024157be717d43f9e1eb4f377873574153a3 F src/pcache.c 73895411fa6b7bd6f0091212feabbe833b358d23 F src/pcache.h 1ff11adce609ba7de139b6abfabaf9a2bac947b5 - F src/pcache1.c 46a110be31a8d9f9b41431733836822ca0dd27ab + F src/pcache1.c 72f644dc9e1468c72922eff5904048427b817051 F src/pragma.c f3e7147299ca05ef4304a36f1fd6e002729c72c6 - F src/pragma.h 3d94aebbebd2089899fecc01909bf2608b39507d + F src/pragma.h 64c78a648751b9f4f297276c4eb7507b14b4628c F src/prepare.c 82e5db1013846a819f198336fed72c44c974e7b1 - F src/printf.c ca05561795ad6c2fa47acdd007702586282f7feb + F src/printf.c af589a27b7d40f6f4f704e9eea99f02f18ad6d32 F src/random.c ba2679f80ec82c4190062d756f22d0c358180696 - F src/resolve.c f4c897ca76ca6d5e0b3f0499c627392ffe657c8e + F src/resolve.c a83b41104e6ff69855d03cd0aaa09e93927ec39f F src/rowset.c eccf6af6d620aaa4579bd3b72c1b6395d9e9fa1e - F src/select.c 1611828a7116e5f6cc1e69cd07d59b0d2c662ea9 - F src/shell.c 2796237990d42e6a5a7beafee65ef70cc8767d21 - F src/sqlite.h.in 5bd83191711d3dc85030326daa9e8e5226a495e7 + F src/select.c f8fded11fc443a9f5a73cc5db069d06b34460e2f + F src/shell.c abbc74ea43dbf2f306ea18282d666683fb5efab2 + F src/sqlite.h.in 7d87d71b9a4689c51fa092f48f16590ff71558e3 F src/sqlite3.rc 992c9f5fb8285ae285d6be28240a7e8d3a7f2bad - F src/sqlite3ext.h 41ef50b0418a7c5ad1337bb80db5a7928dee764f - F src/sqliteInt.h f298ca1b9fc4826becdec3918f10d216a23ac4d1 + F src/sqlite3ext.h dfbe62ffd95b99afe2140d8c35b180d11924072d -F src/sqliteInt.h beb4a63b94428f52a3d7c7af2ba8bdc7d4682a03 ++F src/sqliteInt.h 175d7f7b557a27e739d003a0dec53bc807ae8565 F src/sqliteLimit.h 216557999cb45f2e3578ed53ebefe228d779cb46 F src/status.c 70912d7be68e9e2dbc4010c93d344af61d4c59ba F src/table.c 51b46b2a62d1b3a959633d593b89bab5e2c9155e @@@ -363,10 -357,10 +357,10 @@@ F src/test_autoext.c dea8a01a7153b9adc9 F src/test_backup.c 2e6e6a081870150f20c526a2e9d0d29cda47d803 F src/test_blob.c e5a7a81d61a780da79101aeb1e60d300af169e07 F src/test_btree.c 2e9978eca99a9a4bfa8cae949efb00886860a64f - F src/test_config.c 311a6bdbd6865d534e7c3cf853bb7dd865d63674 -F src/test_config.c 0dee90328e3dedf8ba002ee94b6a7e7ea7726fe4 ++F src/test_config.c cd88b616e98347bc6bbe84918ae3f4b8c1267590 F src/test_demovfs.c 0de72c2c89551629f58486fde5734b7d90758852 F src/test_devsym.c e7498904e72ba7491d142d5c83b476c4e76993bc - F src/test_fs.c aab47ac456316502faa265daadf9ac832fea12b9 + F src/test_fs.c 993c7eab65bed6add4bb48cca29775e963f710cf F src/test_func.c 0d9c25956152adefee8881c6fadc8354793764d0 F src/test_hexio.c abfdecb6fa58c354623978efceb088ca18e379cd F src/test_init.c 66b33120ffe9cd853b5a905ec850d51151337b32 @@@ -403,20 -397,20 +397,20 @@@ F src/trigger.c de3ed31ad3218a20d7d7e18 F src/update.c 17332f9fe818cbc0444c36a811800af8498af4c3 F src/utf.c fc6b889ba0779b7722634cdeaa25f1930d93820c F src/util.c e802e8e311a0d6c48cd1b3e89db164f6f0248d70 -F src/vacuum.c 2ddd5cad2a7b9cef7f9e431b8c7771634c6b1701 -F src/vdbe.c 0bc683e68a71d5151898b6b13cfeb277337335a4 +F src/vacuum.c 983cc3754718ef169a6ea9aef86798bd28106f21 - F src/vdbe.c ff46035880b746d7e2b126670078dae012b59c49 ++F src/vdbe.c 75beda4887a498ba0d754f4957a58a8b6e5944b6 F src/vdbe.h efb7a8c1459e31f3ea4377824c6a7e4cb5068637 F src/vdbeInt.h 75c2e82ee3357e9210c06474f8d9bdf12c81105d F src/vdbeapi.c 020681b943e77766b32ae1cddf86d7831b7374ca - F src/vdbeaux.c 1236e154f9e1ad37d3d5640f57f147002f3ec00e -F src/vdbeaux.c 68082d9991fc1b8625d34c8b5db1775c9dee426e ++F src/vdbeaux.c 0331f1d306c971bbf91a5ea16c9f361806dc54c3 F src/vdbeblob.c fdc4a81605ae7a35ae94a55bd768b66d6be16f15 F src/vdbemem.c fdd1578e47bea61390d472de53c565781d81e045 F src/vdbesort.c a7ec02da4494c59dfd071126dd3726be5a11459d F src/vdbetrace.c 8befe829faff6d9e6f6e4dee5a7d3f85cc85f1a0 F src/vtab.c 2a8b44aa372c33f6154208e7a7f6c44254549806 F src/vxworks.h c18586c8edc1bddbc15c004fa16aeb1e1342b4fb - F src/wal.c bacf8a69cfed6581600002519e4cd30c2220326e - F src/wal.h 361b16891d2772294b138054c84f5a3bad6e9d05 -F src/wal.c 974928c988681c5157202c79dd9f26afaa7b5086 -F src/wal.h 907943dfdef10b583e81906679a347e0ec6f1b1b ++F src/wal.c 773ba7c089be217dabc9c7e91941345d2b26d30d ++F src/wal.h e3ae126b25817dd1e5d779a1aaaa742218de5139 F src/walker.c 2e14d17f592d176b6dc879c33fbdec4fbccaa2ba F src/where.c b18edbb9e5afabb77f4f27550c471c5c824e0fe7 F src/whereInt.h e20801d89e34de1912bb6a3babb30c390da27add @@@ -1351,9 -1344,9 +1347,9 @@@ F test/wordcount.c 2a0a6c0d0e8e8bbbac1f F test/zeroblob.test 3857870fe681b8185654414a9bccfde80b62a0fa F test/zerodamage.test cf6748bad89553cc1632be51a6f54e487e4039ac F tool/GetFile.cs a15e08acb5dd7539b75ba23501581d7c2b462cb5 - F tool/GetTclKit.bat 8606413d3035c05373a0d7fae82ebf59ae9e16c3 + F tool/GetTclKit.bat 629d87562e0487c386db630033931d12d62e6372 -F tool/addopcodes.tcl 4ca9c3ef196f08da30add5d07ce0c9458dc8c633 +F tool/addopcodes.tcl 783164304cdbf2b473e119b2c4db0c01b92a2b84 - F tool/build-all-msvc.bat e42141ca3c3812315432f9813ef9eb78aa8d99c9 x + F tool/build-all-msvc.bat 204a039f985d5a4f4f9df3a3aa594fd17848c37e x F tool/build-shell.sh 950f47c6174f1eea171319438b93ba67ff5bf367 F tool/cg_anno.tcl 692ce4b8693d59e3a3de77ca97f4139ecfa641b0 x F tool/checkSpacing.c 810e51703529a204fc4e1eb060e9ab663e3c06d2 @@@ -1368,8 -1361,8 +1364,8 @@@ F tool/lemon.c 799e73e19a33b8dd7767a7fa F tool/lempar.c 3ec1463a034b37d87d782be5f6b8b10a3b1ecbe7 F tool/loadfts.c c3c64e4d5e90e8ba41159232c2189dba4be7b862 F tool/logest.c eef612f8adf4d0993dafed0416064cf50d5d33c6 - F tool/mkautoconfamal.sh 4bdf61548a143e5977bd86ab93d68b694d10c8fa + F tool/mkautoconfamal.sh 5a5441280b509d2bb3bdc71bfb63781b0d570373 -F tool/mkkeywordhash.c 06ec0b78bd4fa68c12d90ef2bdfe76b039133ff8 +F tool/mkkeywordhash.c 24c1fb16c51f4f72c9027230ff575c47b6d3b828 F tool/mkopcodec.tcl edde8adc42621b5e598127f8cdc6d52cfe21f52b F tool/mkopcodeh.tcl e04177031532b7aa9379ded50e820231ac4abd6e F tool/mkopts.tcl 66ac10d240cc6e86abd37dc908d50382f84ff46e @@@ -1411,7 -1404,7 +1407,7 @@@ F tool/vdbe_profile.tcl 246d0da094856d7 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4 F tool/warnings.sh 48bd54594752d5be3337f12c72f28d2080cb630b F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f - P 41c8b8e39bc0483cfbc0b4bfcc8ef8b2737a70a9 4f2bcff94c672312805be1400050a7026f93a9d7 - R 1055895e20d2661fa554c8715dd55dea -P 1928f8945b7cdf733129619b7ab02d1addf63478 -R 66e8a449a1ea9e4af724bc52e4baa50a ++P 9130661a786e4c158f15103be57467a5cc03875a f2fc3aede55c8fa0351697f9f5ce4e544334c9af ++R 26f094cebd21cbb0317e6c8d3b9363c4 U drh - Z 24ef1b5b92d0b1a13c94dec0494ce832 -Z dcd4ad4bd65fd6c947db9b3e37840361 ++Z 6c5488c759c13259d3160e45b371ca92 diff --cc manifest.uuid index 4e98908bfe,d77b5aa4be..e589c1d7b8 --- a/manifest.uuid +++ b/manifest.uuid @@@ -1,1 -1,1 +1,1 @@@ - 9130661a786e4c158f15103be57467a5cc03875a -f2fc3aede55c8fa0351697f9f5ce4e544334c9af ++cb22efaf50d83d9a73fdf8d986e6ea2fc6500cfb diff --cc src/wal.h index db6426392a,94a049493e..275f7b6c6f --- a/src/wal.h +++ b/src/wal.h @@@ -126,15 -126,11 +126,20 @@@ int sqlite3WalExclusiveMode(Wal *pWal, */ int sqlite3WalHeapMemory(Wal *pWal); + #ifdef SQLITE_ENABLE_SNAPSHOT + int sqlite3WalSnapshotGet(Wal *pWal, sqlite3_snapshot **ppSnapshot); + void sqlite3WalSnapshotOpen(Wal *pWal, sqlite3_snapshot *pSnapshot); + #endif + +#ifndef SQLITE_OMIT_CONCURRENT +/* Tell the wal layer that we want to commit a concurrent transaction */ +int sqlite3WalLockForCommit(Wal *pWal, PgHdr *pPg, Bitvec *pRead); + +/* Upgrade the state of the client to take into account changes written +** by other connections */ +int sqlite3WalUpgradeSnapshot(Wal *pWal); +#endif /* SQLITE_OMIT_CONCURRENT */ + #ifdef SQLITE_ENABLE_ZIPVFS /* If the WAL file is not empty, return the number of bytes of content ** stored in each frame (i.e. the db page-size when the WAL was created).