OSDN Git Service

Revise collation derivation method and expression-tree representation.
[pg-rex/syncrep.git] / src / include / parser / parse_agg.h
index 1486a3a..543d2e7 100644 (file)
@@ -1,12 +1,12 @@
 /*-------------------------------------------------------------------------
  *
  * parse_agg.h
- *       handle aggregates in parser
+ *       handle aggregates and window functions in parser
  *
- * Portions Copyright (c) 1996-2006, PostgreSQL Global Development Group
+ * Portions Copyright (c) 1996-2011, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- * $PostgreSQL: pgsql/src/include/parser/parse_agg.h,v 1.34 2006/07/27 19:52:07 tgl Exp $
+ * src/include/parser/parse_agg.h
  *
  *-------------------------------------------------------------------------
  */
 
 #include "parser/parse_node.h"
 
-extern void transformAggregateCall(ParseState *pstate, Aggref *agg);
+extern void transformAggregateCall(ParseState *pstate, Aggref *agg,
+                                          List *args, List *aggorder,
+                                          bool agg_distinct);
+extern void transformWindowFuncCall(ParseState *pstate, WindowFunc *wfunc,
+                                               WindowDef *windef);
 
 extern void parseCheckAggregates(ParseState *pstate, Query *qry);
+extern void parseCheckWindowFuncs(ParseState *pstate, Query *qry);
 
 extern void build_aggregate_fnexprs(Oid *agg_input_types,
                                                int agg_num_inputs,
                                                Oid agg_state_type,
                                                Oid agg_result_type,
+                                               Oid agg_input_collation,
                                                Oid transfn_oid,
                                                Oid finalfn_oid,
                                                Expr **transfnexpr,