From b2eb7e46eb3c0a1611d7777fb3a1ba9b30f56ea5 Mon Sep 17 00:00:00 2001 From: drh Date: Sat, 16 May 2020 21:01:00 +0000 Subject: [PATCH 1/4] Performance optimization for the sqlite3FindTable() subroutine. FossilOrigin-Name: 55910b9a7287be92af9f95e0af54af822055d15b7eabbcc81d61410d0bf67726 --- manifest | 12 ++++++------ manifest.uuid | 2 +- src/build.c | 43 ++++++++++++++++++++++++++++++------------- 3 files changed, 37 insertions(+), 20 deletions(-) diff --git a/manifest b/manifest index ab646e73ec..f4811e8bfb 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C The\sOP_RealAffinity\sopcode\sis\snot\snecessary\safter\sreading\svalues\sfrom\na\svirtual\stable\s(such\sas\srtree).\s\sIt\sis\sharmless,\sbut\sit\sdoes\suse\sCPU\ncycles.\s\sMight\sas\swell\sleave\sit\soff. -D 2020-05-16T18:01:02.987 +C Performance\soptimization\sfor\sthe\ssqlite3FindTable()\ssubroutine. +D 2020-05-16T21:01:00.138 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 @@ -477,7 +477,7 @@ F src/btmutex.c 8acc2f464ee76324bf13310df5692a262b801808984c1b79defb2503bbafadb6 F src/btree.c f14e415fcfd0b52b4e4ebd193ba5fadac5e8252c30f023389af682813af44025 F src/btree.h 989ef3c33413549e3e148f3dcb46c030f317dac130dc86809ba6b9aa4b16c72a F src/btreeInt.h 5c8b8749805787313ecf49eb5be3ced1e94bbf8ef54bb01470ce6bd0d5185c67 -F src/build.c 520d6d125288b7da745f8299840015f66c1d1b896a9308e24d7fde6fa5fafc9b +F src/build.c ca9e7a33b74f1bf2eb3a5f37f9d07dfed335469f2d70c0bd350e0dd42a50183a F src/callback.c d0b853dd413255d2e337b34545e54d888ea02f20da5ad0e63585b389624c4a6c F src/complete.c a3634ab1e687055cd002e11b8f43eb75c17da23e F src/ctime.c e98518d2d3d4029a13c805e07313fb60c877be56db76e90dd5f3af73085d0ce6 @@ -1866,7 +1866,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 -P 0d69f76f0865f9626078bee087a22fb826407279e78cf9d5382e1c985c9f64a9 -R 038aaeab4f18be62314e9be676a83d68 +P dc18d89354cffcb726722c234a0271ab628a71277b22887eea2bf118028193a6 +R 19171e788e643226a8c2486a995489b0 U drh -Z f53eca45dfc23be88eb50db1df821f15 +Z 994ffac4ccc32781ab809d359e7c6892 diff --git a/manifest.uuid b/manifest.uuid index c658518beb..29df6b90b5 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -dc18d89354cffcb726722c234a0271ab628a71277b22887eea2bf118028193a6 \ No newline at end of file +55910b9a7287be92af9f95e0af54af822055d15b7eabbcc81d61410d0bf67726 \ No newline at end of file diff --git a/src/build.c b/src/build.c index 8b0977a48d..6ff595c623 100644 --- a/src/build.c +++ b/src/build.c @@ -312,22 +312,39 @@ Table *sqlite3FindTable(sqlite3 *db, const char *zName, const char *zDatabase){ return 0; } #endif - while(1){ - for(i=OMIT_TEMPDB; inDb; i++){ - int j = (i<2) ? i^1 : i; /* Search TEMP before MAIN */ - if( zDatabase==0 || sqlite3DbIsNamed(db, j, zDatabase) ){ - assert( sqlite3SchemaMutexHeld(db, j, 0) ); - p = sqlite3HashFind(&db->aDb[j].pSchema->tblHash, zName); - if( p ) return p; + if( zDatabase ){ + for(i=0; inDb; i++){ + if( sqlite3StrICmp(zDatabase, db->aDb[i].zDbSName)==0 ) break; + } + if( i>=db->nDb ){ + /* No match against the official names. But always match "main" + ** to schema 0 as a legacy fallback. */ + if( sqlite3StrICmp(zDatabase,"main")==0 ){ + i = 0; + }else{ + return 0; } } - /* Not found. If the name we were looking for was temp.sqlite_master - ** then change the name to sqlite_temp_master and try again. */ - if( sqlite3StrICmp(zName, MASTER_NAME)!=0 ) break; - if( sqlite3_stricmp(zDatabase, db->aDb[1].zDbSName)!=0 ) break; - zName = TEMP_MASTER_NAME; + p = sqlite3HashFind(&db->aDb[i].pSchema->tblHash, zName); + if( p==0 && i==1 && sqlite3StrICmp(zName, MASTER_NAME)==0 ){ + /* All temp.sqlite_master to be an alias for sqlite_temp_master */ + p = sqlite3HashFind(&db->aDb[1].pSchema->tblHash, TEMP_MASTER_NAME); + } + }else{ + /* Match against TEMP first */ + p = sqlite3HashFind(&db->aDb[1].pSchema->tblHash, zName); + if( p ) return p; + /* The main database is second */ + p = sqlite3HashFind(&db->aDb[0].pSchema->tblHash, zName); + if( p ) return p; + /* Attached databases are in order of attachment */ + for(i=2; inDb; i++){ + assert( sqlite3SchemaMutexHeld(db, i, 0) ); + p = sqlite3HashFind(&db->aDb[i].pSchema->tblHash, zName); + if( p ) break; + } } - return 0; + return p; } /* From d924e7bc78a4ca604bce0f8d9d0390d3feddba01 Mon Sep 17 00:00:00 2001 From: drh Date: Sun, 17 May 2020 00:26:44 +0000 Subject: [PATCH 2/4] Use the sqlite3Realloc() interface internally, rather than the public sqlite3_realloc64() equivalent, to avoid unnecessary calls to sqlite3_initialize(). FossilOrigin-Name: 1313557b512297e7b75ed748894379b2022aecf696d5a58318e46a668321c1ff --- manifest | 24 ++++++++++++------------ manifest.uuid | 2 +- src/func.c | 2 +- src/malloc.c | 2 +- src/memdb.c | 2 +- src/printf.c | 2 +- src/table.c | 4 ++-- src/vtab.c | 2 +- src/wal.c | 2 +- 9 files changed, 21 insertions(+), 21 deletions(-) diff --git a/manifest b/manifest index f4811e8bfb..fb24b80edf 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Performance\soptimization\sfor\sthe\ssqlite3FindTable()\ssubroutine. -D 2020-05-16T21:01:00.138 +C Use\sthe\ssqlite3Realloc()\sinterface\sinternally,\srather\sthan\sthe\spublic\nsqlite3_realloc64()\sequivalent,\sto\savoid\sunnecessary\scalls\sto\nsqlite3_initialize(). +D 2020-05-17T00:26:44.076 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 @@ -488,7 +488,7 @@ F src/delete.c 88047c8e59878c920fce14582bc1dde4d81157d1ca5ffdf36c2907e6d41996c4 F src/expr.c 8eed44d9de8a3b0fe1c9809bb75a02b65488774c8ba8685512d8f63adade18e5 F src/fault.c 460f3e55994363812d9d60844b2a6de88826e007 F src/fkey.c 4b575423b0a5d4898b1a7868ce985cf1a8ad91c741c9abbb108ff02536d20f41 -F src/func.c 4780623a0c67f9241d4d5360a7d612826cfb22b825d95de9dce959c43c09ff47 +F src/func.c 2333eb4277f55a5efdc12ef754e7d7ec9105d257b2fd00301d23ce1e8fa67dc0 F src/global.c 79a988b56b06ce2d08ebefe1d35da9aa25b3851faa47ea5233361c4827185a64 F src/hash.c 8d7dda241d0ebdafb6ffdeda3149a412d7df75102cecfc1021c98d6219823b19 F src/hash.h 9d56a9079d523b648774c1784b74b89bd93fac7b365210157482e4319a468f38 @@ -498,13 +498,13 @@ F src/insert.c 8e4211d04eb460c0694d486c6ba1c068d468c6f653c3f237869a802ad82854de F src/legacy.c d7874bc885906868cd51e6c2156698f2754f02d9eee1bae2d687323c3ca8e5aa F src/loadext.c 421310045bd78afefb772294a99e50f37d87ae578786a6169074e6291e30d969 F src/main.c 97d962ab1f830540043042e41085c5b85636a60e6ed95002c1a56b64f7eb6a0b -F src/malloc.c 167e91665080a2a6f92d358419e0b7e6440f2bba0b55e764a4f0197c95c8a077 +F src/malloc.c d0400b0366e1a3a2414ca4534b4a7406df34732835f37a15cb4642eb7df1a363 F src/mem0.c 6a55ebe57c46ca1a7d98da93aaa07f99f1059645 F src/mem1.c c12a42539b1ba105e3707d0e628ad70e611040d8f5e38cf942cee30c867083de F src/mem2.c f1940d9e91948dd6a908fbb9ce3835c36b5d83c3 F src/mem3.c 8768ac94694f31ffaf8b4d0ea5dc08af7010a35a F src/mem5.c 9bf955937b07f8c32541c8a9991f33ce3173d944 -F src/memdb.c 02a5fcec19b9d40dd449ca802dc1b2e8f93f255fbf2a886277a3c3800d8d35db +F src/memdb.c 1d05bcc3fb6bde5c4aab7a56279d232f204625d74e627121e0562f355f5c843e F src/memjournal.c 7561c01c90958f3ba9bc6cb2d857123d932bdfa5539ea34427a0957b2e35154d F src/msvc.h 3a15918220367a8876be3fa4f2abe423a861491e84b864fb2b7426bf022a28f8 F src/mutex.c 5e3409715552348732e97b9194abe92fdfcd934cfb681df4ba0ab87ac6c18d25 @@ -529,7 +529,7 @@ F src/pcache1.c 6596e10baf3d8f84cc1585d226cf1ab26564a5f5caf85a15757a281ff977d51a F src/pragma.c 1b0db48177e52b256c003b8dc6ac708b1079a82cded944a23820574586a4731f F src/pragma.h 8168e588536bffd95319451f34e9a754dc37d205ebe433031a7813c5b286beae F src/prepare.c 8d4d6c8aa6afefc48027c54b41cdf134b4d6bc2fc4badbe483ad7fd9e1728a28 -F src/printf.c 4c76c0f4920c5a8a774540c5624d861fab0097212ee7444c07bbcaae15734999 +F src/printf.c ebf563cff3122f6a61149964b738b470196d3619df31d6a720d0ff72fcfd7c7b F src/random.c 80f5d666f23feb3e6665a6ce04c7197212a88384 F src/resolve.c d36a2b1639e1c33d7b508abfd3452a63e7fd81737f6f3940bfef085fca6f21f4 F src/rowset.c ba9515a922af32abe1f7d39406b9d35730ed65efab9443dc5702693b60854c92 @@ -541,7 +541,7 @@ F src/sqlite3ext.h 2d1af80082edffd71c6f96f70ad1ce6a4fb46615ad10291fc77fe0dea9ff0 F src/sqliteInt.h 8878a88c18a013d1843638001d7fc56a8f99740f151fc7597b1641b61accf58c F src/sqliteLimit.h 95cb8479ca459496d9c1c6a9f76b38aee12203a56ce1092fe13e50ae2454c032 F src/status.c 9ff2210207c6c3b4d9631a8241a7d45ab1b26a0e9c84cb07a9b5ce2de9a3b278 -F src/table.c b46ad567748f24a326d9de40e5b9659f96ffff34 +F src/table.c 0f141b58a16de7e2fbe81c308379e7279f4c6b50eb08efeec5892794a0ba30d1 F src/tclsqlite.c 986b6391f02cd9b53c1d688be55899f6ffddeb8e8014cd83c1b73ff912579a71 F src/test1.c 5e8b8cc54e8c88906ea8a084387aa79bad245e539f4cee73149e5c0527e1db16 F src/test2.c 3efb99ab7f1fc8d154933e02ae1378bac9637da5 @@ -615,9 +615,9 @@ F src/vdbemem.c 39b942ecca179f4f30a32b54579a85d74ccaefa5af2a0ad2700abe5ef0768b22 F src/vdbesort.c 2be76d26998ce2b3324cdcc9f6443728e54b6c7677c553ad909c7d7cfab587df F src/vdbetrace.c fa3bf238002f0bbbdfb66cc8afb0cea284ff9f148d6439bc1f6f2b4c3b7143f0 F src/vdbevtab.c ee5b4c902fdda2230f9503ac7b84c6d614c91e8f6f4dc1633e2e8dfef8ffb144 -F src/vtab.c 7b704a90515a239c6cdba6a66b1bb3a385e62326cceb5ecb05ec7a091d6b8515 +F src/vtab.c 7b452592ed2ee95dedb1f323d557cebede5a6f3b4558b21a5dca527e6ae9b12c F src/vxworks.h d2988f4e5a61a4dfe82c6524dd3d6e4f2ce3cdb9 -F src/wal.c 3dc15756d3c859799e30460e1ec6cd304e660df7f680f5cb1b50537de1e6f678 +F src/wal.c d0365581aed11a75e176f67cdbdc1bdfe685c5381a052360a00bbf58d3252fa0 F src/wal.h c3aa7825bfa2fe0d85bef2db94655f99870a285778baa36307c0a16da32b226a F src/walker.c 7c429c694abd12413a5c17aec9f47cfe9eba6807e6b0a32df883e8e3a14835ed F src/where.c 9546c82056e8cdb27291f98cf1adca5d271240b399bb97b32f77fc2bea6146c9 @@ -1866,7 +1866,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 -P dc18d89354cffcb726722c234a0271ab628a71277b22887eea2bf118028193a6 -R 19171e788e643226a8c2486a995489b0 +P 55910b9a7287be92af9f95e0af54af822055d15b7eabbcc81d61410d0bf67726 +R c5e07dc7678cd93b85244f746fa56268 U drh -Z 994ffac4ccc32781ab809d359e7c6892 +Z 57cf691f47068786612ca081f4bb8ca2 diff --git a/manifest.uuid b/manifest.uuid index 29df6b90b5..2b70686a2b 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -55910b9a7287be92af9f95e0af54af822055d15b7eabbcc81d61410d0bf67726 \ No newline at end of file +1313557b512297e7b75ed748894379b2022aecf696d5a58318e46a668321c1ff \ No newline at end of file diff --git a/src/func.c b/src/func.c index f50fa19869..48b5f5f198 100644 --- a/src/func.c +++ b/src/func.c @@ -1283,7 +1283,7 @@ static void replaceFunc( ** whose index is a power of two: 1, 2, 4, 8, 16, 32, ... */ u8 *zOld; zOld = zOut; - zOut = sqlite3_realloc64(zOut, (int)nOut + (nOut - nStr - 1)); + zOut = sqlite3Realloc(zOut, (int)nOut + (nOut - nStr - 1)); if( zOut==0 ){ sqlite3_result_error_nomem(context); sqlite3_free(zOld); diff --git a/src/malloc.c b/src/malloc.c index b7378099a1..577836ef9a 100644 --- a/src/malloc.c +++ b/src/malloc.c @@ -672,7 +672,7 @@ static SQLITE_NOINLINE void *dbReallocFinish(sqlite3 *db, void *p, u64 n){ assert( sqlite3MemdebugHasType(p, (MEMTYPE_LOOKASIDE|MEMTYPE_HEAP)) ); assert( sqlite3MemdebugNoType(p, (u8)~(MEMTYPE_LOOKASIDE|MEMTYPE_HEAP)) ); sqlite3MemdebugSetType(p, MEMTYPE_HEAP); - pNew = sqlite3_realloc64(p, n); + pNew = sqlite3Realloc(p, n); if( !pNew ){ sqlite3OomFault(db); } diff --git a/src/memdb.c b/src/memdb.c index 2ddecae725..aabac5226f 100644 --- a/src/memdb.c +++ b/src/memdb.c @@ -166,7 +166,7 @@ static int memdbEnlarge(MemFile *p, sqlite3_int64 newSz){ } newSz *= 2; if( newSz>p->szMax ) newSz = p->szMax; - pNew = sqlite3_realloc64(p->aData, newSz); + pNew = sqlite3Realloc(p->aData, newSz); if( pNew==0 ) return SQLITE_NOMEM; p->aData = pNew; p->szAlloc = newSz; diff --git a/src/printf.c b/src/printf.c index a7d1b2f9d5..fd42bd2bca 100644 --- a/src/printf.c +++ b/src/printf.c @@ -924,7 +924,7 @@ static int sqlite3StrAccumEnlarge(StrAccum *p, int N){ if( p->db ){ zNew = sqlite3DbRealloc(p->db, zOld, p->nAlloc); }else{ - zNew = sqlite3_realloc64(zOld, p->nAlloc); + zNew = sqlite3Realloc(zOld, p->nAlloc); } if( zNew ){ assert( p->zText!=0 || p->nChar==0 ); diff --git a/src/table.c b/src/table.c index c79255f990..db60a827a0 100644 --- a/src/table.c +++ b/src/table.c @@ -56,7 +56,7 @@ static int sqlite3_get_table_cb(void *pArg, int nCol, char **argv, char **colv){ if( p->nData + need > p->nAlloc ){ char **azNew; p->nAlloc = p->nAlloc*2 + need; - azNew = sqlite3_realloc64( p->azResult, sizeof(char*)*p->nAlloc ); + azNew = sqlite3Realloc( p->azResult, sizeof(char*)*p->nAlloc ); if( azNew==0 ) goto malloc_failed; p->azResult = azNew; } @@ -165,7 +165,7 @@ int sqlite3_get_table( } if( res.nAlloc>res.nData ){ char **azNew; - azNew = sqlite3_realloc64( res.azResult, sizeof(char*)*res.nData ); + azNew = sqlite3Realloc( res.azResult, sizeof(char*)*res.nData ); if( azNew==0 ){ sqlite3_free_table(&res.azResult[1]); db->errCode = SQLITE_NOMEM; diff --git a/src/vtab.c b/src/vtab.c index 013511cfb4..d94f6b5ed3 100644 --- a/src/vtab.c +++ b/src/vtab.c @@ -1177,7 +1177,7 @@ void sqlite3VtabMakeWritable(Parse *pParse, Table *pTab){ if( pTab==pToplevel->apVtabLock[i] ) return; } n = (pToplevel->nVtabLock+1)*sizeof(pToplevel->apVtabLock[0]); - apVtabLock = sqlite3_realloc64(pToplevel->apVtabLock, n); + apVtabLock = sqlite3Realloc(pToplevel->apVtabLock, n); if( apVtabLock ){ pToplevel->apVtabLock = apVtabLock; pToplevel->apVtabLock[pToplevel->nVtabLock++] = pTab; diff --git a/src/wal.c b/src/wal.c index 115db09cd6..e8f7f24f85 100644 --- a/src/wal.c +++ b/src/wal.c @@ -568,7 +568,7 @@ static SQLITE_NOINLINE int walIndexPageRealloc( if( pWal->nWiData<=iPage ){ sqlite3_int64 nByte = sizeof(u32*)*(iPage+1); volatile u32 **apNew; - apNew = (volatile u32 **)sqlite3_realloc64((void *)pWal->apWiData, nByte); + apNew = (volatile u32 **)sqlite3Realloc((void *)pWal->apWiData, nByte); if( !apNew ){ *ppPage = 0; return SQLITE_NOMEM_BKPT; From c795e3df7aacc12f064a491ca1bc61923185e2df Mon Sep 17 00:00:00 2001 From: drh Date: Sun, 17 May 2020 13:47:28 +0000 Subject: [PATCH 3/4] Avoid harmless UB in memcpy() in the JSON extension. FossilOrigin-Name: 69e149f76853d196c8855fedfc98848b60fb116ac36bc08824b1a122469f8ece --- ext/misc/json1.c | 1 + manifest | 12 ++++++------ manifest.uuid | 2 +- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/ext/misc/json1.c b/ext/misc/json1.c index d42cad17a9..caf7a99d60 100644 --- a/ext/misc/json1.c +++ b/ext/misc/json1.c @@ -254,6 +254,7 @@ static int jsonGrow(JsonString *p, u32 N){ /* Append N bytes from zIn onto the end of the JsonString string. */ static void jsonAppendRaw(JsonString *p, const char *zIn, u32 N){ + if( N==0 ) return; if( (N+p->nUsed >= p->nAlloc) && jsonGrow(p,N)!=0 ) return; memcpy(p->zBuf+p->nUsed, zIn, N); p->nUsed += N; diff --git a/manifest b/manifest index fb24b80edf..09bc31b904 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Use\sthe\ssqlite3Realloc()\sinterface\sinternally,\srather\sthan\sthe\spublic\nsqlite3_realloc64()\sequivalent,\sto\savoid\sunnecessary\scalls\sto\nsqlite3_initialize(). -D 2020-05-17T00:26:44.076 +C Avoid\sharmless\sUB\sin\smemcpy()\sin\sthe\sJSON\sextension. +D 2020-05-17T13:47:28.477 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 @@ -298,7 +298,7 @@ F ext/misc/fileio.c 9b69e25da3b51d4a1d905a464ccb96709792ad627a742ba09215bc0d1447 F ext/misc/fossildelta.c 1240b2d3e52eab1d50c160c7fe1902a9bd210e052dc209200a750bbf885402d5 F ext/misc/fuzzer.c eae560134f66333e9e1ca4c8ffea75df42056e2ce8456734565dbe1c2a92bf3d F ext/misc/ieee754.c eaffd9b364d7c8371727e9c43fc8bec38cdacc4d11fc26beffaa3ca05a0ea9d6 -F ext/misc/json1.c 2d44e3fa37f958b42cbcd41651f9f0a0eaaf3bac3f1f4b8eb456431623cb3bd8 +F ext/misc/json1.c 3a42e3231d716516a8ae33b0a052d3ed5f52943e3d627b68744a427a6e552ae3 F ext/misc/memstat.c 3017a0832c645c0f8c773435620d663855f04690172316bd127270d1a7523d4d F ext/misc/memtrace.c 7c0d115d2ef716ad0ba632c91e05bd119cb16c1aedf3bec9f06196ead2d5537b F ext/misc/memvfs.c ab36f49e02ebcdf85a1e08dc4d8599ea8f343e073ac9e0bca18a98b7e1ec9567 @@ -1866,7 +1866,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 -P 55910b9a7287be92af9f95e0af54af822055d15b7eabbcc81d61410d0bf67726 -R c5e07dc7678cd93b85244f746fa56268 +P 1313557b512297e7b75ed748894379b2022aecf696d5a58318e46a668321c1ff +R 0a3aaa0509481c9d6269f1e12c4b65a3 U drh -Z 57cf691f47068786612ca081f4bb8ca2 +Z c1782df13623caf985a15e6cbac97877 diff --git a/manifest.uuid b/manifest.uuid index 2b70686a2b..892a8523c0 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -1313557b512297e7b75ed748894379b2022aecf696d5a58318e46a668321c1ff \ No newline at end of file +69e149f76853d196c8855fedfc98848b60fb116ac36bc08824b1a122469f8ece \ No newline at end of file From a5ee67d5b3ec8eaca71bde483dbb9fd9c77cea1a Mon Sep 17 00:00:00 2001 From: dan Date: Mon, 18 May 2020 18:02:37 +0000 Subject: [PATCH 4/4] Add vdbevtab.lo to build of libsqlite3.lib in Makefile.msc. FossilOrigin-Name: f64d054b799c0af8d582fd9aff9bcbfa380ef08026ba5db8c5f89f6f56dfdad9 --- Makefile.msc | 3 ++- manifest | 14 +++++++------- manifest.uuid | 2 +- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/Makefile.msc b/Makefile.msc index d3817e4e84..a5c9828901 100644 --- a/Makefile.msc +++ b/Makefile.msc @@ -1256,7 +1256,8 @@ LIBOBJS0 = vdbe.lo parse.lo alter.lo analyze.lo attach.lo auth.lo \ table.lo threads.lo tokenize.lo treeview.lo trigger.lo \ update.lo upsert.lo util.lo vacuum.lo \ vdbeapi.lo vdbeaux.lo vdbeblob.lo vdbemem.lo vdbesort.lo \ - vdbetrace.lo wal.lo walker.lo where.lo wherecode.lo whereexpr.lo \ + vdbetrace.lo vdbevtab.lo wal.lo walker.lo where.lo wherecode.lo \ + whereexpr.lo \ window.lo utf.lo vtab.lo # <> diff --git a/manifest b/manifest index 09bc31b904..9f4f6e3da8 100644 --- a/manifest +++ b/manifest @@ -1,11 +1,11 @@ -C Avoid\sharmless\sUB\sin\smemcpy()\sin\sthe\sJSON\sextension. -D 2020-05-17T13:47:28.477 +C Add\svdbevtab.lo\sto\sbuild\sof\slibsqlite3.lib\sin\sMakefile.msc. +D 2020-05-18T18:02:37.420 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 F Makefile.in 376f53999defeb32b7ad2626fd58aae8f3694c38ab7ee30c2289e0d0525a9238 F Makefile.linux-gcc f609543700659711fbd230eced1f01353117621dccae7b9fb70daa64236c5241 -F Makefile.msc 14bbe230f81498ed1d5a4df79317c9abdbd2f950cb8030527acccf4e2eddfd34 +F Makefile.msc 8d00aeba2609bb498dded5eead2890126321f02e292573bf29bf2d18487d37bd F README.md 1514a365ffca3c138e00c5cc839906108a01011a6b082bad19b09781e3aa498a F VERSION 980d78a2ce04a1fd0ebefbaabd665f7f9186563820629ee29c6e350e96f19b52 F aclocal.m4 a5c22d164aff7ed549d53a90fa56d56955281f50 @@ -1866,7 +1866,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 -P 1313557b512297e7b75ed748894379b2022aecf696d5a58318e46a668321c1ff -R 0a3aaa0509481c9d6269f1e12c4b65a3 -U drh -Z c1782df13623caf985a15e6cbac97877 +P 69e149f76853d196c8855fedfc98848b60fb116ac36bc08824b1a122469f8ece +R 3630bc41d5bae3aeb507521e3969369e +U dan +Z ad12d06ec98773d9201d7cf643b16e9f diff --git a/manifest.uuid b/manifest.uuid index 892a8523c0..7c14e40f17 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -69e149f76853d196c8855fedfc98848b60fb116ac36bc08824b1a122469f8ece \ No newline at end of file +f64d054b799c0af8d582fd9aff9bcbfa380ef08026ba5db8c5f89f6f56dfdad9 \ No newline at end of file