mirror of
https://github.com/sqlite/sqlite.git
synced 2025-11-15 11:41:13 +03:00
When an IN operator drives a query loop, mark it as "CODED" so that it
will not be used afterwards for a (pointless) membership test. This is a better fix for ticket [df46dfb631f75694] than the previous fix that is now on a branch as it preserves the full optimization of check-in [e130319317e76119]. FossilOrigin-Name: fa792714ae62fa980f1767acc6d622a6727ceb677870243c88548423795dcb5b
This commit is contained in:
@@ -1344,6 +1344,7 @@ Bitmask sqlite3WhereCodeOneLoopStart(
|
||||
sqlite3VdbeAddOp3(v, OP_SeekRowid, iCur, addrNxt, iRowidReg);
|
||||
VdbeCoverage(v);
|
||||
pLevel->op = OP_Noop;
|
||||
pTerm->wtFlags |= TERM_CODED;
|
||||
}else if( (pLoop->wsFlags & WHERE_IPK)!=0
|
||||
&& (pLoop->wsFlags & WHERE_COLUMN_RANGE)!=0
|
||||
){
|
||||
|
||||
Reference in New Issue
Block a user