diff options
| author | Tom Lane <tgl@sss.pgh.pa.us> | 2008-12-31 00:08:39 +0000 |
|---|---|---|
| committer | Tom Lane <tgl@sss.pgh.pa.us> | 2008-12-31 00:08:39 +0000 |
| commit | 8e8854daa2b4b3ef9e3fc1a56c79608a70018058 (patch) | |
| tree | a6c4cf4b43acc764a38071843c10dc3edb3ca32e /src/include/nodes/plannodes.h | |
| parent | 0fb9be7acfb31ba38c1bbdd7883d5d03f6e261e5 (diff) | |
| download | postgresql-8e8854daa2b4b3ef9e3fc1a56c79608a70018058.tar.gz | |
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.
Diffstat (limited to 'src/include/nodes/plannodes.h')
| -rw-r--r-- | src/include/nodes/plannodes.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/include/nodes/plannodes.h b/src/include/nodes/plannodes.h index e320fd5fb4..959a4a9f7c 100644 --- a/src/include/nodes/plannodes.h +++ b/src/include/nodes/plannodes.h @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/include/nodes/plannodes.h,v 1.106 2008/12/28 18:54:00 tgl Exp $ + * $PostgreSQL: pgsql/src/include/nodes/plannodes.h,v 1.107 2008/12/31 00:08:38 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -543,12 +543,14 @@ typedef struct Agg typedef struct WindowAgg { Plan plan; + Index winref; /* ID referenced by window functions */ int partNumCols; /* number of columns in partition clause */ AttrNumber *partColIdx; /* their indexes in the target list */ Oid *partOperators; /* equality operators for partition columns */ int ordNumCols; /* number of columns in ordering clause */ AttrNumber *ordColIdx; /* their indexes in the target list */ Oid *ordOperators; /* equality operators for ordering columns */ + int frameOptions; /* frame_clause options, see WindowDef */ } WindowAgg; /* ---------------- |
