104 if (
splan->plan->extParam != NULL)
107 if (
splan->chgParam != NULL)
115 if (
splan->plan->extParam != NULL)
136 case T_ProjectSetState:
140 case T_ModifyTableState:
148 case T_MergeAppendState:
152 case T_RecursiveUnionState:
156 case T_BitmapAndState:
160 case T_BitmapOrState:
168 case T_SampleScanState:
176 case T_GatherMergeState:
180 case T_IndexScanState:
184 case T_IndexOnlyScanState:
188 case T_BitmapIndexScanState:
192 case T_BitmapHeapScanState:
200 case T_TidRangeScanState:
204 case T_SubqueryScanState:
208 case T_FunctionScanState:
212 case T_TableFuncScanState:
216 case T_ValuesScanState:
224 case T_NamedTuplestoreScanState:
228 case T_WorkTableScanState:
232 case T_ForeignScanState:
236 case T_CustomScanState:
240 case T_NestLoopState:
244 case T_MergeJoinState:
248 case T_HashJoinState:
252 case T_MaterialState:
264 case T_IncrementalSortState:
276 case T_WindowAggState:
292 case T_LockRowsState:
330 case T_IndexScanState:
334 case T_IndexOnlyScanState:
338 case T_CustomScanState:
342 case T_MaterialState:
379 case T_IndexScanState:
383 case T_IndexOnlyScanState:
387 case T_CustomScanState:
391 case T_MaterialState:
427 case T_IndexOnlyScan:
536 if (((
Append *) node)->nasyncplans > 0)
539 foreach(l, ((
Append *) node)->appendplans)
558 case T_IndexOnlyScan:
580 case T_IncrementalSort:
612 elog(
ERROR,
"cache lookup failed for relation %u", indexid);
641 case T_TableFuncScan:
643 case T_NamedTuplestoreScan:
644 case T_WorkTableScan:
IndexAmRoutine * GetIndexAmRoutineByAmId(Oid amoid, bool noerror)
void bms_free(Bitmapset *a)
#define Assert(condition)
void ExecMarkPos(PlanState *node)
bool ExecSupportsMarkRestore(Path *pathnode)
static bool IndexSupportsBackwardScan(Oid indexid)
bool ExecMaterializesOutput(NodeTag plantype)
bool ExecSupportsBackwardScan(Plan *node)
void ExecReScan(PlanState *node)
void ExecRestrPos(PlanState *node)
void ReScanExprContext(ExprContext *econtext)
void UpdateChangedParamSet(PlanState *node, Bitmapset *newchg)
#define outerPlanState(node)
#define innerPlanState(node)
#define CUSTOMPATH_SUPPORT_BACKWARD_SCAN
#define CUSTOMPATH_SUPPORT_MARK_RESTORE
#define HeapTupleIsValid(tuple)
void InstrEndLoop(Instrumentation *instr)
Datum subpath(PG_FUNCTION_ARGS)
void pfree(void *pointer)
void ExecReScanAgg(AggState *node)
void ExecReScanAppend(AppendState *node)
void ExecReScanBitmapAnd(BitmapAndState *node)
void ExecReScanBitmapHeapScan(BitmapHeapScanState *node)
void ExecReScanBitmapIndexScan(BitmapIndexScanState *node)
void ExecReScanBitmapOr(BitmapOrState *node)
void ExecReScanCteScan(CteScanState *node)
void ExecCustomRestrPos(CustomScanState *node)
void ExecReScanCustomScan(CustomScanState *node)
void ExecCustomMarkPos(CustomScanState *node)
void ExecReScanForeignScan(ForeignScanState *node)
void ExecReScanFunctionScan(FunctionScanState *node)
void ExecReScanGatherMerge(GatherMergeState *node)
void ExecReScanGather(GatherState *node)
void ExecReScanGroup(GroupState *node)
void ExecReScanHash(HashState *node)
void ExecReScanHashJoin(HashJoinState *node)
void ExecReScanIncrementalSort(IncrementalSortState *node)
void ExecReScanIndexOnlyScan(IndexOnlyScanState *node)
void ExecIndexOnlyRestrPos(IndexOnlyScanState *node)
void ExecIndexOnlyMarkPos(IndexOnlyScanState *node)
void ExecReScanIndexScan(IndexScanState *node)
void ExecIndexRestrPos(IndexScanState *node)
void ExecIndexMarkPos(IndexScanState *node)
void ExecReScanLimit(LimitState *node)
void ExecReScanLockRows(LockRowsState *node)
void ExecReScanMaterial(MaterialState *node)
void ExecMaterialMarkPos(MaterialState *node)
void ExecMaterialRestrPos(MaterialState *node)
void ExecReScanMemoize(MemoizeState *node)
void ExecReScanMergeAppend(MergeAppendState *node)
void ExecReScanMergeJoin(MergeJoinState *node)
void ExecReScanModifyTable(ModifyTableState *node)
void ExecReScanNamedTuplestoreScan(NamedTuplestoreScanState *node)
void ExecReScanNestLoop(NestLoopState *node)
void ExecReScanProjectSet(ProjectSetState *node)
void ExecReScanRecursiveUnion(RecursiveUnionState *node)
void ExecReScanResult(ResultState *node)
void ExecResultRestrPos(ResultState *node)
void ExecResultMarkPos(ResultState *node)
void ExecReScanSampleScan(SampleScanState *node)
void ExecReScanSeqScan(SeqScanState *node)
void ExecReScanSetOp(SetOpState *node)
void ExecSortMarkPos(SortState *node)
void ExecReScanSort(SortState *node)
void ExecSortRestrPos(SortState *node)
void ExecReScanSetParamPlan(SubPlanState *node, PlanState *parent)
void ExecReScanSubqueryScan(SubqueryScanState *node)
void ExecReScanTableFuncScan(TableFuncScanState *node)
void ExecReScanTidRangeScan(TidRangeScanState *node)
void ExecReScanTidScan(TidScanState *node)
void ExecReScanUnique(UniqueState *node)
void ExecReScanValuesScan(ValuesScanState *node)
void ExecReScanWindowAgg(WindowAggState *node)
void ExecReScanWorkTableScan(WorkTableScanState *node)
#define IsA(nodeptr, _type_)
#define castNode(_type_, nodeptr)
FormData_pg_class * Form_pg_class
static int list_length(const List *l)
static Datum ObjectIdGetDatum(Oid X)
Instrumentation * instrument
ExprContext * ps_ExprContext
struct PlanState * planstate
void ReleaseSysCache(HeapTuple tuple)
HeapTuple SearchSysCache1(int cacheId, Datum key1)