Обсуждение: pgsql: Add some basic support for window frame clauses to the
pgsql: Add some basic support for window frame clauses to the
От
tgl@postgresql.org (Tom Lane)
Дата:
Log Message: ----------- Add some basic support for window frame clauses to the window-functions patch. This includes the ability to force the frame to cover the whole partition, and the ability to make the frame end exactly on the current row rather than its last ORDER BY peer. Supporting any more of the full SQL frame-clause syntax will require nontrivial hacking on the window aggregate code, so it'll have to wait for 8.5 or beyond. Modified Files: -------------- pgsql/doc/src/sgml: advanced.sgml (r1.55 -> r1.56) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/advanced.sgml?r1=1.55&r2=1.56) func.sgml (r1.464 -> r1.465) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/func.sgml?r1=1.464&r2=1.465) queries.sgml (r1.51 -> r1.52) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/queries.sgml?r1=1.51&r2=1.52) syntax.sgml (r1.127 -> r1.128) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/syntax.sgml?r1=1.127&r2=1.128) pgsql/doc/src/sgml/ref: select.sgml (r1.114 -> r1.115) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/ref/select.sgml?r1=1.114&r2=1.115) pgsql/src/backend/executor: nodeWindowAgg.c (r1.1 -> r1.2) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeWindowAgg.c?r1=1.1&r2=1.2) pgsql/src/backend/nodes: copyfuncs.c (r1.417 -> r1.418) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/nodes/copyfuncs.c?r1=1.417&r2=1.418) equalfuncs.c (r1.342 -> r1.343) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/nodes/equalfuncs.c?r1=1.342&r2=1.343) outfuncs.c (r1.347 -> r1.348) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/nodes/outfuncs.c?r1=1.347&r2=1.348) readfuncs.c (r1.218 -> r1.219) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/nodes/readfuncs.c?r1=1.218&r2=1.219) pgsql/src/backend/optimizer/plan: createplan.c (r1.253 -> r1.254) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/plan/createplan.c?r1=1.253&r2=1.254) planner.c (r1.248 -> r1.249) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/plan/planner.c?r1=1.248&r2=1.249) pgsql/src/backend/parser: gram.y (r2.648 -> r2.649) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/parser/gram.y?r1=2.648&r2=2.649) keywords.c (r1.207 -> r1.208) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/parser/keywords.c?r1=1.207&r2=1.208) parse_agg.c (r1.85 -> r1.86) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/parser/parse_agg.c?r1=1.85&r2=1.86) parse_clause.c (r1.182 -> r1.183) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/parser/parse_clause.c?r1=1.182&r2=1.183) pgsql/src/backend/utils/adt: ruleutils.c (r1.291 -> r1.292) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/ruleutils.c?r1=1.291&r2=1.292) pgsql/src/include/catalog: catversion.h (r1.514 -> r1.515) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/catversion.h?r1=1.514&r2=1.515) pgsql/src/include/nodes: execnodes.h (r1.197 -> r1.198) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/nodes/execnodes.h?r1=1.197&r2=1.198) parsenodes.h (r1.385 -> r1.386) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/nodes/parsenodes.h?r1=1.385&r2=1.386) plannodes.h (r1.106 -> r1.107) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/nodes/plannodes.h?r1=1.106&r2=1.107) pgsql/src/include/optimizer: planmain.h (r1.115 -> r1.116) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/optimizer/planmain.h?r1=1.115&r2=1.116) pgsql/src/test/regress/expected: window.out (r1.2 -> r1.3) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/expected/window.out?r1=1.2&r2=1.3) pgsql/src/test/regress/sql: window.sql (r1.2 -> r1.3) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/sql/window.sql?r1=1.2&r2=1.3)