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/execnodes.h | |
parent | 0fb9be7acfb31ba38c1bbdd7883d5d03f6e261e5 (diff) | |
download | postgresql-8e8854daa2b4b3ef9e3fc1a56c79608a70018058.tar.gz postgresql-8e8854daa2b4b3ef9e3fc1a56c79608a70018058.zip |
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/execnodes.h')
-rw-r--r-- | src/include/nodes/execnodes.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/include/nodes/execnodes.h b/src/include/nodes/execnodes.h index 258abdee6aa..8d3746f2cfe 100644 --- a/src/include/nodes/execnodes.h +++ b/src/include/nodes/execnodes.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/execnodes.h,v 1.197 2008/12/28 18:54:00 tgl Exp $ + * $PostgreSQL: pgsql/src/include/nodes/execnodes.h,v 1.198 2008/12/31 00:08:38 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -1533,12 +1533,14 @@ typedef struct WindowAggState * have been spooled into tuplestore */ bool more_partitions; /* true if there's more partitions after * this one */ + bool frametail_valid; /* true if frametailpos is known up to date + * for current row */ TupleTableSlot *first_part_slot; /* first tuple of current or next * partition */ /* temporary slots for tuples fetched back from tuplestore */ - TupleTableSlot *first_peer_slot; + TupleTableSlot *agg_row_slot; TupleTableSlot *temp_slot_1; TupleTableSlot *temp_slot_2; } WindowAggState; |