mirror of
https://github.com/sqlite/sqlite.git
synced 2025-11-18 10:21:03 +03:00
Ensure a cursor used by the SeekScan operator does not point to a valid row on the first iteration of the loop. Possible fix for [2d6e8400].
FossilOrigin-Name: 390cf60a286b13f454429f4652a133f95a7891a75c1ec6d16cd39990590fd3fb
This commit is contained in:
@@ -1743,6 +1743,12 @@ Bitmask sqlite3WhereCodeOneLoopStart(
|
||||
SWAP(u8, nBtm, nTop);
|
||||
}
|
||||
|
||||
if( iLevel>0 && (pLoop->wsFlags & WHERE_IN_SEEKSCAN)!=0 ){
|
||||
/* In case OP_SeekScan is used, ensure that the index cursor does not
|
||||
** point to a valid row for the first iteration of this loop. */
|
||||
sqlite3VdbeAddOp1(v, OP_NullRow, iIdxCur);
|
||||
}
|
||||
|
||||
/* Generate code to evaluate all constraint terms using == or IN
|
||||
** and store the values of those terms in an array of registers
|
||||
** starting at regBase.
|
||||
|
||||
Reference in New Issue
Block a user