- FmgrInfo *ordEqfunctions; /* equality funcs for ordering columns */
- Tuplestorestate *buffer; /* stores rows of current partition */
- int current_ptr; /* read pointer # for current */
- int agg_ptr; /* read pointer # for aggregates */
- int64 spooled_rows; /* total # of rows in buffer */
- int64 currentpos; /* position of current row in partition */
- int64 frametailpos; /* current frame tail position */
- int64 aggregatedupto; /* rows before this one are aggregated */
-
- MemoryContext wincontext; /* context for partition-lifespan data */
- ExprContext *tmpcontext; /* short-term evaluation context */
-
- bool all_done; /* true if the scan is finished */
- bool partition_spooled; /* true if all tuples in current partition
- * 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 */
+ FmgrInfo *ordEqfunctions; /* equality funcs for ordering columns */
+ Tuplestorestate *buffer; /* stores rows of current partition */
+ int current_ptr; /* read pointer # for current */
+ int agg_ptr; /* read pointer # for aggregates */
+ int64 spooled_rows; /* total # of rows in buffer */
+ int64 currentpos; /* position of current row in partition */
+ int64 frametailpos; /* current frame tail position */
+ int64 aggregatedupto; /* rows before this one are aggregated */
+
+ MemoryContext wincontext; /* context for partition-lifespan data */
+ ExprContext *tmpcontext; /* short-term evaluation context */
+
+ bool all_done; /* true if the scan is finished */
+ bool partition_spooled; /* true if all tuples in current
+ * partition 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 */