1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-11-16 23:02:26 +03:00

Make sure registers computed for the VFilter opcode are marked invalid

after the VFilter opcode finishes.  Ticket [16fbf14cb2].

FossilOrigin-Name: 83dc7d38c2695d1b2a7d4866a4df9be9e41d1abe
This commit is contained in:
drh
2009-11-23 21:23:45 +00:00
parent 1ac399e8eb
commit a62bb8d4d7
5 changed files with 71 additions and 11 deletions

View File

@@ -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 */