diff options
author | drh <drh@noemail.net> | 2009-11-23 21:23:45 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2009-11-23 21:23:45 +0000 |
commit | a62bb8d4d71f39807fc74f1a06ec409512d01feb (patch) | |
tree | a1a265503e52c21d5c581d97d592b16b8c5e94b6 /src/where.c | |
parent | 1ac399e8eb9a0bb645661b43bd9462dcf7b16406 (diff) | |
download | sqlite-a62bb8d4d71f39807fc74f1a06ec409512d01feb.tar.gz sqlite-a62bb8d4d71f39807fc74f1a06ec409512d01feb.zip |
Make sure registers computed for the VFilter opcode are marked invalid
after the VFilter opcode finishes. Ticket [16fbf14cb2].
FossilOrigin-Name: 83dc7d38c2695d1b2a7d4866a4df9be9e41d1abe
Diffstat (limited to 'src/where.c')
-rw-r--r-- | src/where.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/where.c b/src/where.c index c39504047..067ec4079 100644 --- a/src/where.c +++ b/src/where.c @@ -2876,6 +2876,7 @@ static Bitmask codeOneLoopStart( const struct sqlite3_index_constraint *aConstraint = pVtabIdx->aConstraint; + sqlite3ExprCachePush(pParse); iReg = sqlite3GetTempRange(pParse, nConstraint+2); for(j=1; j<=nConstraint; j++){ for(k=0; k<nConstraint; k++){ @@ -2902,6 +2903,7 @@ static Bitmask codeOneLoopStart( pLevel->p1 = iCur; pLevel->p2 = sqlite3VdbeCurrentAddr(v); sqlite3ReleaseTempRange(pParse, iReg, nConstraint+2); + sqlite3ExprCachePop(pParse, 1); }else #endif /* SQLITE_OMIT_VIRTUALTABLE */ |