diff options
Diffstat (limited to 'src/include/parser/parse_agg.h')
-rw-r--r-- | src/include/parser/parse_agg.h | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/include/parser/parse_agg.h b/src/include/parser/parse_agg.h new file mode 100644 index 00000000000..21ef36248fd --- /dev/null +++ b/src/include/parser/parse_agg.h @@ -0,0 +1,38 @@ +/*------------------------------------------------------------------------- + * + * parse_agg.h + * + * + * + * Copyright (c) 1994, Regents of the University of California + * + * $Id: parse_agg.h,v 1.1 1997/11/25 22:06:53 momjian Exp $ + * + *------------------------------------------------------------------------- + */ +#ifndef PARSE_AGG_H +#define PARSE_AGG_H + +#include <nodes/nodes.h> +#include <nodes/parsenodes.h> +#include <nodes/primnodes.h> +#include <parser/parse_node.h> + +void AddAggToParseState(ParseState *pstate, Aggreg *aggreg); + +void finalizeAggregates(ParseState *pstate, Query *qry); + +bool contain_agg_clause(Node *clause); + +bool exprIsAggOrGroupCol(Node *expr, List *groupClause); + +bool tleIsAggOrGroupCol(TargetEntry *tle, List *groupClause); + +void parseCheckAggregates(ParseState *pstate, Query *qry); + +Aggreg *ParseAgg(char *aggname, Oid basetype, Node *target); + +void agg_error(char *caller, char *aggname, Oid basetypeID); + +#endif /* PARSE_AGG_H */ + |