Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes15kdownloads
parse_agg.h66 linesDownload Raw Back to parser
1/*-------------------------------------------------------------------------2 *3 * parse_agg.h4 *	  handle aggregates and window functions in parser5 *6 * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group7 * Portions Copyright (c) 1994, Regents of the University of California8 *9 * src/include/parser/parse_agg.h10 *11 *-------------------------------------------------------------------------12 */13#ifndef PARSE_AGG_H14#define PARSE_AGG_H15 16#include "parser/parse_node.h"17 18extern void transformAggregateCall(ParseState *pstate, Aggref *agg,19								   List *args, List *aggorder,20								   bool agg_distinct);21 22extern Node *transformGroupingFunc(ParseState *pstate, GroupingFunc *p);23 24extern void transformWindowFuncCall(ParseState *pstate, WindowFunc *wfunc,25									WindowDef *windef);26 27extern void parseCheckAggregates(ParseState *pstate, Query *qry);28 29extern List *expand_grouping_sets(List *groupingSets, bool groupDistinct, int limit);30 31extern int	get_aggregate_argtypes(Aggref *aggref, Oid *inputTypes);32 33extern Oid	resolve_aggregate_transtype(Oid aggfuncid,34										Oid aggtranstype,35										Oid *inputTypes,36										int numArguments);37 38extern bool agg_args_support_sendreceive(Aggref *aggref);39 40extern void build_aggregate_transfn_expr(Oid *agg_input_types,41										 int agg_num_inputs,42										 int agg_num_direct_inputs,43										 bool agg_variadic,44										 Oid agg_state_type,45										 Oid agg_input_collation,46										 Oid transfn_oid,47										 Oid invtransfn_oid,48										 Expr **transfnexpr,49										 Expr **invtransfnexpr);50 51extern void build_aggregate_serialfn_expr(Oid serialfn_oid,52										  Expr **serialfnexpr);53 54extern void build_aggregate_deserialfn_expr(Oid deserialfn_oid,55											Expr **deserialfnexpr);56 57extern void build_aggregate_finalfn_expr(Oid *agg_input_types,58										 int num_finalfn_inputs,59										 Oid agg_state_type,60										 Oid agg_result_type,61										 Oid agg_input_collation,62										 Oid finalfn_oid,63										 Expr **finalfnexpr);64 65#endif							/* PARSE_AGG_H */66 
codekingpro/portable-devtools · Team Ai