aboutsummaryrefslogtreecommitdiff
path: root/src/expr.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2012-09-17 19:26:02 +0000
committerdrh <drh@noemail.net>2012-09-17 19:26:02 +0000
commitee4b21e9f3b775b4e20f2b71eff2b8bf052d2518 (patch)
treebf19b9f4b0cd000c98d35ebd208a35dc9bce00ae /src/expr.c
parent3f4d1d1b02cf6416049cf15d21da7f0952fa2ce2 (diff)
parentf4af1089ab1e8f9cb0ef4f9c69f445253510d8e0 (diff)
downloadsqlite-ee4b21e9f3b775b4e20f2b71eff2b8bf052d2518.tar.gz
sqlite-ee4b21e9f3b775b4e20f2b71eff2b8bf052d2518.zip
Merge recent trunk changes into the fullscan-covering-index branch.
FossilOrigin-Name: 1c0bf0305ce9528a0d07c86a390c5872e16bdb57
Diffstat (limited to 'src/expr.c')
-rw-r--r--src/expr.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/expr.c b/src/expr.c
index 89172f94b..3fb51cf11 100644
--- a/src/expr.c
+++ b/src/expr.c
@@ -1662,6 +1662,7 @@ int sqlite3CodeSubselect(
case TK_IN: {
char affinity; /* Affinity of the LHS of the IN */
KeyInfo keyInfo; /* Keyinfo for the generated table */
+ static u8 sortOrder = 0; /* Fake aSortOrder for keyInfo */
int addr; /* Address of OP_OpenEphemeral instruction */
Expr *pLeft = pExpr->pLeft; /* the LHS of the IN operator */
@@ -1689,6 +1690,7 @@ int sqlite3CodeSubselect(
if( rMayHaveNull==0 ) sqlite3VdbeChangeP5(v, BTREE_UNORDERED);
memset(&keyInfo, 0, sizeof(keyInfo));
keyInfo.nField = 1;
+ keyInfo.aSortOrder = &sortOrder;
if( ExprHasProperty(pExpr, EP_xIsSelect) ){
/* Case 1: expr IN (SELECT ...)
@@ -1729,6 +1731,7 @@ int sqlite3CodeSubselect(
affinity = SQLITE_AFF_NONE;
}
keyInfo.aColl[0] = sqlite3ExprCollSeq(pParse, pExpr->pLeft);
+ keyInfo.aSortOrder = &sortOrder;
/* Loop through each expression in <exprlist>. */
r1 = sqlite3GetTempReg(pParse);