]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Merge the latest enhancements and fixes from trunk.
authordrh <drh@noemail.net>
Thu, 14 Jan 2016 15:03:12 +0000 (15:03 +0000)
committerdrh <drh@noemail.net>
Thu, 14 Jan 2016 15:03:12 +0000 (15:03 +0000)
FossilOrigin-Name: d85774e0dcb6cb1958ecd85891ef785e4692f67b

13 files changed:
1  2 
Makefile.in
manifest
manifest.uuid
src/btree.c
src/main.c
src/os_unix.c
src/pager.c
src/pager.h
src/sqlite.h.in
src/vdbe.c
src/vdbeaux.c
src/wal.c
src/wal.h

diff --cc Makefile.in
Simple merge
diff --cc manifest
index 2b4a950a8444b2cecd09f107b4e0f4eda6d4ecdb,1354db7a40cdc0da16e48becf6754e4acb76e67d..2d1d662d0c7121a6b4bb767ff93e3ab9c738094b
+++ b/manifest
@@@ -1,8 -1,8 +1,8 @@@
- C Import\sthe\sversion\snumber\schange\sto\s3.11.0.
- D 2016-01-11T13:03:34.322
- F Makefile.in 7b85d6e4ef59420a075d21525a58b69a97e554f1
 -C Yet\sanother\schange\sto\sFTS5\strying\sto\sget\sit\sto\smerge\ssuccessfully\sinto\ssessions.
 -D 2016-01-14T14:33:36.733
 -F Makefile.in cfa1ac03c4b414992fd53f24d978b45b0c21de55
++C Merge\sthe\slatest\senhancements\sand\sfixes\sfrom\strunk.
++D 2016-01-14T15:03:12.742
++F Makefile.in 8b135f17f5b3693bb2b4d0eab7a1bbec5bdf53e4
  F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
- F Makefile.msc e45d8b9b56dfa3f2cd860b2c28bd9d304513b042
+ F Makefile.msc 1dc36cfd3c047c9685e539257e158485f16ef035
  F README.md 8ecc12493ff9f820cdea6520a9016001cb2e59b7
  F VERSION 866588d1edf0ccb5b0d33896974338f97564f719
  F aclocal.m4 a5c22d164aff7ed549d53a90fa56d56955281f50
@@@ -279,9 -281,9 +284,9 @@@ F src/auth.c b56c78ebe40a2110fd361379f7
  F src/backup.c 2869a76c03eb393ee795416e2387005553df72bc
  F src/bitvec.c 1a78d450a17c5016710eec900bedfc5729bf9bdf
  F src/btmutex.c bc87dd3b062cc26edfe79918de2200ccb8d41e73
- F src/btree.c cefa8e087e73b2892845b2af2dc980fafd1ac13a
 -F src/btree.c 5d93e2477acb99d50a8b045f2e26a0be3d7751fe
++F src/btree.c 258d048e423c23398ee29a4fce043839e47ab483
  F src/btree.h 68ef301795e00cdf1d3ab93abc44a43b7fe771e0
- F src/btreeInt.h b5f2651b41808f038dee9282c5dc0232ce6532d3
+ F src/btreeInt.h c18b7d2a3494695133e4e60ee36061d37f45d9a5
  F src/build.c 9d497ff4bf3c82cecb520436e0e9963785627583
  F src/callback.c 7b44ce59674338ad48b0e84e7b72f935ea4f68b0
  F src/complete.c addcd8160b081131005d5bc2d34adf20c1c5c92f
@@@ -299,9 -301,9 +304,9 @@@ F src/hash.h c8f3c31722cf3277d037139097
  F src/hwtime.h d32741c8f4df852c7d959236615444e2b1063b08
  F src/insert.c 6b45cc86967da11aa024d034745f93f66d53f650
  F src/journal.c b4124532212b6952f42eb2c12fa3c25701d8ba8d
 -F src/legacy.c ba1863ea58c4c840335a84ec276fc2b25e22bc4e
 +F src/legacy.c 9c17d86e06522c261307f0eb6bcb1254c8b04a59
  F src/loadext.c 84996d7d70a605597d79c1f1d7b2012a5fd34f2b
- F src/main.c 54f3a646cdcffc5cb03b4ce2ca6da77ff75da39f
 -F src/main.c 6d589f27980c4aec014ae9a081d611e7e5ebc115
++F src/main.c d2c79dfc18e2372566aaa95a4f15a452d3cd4206
  F src/malloc.c 8f787669e79de26efc42272b5797bc00fff527c6
  F src/mem0.c 6a55ebe57c46ca1a7d98da93aaa07f99f1059645
  F src/mem1.c 6919bcf12f221868ea066eec27e579fed95ce98b
@@@ -320,11 -322,11 +325,11 @@@ F src/os.c 5822c2b843a77219bba1e28887cd
  F src/os.h 3e57a24e2794a94d3cf2342c6d9a884888cd96bf
  F src/os_common.h abdb9a191a367793268fe553d25bab894e986a0e
  F src/os_setup.h c9d4553b5aaa6f73391448b265b89bed0b890faa
- F src/os_unix.c cda640ef84f27ede61c313a5dbf09c6fc08c82ac
 -F src/os_unix.c b509b49b40a269e7b75ab511b6e92b2dc9444359
 -F src/os_win.c 386fba30419e8458b13209781c2af5590eab2811
++F src/os_unix.c 9d109ca95589889ef84a067d60067f2b4d752b96
 +F src/os_win.c d5f32f015c52888b76c8919a8b3fa5c532dff497
  F src/os_win.h eb7a47aa17b26b77eb97e4823f20a00b8bda12ca
- F src/pager.c 25186b68d3180891dfa849bb9c0b7cd5d370fce3
- F src/pager.h a038f5d7d5b17a8463e312d45f92b17e6928339e
 -F src/pager.c f4e9ac39fbb1e0fde97af85c0f4e00eb90764b67
 -F src/pager.h 1c2a49143dfba9e69cc8159ef019f472ed8d260b
++F src/pager.c 65095e5ea2f9bf458b29288f5a9e626b15874fee
++F src/pager.h fe401b665cf964539ac389387de36caeebe606dc
  F src/parse.y caad1e98edeca6960493d0c60d31b76820dd7776
  F src/pcache.c 73895411fa6b7bd6f0091212feabbe833b358d23
  F src/pcache.h 4d0ccaad264d360981ec5e6a2b596d6e85242545
@@@ -336,13 -338,12 +341,13 @@@ F src/printf.c af589a27b7d40f6f4f704e9e
  F src/random.c ba2679f80ec82c4190062d756f22d0c358180696
  F src/resolve.c a83b41104e6ff69855d03cd0aaa09e93927ec39f
  F src/rowset.c eccf6af6d620aaa4579bd3b72c1b6395d9e9fa1e
- F src/select.c d84c091185bc160c349e8bf460ebd084dbd77e64
- F src/shell.c ed71dc7679e6f087a3f1ea3f9dae4b0fae7209c3
- F src/sqlite.h.in 52db0e5240e6c3d355937cdc187b61999d884aff
+ F src/select.c 5b0f2aa9f73ec7b65d1711d485471854d5bad23c
+ F src/shell.c dcd7a83645ef2a58ee9c6d0ea4714d877d7835c4
 -F src/sqlite.h.in 214476a62012e578f42133a9a3b4f97a9aa421a3
++F src/sqlite.h.in ab6b985903cff07b173cade4a320a16d4636fbd3
  F src/sqlite3.rc 992c9f5fb8285ae285d6be28240a7e8d3a7f2bad
 +F src/sqlite3_private.h a81a9c5f97c095cc3e86914a05f8fabe0011f4a1
  F src/sqlite3ext.h dfbe62ffd95b99afe2140d8c35b180d11924072d
 -F src/sqliteInt.h b8ccd34a919e4b6bab8c4164046330002aa9a27a
 +F src/sqliteInt.h da2c7b0ddb1c351ad07bd4eccfb7764bc42ab92a
  F src/sqliteLimit.h 216557999cb45f2e3578ed53ebefe228d779cb46
  F src/status.c 70912d7be68e9e2dbc4010c93d344af61d4c59ba
  F src/table.c 51b46b2a62d1b3a959633d593b89bab5e2c9155e
@@@ -402,21 -403,21 +407,21 @@@ F src/update.c 17332f9fe818cbc0444c36a8
  F src/utf.c 32d7f82aa921322f3e1c956f4b58f019ebd2c6b3
  F src/util.c e802e8e311a0d6c48cd1b3e89db164f6f0248d70
  F src/vacuum.c 2ddd5cad2a7b9cef7f9e431b8c7771634c6b1701
- F src/vdbe.c 5678e9375dca62a33726c7565e2e61ce701ea365
 -F src/vdbe.c 6572d00eefeaa0b14b325fdf3a409920ec3fee82
++F src/vdbe.c fac06dbf029fea99370a9f28ea567cf3f2ce5dce
  F src/vdbe.h efb7a8c1459e31f3ea4377824c6a7e4cb5068637
  F src/vdbeInt.h 42eefa4f9e7432b9968d321b44e48821ec13b189
 -F src/vdbeapi.c 020681b943e77766b32ae1cddf86d7831b7374ca
 -F src/vdbeaux.c f2e6b4fae037db04323be8de7bcd266375746471
 +F src/vdbeapi.c b13f483b1375467c367de486edf2be05234e27bb
- F src/vdbeaux.c 7b65a9fd7475c0dd9603d2c733311692efe48157
++F src/vdbeaux.c c9936e48a10ce7b0fb54b38a9969f8f3aa8000e7
  F src/vdbeblob.c fdc4a81605ae7a35ae94a55bd768b66d6be16f15
  F src/vdbemem.c fdd1578e47bea61390d472de53c565781d81e045
- F src/vdbesort.c a7ec02da4494c59dfd071126dd3726be5a11459d
+ F src/vdbesort.c 0971557e5d3c289e46f56a52aed2197c13251de7
  F src/vdbetrace.c 8befe829faff6d9e6f6e4dee5a7d3f85cc85f1a0
  F src/vtab.c 2a8b44aa372c33f6154208e7a7f6c44254549806
- F src/vxworks.h c18586c8edc1bddbc15c004fa16aeb1e1342b4fb
- F src/wal.c 82dec8065d6c3d95706e193be19ef50acfb9b126
- F src/wal.h 074df251e14dffb0ea9ce958a4328dff1a68c9d7
- F src/walker.c 2e14d17f592d176b6dc879c33fbdec4fbccaa2ba
- F src/where.c c6d3d2f6af57d574a7365ee2b225a5024f2a6bec
+ F src/vxworks.h 974e7d9a98f602d6310d563e1dc4e08f9fc48e47
 -F src/wal.c d21b99fd1458159d0b1ecdccc8ee6ada4fdc4c54
 -F src/wal.h 2f7c831cf3b071fa548bf2d5cac640846a7ff19c
++F src/wal.c 9bd7a20c656171200725462a37183e53c549afda
++F src/wal.h 29c2a284ddd9c665199273dadc7255a227092291
+ F src/walker.c 0f142b5bd3ed2041fc52d773880748b212e63354
+ F src/where.c bb69654f841ae7af0a20cc6fb8f0ac57901c31be
  F src/whereInt.h 78b6b4de94db84aecbdc07fe3e38f648eb391e9a
  F src/wherecode.c dfbfe198e418b01f208b489e088edd230c91a4e7
  F src/whereexpr.c eebba8340c90de73b3d3bbe8c43b84559b8e6e2c
@@@ -1284,34 -1284,34 +1289,34 @@@ F test/vtabI.test 751b07636700dbdea328e
  F test/vtab_alter.test 9e374885248f69e251bdaacf480b04a197f125e5
  F test/vtab_err.test 0d4d8eb4def1d053ac7c5050df3024fd47a3fbd8
  F test/vtab_shared.test ea8778d5b0df200adef2ca7c00c3c37d4375f772
 -F test/wal.test 65bfc68f3f09dcbc62cee9f794e560428d96cec7
 -F test/wal2.test 1f841d2048080d32f552942e333fd99ce541dada
 -F test/wal3.test b1d425f68a1f61d12563f0fa1ee6fca7d5afabf4
 -F test/wal4.test 4744e155cd6299c6bd99d3eab1c82f77db9cdb3c
 -F test/wal5.test 88b5d9a6a3d1532497ee9f4296f010d66f07e33c
 -F test/wal6.test 4421cd5a2fa99d29cc91ef12fb23bed171ed3a4c
 +F test/wal.test 40cc49c5e9aac2bb8b058b0e430576d68bb02e2a
 +F test/wal2.test 703b87c21c1e3e169d607158de414c7c2655b93e
 +F test/wal3.test 80c314c403888c968bb80f3ce1be84f6e6ccfe2c
 +F test/wal4.test 5755887f321baa4c55de0b91066fa7d0cafcac9d
 +F test/wal5.test 03043461be964ff80df96d629a7f8db1a95e1b37
 +F test/wal6.test c7d532c76f9e16aec657e529184c52a6e834dae4
  F test/wal64k.test 163655ecd2cb8afef4737cac2a40fdd2eeaf20b8
 -F test/wal7.test 2ae8f427d240099cc4b2dfef63cff44e2a68a1bd
 -F test/wal8.test 75c42e1bc4545c277fed212f8fc9b7723cd02216
 +F test/wal7.test 18cf68ab8010ae0a2baaa48e5b59567a9503e63e
 +F test/wal8.test c35dd183708148120928dca908641c361f58062c
  F test/wal9.test 378e76a9ad09cd9bee06c172ad3547b0129a6750
 -F test/wal_common.tcl a98f17fba96206122eff624db0ab13ec377be4fe
 -F test/walbak.test b9f68e39646375c2b877be906babcc15d38b4877
 -F test/walbig.test f437473a16cfb314867c6b5d1dbcd519e73e3434
 +F test/wal_common.tcl 15f152fd55703975878741beca6cfa4209d5b3b3
 +F test/walbak.test 67339b9e54db0cdaaf21287349bc8056e2919f96
 +F test/walbig.test 3ca3d94751b80054eed5bda20a1339ae1f619483
  F test/walblock.test be48f3a75eff0b4456209f26b3ce186c2015497d
 -F test/walcksum.test 9afeb96240296c08c72fc524d199c912cfe34daa
 -F test/walcrash.test 451d79e528add5c42764cea74aa2750754171b25
 -F test/walcrash2.test a0edab4e5390f03b99a790de89aad15d6ec70b36
 -F test/walcrash3.test e426aa58122d20f2b9fbe9a507f9eb8cab85b8af
 -F test/walfault.test 1f8389f7709877e9b4cc679033d71d6fe529056b
 -F test/walhook.test ed00a40ba7255da22d6b66433ab61fab16a63483
 -F test/walmode.test 4022fe03ae6e830583672caa101f046438a0473c
 -F test/walnoshm.test 84ca10c544632a756467336b7c3b864d493ee496
 +F test/walcksum.test 932d12a2a36fb2765560d35e7eaa1e5f0b198385
 +F test/walcrash.test 011e05e9170da888851cb9ec4276bb1894ad32e3
 +F test/walcrash2.test 6eb6842d34cc5955726264c80566963c32a9cbea
 +F test/walcrash3.test 279640ffafa23f7564529ccd69bfb97849ccae9d
 +F test/walfault.test f4160abd02d583d06d7ea9554e7a3f749f6b3410
 +F test/walhook.test 5d2bdb04fd3e220e2f96e6b566d57e00020bdaec
 +F test/walmode.test aa45339b4afa435dde5d88e71a95459cc221a3f4
 +F test/walnoshm.test 559b878f3aab838971d820329ca35f1caa7b038e
- F test/waloverwrite.test 8702964967c2f28204f0b4f27af65da81999fc99
+ F test/waloverwrite.test a0d2ae0783187374c1e6a9571e0916152977cb81
 -F test/walpersist.test 8c6b7e3ec1ba91b5e4dc4e0921d6d3f87cd356a6
 -F test/walro.test 34422d1d95aaff0388f0791ec20edb34e2a3ed57
 -F test/walshared.test 0befc811dcf0b287efae21612304d15576e35417
 -F test/walslow.test e7be6d9888f83aa5d3d3c7c08aa9b5c28b93609a
 -F test/walthread.test de8dbaf6d9e41481c460ba31ca61e163d7348f8e
 +F test/walpersist.test abd956d66e2f36d2d9d05d3a969f48be6d2ddbec
 +F test/walro.test 256ea9380825a34be43e8ff02bd1e240f1f62e8c
 +F test/walshared.test 04590b10c677f75318701818c50bc0dda5da64ab
 +F test/walslow.test 658066419a92d3bd85be71a11ce477af4ffe9153
 +F test/walthread.test c13f5a12fbd9d81e58f49875dc9dd8a52a84cf03
  F test/where.test 9902a3d84e9bc80357a2c54ed0e76c0d6d04a867
  F test/where2.test af78c55589cbc82d793449493adba0dc3d659f23
  F test/where3.test 1ad55ba900bd7747f98b6082e65bd3e442c5004e
@@@ -1412,7 -1412,7 +1417,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 79125ec9d2cdb96d65ceeb19c2862665f9267d4e 8e807bfaa197027d0cb73532baa96755ce71ea12
- R 8a28642ac87c13bb3a942a0053e03587
 -P f791fc7009d68941c60d7bf953bab19d86112133
 -R 52083946c40dd4f44744cbc0b447540f
++P 132772d1c415c63fa5bdcc298ad9a3746bfb56bb 8dedff3b9ac3e6bf9c131fee19f7d26dc1ebd61f
++R 5d8ea44daaa28f196e28392ae5b9ab36
  U drh
- Z 1a554c8e6a29b796fc323cbce89b151a
 -Z 9b36451b3b0b6d81cfd6f7c438e3b3aa
++Z 5cdb85bf33874a22991e0ac32854bf2a
diff --cc manifest.uuid
index 3390955a9060e3ecc880398c1d2aa79838d24e91,92616336dff511057125335ec56ea458a299bffa..a47c43081c2caa5fe8530da1e7241d7d412489be
@@@ -1,1 -1,1 +1,1 @@@
- 132772d1c415c63fa5bdcc298ad9a3746bfb56bb
 -8dedff3b9ac3e6bf9c131fee19f7d26dc1ebd61f
++d85774e0dcb6cb1958ecd85891ef785e4692f67b
diff --cc src/btree.c
Simple merge
diff --cc src/main.c
index 46e9622272e9c63e301fd701c79205cdcfbd69de,2998f54c773c5e14e6e13fd840dfd1cd9c22f5a6..cf93e5bb12ceb6de82ed43bd799bd99d85eb41f4
@@@ -3543,16 -3424,11 +3543,19 @@@ int sqlite3_file_control(sqlite3 *db, c
      }else if( op==SQLITE_FCNTL_VFS_POINTER ){
        *(sqlite3_vfs**)pArg = sqlite3PagerVfs(pPager);
        rc = SQLITE_OK;
+     }else if( op==SQLITE_FCNTL_JOURNAL_POINTER ){
+       *(sqlite3_file**)pArg = sqlite3PagerJrnlFile(pPager);
+       rc = SQLITE_OK;
      }else if( fd->pMethods ){
        rc = sqlite3OsFileControl(fd, op, pArg);
 +#ifndef SQLITE_OMIT_WAL
 +      if( (rc==SQLITE_OK)&&(op==SQLITE_FCNTL_LAST_ERRNO)&&(*(int *)pArg==0) ){
 +        sqlite3_file *pWalFd = sqlite3PagerWalFile(pPager);
 +        if( pWalFd&&(pWalFd->pMethods) ){
 +          rc = sqlite3OsFileControl(pWalFd, op, pArg);
 +        }
 +      }
 +#endif
      }else{
        rc = SQLITE_NOTFOUND;
      }
diff --cc src/os_unix.c
Simple merge
diff --cc src/pager.c
index 6429f3ed8667edfcffbbde83cdc1f830e08998dc,2c904d2df1f0f5ca08f9566851b5b9a9e319b9de..389623c247725bca2d68b99d85b7d2200b960ac5
@@@ -6718,14 -6692,17 +6718,29 @@@ sqlite3_file *sqlite3PagerFile(Pager *p
    return pPager->fd;
  }
  
++#if !defined(SQLITE_OMIT_WAL)
 +/*
 + ** Return the file handle for the WAL journal file associated
 + ** with the pager.  This might return NULL if the file has
 + ** not yet been opened.
 + */
 +sqlite3_file *sqlite3PagerWalFile(Pager *pPager){
 +  return ((pPager->pWal) ? sqlite3WalFile(pPager->pWal) : (NULL));
 +}
++#endif
++
++
+ /*
+ ** Return the file handle for the journal file (if it exists).
+ ** This will be either the rollback journal or the WAL file.
+ */
+ sqlite3_file *sqlite3PagerJrnlFile(Pager *pPager){
+ #if SQLITE_OMIT_WAL
+   return pPager->jfd;
+ #else
+   return pPager->pWal ? sqlite3WalFile(pPager->pWal) : pPager->jfd;
+ #endif
+ }
  
  /*
  ** Return the full pathname of the journal file.
diff --cc src/pager.h
index 5da3a6e93bc6e936a006e1f2047d03e0ab5b325d,3552a876e788610ac637ea8101301aa9b3f6d878..0f7dcf5520565d0cffdc3d537240a86433c366fc
@@@ -188,7 -188,7 +188,8 @@@ int sqlite3PagerMemUsed(Pager*)
  const char *sqlite3PagerFilename(Pager*, int);
  sqlite3_vfs *sqlite3PagerVfs(Pager*);
  sqlite3_file *sqlite3PagerFile(Pager*);
 +sqlite3_file *sqlite3PagerWalFile(Pager *pPager);
+ sqlite3_file *sqlite3PagerJrnlFile(Pager*);
  const char *sqlite3PagerJournalname(Pager*);
  int sqlite3PagerNosync(Pager*);
  void *sqlite3PagerTempSpace(Pager*);
diff --cc src/sqlite.h.in
Simple merge
diff --cc src/vdbe.c
Simple merge
diff --cc src/vdbeaux.c
Simple merge
diff --cc src/wal.c
index 4d37a2ee3c5553c341928d535bb12d1976494ccd,7cf2cabffb64c85aec9e6d34ff261ed51751f665..b464defd453c66b996a3c3300d6703cf15b1f296
+++ b/src/wal.c
@@@ -2623,16 -2617,7 +2625,6 @@@ Pgno sqlite3WalDbsize(Wal *pWal)
    return 0;
  }
  
- /* 
-  ** Return the file for this Wal journal (or zero, if unknown).
-  */
- sqlite3_file *sqlite3WalFile(Wal *pWal){
-   if( pWal ){
-     return pWal->pWalFd;
-   }
-   return 0;
- }
--
  /* 
  ** This function starts a write transaction on the WAL.
  **
diff --cc src/wal.h
Simple merge