aboutsummaryrefslogtreecommitdiff
path: root/src/resolve.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/resolve.c')
-rw-r--r--src/resolve.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/src/resolve.c b/src/resolve.c
index 872d04f57..54475f6d0 100644
--- a/src/resolve.c
+++ b/src/resolve.c
@@ -851,13 +851,6 @@ static int resolveExprStep(Walker *pWalker, Expr *pExpr){
sqlite3ErrorMsg(pParse, "misuse of %s function %.*s()",zType,nId,zId);
pNC->nErr++;
is_agg = 0;
- }else if( is_agg==0 && ExprHasProperty(pExpr, EP_WinFunc) ){
- assert( !IsWindowFunc(pExpr) );
- sqlite3ErrorMsg(pParse,
- "filter clause may not be used with non-aggregate %.*s()",
- nId, zId
- );
- pNC->nErr++;
}
#else
if( (is_agg && (pNC->ncFlags & NC_AllowAgg)==0) ){
@@ -878,6 +871,15 @@ static int resolveExprStep(Walker *pWalker, Expr *pExpr){
nId, zId);
pNC->nErr++;
}
+#ifndef SQLITE_OMIT_WINDOWFUNC
+ else if( is_agg==0 && ExprHasProperty(pExpr, EP_WinFunc) ){
+ sqlite3ErrorMsg(pParse,
+ "FILTER may not be used with non-aggregate %.*s()",
+ nId, zId
+ );
+ pNC->nErr++;
+ }
+#endif
if( is_agg ){
/* Window functions may not be arguments of aggregate functions.
** Or arguments of other window functions. But aggregate functions