aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordanielk1977 <danielk1977@noemail.net>2008-10-02 16:42:06 +0000
committerdanielk1977 <danielk1977@noemail.net>2008-10-02 16:42:06 +0000
commit4e7f36a27f81a5c31096dfb8877892704a62f0ca (patch)
tree57c8bf87079fa71c3c0c4c16577b58738eed1493 /src
parenta8b3018da41a1189f9262e1aa1e62a27bd54ac6a (diff)
downloadsqlite-4e7f36a27f81a5c31096dfb8877892704a62f0ca.tar.gz
sqlite-4e7f36a27f81a5c31096dfb8877892704a62f0ca.zip
Change to reduce the number of OP_Null opcodes in "WHERE <rowid> IN (x,y,z)" queries. (CVS 5763)
FossilOrigin-Name: 33b59a3db0b1797663ae840ceaca1b23a9a9e3b0
Diffstat (limited to 'src')
-rw-r--r--src/expr.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/expr.c b/src/expr.c
index 1925034dc..b13bb99e0 100644
--- a/src/expr.c
+++ b/src/expr.c
@@ -12,7 +12,7 @@
** This file contains routines used for analyzing expressions and
** for generating VDBE code that evaluates expressions in SQLite.
**
-** $Id: expr.c,v 1.395 2008/10/02 13:50:56 danielk1977 Exp $
+** $Id: expr.c,v 1.396 2008/10/02 16:42:07 danielk1977 Exp $
*/
#include "sqliteInt.h"
#include <ctype.h>
@@ -1348,6 +1348,7 @@ void sqlite3CodeSubselect(
/* Loop through each expression in <exprlist>. */
r1 = sqlite3GetTempReg(pParse);
r2 = sqlite3GetTempReg(pParse);
+ sqlite3VdbeAddOp2(v, OP_Null, 0, r2);
for(i=pList->nExpr, pItem=pList->a; i>0; i--, pItem++){
Expr *pE2 = pItem->pExpr;
@@ -1368,7 +1369,6 @@ void sqlite3CodeSubselect(
pParse->disableColCache--;
if( isRowid ){
- sqlite3VdbeAddOp2(v, OP_Null, 0, r2);
sqlite3VdbeAddOp2(v, OP_MustBeInt, r3, sqlite3VdbeCurrentAddr(v)+2);
sqlite3VdbeAddOp3(v, OP_Insert, pExpr->iTable, r2, r3);
}else{