pgsql: Add some basic support for window frame clauses to the

Started by Tom Laneover 17 years ago1 messagescomitters
Jump to latest
#1Tom Lane
tgl@sss.pgh.pa.us

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)