103#define exec_subplan_get_plan(plannedstmt, subplan) \
104 ((Plan *) list_nth((plannedstmt)->subplans, (subplan)->plan_id - 1))
182#define innerPlan(node) (((Plan *)(node))->righttree)
183#define outerPlan(node) (((Plan *)(node))->lefttree)
1335#define RowMarkRequiresRowShareLock(marktype) ((marktype) <= ROW_MARK_KEYSHARE)
struct ForeignScan ForeignScan
struct TableFuncScan TableFuncScan
struct IndexScan IndexScan
struct MergeJoin MergeJoin
struct SampleScan SampleScan
struct WindowAgg WindowAgg
struct WorkTableScan WorkTableScan
struct ProjectSet ProjectSet
struct PartitionedRelPruneInfo PartitionedRelPruneInfo
struct BitmapIndexScan BitmapIndexScan
struct TidRangeScan TidRangeScan
struct PartitionPruneStepOp PartitionPruneStepOp
@ SUBQUERY_SCAN_NONTRIVIAL
struct PlanInvalItem PlanInvalItem
struct SubqueryScan SubqueryScan
@ PARTPRUNE_COMBINE_INTERSECT
@ PARTPRUNE_COMBINE_UNION
struct IncrementalSort IncrementalSort
struct PlanRowMark PlanRowMark
struct PartitionPruneInfo PartitionPruneInfo
struct BitmapHeapScan BitmapHeapScan
struct NamedTuplestoreScan NamedTuplestoreScan
struct NestLoopParam NestLoopParam
struct BitmapAnd BitmapAnd
struct GatherMerge GatherMerge
struct ModifyTable ModifyTable
struct PartitionPruneStep PartitionPruneStep
@ ROW_MARK_NOKEYEXCLUSIVE
@ MONOTONICFUNC_DECREASING
@ MONOTONICFUNC_INCREASING
struct RecursiveUnion RecursiveUnion
struct IndexOnlyScan IndexOnlyScan
struct FunctionScan FunctionScan
struct MergeAppend MergeAppend
struct PartitionPruneStepCombine PartitionPruneStepCombine
struct CustomScan CustomScan
struct ValuesScan ValuesScan
struct PlannedStmt PlannedStmt
Oid *grpCollations pg_node_attr(array_size(numCols))
Oid *grpOperators pg_node_attr(array_size(numCols))
AttrNumber *grpColIdx pg_node_attr(array_size(numCols))
struct PartitionPruneInfo * part_prune_info
Bitmapset * custom_relids
const struct CustomScanMethods * methods
Bitmapset * fs_base_relids
Oid *collations pg_node_attr(array_size(numCols))
Oid *sortOperators pg_node_attr(array_size(numCols))
bool *nullsFirst pg_node_attr(array_size(numCols))
AttrNumber *sortColIdx pg_node_attr(array_size(numCols))
AttrNumber *grpColIdx pg_node_attr(array_size(numCols))
Oid *grpCollations pg_node_attr(array_size(numCols))
Oid *grpOperators pg_node_attr(array_size(numCols))
ScanDirection indexorderdir
ScanDirection indexorderdir
pg_node_attr(abstract) Plan plan
Oid *uniqOperators pg_node_attr(array_size(uniqNumCols))
AttrNumber *uniqColIdx pg_node_attr(array_size(uniqNumCols))
Oid *uniqCollations pg_node_attr(array_size(uniqNumCols))
Oid *hashOperators pg_node_attr(array_size(numKeys))
Oid *collations pg_node_attr(array_size(numKeys))
struct PartitionPruneInfo * part_prune_info
bool *nullsFirst pg_node_attr(array_size(numCols))
AttrNumber *sortColIdx pg_node_attr(array_size(numCols))
Oid *sortOperators pg_node_attr(array_size(numCols))
Oid *collations pg_node_attr(array_size(numCols))
Oid *mergeFamilies pg_node_attr(array_size(mergeclauses))
bool *mergeReversals pg_node_attr(array_size(mergeclauses))
bool *mergeNullsFirst pg_node_attr(array_size(mergeclauses))
Oid *mergeCollations pg_node_attr(array_size(mergeclauses))
List * mergeJoinConditions
Bitmapset * fdwDirectModifyPlans
List * withCheckOptionLists
OnConflictAction onConflictAction
pg_node_attr(no_equal, no_query_jumble) NodeTag type
Bitmapset * other_subplans
pg_node_attr(no_equal, no_query_jumble) NodeTag type
PartitionPruneCombineOp combineOp
StrategyNumber opstrategy
pg_node_attr(abstract, no_equal, no_query_jumble) NodeTag type
Oid *relid_map pg_node_attr(array_size(nparts))
pg_node_attr(no_equal, no_query_jumble) NodeTag type
Bitmapset * present_parts
List * initial_pruning_steps
int *subplan_map pg_node_attr(array_size(nparts))
int *subpart_map pg_node_attr(array_size(nparts))
List * exec_pruning_steps
pg_node_attr(no_equal, no_query_jumble) NodeTag type
LockClauseStrength strength
LockWaitPolicy waitPolicy
pg_node_attr(no_equal, no_query_jumble) NodeTag type
pg_node_attr(abstract, no_equal, no_query_jumble) NodeTag type
Bitmapset * rewindPlanIDs
pg_node_attr(no_equal, no_query_jumble) NodeTag type
AttrNumber *dupColIdx pg_node_attr(array_size(numCols))
Oid *dupOperators pg_node_attr(array_size(numCols))
Oid *dupCollations pg_node_attr(array_size(numCols))
struct TableSampleClause * tablesample
pg_node_attr(abstract) Plan plan
Oid *cmpOperators pg_node_attr(array_size(numCols))
AttrNumber *cmpColIdx pg_node_attr(array_size(numCols))
Oid *cmpCollations pg_node_attr(array_size(numCols))
bool *cmpNullsFirst pg_node_attr(array_size(numCols))
Oid *collations pg_node_attr(array_size(numCols))
bool *nullsFirst pg_node_attr(array_size(numCols))
Oid *sortOperators pg_node_attr(array_size(numCols))
AttrNumber *sortColIdx pg_node_attr(array_size(numCols))
SubqueryScanStatus scanstatus
AttrNumber *uniqColIdx pg_node_attr(array_size(numCols))
Oid *uniqOperators pg_node_attr(array_size(numCols))
Oid *uniqCollations pg_node_attr(array_size(numCols))
AttrNumber *ordColIdx pg_node_attr(array_size(ordNumCols))
Oid *partCollations pg_node_attr(array_size(partNumCols))
Oid *ordOperators pg_node_attr(array_size(ordNumCols))
AttrNumber *partColIdx pg_node_attr(array_size(partNumCols))
Oid *partOperators pg_node_attr(array_size(partNumCols))
Oid *ordCollations pg_node_attr(array_size(ordNumCols))