diff options
author | drh <drh@noemail.net> | 2003-04-17 12:44:23 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2003-04-17 12:44:23 +0000 |
commit | d4d595f94c3c02d90872d90ec5bb43cf11426abc (patch) | |
tree | 657ab7c65163e5316ea39cc64b41d800f9d57e42 /src/select.c | |
parent | 839656620487125e287c6eaa244bb04abbee3bcd (diff) | |
download | sqlite-d4d595f94c3c02d90872d90ec5bb43cf11426abc.tar.gz sqlite-d4d595f94c3c02d90872d90ec5bb43cf11426abc.zip |
Make sure the min() and max() optimizations work on empty indexed tables.
Ticket #296. (CVS 914)
FossilOrigin-Name: 98ef6110068e5ed3cd77a14b004f890b79b731f7
Diffstat (limited to 'src/select.c')
-rw-r--r-- | src/select.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/select.c b/src/select.c index 92efa61e9..013db3339 100644 --- a/src/select.c +++ b/src/select.c @@ -12,7 +12,7 @@ ** This file contains C code routines that are called by the parser ** to handle SELECT statements in SQLite. ** -** $Id: select.c,v 1.130 2003/03/31 13:36:09 drh Exp $ +** $Id: select.c,v 1.131 2003/04/17 12:44:24 drh Exp $ */ #include "sqliteInt.h" @@ -1820,6 +1820,7 @@ static int simpleMinMaxQuery(Parse *pParse, Select *p, int eDest, int iParm){ sqliteVdbeAddOp(v, OP_Integer, pTab->iDb, 0); sqliteVdbeAddOp(v, OP_OpenRead, base, pTab->tnum); sqliteVdbeChangeP3(v, -1, pTab->zName, P3_STATIC); + cont = sqliteVdbeMakeLabel(v); if( pIdx==0 ){ sqliteVdbeAddOp(v, seekOp, base, 0); }else{ @@ -1835,7 +1836,6 @@ static int simpleMinMaxQuery(Parse *pParse, Select *p, int eDest, int iParm){ memset(&eListItem, 0, sizeof(eListItem)); eList.a = &eListItem; eList.a[0].pExpr = pExpr; - cont = sqliteVdbeMakeLabel(v); selectInnerLoop(pParse, p, &eList, 0, 0, 0, -1, eDest, iParm, cont, cont); sqliteVdbeResolveLabel(v, cont); sqliteVdbeAddOp(v, OP_Close, base, 0); |