diff options
author | dan <dan@noemail.net> | 2020-07-13 15:20:27 +0000 |
---|---|---|
committer | dan <dan@noemail.net> | 2020-07-13 15:20:27 +0000 |
commit | 27da907f8eea868f6eae12f39b7d489bd1c11866 (patch) | |
tree | fca918732f572fa21a5af5f89ca32ca272776981 /src/window.c | |
parent | bbc9e1908aa14d392833266ca1d1966e3f8359e1 (diff) | |
download | sqlite-27da907f8eea868f6eae12f39b7d489bd1c11866.tar.gz sqlite-27da907f8eea868f6eae12f39b7d489bd1c11866.zip |
Fix a problem causing queries containing window functions to ignore collation sequences under some circumstances.
FossilOrigin-Name: e6c2192ef88e9990c8b91755c8e779f09e23f936a17123d8e42059257b756ed7
Diffstat (limited to 'src/window.c')
-rw-r--r-- | src/window.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/window.c b/src/window.c index ab8b5ce13..602af784a 100644 --- a/src/window.c +++ b/src/window.c @@ -803,6 +803,7 @@ static int selectWindowRewriteExprCb(Walker *pWalker, Expr *pExpr){ p->pSub = sqlite3ExprListAppend(pParse, p->pSub, pDup); } if( p->pSub ){ + int f = pExpr->flags & EP_Collate; assert( ExprHasProperty(pExpr, EP_Static)==0 ); ExprSetProperty(pExpr, EP_Static); sqlite3ExprDelete(pParse->db, pExpr); @@ -813,6 +814,7 @@ static int selectWindowRewriteExprCb(Walker *pWalker, Expr *pExpr){ pExpr->iColumn = (iCol<0 ? p->pSub->nExpr-1: iCol); pExpr->iTable = p->pWin->iEphCsr; pExpr->y.pTab = p->pTab; + pExpr->flags = f; } if( pParse->db->mallocFailed ) return WRC_Abort; break; |