86 if (curr_idx >= 0 && curr_idx < node->array_len)
116 if (exprstatelist ==
NIL)
142 foreach(lc, exprstatelist)
235 planstate = &scanstate->
ss.
ps;
static Datum values[MAXATTR]
#define Assert(condition)
bool contain_subplans(Node *clause)
List * ExecInitExprList(List *nodes, PlanState *parent)
ExprState * ExecInitQual(List *qual, PlanState *parent)
TupleTableSlot * ExecScan(ScanState *node, ExecScanAccessMtd accessMtd, ExecScanRecheckMtd recheckMtd)
void ExecAssignScanProjectionInfo(ScanState *node)
void ExecScanReScan(ScanState *node)
const TupleTableSlotOps TTSOpsVirtual
TupleTableSlot * ExecStoreVirtualTuple(TupleTableSlot *slot)
void ExecInitScanTupleSlot(EState *estate, ScanState *scanstate, TupleDesc tupledesc, const TupleTableSlotOps *tts_ops)
void ExecInitResultTypeTL(PlanState *planstate)
TupleDesc ExecTypeFromExprList(List *exprList)
void ReScanExprContext(ExprContext *econtext)
void ExecAssignExprContext(EState *estate, PlanState *planstate)
TupleTableSlot *(* ExecScanAccessMtd)(ScanState *node)
bool(* ExecScanRecheckMtd)(ScanState *node, TupleTableSlot *slot)
static Datum ExecEvalExpr(ExprState *state, ExprContext *econtext, bool *isNull)
#define MakeExpandedObjectReadOnly(d, isnull, typlen)
void * palloc0(Size size)
void ExecReScanValuesScan(ValuesScanState *node)
static TupleTableSlot * ValuesNext(ValuesScanState *node)
ValuesScanState * ExecInitValuesScan(ValuesScan *node, EState *estate, int eflags)
static bool ValuesRecheck(ValuesScanState *node, TupleTableSlot *slot)
static TupleTableSlot * ExecValuesScan(PlanState *pstate)
#define castNode(_type_, nodeptr)
FormData_pg_attribute * Form_pg_attribute
#define lfirst_node(type, lc)
static int list_length(const List *l)
MemoryContextSwitchTo(old_ctx)
#define ScanDirectionIsForward(direction)
ScanDirection es_direction
MemoryContext ecxt_per_tuple_memory
ExprContext * ps_ExprContext
TupleTableSlot * ps_ResultTupleSlot
ExecProcNodeMtd ExecProcNode
TupleTableSlot * ss_ScanTupleSlot
TupleDesc tts_tupleDescriptor
#define TupleDescAttr(tupdesc, i)
static TupleTableSlot * ExecClearTuple(TupleTableSlot *slot)