pgsql: Implement the FILTER clause for aggregate function calls.

Поиск
Список
Период
Сортировка
От Noah Misch
Тема pgsql: Implement the FILTER clause for aggregate function calls.
Дата
Msg-id E1UzFcD-0004m2-7L@gemulon.postgresql.org
обсуждение исходный текст
Список 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(-)


В списке pgsql-committers по дате отправления:

Предыдущее
От: Noah Misch
Дата:
Сообщение: pgsql: Fix systable_recheck_tuple() for MVCC scan snapshots.
Следующее
От: Noah Misch
Дата:
Сообщение: pgsql: Comment on why planagg.c punts "MIN(x ORDER BY y)".