diff options
Diffstat (limited to 'src/include/fmgr.h')
-rw-r--r-- | src/include/fmgr.h | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/include/fmgr.h b/src/include/fmgr.h index 1f72e1bd48f..2b41746b56b 100644 --- a/src/include/fmgr.h +++ b/src/include/fmgr.h @@ -18,8 +18,12 @@ #ifndef FMGR_H #define FMGR_H -/* We don't want to include primnodes.h here, so make a stub reference */ +/* We don't want to include primnodes.h here, so make some stub references */ typedef struct Node *fmNodePtr; +typedef struct Aggref *fmAggrefPtr; + +/* Likewise, avoid including execnodes.h here */ +typedef struct ExprContext *fmExprContextPtr; /* Likewise, avoid including stringinfo.h here */ typedef struct StringInfoData *fmStringInfo; @@ -640,8 +644,8 @@ extern void **find_rendezvous_variable(const char *varName); /* * Support for aggregate functions * - * This is actually in executor/nodeAgg.c, but we declare it here since the - * whole point is for callers of it to not be overly friendly with nodeAgg. + * These are actually in executor/nodeAgg.c, but we declare them here since + * the whole point is for callers to not be overly friendly with nodeAgg. */ /* AggCheckCallContext can return one of the following codes, or 0: */ @@ -650,6 +654,9 @@ extern void **find_rendezvous_variable(const char *varName); extern int AggCheckCallContext(FunctionCallInfo fcinfo, MemoryContext *aggcontext); +extern fmAggrefPtr AggGetAggref(FunctionCallInfo fcinfo); +extern fmExprContextPtr AggGetPerTupleEContext(FunctionCallInfo fcinfo); +extern fmExprContextPtr AggGetPerAggEContext(FunctionCallInfo fcinfo); /* * We allow plugin modules to hook function entry/exit. This is intended |