1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-11-06 15:49:35 +03:00

Change the OP_Rowid opcode so that a deferred OP_Seek is pending, it simply

pulls the rowid from the deferred seek target and does not actually move
the cursor or do a seek.  Other where.c cleanups. (CVS 6536)

FossilOrigin-Name: 1c508a99822caa383e7e24b5d09a9bddd2ee3a00
This commit is contained in:
drh
2009-04-22 15:32:59 +00:00
parent 1b26c7ccfa
commit 6149526c25
7 changed files with 65 additions and 70 deletions

View File

@@ -60,7 +60,7 @@
** There is an added cost of O(N) when switching between TEST and
** SMALLEST primitives.
**
** $Id: rowset.c,v 1.5 2009/04/22 00:47:01 drh Exp $
** $Id: rowset.c,v 1.6 2009/04/22 15:32:59 drh Exp $
*/
#include "sqliteInt.h"
@@ -277,9 +277,7 @@ static void rowSetTreeToList(
struct RowSetEntry **ppFirst, /* Write head of the output list here */
struct RowSetEntry **ppLast /* Write tail of the output list here */
){
if( pIn==0 ){
*ppFirst = *ppLast = 0;
}
assert( pIn!=0 );
if( pIn->pLeft ){
struct RowSetEntry *p;
rowSetTreeToList(pIn->pLeft, ppFirst, &p);
@@ -344,9 +342,7 @@ static struct RowSetEntry *rowSetListToTree(struct RowSetEntry *pList){
struct RowSetEntry *p; /* Current tree root */
struct RowSetEntry *pLeft; /* Left subtree */
if( pList==0 ){
return 0;
}
assert( pList!=0 );
p = pList;
pList = p->pRight;
p->pLeft = p->pRight = 0;