70 if (resultSlot != NULL)
159 hassrf = hasresult =
false;
160 for (argno = 0; argno < node->
nelems; argno++)
165 bool *isnull = &resultSlot->
tts_isnull[argno];
241 state->ps.state = estate;
244 state->pending_srf_tuples =
false;
315 "tSRF function arguments",
#define PG_USED_FOR_ASSERTS_ONLY
#define Assert(condition)
void ExecReScan(PlanState *node)
ExprState * ExecInitExpr(Expr *node, PlanState *parent)
void ExecEndNode(PlanState *node)
PlanState * ExecInitNode(Plan *node, EState *estate, int eflags)
Datum ExecMakeFunctionResultSet(SetExprState *fcache, ExprContext *econtext, MemoryContext argContext, bool *isNull, ExprDoneCond *isDone)
SetExprState * ExecInitFunctionResultSet(Expr *expr, ExprContext *econtext, PlanState *parent)
const TupleTableSlotOps TTSOpsVirtual
TupleTableSlot * ExecStoreVirtualTuple(TupleTableSlot *slot)
void ExecInitResultTupleSlotTL(PlanState *planstate, const TupleTableSlotOps *tts_ops)
void ExecAssignExprContext(EState *estate, PlanState *planstate)
#define outerPlanState(node)
#define EXEC_FLAG_BACKWARD
#define ResetExprContext(econtext)
static Datum ExecEvalExpr(ExprState *state, ExprContext *econtext, bool *isNull)
static TupleTableSlot * ExecProcNode(PlanState *node)
void MemoryContextReset(MemoryContext context)
MemoryContext CurrentMemoryContext
#define AllocSetContextCreate
#define ALLOCSET_DEFAULT_SIZES
#define CHECK_FOR_INTERRUPTS()
bool expression_returns_set(Node *clause)
static TupleTableSlot * ExecProjectSet(PlanState *pstate)
void ExecReScanProjectSet(ProjectSetState *node)
ProjectSetState * ExecInitProjectSet(ProjectSet *node, EState *estate, int eflags)
void ExecEndProjectSet(ProjectSetState *node)
static TupleTableSlot * ExecProjectSRF(ProjectSetState *node, bool continuing)
#define IsA(nodeptr, _type_)
#define castNode(_type_, nodeptr)
static int list_length(const List *l)
MemoryContextSwitchTo(old_ctx)
MemoryContext ecxt_per_tuple_memory
TupleTableSlot * ecxt_outertuple
ExprContext * ps_ExprContext
TupleTableSlot * ps_ResultTupleSlot
static TupleTableSlot * ExecClearTuple(TupleTableSlot *slot)