1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-07-29 08:01:23 +03:00

Fixes for harmless static-analyzer warnings. This also makes the code easier

for humans to understand.

FossilOrigin-Name: 36177a62feeb4fa93ab6e3c6f4dbe1ddcf63bb02f93284abab979da0261b218e
This commit is contained in:
drh
2021-10-05 17:41:12 +00:00
parent 6a726fa175
commit 7a3b4451a1
8 changed files with 83 additions and 33 deletions

View File

@ -562,6 +562,7 @@ int sqlite3Fts5ConfigParse(
z = fts5ConfigSkipWhitespace(z); z = fts5ConfigSkipWhitespace(z);
if( z && *z=='=' ){ if( z && *z=='=' ){
bOption = 1; bOption = 1;
assert( zOne!=0 );
z++; z++;
if( bMustBeCol ) z = 0; if( bMustBeCol ) z = 0;
} }
@ -578,7 +579,11 @@ int sqlite3Fts5ConfigParse(
rc = SQLITE_ERROR; rc = SQLITE_ERROR;
}else{ }else{
if( bOption ){ if( bOption ){
rc = fts5ConfigParseSpecial(pGlobal, pRet, zOne, zTwo?zTwo:"", pzErr); rc = fts5ConfigParseSpecial(pGlobal, pRet,
ALWAYS(zOne)?zOne:"",
zTwo?zTwo:"",
pzErr
);
}else{ }else{
rc = fts5ConfigParseColumn(pRet, zOne, zTwo, pzErr); rc = fts5ConfigParseColumn(pRet, zOne, zTwo, pzErr);
zOne = 0; zOne = 0;

View File

@ -1875,7 +1875,7 @@ int sqlite3Fts5ExprClonePhrase(
sCtx.pPhrase = sqlite3Fts5MallocZero(&rc, sizeof(Fts5ExprPhrase)); sCtx.pPhrase = sqlite3Fts5MallocZero(&rc, sizeof(Fts5ExprPhrase));
} }
if( rc==SQLITE_OK ){ if( rc==SQLITE_OK && ALWAYS(sCtx.pPhrase) ){
/* All the allocations succeeded. Put the expression object together. */ /* All the allocations succeeded. Put the expression object together. */
pNew->pIndex = pExpr->pIndex; pNew->pIndex = pExpr->pIndex;
pNew->pConfig = pExpr->pConfig; pNew->pConfig = pExpr->pConfig;

View File

@ -3390,6 +3390,7 @@ static void fts5IterSetOutputs_Full(Fts5Iter *pIter, Fts5SegIter *pSeg){
} }
static void fts5IterSetOutputCb(int *pRc, Fts5Iter *pIter){ static void fts5IterSetOutputCb(int *pRc, Fts5Iter *pIter){
assert( pIter!=0 || (*pRc)!=SQLITE_OK );
if( *pRc==SQLITE_OK ){ if( *pRc==SQLITE_OK ){
Fts5Config *pConfig = pIter->pIndex->pConfig; Fts5Config *pConfig = pIter->pIndex->pConfig;
if( pConfig->eDetail==FTS5_DETAIL_NONE ){ if( pConfig->eDetail==FTS5_DETAIL_NONE ){
@ -3461,7 +3462,10 @@ static void fts5MultiIterNew(
} }
} }
*ppOut = pNew = fts5MultiIterAlloc(p, nSeg); *ppOut = pNew = fts5MultiIterAlloc(p, nSeg);
if( pNew==0 ) return; if( pNew==0 ){
assert( p->rc!=SQLITE_OK );
goto fts5MultiIterNew_post_check;
}
pNew->bRev = (0!=(flags & FTS5INDEX_QUERY_DESC)); pNew->bRev = (0!=(flags & FTS5INDEX_QUERY_DESC));
pNew->bSkipEmpty = (0!=(flags & FTS5INDEX_QUERY_SKIPEMPTY)); pNew->bSkipEmpty = (0!=(flags & FTS5INDEX_QUERY_SKIPEMPTY));
pNew->pColset = pColset; pNew->pColset = pColset;
@ -3525,6 +3529,10 @@ static void fts5MultiIterNew(
fts5MultiIterFree(pNew); fts5MultiIterFree(pNew);
*ppOut = 0; *ppOut = 0;
} }
fts5MultiIterNew_post_check:
assert( (*ppOut)!=0 || p->rc!=SQLITE_OK );
return;
} }
/* /*
@ -6203,6 +6211,7 @@ int sqlite3Fts5IndexIntegrityCheck(Fts5Index *p, u64 cksum, int bUseCksum){
Fts5Buffer poslist = {0,0,0}; /* Buffer used to hold a poslist */ Fts5Buffer poslist = {0,0,0}; /* Buffer used to hold a poslist */
Fts5Iter *pIter; /* Used to iterate through entire index */ Fts5Iter *pIter; /* Used to iterate through entire index */
Fts5Structure *pStruct; /* Index structure */ Fts5Structure *pStruct; /* Index structure */
int iLvl, iSeg;
#ifdef SQLITE_DEBUG #ifdef SQLITE_DEBUG
/* Used by extra internal tests only run if NDEBUG is not defined */ /* Used by extra internal tests only run if NDEBUG is not defined */
@ -6213,15 +6222,16 @@ int sqlite3Fts5IndexIntegrityCheck(Fts5Index *p, u64 cksum, int bUseCksum){
/* Load the FTS index structure */ /* Load the FTS index structure */
pStruct = fts5StructureRead(p); pStruct = fts5StructureRead(p);
if( pStruct==0 ){
assert( p->rc!=SQLITE_OK );
return fts5IndexReturn(p);
}
/* Check that the internal nodes of each segment match the leaves */ /* Check that the internal nodes of each segment match the leaves */
if( pStruct ){ for(iLvl=0; iLvl<pStruct->nLevel; iLvl++){
int iLvl, iSeg; for(iSeg=0; iSeg<pStruct->aLevel[iLvl].nSeg; iSeg++){
for(iLvl=0; iLvl<pStruct->nLevel; iLvl++){ Fts5StructureSegment *pSeg = &pStruct->aLevel[iLvl].aSeg[iSeg];
for(iSeg=0; iSeg<pStruct->aLevel[iLvl].nSeg; iSeg++){ fts5IndexIntegrityCheckSegment(p, pSeg);
Fts5StructureSegment *pSeg = &pStruct->aLevel[iLvl].aSeg[iSeg];
fts5IndexIntegrityCheckSegment(p, pSeg);
}
} }
} }

View File

@ -1058,8 +1058,9 @@ int sqlite3Fts5StorageDocsize(Fts5Storage *p, i64 iRowid, int *aCol){
assert( p->pConfig->bColumnsize ); assert( p->pConfig->bColumnsize );
rc = fts5StorageGetStmt(p, FTS5_STMT_LOOKUP_DOCSIZE, &pLookup, 0); rc = fts5StorageGetStmt(p, FTS5_STMT_LOOKUP_DOCSIZE, &pLookup, 0);
if( rc==SQLITE_OK ){ if( pLookup ){
int bCorrupt = 1; int bCorrupt = 1;
assert( rc==SQLITE_OK );
sqlite3_bind_int64(pLookup, 1, iRowid); sqlite3_bind_int64(pLookup, 1, iRowid);
if( SQLITE_ROW==sqlite3_step(pLookup) ){ if( SQLITE_ROW==sqlite3_step(pLookup) ){
const u8 *aBlob = sqlite3_column_blob(pLookup, 0); const u8 *aBlob = sqlite3_column_blob(pLookup, 0);
@ -1072,6 +1073,8 @@ int sqlite3Fts5StorageDocsize(Fts5Storage *p, i64 iRowid, int *aCol){
if( bCorrupt && rc==SQLITE_OK ){ if( bCorrupt && rc==SQLITE_OK ){
rc = FTS5_CORRUPT; rc = FTS5_CORRUPT;
} }
}else{
assert( rc!=SQLITE_OK );
} }
return rc; return rc;

View File

@ -1387,6 +1387,7 @@ static int geopolyFilter(
RtreeCoord bbox[4]; RtreeCoord bbox[4];
RtreeConstraint *p; RtreeConstraint *p;
assert( argc==1 ); assert( argc==1 );
assert( argv[0]!=0 );
geopolyBBox(0, argv[0], bbox, &rc); geopolyBBox(0, argv[0], bbox, &rc);
if( rc ){ if( rc ){
goto geopoly_filter_end; goto geopoly_filter_end;
@ -1614,6 +1615,7 @@ static int geopolyUpdate(
|| !sqlite3_value_nochange(aData[2]) /* UPDATE _shape */ || !sqlite3_value_nochange(aData[2]) /* UPDATE _shape */
|| oldRowid!=newRowid) /* Rowid change */ || oldRowid!=newRowid) /* Rowid change */
){ ){
assert( aData[2]!=0 );
geopolyBBox(0, aData[2], cell.aCoord, &rc); geopolyBBox(0, aData[2], cell.aCoord, &rc);
if( rc ){ if( rc ){
if( rc==SQLITE_ERROR ){ if( rc==SQLITE_ERROR ){

View File

@ -1025,16 +1025,32 @@ static int sessionTableInfo(
}else if( rc==SQLITE_ERROR ){ }else if( rc==SQLITE_ERROR ){
zPragma = sqlite3_mprintf(""); zPragma = sqlite3_mprintf("");
}else{ }else{
*pazCol = 0;
*pabPK = 0;
*pnCol = 0;
if( pzTab ) *pzTab = 0;
return rc; return rc;
} }
}else{ }else{
zPragma = sqlite3_mprintf("PRAGMA '%q'.table_info('%q')", zDb, zThis); zPragma = sqlite3_mprintf("PRAGMA '%q'.table_info('%q')", zDb, zThis);
} }
if( !zPragma ) return SQLITE_NOMEM; if( !zPragma ){
*pazCol = 0;
*pabPK = 0;
*pnCol = 0;
if( pzTab ) *pzTab = 0;
return SQLITE_NOMEM;
}
rc = sqlite3_prepare_v2(db, zPragma, -1, &pStmt, 0); rc = sqlite3_prepare_v2(db, zPragma, -1, &pStmt, 0);
sqlite3_free(zPragma); sqlite3_free(zPragma);
if( rc!=SQLITE_OK ) return rc; if( rc!=SQLITE_OK ){
*pazCol = 0;
*pabPK = 0;
*pnCol = 0;
if( pzTab ) *pzTab = 0;
return rc;
}
nByte = nThis + 1; nByte = nThis + 1;
while( SQLITE_ROW==sqlite3_step(pStmt) ){ while( SQLITE_ROW==sqlite3_step(pStmt) ){
@ -1452,7 +1468,11 @@ static int sessionFindTable(
){ ){
rc = sqlite3session_attach(pSession, zName); rc = sqlite3session_attach(pSession, zName);
if( rc==SQLITE_OK ){ if( rc==SQLITE_OK ){
for(pRet=pSession->pTable; pRet->pNext; pRet=pRet->pNext); pRet = pSession->pTable;
while( ALWAYS(pRet) && pRet->pNext ){
pRet = pRet->pNext;
}
assert( pRet!=0 );
assert( 0==sqlite3_strnicmp(pRet->zName, zName, nName+1) ); assert( 0==sqlite3_strnicmp(pRet->zName, zName, nName+1) );
} }
} }
@ -2225,6 +2245,7 @@ static int sessionAppendUpdate(
int i; /* Used to iterate through columns */ int i; /* Used to iterate through columns */
u8 *pCsr = p->aRecord; /* Used to iterate through old.* values */ u8 *pCsr = p->aRecord; /* Used to iterate through old.* values */
assert( abPK!=0 );
sessionAppendByte(pBuf, SQLITE_UPDATE, &rc); sessionAppendByte(pBuf, SQLITE_UPDATE, &rc);
sessionAppendByte(pBuf, p->bIndirect, &rc); sessionAppendByte(pBuf, p->bIndirect, &rc);
for(i=0; i<sqlite3_column_count(pStmt); i++){ for(i=0; i<sqlite3_column_count(pStmt); i++){
@ -2529,12 +2550,14 @@ static int sessionGenerateChangeset(
SessionBuffer buf = {0,0,0}; /* Buffer in which to accumlate changeset */ SessionBuffer buf = {0,0,0}; /* Buffer in which to accumlate changeset */
int rc; /* Return code */ int rc; /* Return code */
assert( xOutput==0 || (pnChangeset==0 && ppChangeset==0 ) ); assert( xOutput==0 || (pnChangeset==0 && ppChangeset==0) );
assert( xOutput!=0 || (pnChangeset!=0 && ppChangeset!=0) );
/* Zero the output variables in case an error occurs. If this session /* Zero the output variables in case an error occurs. If this session
** object is already in the error state (sqlite3_session.rc != SQLITE_OK), ** object is already in the error state (sqlite3_session.rc != SQLITE_OK),
** this call will be a no-op. */ ** this call will be a no-op. */
if( xOutput==0 ){ if( xOutput==0 ){
assert( pnChangeset!=0 && ppChangeset!=0 );
*pnChangeset = 0; *pnChangeset = 0;
*ppChangeset = 0; *ppChangeset = 0;
} }
@ -2548,8 +2571,8 @@ static int sessionGenerateChangeset(
for(pTab=pSession->pTable; rc==SQLITE_OK && pTab; pTab=pTab->pNext){ for(pTab=pSession->pTable; rc==SQLITE_OK && pTab; pTab=pTab->pNext){
if( pTab->nEntry ){ if( pTab->nEntry ){
const char *zName = pTab->zName; const char *zName = pTab->zName;
int nCol; /* Number of columns in table */ int nCol = 0; /* Number of columns in table */
u8 *abPK; /* Primary key array */ u8 *abPK = 0; /* Primary key array */
const char **azCol = 0; /* Table columns */ const char **azCol = 0; /* Table columns */
int i; /* Used to iterate through hash buckets */ int i; /* Used to iterate through hash buckets */
sqlite3_stmt *pSel = 0; /* SELECT statement to query table pTab */ sqlite3_stmt *pSel = 0; /* SELECT statement to query table pTab */
@ -2587,6 +2610,7 @@ static int sessionGenerateChangeset(
sessionAppendCol(&buf, pSel, iCol, &rc); sessionAppendCol(&buf, pSel, iCol, &rc);
} }
}else{ }else{
assert( abPK!=0 ); /* Because sessionSelectStmt() returned ok */
rc = sessionAppendUpdate(&buf, bPatchset, pSel, p, abPK); rc = sessionAppendUpdate(&buf, bPatchset, pSel, p, abPK);
} }
}else if( p->op!=SQLITE_INSERT ){ }else if( p->op!=SQLITE_INSERT ){
@ -2647,7 +2671,10 @@ int sqlite3session_changeset(
int *pnChangeset, /* OUT: Size of buffer at *ppChangeset */ int *pnChangeset, /* OUT: Size of buffer at *ppChangeset */
void **ppChangeset /* OUT: Buffer containing changeset */ void **ppChangeset /* OUT: Buffer containing changeset */
){ ){
int rc = sessionGenerateChangeset(pSession, 0, 0, 0, pnChangeset,ppChangeset); int rc;
if( pnChangeset==0 || ppChangeset==0 ) return SQLITE_MISUSE;
rc = sessionGenerateChangeset(pSession, 0, 0, 0, pnChangeset,ppChangeset);
assert( rc || pnChangeset==0 assert( rc || pnChangeset==0
|| pSession->bEnableSize==0 || *pnChangeset<=pSession->nMaxChangesetSize || pSession->bEnableSize==0 || *pnChangeset<=pSession->nMaxChangesetSize
); );
@ -2662,6 +2689,7 @@ int sqlite3session_changeset_strm(
int (*xOutput)(void *pOut, const void *pData, int nData), int (*xOutput)(void *pOut, const void *pData, int nData),
void *pOut void *pOut
){ ){
if( xOutput==0 ) return SQLITE_MISUSE;
return sessionGenerateChangeset(pSession, 0, xOutput, pOut, 0, 0); return sessionGenerateChangeset(pSession, 0, xOutput, pOut, 0, 0);
} }
@ -2673,6 +2701,7 @@ int sqlite3session_patchset_strm(
int (*xOutput)(void *pOut, const void *pData, int nData), int (*xOutput)(void *pOut, const void *pData, int nData),
void *pOut void *pOut
){ ){
if( xOutput==0 ) return SQLITE_MISUSE;
return sessionGenerateChangeset(pSession, 1, xOutput, pOut, 0, 0); return sessionGenerateChangeset(pSession, 1, xOutput, pOut, 0, 0);
} }
@ -2688,6 +2717,7 @@ int sqlite3session_patchset(
int *pnPatchset, /* OUT: Size of buffer at *ppChangeset */ int *pnPatchset, /* OUT: Size of buffer at *ppChangeset */
void **ppPatchset /* OUT: Buffer containing changeset */ void **ppPatchset /* OUT: Buffer containing changeset */
){ ){
if( pnPatchset==0 || ppPatchset==0 ) return SQLITE_MISUSE;
return sessionGenerateChangeset(pSession, 1, 0, 0, pnPatchset, ppPatchset); return sessionGenerateChangeset(pSession, 1, 0, 0, pnPatchset, ppPatchset);
} }
@ -5254,9 +5284,9 @@ static int sessionChangegroupOutput(
if( rc==SQLITE_OK ){ if( rc==SQLITE_OK ){
if( xOutput ){ if( xOutput ){
if( buf.nBuf>0 ) rc = xOutput(pOut, buf.aBuf, buf.nBuf); if( buf.nBuf>0 ) rc = xOutput(pOut, buf.aBuf, buf.nBuf);
}else{ }else if( ppOut ){
*ppOut = buf.aBuf; *ppOut = buf.aBuf;
*pnOut = buf.nBuf; if( pnOut ) *pnOut = buf.nBuf;
buf.aBuf = 0; buf.aBuf = 0;
} }
} }
@ -5656,7 +5686,7 @@ static int sessionRebase(
if( sOut.nBuf>0 ){ if( sOut.nBuf>0 ){
rc = xOutput(pOut, sOut.aBuf, sOut.nBuf); rc = xOutput(pOut, sOut.aBuf, sOut.nBuf);
} }
}else{ }else if( ppOut ){
*ppOut = (void*)sOut.aBuf; *ppOut = (void*)sOut.aBuf;
*pnOut = sOut.nBuf; *pnOut = sOut.nBuf;
sOut.aBuf = 0; sOut.aBuf = 0;

View File

@ -1,5 +1,5 @@
C Fix\sseparate\scompilation\sof\sjson1.c,\swhich\swas\sapparently\sbroken\sby\ncheck-in\s[32f33f356931242b]. C Fixes\sfor\sharmless\sstatic-analyzer\swarnings.\s\sThis\salso\smakes\sthe\scode\seasier\nfor\shumans\sto\sunderstand.
D 2021-10-05T15:30:52.545 D 2021-10-05T17:41:12.259
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@ -116,12 +116,12 @@ F ext/fts5/fts5.h c132a9323f22a972c4c93a8d5a3d901113a6e612faf30ca8e695788438c5ca
F ext/fts5/fts5Int.h a453bdbc5741c8e4014fa232f06a954f7bec4460f3d840aaac95404118436ddc F ext/fts5/fts5Int.h a453bdbc5741c8e4014fa232f06a954f7bec4460f3d840aaac95404118436ddc
F ext/fts5/fts5_aux.c f558e1fb9f0f86a4f7489e258c162e1f947de5ff2709087fbb465fddb7092f98 F ext/fts5/fts5_aux.c f558e1fb9f0f86a4f7489e258c162e1f947de5ff2709087fbb465fddb7092f98
F ext/fts5/fts5_buffer.c 89a51b37c4aa1c02c1ec24c18c55196c0693b29a752fedfd036938df59a1347f F ext/fts5/fts5_buffer.c 89a51b37c4aa1c02c1ec24c18c55196c0693b29a752fedfd036938df59a1347f
F ext/fts5/fts5_config.c 8336d0ff6db0933f63cfec8ae0ab76e68393259cbccc0b46e1f79f7fa1842ff3 F ext/fts5/fts5_config.c 501e7d3566bc92766b0e11c0109a7c5a6146bc41144195459af5422f6c2078aa
F ext/fts5/fts5_expr.c 11cc2acd3d73fba0af0041a6887c49e8f54ac4d314fc3489cfdfc10836945ada F ext/fts5/fts5_expr.c cd2058668122c316c8bd24ccbdbc91da7d34862b180508f3cf1de02abf0d9c6f
F ext/fts5/fts5_hash.c 1aa93c9b5f461afba66701ee226297dc78402b3bdde81e90a10de5fe3df14959 F ext/fts5/fts5_hash.c 1aa93c9b5f461afba66701ee226297dc78402b3bdde81e90a10de5fe3df14959
F ext/fts5/fts5_index.c 7d38db1d89cd1d0488d452c7eed725a612dec4df9346efec5dca76674e7ff1a0 F ext/fts5/fts5_index.c 10be19396b59d327ecc708ff07ba3733f93f6e5669e80d5c67a00387976245cf
F ext/fts5/fts5_main.c 7c6092a53e6802962fa07b0fad3e61cb077b6c98b74b727d8d44ac2cf63bd914 F ext/fts5/fts5_main.c 7c6092a53e6802962fa07b0fad3e61cb077b6c98b74b727d8d44ac2cf63bd914
F ext/fts5/fts5_storage.c 58ba71e6cd3d43a5735815e7956ee167babb4d2cbfe206905174792af4d09d75 F ext/fts5/fts5_storage.c 8cad8ac7e6ff099a7923b49efb3f7409245333e3198381c8bf39169d0920e735
F ext/fts5/fts5_tcl.c b1445cbe69908c411df8084a10b2485500ac70a9c747cdc8cda175a3da59d8ae F ext/fts5/fts5_tcl.c b1445cbe69908c411df8084a10b2485500ac70a9c747cdc8cda175a3da59d8ae
F ext/fts5/fts5_test_mi.c 08c11ec968148d4cb4119d96d819f8c1f329812c568bac3684f5464be177d3ee F ext/fts5/fts5_test_mi.c 08c11ec968148d4cb4119d96d819f8c1f329812c568bac3684f5464be177d3ee
F ext/fts5/fts5_test_tok.c a2bed8edb25f6432e8cdb62aad5916935c19dba8dac2b8324950cfff397e25ff F ext/fts5/fts5_test_tok.c a2bed8edb25f6432e8cdb62aad5916935c19dba8dac2b8324950cfff397e25ff
@ -393,7 +393,7 @@ F ext/repair/test/checkfreelist01.test 3e8aa6aeb4007680c94a8d07b41c339aa635cc782
F ext/repair/test/checkindex01.test b530f141413b587c9eb78ff734de6bb79bc3515c335096108c12c01bddbadcec F ext/repair/test/checkindex01.test b530f141413b587c9eb78ff734de6bb79bc3515c335096108c12c01bddbadcec
F ext/repair/test/test.tcl 686d76d888dffd021f64260abf29a55c57b2cedfa7fc69150b42b1d6119aac3c F ext/repair/test/test.tcl 686d76d888dffd021f64260abf29a55c57b2cedfa7fc69150b42b1d6119aac3c
F ext/rtree/README 6315c0d73ebf0ec40dedb5aa0e942bc8b54e3761 F ext/rtree/README 6315c0d73ebf0ec40dedb5aa0e942bc8b54e3761
F ext/rtree/geopoly.c 97a4a5b4065fb2c2fe8dd7991b0e0ea3144f3f385a844265f9b2a98ea7a42c51 F ext/rtree/geopoly.c a7021cb524621573ccda213a35b0339371849dd4acc4909f689786ee1f964b7f
F ext/rtree/rtree.c f2658ccaf20c65f2c2d7b097e42aa71be7272a3b49af586a57d9eed8ceb8436f F ext/rtree/rtree.c f2658ccaf20c65f2c2d7b097e42aa71be7272a3b49af586a57d9eed8ceb8436f
F ext/rtree/rtree.h 4a690463901cb5e6127cf05eb8e642f127012fd5003830dbc974eca5802d9412 F ext/rtree/rtree.h 4a690463901cb5e6127cf05eb8e642f127012fd5003830dbc974eca5802d9412
F ext/rtree/rtree1.test 35c3bc0def71317b7601ee0d1149e7df2cd8fc4f13ec89a64761ac3f46ca123f F ext/rtree/rtree1.test 35c3bc0def71317b7601ee0d1149e7df2cd8fc4f13ec89a64761ac3f46ca123f
@ -462,7 +462,7 @@ F ext/session/sessionrebase.test ccfa716b23bd1d3b03217ee58cfd90c78d4b99f53e6a9a2
F ext/session/sessionsize.test 6f644aff31c7f1e4871e9ff3542766e18da68fc7e587b83a347ea9820a002dd8 F ext/session/sessionsize.test 6f644aff31c7f1e4871e9ff3542766e18da68fc7e587b83a347ea9820a002dd8
F ext/session/sessionstat1.test 218d351cf9fcd6648f125a26b607b140310160184723c2666091b54450a68fb5 F ext/session/sessionstat1.test 218d351cf9fcd6648f125a26b607b140310160184723c2666091b54450a68fb5
F ext/session/sessionwor.test 6fd9a2256442cebde5b2284936ae9e0d54bde692d0f5fd009ecef8511f4cf3fc F ext/session/sessionwor.test 6fd9a2256442cebde5b2284936ae9e0d54bde692d0f5fd009ecef8511f4cf3fc
F ext/session/sqlite3session.c c710a6e34b6635794102dcd1ed2d594aa08e2d2ae6487ca4111e56c165dbce91 F ext/session/sqlite3session.c 1d019c5caf51936ef24c761db63552b06e0e0d951c8740bba9639b17fa0cb107
F ext/session/sqlite3session.h 0907de79bc13a2e3af30a6dc29acc60792a3eaf7d33d44cf52500d0f3c2b2171 F ext/session/sqlite3session.h 0907de79bc13a2e3af30a6dc29acc60792a3eaf7d33d44cf52500d0f3c2b2171
F ext/session/test_session.c f433f68a8a8c64b0f5bc74dc725078f12483301ad4ae8375205eef790274a787 F ext/session/test_session.c f433f68a8a8c64b0f5bc74dc725078f12483301ad4ae8375205eef790274a787
F ext/userauth/sqlite3userauth.h 7f3ea8c4686db8e40b0a0e7a8e0b00fac13aa7a3 F ext/userauth/sqlite3userauth.h 7f3ea8c4686db8e40b0a0e7a8e0b00fac13aa7a3
@ -1929,7 +1929,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
P 0d853df1b19a0270b2cb0ebdf5df8067572f19ab9a82d047cb047f3f9e850348 P 0c7ece6792d30bdb314e2a6e61d0c051c3619a2d749f8b1df7dc2b1f521388bf
R 63be5c84a35184416ddc69495763d671 R d7869467529a1f693e58c2e82f050714
U drh U drh
Z d82694695e4c51961e1d1391abd9f9a9 Z e16dba19332e3dabfbb249ef117ed387

View File

@ -1 +1 @@
0c7ece6792d30bdb314e2a6e61d0c051c3619a2d749f8b1df7dc2b1f521388bf 36177a62feeb4fa93ab6e3c6f4dbe1ddcf63bb02f93284abab979da0261b218e