diff options
author | drh <drh@noemail.net> | 2012-12-07 22:18:54 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2012-12-07 22:18:54 +0000 |
commit | 953f7611da21d43454ae5173f5fb1b69465a2d45 (patch) | |
tree | 5b68b836a82c4ba563f31d536f51b2b8d53154ee /src/select.c | |
parent | bd13d34b08ddc66a079f671bcbe96127b41da957 (diff) | |
download | sqlite-953f7611da21d43454ae5173f5fb1b69465a2d45.tar.gz sqlite-953f7611da21d43454ae5173f5fb1b69465a2d45.zip |
Fix a long-standing issue with the distinct-as-aggregate optimization that
only expressed when the new collating-sequence logic is turned on.
FossilOrigin-Name: 0aaf52a339808386984c30cca0c0c35ac2e70e7e
Diffstat (limited to 'src/select.c')
-rw-r--r-- | src/select.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/select.c b/src/select.c index 4582d2bc1..6a7128683 100644 --- a/src/select.c +++ b/src/select.c @@ -2337,7 +2337,7 @@ static int multiSelectOrderBy( pColl = sqlite3ExprCollSeq(pParse, pTerm); }else{ pColl = multiSelectCollSeq(pParse, p, aPermute[i]); - pTerm->flags |= EP_Collate; +// pTerm->flags |= EP_Collate; } pKeyMerge->aColl[i] = pColl; pKeyMerge->aSortOrder[i] = pOrderBy->a[i].sortOrder; @@ -2540,6 +2540,7 @@ static int multiSelectOrderBy( sqlite3VdbeAddOp4(v, OP_Permutation, 0, 0, 0, (char*)aPermute, P4_INTARRAY); sqlite3VdbeAddOp4(v, OP_Compare, destA.iSdst, destB.iSdst, nOrderBy, (char*)pKeyMerge, P4_KEYINFO_HANDOFF); + sqlite3VdbeChangeP5(v, OPFLAG_PERMUTE); sqlite3VdbeAddOp3(v, OP_Jump, addrAltB, addrAeqB, addrAgtB); /* Release temporary registers |