1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-08-07 02:42:48 +03:00

Remove rows from the ephemeral table used by window functions once they are no longer required.

FossilOrigin-Name: 6ad553192051eaa0c6d929baacde2de07b93c6d09de861028bbce55a2c9bfdd3
This commit is contained in:
dan
2019-03-13 15:29:14 +00:00
parent d446165f7d
commit b560a7194d
4 changed files with 57 additions and 14 deletions

View File

@@ -8828,9 +8828,13 @@ int sqlite3BtreeDelete(BtCursor *pCur, u8 flags){
assert( pCur->curFlags & BTCF_WriteFlag );
assert( hasSharedCacheTableLock(p, pCur->pgnoRoot, pCur->pKeyInfo!=0, 2) );
assert( !hasReadConflicts(p, pCur->pgnoRoot) );
assert( pCur->ix<pCur->pPage->nCell );
assert( pCur->eState==CURSOR_VALID );
assert( (flags & ~(BTREE_SAVEPOSITION | BTREE_AUXDELETE))==0 );
if( pCur->eState==CURSOR_REQUIRESEEK ){
rc = btreeRestoreCursorPosition(pCur);
if( rc ) return rc;
}
assert( pCur->eState==CURSOR_VALID );
assert( pCur->ix<pCur->pPage->nCell );
iCellDepth = pCur->iPage;
iCellIdx = pCur->ix;