diff options
author | drh <drh@noemail.net> | 2015-01-20 03:04:29 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2015-01-20 03:04:29 +0000 |
commit | fe201effbe35d38fdd198be93b23abe7583b2aa9 (patch) | |
tree | b9565e650f43a831105bcbc391db5241eaca7284 /src/select.c | |
parent | 1cc70e2358e1626a415d1966c352878973b78084 (diff) | |
download | sqlite-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.c | 4 |
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); |