blob: 86dd7e5b2e9f3a8c44a190e9f6299c9a733b451f [file] [log] [blame]
/*-------------------------------------------------------------------------
*
* nodeFunctionscan.h
*
*
*
* Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
* $PostgreSQL: pgsql/src/include/executor/nodeFunctionscan.h,v 1.9 2006/03/05 15:58:56 momjian Exp $
*
*-------------------------------------------------------------------------
*/
#ifndef NODEFUNCTIONSCAN_H
#define NODEFUNCTIONSCAN_H
#include "executor/executor.h"
extern int ExecCountSlotsFunctionScan(FunctionScan *node);
extern FunctionScanState *ExecInitFunctionScan(FunctionScan *node, EState *estate, int eflags);
extern TupleTableSlot *ExecFunctionScan(FunctionScanState *node);
extern void ExecEndFunctionScan(FunctionScanState *node);
extern void ExecFunctionMarkPos(FunctionScanState *node);
extern void ExecFunctionRestrPos(FunctionScanState *node);
extern void ExecFunctionReScan(FunctionScanState *node, ExprContext *exprCtxt);
extern void ExecEagerFreeFunctionScan(FunctionScanState *node);
enum {
GPMON_FUNCSCAN_TOTAL = GPMON_QEXEC_M_NODE_START,
};
static inline gpmon_packet_t * GpmonPktFromFuncScanState(FunctionScanState *node)
{
return &node->ss.ps.gpmon_pkt;
}
#endif /* NODEFUNCTIONSCAN_H */