]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Merge PRAGMA synchronous=EXTRA and OOM performance enhancements from trunk.
authordrh <drh@noemail.net>
Fri, 5 Feb 2016 14:34:51 +0000 (14:34 +0000)
committerdrh <drh@noemail.net>
Fri, 5 Feb 2016 14:34:51 +0000 (14:34 +0000)
FossilOrigin-Name: 332c8036ca8a97087ced210e322c8a91be2a9036

1  2 
manifest
manifest.uuid
src/btree.c
src/build.c
src/pager.c
src/pager.h
src/parse.y
src/sqliteInt.h
src/vdbe.c
src/vdbeaux.c

diff --cc manifest
index 80f4b1251618f089d6471aacf9d18df92ebaf748,8c2dfea1b7a8f7e36f2fcd8ec0e702c1e9c067ab..00f3c9ec4262a8cb9ee6af49efe787d8f07703ca
+++ b/manifest
@@@ -1,5 -1,5 +1,5 @@@
- C Merge\srecent\senhancements\sfrom\strunk.
- D 2016-02-02T02:53:49.800
 -C Improvements\sto\sthe\sway\sout-of-memory\sconditions\sare\shandled,\sresulting\nin\san\salmost\s1%\sperformance\sgain\sin\sthe\scommmon\scase\swhere\sOOM\serrors\sdo\nnot\soccur.
 -D 2016-02-05T14:11:12.413
++C Merge\sPRAGMA\ssynchronous=EXTRA\sand\sOOM\sperformance\senhancements\sfrom\strunk.
++D 2016-02-05T14:34:51.522
  F Makefile.in 027c1603f255390c43a426671055a31c0a65fdb4
  F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
  F Makefile.msc 72b7858f02017611c3ac1ddc965251017fed0845
@@@ -290,20 -291,20 +291,20 @@@ F src/auth.c b56c78ebe40a2110fd361379f7
  F src/backup.c 2869a76c03eb393ee795416e2387005553df72bc
  F src/bitvec.c 1a78d450a17c5016710eec900bedfc5729bf9bdf
  F src/btmutex.c bc87dd3b062cc26edfe79918de2200ccb8d41e73
- F src/btree.c 3d3c562e11ae10f4824f1ea12d7b6dbe13183464
 -F src/btree.c 0b359bcc2316a57acf12f583253974ad22b4654f
 -F src/btree.h 368ceeb4bd9312dc8df2ffd64b4b7dbcf4db5f8e
 -F src/btreeInt.h c18b7d2a3494695133e4e60ee36061d37f45d9a5
 -F src/build.c 198eaa849c193f28b802ed135b2483c68ef7a35c
++F src/btree.c deead36f1ee76e27f0692a9aa8fb698e90e063b4
 +F src/btree.h 3c4f3fc066071991907e19ccf3fac5ac4a36bfc1
 +F src/btreeInt.h ca40607c2c9d4b4b7ded98e3d707b15c2f17f1bf
- F src/build.c a183756487c190aadad28e7865d84255ffe29aee
- F src/callback.c 29ae4faba226c7ebb9aee93016b5ce8a8f071261
++F src/build.c a9955bb322ce24b965c20f91b99ec1c5d7fc5d02
+ F src/callback.c ed6c2a4a712eb7287ff64e20e3c23265dfb8a7ce
  F src/complete.c addcd8160b081131005d5bc2d34adf20c1c5c92f
  F src/ctime.c 60e135af364d777a9ab41c97e5e89cd224da6198
- F src/date.c 997651e3ee6c2818fbf7fcdb7156cef9eb3ece20
+ F src/date.c ca17321bc17cca8f40e0843edea4fafff974998e
  F src/dbstat.c b2ec6793eef97aebb4d171d490a4ffdfa9f2475c
- F src/delete.c 33ed87dc0746b1f8ce186f62b608bf40801af9c0
- F src/expr.c d10c1cdef5810cdbf73adc9f9b383684230b360a
+ F src/delete.c 48802aa3ee6339f576d074336d3ae1b5f40e240f
+ F src/expr.c fbf0706199aea23c54efe36b6932d8307c4eb872
  F src/fault.c 160a0c015b6c2629d3899ed2daf63d75754a32bb
- F src/fkey.c c66d3e5b35d4d95b5c1e2ee6c12f5df13a7f9ad6
- F src/func.c 42b24923328f65849f52f1659efb2a0907ad78fd
+ F src/fkey.c 08edad1fce30f761f14b3997e89bad58f9f7f4e0
+ F src/func.c 86e55fee35b9577e485f47d9dd5c1d34cd513288
  F src/global.c bd5a0af3f30b0c01be6db756c626cd3c33a3d260
  F src/hash.c 4263fbc955f26c2e8cdc0cf214bc42435aa4e4f5
  F src/hash.h c8f3c31722cf3277d03713909761e152a5b81094
@@@ -331,12 -332,12 +332,12 @@@ 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 5bb20172d0c9a6afcfa829a88c406970593c848d
+ F src/os_unix.c 821ed110197175165cf2f50b0930c7ff9a24504c
  F src/os_win.c ccf29ddded3e41e506b6bd98c1171aa0963b23f2
  F src/os_win.h eb7a47aa17b26b77eb97e4823f20a00b8bda12ca
- F src/pager.c 040531b0c2e4f046ee077600bc5814a4ac42597e
- F src/pager.h 4a489a631d6f6dfcd52f629dd22e9932e58efcaf
- F src/parse.y e6a091aeae2d7c3c30ee5f337493065d7a0962e0
 -F src/pager.c 67cd2fbab58d0e35fed5f81432856f4f0af9fc6d
 -F src/pager.h f3eb324a3ff2408b28bab7e81c1c55c13720f865
 -F src/parse.y d7bff41d460f2df96fb890f36700e85cb0fc5634
++F src/pager.c dff5eb9a3add702b28ef5efb54de761e1ba7aa44
++F src/pager.h 6dec8fe4803d485401125c31b3ab1cd051eac6e6
++F src/parse.y 2d29daf0c040e2db8e19c549ce011b1921a10c45
  F src/pcache.c 73895411fa6b7bd6f0091212feabbe833b358d23
  F src/pcache.h 4d0ccaad264d360981ec5e6a2b596d6e85242545
  F src/pcache1.c 72f644dc9e1468c72922eff5904048427b817051
@@@ -352,7 -353,7 +353,7 @@@ F src/shell.c dcd7a83645ef2a58ee9c6d0ea
  F src/sqlite.h.in cf22ad1d52dca2c9862d63833e581028119aab7e
  F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8
  F src/sqlite3ext.h dfbe62ffd95b99afe2140d8c35b180d11924072d
- F src/sqliteInt.h 02cef8cd17974ef60c25d27c6a83a3aeb9ebb676
 -F src/sqliteInt.h 3aeaff9611acd790c8e76719b33db09ab885d537
++F src/sqliteInt.h 19ed64cd3dc0d26ac581d8f5ff8944814cd601d8
  F src/sqliteLimit.h 216557999cb45f2e3578ed53ebefe228d779cb46
  F src/status.c 70912d7be68e9e2dbc4010c93d344af61d4c59ba
  F src/table.c 51b46b2a62d1b3a959633d593b89bab5e2c9155e
@@@ -405,31 -406,31 +406,31 @@@ F src/test_windirent.c 8f5fada630348558
  F src/test_windirent.h b12055cab6227f7be10f5c19296f67c60cc5e2a5
  F src/test_wsd.c 41cadfd9d97fe8e3e4e44f61a4a8ccd6f7ca8fe9
  F src/threads.c bbfb74450643cb5372a43ad4f6cffd7e9dfcecb0
- F src/tokenize.c 5606871a377f390af7040ec3c12e0d183512d785
+ F src/tokenize.c 214b783d6138e9f9fbb6b225ce9a376db3b03d42
  F src/treeview.c dc39ccf04e9331237388b9cb73289c9d87ea050b
- F src/trigger.c 72d876b2d0c66604a112362bdae07dae9b104816
- F src/update.c 17332f9fe818cbc0444c36a811800af8498af4c3
+ F src/trigger.c e14840ee0c3e549e758ec9bf3e4146e166002280
+ F src/update.c 310ca7adb86a7d1f2afae46905b21c83580f3e17
  F src/utf.c 10cc2519e82e3369344d0969ad4b1a333dc86d18
- F src/util.c 72d40df0a52d3f30b462a15f0e094fcbade6dc82
+ F src/util.c 49ce0a65306c1c51d61cb5bc214c71cb62452de6
 -F src/vacuum.c 2ddd5cad2a7b9cef7f9e431b8c7771634c6b1701
 -F src/vdbe.c c193299e595a13eba247738e22fce25c49346a6c
 +F src/vacuum.c 983cc3754718ef169a6ea9aef86798bd28106f21
- F src/vdbe.c f4a056b92fac805b61064ac03450a79978ddfbc6
++F src/vdbe.c 642df098ce2ad75212a26c50f3e90aeb28bb6421
  F src/vdbe.h 7a733ea8aac1b77305a67698e784fa3484ee3337
  F src/vdbeInt.h 4b69d5451bcadd473e745af53ef1e8abfdce0a79
- F src/vdbeapi.c 9d640d5efd9a140a6bda8da53b220aa258167993
- F src/vdbeaux.c f2afda3daa3b89d6ccefffb0ba5b93ba943527ef
- F src/vdbeblob.c 37c3d11a753e403698c69e17383d282e1ae73e75
- F src/vdbemem.c b9181e77eca2a095929d46250daf85c8d2621fc0
+ F src/vdbeapi.c 9324f6baee1a1b2284c6543e98f916888a81e459
 -F src/vdbeaux.c 49b536284c2b8a823dd342d653e18145ca2b393a
++F src/vdbeaux.c 4f40ac1568f23c912f9d9ea85819d27485d8d572
+ F src/vdbeblob.c 3b570b730109e8f653d9d2081649f6e7015113db
+ F src/vdbemem.c 68fcfac37dc6601d98c32cc5adee4d39f2c1b7b4
  F src/vdbesort.c ef3c6d1f1a7d44cf67bb2bee59ea3d1fe5bad174
  F src/vdbetrace.c f75c5455d8cf389ef86a8bfdfd3177e0e3692484
- F src/vtab.c 320682cca733115b4cbe71320b5c5eeb1074ebde
+ F src/vtab.c bef51b4f693d82b4b0184457faa8625654534091
  F src/vxworks.h d2988f4e5a61a4dfe82c6524dd3d6e4f2ce3cdb9
 -F src/wal.c d21b99fd1458159d0b1ecdccc8ee6ada4fdc4c54
 -F src/wal.h 2f7c831cf3b071fa548bf2d5cac640846a7ff19c
 +F src/wal.c 2390cb2e5cc8529ab4dee92ee8292db1a4f824d8
 +F src/wal.h 327e94c3e366154f52a8d9be9be0ea790cc4e08c
  F src/walker.c 0f142b5bd3ed2041fc52d773880748b212e63354
- F src/where.c af9bf5dcec1a0e52726c550924aa91d837166251
+ F src/where.c d89fd5cff448ab5c5ca492dd9793b35ffe31ab35
  F src/whereInt.h 78b6b4de94db84aecbdc07fe3e38f648eb391e9a
- F src/wherecode.c 923f5d04b379b7417bc29f3b86b5eae9d1923d72
- F src/whereexpr.c 197a448b52073aee43eca3a2233fc113369eb2d4
+ F src/wherecode.c 791a784bbf8749d560fdb0b990b607bc4f44a38d
+ F src/whereexpr.c de117970b29471177a6901d60ad83a194671dc03
  F test/8_3_names.test ebbb5cd36741350040fd28b432ceadf495be25b2
  F test/affinity2.test a6d901b436328bd67a79b41bb0ac2663918fe3bd
  F test/aggerror.test a867e273ef9e3d7919f03ef4f0e8c0d2767944f2
@@@ -981,6 -980,7 +983,7 @@@ F test/savepoint4.test c8f8159ade6d2acd
  F test/savepoint5.test 0735db177e0ebbaedc39812c8d065075d563c4fd
  F test/savepoint6.test f41279c5e137139fa5c21485773332c7adb98cd7
  F test/savepoint7.test db3db281486c925095f305aad09fe806e5188ff3
 -F test/savepointfault.test f044eac64b59f09746c7020ee261734de82bf9b2
++F test/savepointfault.test f044eac64b59f09746c7020ee261734de82bf9b2 w test/savepoint3.test
  F test/scanstatus.test 5253c219e331318a437f436268e0e82345700285
  F test/schema.test 8f7999be894260f151adf15c2c7540f1c6d6a481
  F test/schema2.test 906408621ea881fdb496d878b1822572a34e32c5
@@@ -1296,9 -1296,9 +1299,9 @@@ 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/wal.test 0148c8b3421a25fdb4d9c160e84a681d0646371b
 -F test/wal2.test 1f841d2048080d32f552942e333fd99ce541dada
 +F test/wal2.test dc801f6d3f8f39d1534ffbd15a715b0b287508db
- F test/wal3.test b1d425f68a1f61d12563f0fa1ee6fca7d5afabf4
+ F test/wal3.test 5dd734147f1f8f958c5261a1f2775d346d7013ce
  F test/wal4.test 4744e155cd6299c6bd99d3eab1c82f77db9cdb3c
  F test/wal5.test 88b5d9a6a3d1532497ee9f4296f010d66f07e33c
  F test/wal6.test 4421cd5a2fa99d29cc91ef12fb23bed171ed3a4c
@@@ -1345,6 -1345,7 +1348,7 @@@ F test/whereH.test e4b07f7a3c2f5d31195c
  F test/whereI.test 1d89199697919d4930be05a71e7fe620f114e622
  F test/whereJ.test 55a3221706a7ab706293f17cc8f96da563bf0767
  F test/whereK.test f8e3cf26a8513ecc7f514f54df9f0572c046c42b
 -F test/wherefault.test 1374c3aa198388925246475f84ad4cd5f9528864
++F test/wherefault.test 1374c3aa198388925246475f84ad4cd5f9528864 w test/where8m.test
  F test/wherelimit.test 5e9fd41e79bb2b2d588ed999d641d9c965619b31
  F test/wild001.test bca33f499866f04c24510d74baf1e578d4e44b1c
  F test/win32heap.test ea19770974795cff26e11575e12d422dbd16893c
@@@ -1365,8 -1366,8 +1369,8 @@@ F test/zeroblob.test 3857870fe681b81856
  F test/zerodamage.test cf6748bad89553cc1632be51a6f54e487e4039ac
  F tool/GetFile.cs a15e08acb5dd7539b75ba23501581d7c2b462cb5
  F tool/GetTclKit.bat 629d87562e0487c386db630033931d12d62e6372
 -F tool/addopcodes.tcl 4ca9c3ef196f08da30add5d07ce0c9458dc8c633
 +F tool/addopcodes.tcl 783164304cdbf2b473e119b2c4db0c01b92a2b84
- F tool/build-all-msvc.bat 77f85f4268c2711d637c629610d0cf3df5338638 x
+ F tool/build-all-msvc.bat 31866578036cd1d962628059b0760d407c3ce4d8 x
  F tool/build-shell.sh 950f47c6174f1eea171319438b93ba67ff5bf367
  F tool/cg_anno.tcl 692ce4b8693d59e3a3de77ca97f4139ecfa641b0 x
  F tool/checkSpacing.c 810e51703529a204fc4e1eb060e9ab663e3c06d2
@@@ -1425,7 -1426,8 +1429,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 5520f600eade720f465575ab1661dcddaba5adcf d8b7b1996eefae7768bfcb82d4ff22c69392aa63
- R 9213491ac284f4e4eb57c9c322bab19c
 -P fe123ab4f17f97ba9d64a7e0589ac47fd9d43877 0a802e96ab06e2643834b83671fa8353da1a348d
 -R 3749c59fe6fdfc59db76e85b115f2d1f
 -T +closed 0a802e96ab06e2643834b83671fa8353da1a348d
++P 347f6a80c2aa6dde9b58d28069156db22cd21b6d b082538da774ac77f284fd7e22f9b1b9c2abc343
++R 4cd198f14afb8c9af6f5ad3deaf0e2fa
  U drh
- Z a83bc501058d2433447cf9fd85f4cd41
 -Z 89e3d20f1d49685c430d339bf1d58063
++Z a399e68e9652b366ee9d0d44100d189b
diff --cc manifest.uuid
index 4126f5ea9418fd3edc589d57882bed9a30439fb8,96f1ef1f1f444e27b74fcc9cf831b1040d98ad69..948d9e016eead28f9193a66005d548ccccd8935c
@@@ -1,1 -1,1 +1,1 @@@
- 347f6a80c2aa6dde9b58d28069156db22cd21b6d
 -b082538da774ac77f284fd7e22f9b1b9c2abc343
++332c8036ca8a97087ced210e322c8a91be2a9036
diff --cc src/btree.c
Simple merge
diff --cc src/build.c
Simple merge
diff --cc src/pager.c
Simple merge
diff --cc src/pager.h
Simple merge
diff --cc src/parse.y
index 158aeeb7a3b3b7c1d4662b03f4bc8d0817e01532,0bfe4e473af27603ca78e000facfe1fe1d8a4c7a..085bf1e35f619826b30fc95fe563f51ede76984b
@@@ -106,13 -106,15 +106,22 @@@ struct TrigEvent { int a; IdList * b; }
  */
  struct AttachKey { int type;  Token key; };
  
 +/*
 +** Generate a syntax error
 +*/
 +static void parserSyntaxError(Parse *pParse, Token *p){
 +  sqlite3ErrorMsg(pParse, "near \"%T\": syntax error", p);
 +}
 +
+ /*
+ ** Disable lookaside memory allocation for objects that might be
+ ** shared across database connections.
+ */
+ static void disableLookaside(Parse *pParse){
+   pParse->disableLookaside++;
+   pParse->db->lookaside.bDisable++;
+ }
  } // end %include
  
  // Input is a single SQL command
diff --cc src/sqliteInt.h
index 1046ab98c4feb6e6a84078396d56ff6d6eb33867,760c1f4d219e6d060f8d1dde7802504d317f835a..2eacfe0aaa44902c4224adf85c097ed3f59f9559
@@@ -1176,9 -1176,9 +1176,10 @@@ struct sqlite3 
    u16 dbOptFlags;               /* Flags to enable/disable optimizations */
    u8 enc;                       /* Text encoding */
    u8 autoCommit;                /* The auto-commit flag. */
 +  u8 bConcurrent;               /* Current transaction is "CONCURRENT" */
    u8 temp_store;                /* 1: file 2: memory 0: default */
    u8 mallocFailed;              /* True if we have seen a malloc failure */
+   u8 bBenignMalloc;             /* Do not require OOMs if true */
    u8 dfltLockMode;              /* Default locking-mode for attached dbs */
    signed char nextAutovac;      /* Autovac setting after VACUUM if >=0 */
    u8 suppressErr;               /* Do not issue error messages if true */
diff --cc src/vdbe.c
Simple merge
diff --cc src/vdbeaux.c
Simple merge