pgsql: Implement the FILTER clause for aggregate function calls.

From: Noah Misch <noah(at)leadboat(dot)com>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Implement the FILTER clause for aggregate function calls.
Date: 2013-07-17 00:29:09
Message-ID: E1UzFcD-0004m2-7L@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

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.

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/b560ec1b0d7b910ce13edc51ffaafaca72136e3b

Modified Files
--------------
contrib/pg_stat_statements/pg_stat_statements.c | 2 +
doc/src/sgml/keywords.sgml | 2 +-
doc/src/sgml/ref/select.sgml | 5 ++
doc/src/sgml/syntax.sgml | 48 ++++++++----
src/backend/executor/execQual.c | 4 +
src/backend/executor/execUtils.c | 6 +-
src/backend/executor/functions.c | 2 +-
src/backend/executor/nodeAgg.c | 13 ++++
src/backend/executor/nodeWindowAgg.c | 14 ++++
src/backend/nodes/copyfuncs.c | 3 +
src/backend/nodes/equalfuncs.c | 3 +
src/backend/nodes/makefuncs.c | 1 +
src/backend/nodes/nodeFuncs.c | 8 ++
src/backend/nodes/outfuncs.c | 3 +
src/backend/nodes/readfuncs.c | 2 +
src/backend/optimizer/path/costsize.c | 8 ++
src/backend/optimizer/plan/planagg.c | 6 ++
src/backend/optimizer/util/clauses.c | 15 +++-
src/backend/parser/gram.y | 16 +++-
src/backend/parser/parse_agg.c | 29 ++++---
src/backend/parser/parse_collate.c | 22 ++++++
src/backend/parser/parse_expr.c | 24 +++++-
src/backend/parser/parse_func.c | 30 +++++--
src/backend/utils/adt/ruleutils.c | 14 ++++
src/include/catalog/catversion.h | 2 +-
src/include/nodes/execnodes.h | 2 +
src/include/nodes/parsenodes.h | 5 +-
src/include/nodes/primnodes.h | 2 +
src/include/parser/kwlist.h | 1 +
src/include/parser/parse_func.h | 7 +-
src/include/parser/parse_node.h | 1 +
src/test/regress/expected/aggregates.out | 95 +++++++++++++++++++++++
src/test/regress/expected/window.out | 13 ++++
src/test/regress/sql/aggregates.sql | 38 +++++++++
src/test/regress/sql/window.sql | 8 ++
35 files changed, 403 insertions(+), 51 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2013-07-17 14:11:28 Re: [COMMITTERS] pgsql: Add support for REFRESH MATERIALIZED VIEW CONCURRENTLY.
Previous Message Noah Misch 2013-07-16 23:19:49 Re: SSL renegotiation