diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/where.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/src/where.c b/src/where.c index dbb1f3f39..3a06cb05e 100644 --- a/src/where.c +++ b/src/where.c @@ -4350,7 +4350,7 @@ void sqlite3WhereEnd(WhereInfo *pWInfo){ if( !pWInfo->okOnePass && (ws & WHERE_IDX_ONLY)==0 ){ sqlite3VdbeAddOp1(v, OP_Close, pTabItem->iCursor); } - if( (ws & (WHERE_INDEXED|WHERE_TEMP_INDEX)) == WHERE_INDEXED ){ + if( (ws & WHERE_INDEXED)!=0 && (ws & WHERE_TEMP_INDEX)==0 ){ sqlite3VdbeAddOp1(v, OP_Close, pLevel->iIdxCur); } } @@ -4398,9 +4398,7 @@ void sqlite3WhereEnd(WhereInfo *pWInfo){ /* Final cleanup */ - if( pWInfo ){ - pParse->nQueryLoop = pWInfo->savedNQueryLoop; - whereInfoFree(db, pWInfo); - } + pParse->nQueryLoop = pWInfo->savedNQueryLoop; + whereInfoFree(db, pWInfo); return; } |