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

Perform deletes in a single pass. (CVS 2104)

FossilOrigin-Name: a2e1c35b327e33684ab19e5f65727c42c7b2949c
This commit is contained in:
danielk1977
2004-11-16 15:50:19 +00:00
parent 6a43f9b3ff
commit ed326d7047
14 changed files with 205 additions and 229 deletions

View File

@@ -9,7 +9,7 @@
** May you share freely, never taking more than you give.
**
*************************************************************************
** $Id: btree.c,v 1.218 2004/11/16 04:57:24 danielk1977 Exp $
** $Id: btree.c,v 1.219 2004/11/16 15:50:20 danielk1977 Exp $
**
** This file implements a external (disk-based) database using BTrees.
** For a detailed discussion of BTrees, refer to
@@ -4307,11 +4307,6 @@ static int balance(MemPage *pPage){
** then this routine returns SQLITE_OK.
*/
static int checkReadLocks(Btree *pBt, Pgno pgnoRoot, BtCursor *pExclude){
BtCursor *p;
for(p=pBt->pCursor; p; p=p->pNext){
if( p->pgnoRoot!=pgnoRoot || p==pExclude ) continue;
if( p->wrFlag==0 ) return SQLITE_LOCKED;
}
return SQLITE_OK;
}
@@ -4512,7 +4507,6 @@ int sqlite3BtreeDelete(BtCursor *pCur){
BtCursor leafCur;
unsigned char *pNext;
int szNext;
int notUsed;
unsigned char *tempCell;
assert( !pPage->leafData );