aboutsummaryrefslogtreecommitdiff
path: root/src/select.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2015-01-20 03:04:29 +0000
committerdrh <drh@noemail.net>2015-01-20 03:04:29 +0000
commitfe201effbe35d38fdd198be93b23abe7583b2aa9 (patch)
treeb9565e650f43a831105bcbc391db5241eaca7284 /src/select.c
parent1cc70e2358e1626a415d1966c352878973b78084 (diff)
downloadsqlite-fe201effbe35d38fdd198be93b23abe7583b2aa9.tar.gz
sqlite-fe201effbe35d38fdd198be93b23abe7583b2aa9.zip
Fix another instance of an incorrect value for KeyInfo.nXField on a
sorting index. Ticket [f97c4637102a3ae72b79]. FossilOrigin-Name: 0077f64510f9b9ce90032df2696cb242d097ab84
Diffstat (limited to 'src/select.c')
-rw-r--r--src/select.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/select.c b/src/select.c
index 403732646..39a0550f2 100644
--- a/src/select.c
+++ b/src/select.c
@@ -543,7 +543,9 @@ static void pushOntoSorter(
pKI = pOp->p4.pKeyInfo;
memset(pKI->aSortOrder, 0, pKI->nField); /* Makes OP_Jump below testable */
sqlite3VdbeChangeP4(v, -1, (char*)pKI, P4_KEYINFO);
- pOp->p4.pKeyInfo = keyInfoFromExprList(pParse, pSort->pOrderBy, nOBSat, 1);
+ testcase( pKI->nXField>2 );
+ pOp->p4.pKeyInfo = keyInfoFromExprList(pParse, pSort->pOrderBy, nOBSat,
+ pKI->nXField-1);
addrJmp = sqlite3VdbeCurrentAddr(v);
sqlite3VdbeAddOp3(v, OP_Jump, addrJmp+1, 0, addrJmp+1); VdbeCoverage(v);
pSort->labelBkOut = sqlite3VdbeMakeLabel(v);