mirror of
https://github.com/sqlite/sqlite.git
synced 2025-07-27 20:41:58 +03:00
Fix a bug in lsm queries on levels undergoing incremental an merge that
contain range-delete markers. FossilOrigin-Name: b2c2487928becbea5a932895d153709c98a057a3c71c2600e165478562e9f7c5
This commit is contained in:
@ -1952,7 +1952,17 @@ static int seekInLevel(
|
||||
rtTopic(pPtr->eType), pPtr->pKey, pPtr->nKey,
|
||||
pLvl->iSplitTopic, pLvl->pSplitKey, pLvl->nSplitKey
|
||||
);
|
||||
if( res<0 ) segmentPtrReset(pPtr, LSM_SEGMENTPTR_FREE_THRESHOLD);
|
||||
if( res<0 ){
|
||||
if( pPtr->eType & LSM_START_DELETE ){
|
||||
pPtr->eType &= ~LSM_INSERT;
|
||||
pPtr->pKey = pLvl->pSplitKey;
|
||||
pPtr->nKey = pLvl->nSplitKey;
|
||||
pPtr->pVal = 0;
|
||||
pPtr->nVal = 0;
|
||||
}else{
|
||||
segmentPtrReset(pPtr, LSM_SEGMENTPTR_FREE_THRESHOLD);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if( aPtr[i].pKey ) bHit = 1;
|
||||
|
Reference in New Issue
Block a user