mirror of
https://github.com/postgres/postgres.git
synced 2025-08-19 23:22:23 +03:00
Implement the FILTER clause for aggregate function calls.
This is SQL-standard with a few extensions, namely support for subqueries and outer references in clause expressions. catversion bump due to change in Aggref and WindowFunc. David Fetter, reviewed by Dean Rasheed.
This commit is contained in:
@@ -247,6 +247,7 @@ typedef struct Aggref
|
||||
List *args; /* arguments and sort expressions */
|
||||
List *aggorder; /* ORDER BY (list of SortGroupClause) */
|
||||
List *aggdistinct; /* DISTINCT (list of SortGroupClause) */
|
||||
Expr *aggfilter; /* FILTER expression */
|
||||
bool aggstar; /* TRUE if argument list was really '*' */
|
||||
Index agglevelsup; /* > 0 if agg belongs to outer query */
|
||||
int location; /* token location, or -1 if unknown */
|
||||
@@ -263,6 +264,7 @@ typedef struct WindowFunc
|
||||
Oid wincollid; /* OID of collation of result */
|
||||
Oid inputcollid; /* OID of collation that function should use */
|
||||
List *args; /* arguments to the window function */
|
||||
Expr *aggfilter; /* FILTER expression */
|
||||
Index winref; /* index of associated WindowClause */
|
||||
bool winstar; /* TRUE if argument list was really '*' */
|
||||
bool winagg; /* is function a simple aggregate? */
|
||||
|
Reference in New Issue
Block a user