PostgreSQL Source Code  git master
execnodes.h File Reference
Include dependency graph for execnodes.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  ExprState
 
struct  IndexInfo
 
struct  ExprContext_CB
 
struct  ExprContext
 
struct  ReturnSetInfo
 
struct  ProjectionInfo
 
struct  JunkFilter
 
struct  ResultRelInfo
 
struct  EState
 
struct  ExecRowMark
 
struct  ExecAuxRowMark
 
struct  TupleHashEntryData
 
struct  TupleHashTableData
 
struct  AggrefExprState
 
struct  WindowFuncExprState
 
struct  SetExprState
 
struct  SubPlanState
 
struct  AlternativeSubPlanState
 
struct  DomainConstraintState
 
struct  PlanState
 
struct  EPQState
 
struct  ResultState
 
struct  ProjectSetState
 
struct  ModifyTableState
 
struct  AppendState
 
struct  MergeAppendState
 
struct  RecursiveUnionState
 
struct  BitmapAndState
 
struct  BitmapOrState
 
struct  ScanState
 
struct  SeqScanState
 
struct  SampleScanState
 
struct  IndexRuntimeKeyInfo
 
struct  IndexArrayKeyInfo
 
struct  IndexScanState
 
struct  IndexOnlyScanState
 
struct  BitmapIndexScanState
 
struct  ParallelBitmapHeapState
 
struct  BitmapHeapScanState
 
struct  TidScanState
 
struct  SubqueryScanState
 
struct  FunctionScanState
 
struct  ValuesScanState
 
struct  TableFuncScanState
 
struct  CteScanState
 
struct  NamedTuplestoreScanState
 
struct  WorkTableScanState
 
struct  ForeignScanState
 
struct  CustomScanState
 
struct  JoinState
 
struct  NestLoopState
 
struct  MergeJoinState
 
struct  HashJoinState
 
struct  MaterialState
 
struct  SharedSortInfo
 
struct  SortState
 
struct  GroupState
 
struct  AggState
 
struct  WindowAggState
 
struct  UniqueState
 
struct  GatherState
 
struct  GatherMergeState
 
struct  HashInstrumentation
 
struct  SharedHashInfo
 
struct  HashState
 
struct  SetOpState
 
struct  LockRowsState
 
struct  LimitState
 

Macros

#define EEO_FLAG_IS_QUAL   (1 << 0)
 
#define SH_PREFIX   tuplehash
 
#define SH_ELEMENT_TYPE   TupleHashEntryData
 
#define SH_KEY_TYPE   MinimalTuple
 
#define SH_SCOPE   extern
 
#define SH_DECLARE
 
#define InitTupleHashIterator(htable, iter)   tuplehash_start_iterate(htable->hashtab, iter)
 
#define TermTupleHashIterator(iter)   ((void) 0)
 
#define ResetTupleHashIterator(htable, iter)   InitTupleHashIterator(htable, iter)
 
#define ScanTupleHashTable(htable, iter)   tuplehash_iterate(htable->hashtab, iter)
 
#define innerPlanState(node)   (((PlanState *)(node))->righttree)
 
#define outerPlanState(node)   (((PlanState *)(node))->lefttree)
 
#define InstrCountFiltered1(node, delta)
 
#define InstrCountFiltered2(node, delta)
 

Typedefs

typedef Datum(* ExprStateEvalFunc) (struct ExprState *expression, struct ExprContext *econtext, bool *isNull)
 
typedef struct ExprState ExprState
 
typedef struct IndexInfo IndexInfo
 
typedef void(* ExprContextCallbackFunction) (Datum arg)
 
typedef struct ExprContext_CB ExprContext_CB
 
typedef struct ExprContext ExprContext
 
typedef struct ReturnSetInfo ReturnSetInfo
 
typedef struct ProjectionInfo ProjectionInfo
 
typedef struct JunkFilter JunkFilter
 
typedef struct ResultRelInfo ResultRelInfo
 
typedef struct EState EState
 
typedef struct ExecRowMark ExecRowMark
 
typedef struct ExecAuxRowMark ExecAuxRowMark
 
typedef struct TupleHashEntryDataTupleHashEntry
 
typedef struct TupleHashTableDataTupleHashTable
 
typedef struct TupleHashEntryData TupleHashEntryData
 
typedef struct TupleHashTableData TupleHashTableData
 
typedef tuplehash_iterator TupleHashIterator
 
typedef struct AggrefExprState AggrefExprState
 
typedef struct WindowFuncExprState WindowFuncExprState
 
typedef struct SetExprState SetExprState
 
typedef struct SubPlanState SubPlanState
 
typedef struct AlternativeSubPlanState AlternativeSubPlanState
 
typedef enum DomainConstraintType DomainConstraintType
 
typedef struct DomainConstraintState DomainConstraintState
 
typedef TupleTableSlot *(* ExecProcNodeMtd) (struct PlanState *pstate)
 
typedef struct PlanState PlanState
 
typedef struct EPQState EPQState
 
typedef struct ResultState ResultState
 
typedef struct ProjectSetState ProjectSetState
 
typedef struct ModifyTableState ModifyTableState
 
typedef struct AppendState AppendState
 
typedef struct ParallelAppendState ParallelAppendState
 
typedef struct MergeAppendState MergeAppendState
 
typedef struct RecursiveUnionState RecursiveUnionState
 
typedef struct BitmapAndState BitmapAndState
 
typedef struct BitmapOrState BitmapOrState
 
typedef struct ScanState ScanState
 
typedef struct SeqScanState SeqScanState
 
typedef struct SampleScanState SampleScanState
 
typedef struct IndexScanState IndexScanState
 
typedef struct IndexOnlyScanState IndexOnlyScanState
 
typedef struct BitmapIndexScanState BitmapIndexScanState
 
typedef struct ParallelBitmapHeapState ParallelBitmapHeapState
 
typedef struct BitmapHeapScanState BitmapHeapScanState
 
typedef struct TidScanState TidScanState
 
typedef struct SubqueryScanState SubqueryScanState
 
typedef struct FunctionScanState FunctionScanState
 
typedef struct ValuesScanState ValuesScanState
 
typedef struct TableFuncScanState TableFuncScanState
 
typedef struct CteScanState CteScanState
 
typedef struct NamedTuplestoreScanState NamedTuplestoreScanState
 
typedef struct WorkTableScanState WorkTableScanState
 
typedef struct ForeignScanState ForeignScanState
 
typedef struct CustomScanState CustomScanState
 
typedef struct JoinState JoinState
 
typedef struct NestLoopState NestLoopState
 
typedef struct MergeJoinClauseDataMergeJoinClause
 
typedef struct MergeJoinState MergeJoinState
 
typedef struct HashJoinTupleDataHashJoinTuple
 
typedef struct HashJoinTableDataHashJoinTable
 
typedef struct HashJoinState HashJoinState
 
typedef struct MaterialState MaterialState
 
typedef struct SharedSortInfo SharedSortInfo
 
typedef struct SortState SortState
 
typedef struct GroupState GroupState
 
typedef struct AggStatePerAggDataAggStatePerAgg
 
typedef struct AggStatePerTransDataAggStatePerTrans
 
typedef struct AggStatePerGroupDataAggStatePerGroup
 
typedef struct AggStatePerPhaseDataAggStatePerPhase
 
typedef struct AggStatePerHashDataAggStatePerHash
 
typedef struct AggState AggState
 
typedef struct WindowStatePerFuncDataWindowStatePerFunc
 
typedef struct WindowStatePerAggDataWindowStatePerAgg
 
typedef struct WindowAggState WindowAggState
 
typedef struct UniqueState UniqueState
 
typedef struct GatherState GatherState
 
typedef struct GatherMergeState GatherMergeState
 
typedef struct HashInstrumentation HashInstrumentation
 
typedef struct SharedHashInfo SharedHashInfo
 
typedef struct HashState HashState
 
typedef struct SetOpStatePerGroupDataSetOpStatePerGroup
 
typedef struct SetOpState SetOpState
 
typedef struct LockRowsState LockRowsState
 
typedef struct LimitState LimitState
 

Enumerations

enum  ExprDoneCond { ExprSingleResult, ExprMultipleResult, ExprEndResult }
 
enum  SetFunctionReturnMode { SFRM_ValuePerCall = 0x01, SFRM_Materialize = 0x02, SFRM_Materialize_Random = 0x04, SFRM_Materialize_Preferred = 0x08 }
 
enum  DomainConstraintType { DOM_CONSTRAINT_NOTNULL, DOM_CONSTRAINT_CHECK }
 
enum  SharedBitmapState { BM_INITIAL, BM_INPROGRESS, BM_FINISHED }
 
enum  LimitStateCond {
  LIMIT_INITIAL, LIMIT_RESCAN, LIMIT_EMPTY, LIMIT_INWINDOW,
  LIMIT_SUBPLANEOF, LIMIT_WINDOWEND, LIMIT_WINDOWSTART
}
 

Macro Definition Documentation

◆ EEO_FLAG_IS_QUAL

#define EEO_FLAG_IS_QUAL   (1 << 0)

Definition at line 55 of file execnodes.h.

Referenced by ExecCheck(), ExecInitQual(), and ExecQual().

◆ InitTupleHashIterator

#define InitTupleHashIterator (   htable,
  iter 
)    tuplehash_start_iterate(htable->hashtab, iter)

Definition at line 641 of file execnodes.h.

Referenced by findPartialMatch().

◆ innerPlanState

◆ InstrCountFiltered1

#define InstrCountFiltered1 (   node,
  delta 
)
Value:
do { \
if (((PlanState *)(node))->instrument) \
((PlanState *)(node))->instrument->nfiltered1 += (delta); \
} while(0)

Definition at line 907 of file execnodes.h.

Referenced by ExecGroup(), ExecHashJoinImpl(), ExecMergeJoin(), ExecNestLoop(), ExecOnConflictUpdate(), ExecScan(), and project_aggregates().

◆ InstrCountFiltered2

#define InstrCountFiltered2 (   node,
  delta 
)
Value:
do { \
if (((PlanState *)(node))->instrument) \
((PlanState *)(node))->instrument->nfiltered2 += (delta); \
} while(0)

Definition at line 912 of file execnodes.h.

Referenced by BitmapHeapNext(), ExecHashJoinImpl(), ExecInsert(), ExecMergeJoin(), ExecNestLoop(), IndexNext(), IndexNextWithReorder(), IndexOnlyNext(), MJFillInner(), and MJFillOuter().

◆ outerPlanState

#define outerPlanState (   node)    (((PlanState *)(node))->lefttree)

Definition at line 904 of file execnodes.h.

Referenced by begin_partition(), BitmapHeapNext(), ExecAssignScanTypeFromOuterPlan(), ExecEndAgg(), ExecEndBitmapHeapScan(), ExecEndForeignScan(), ExecEndGather(), ExecEndGatherMerge(), ExecEndGroup(), ExecEndHash(), ExecEndHashJoin(), ExecEndLimit(), ExecEndLockRows(), ExecEndMaterial(), ExecEndMergeJoin(), ExecEndNestLoop(), ExecEndProjectSet(), ExecEndRecursiveUnion(), ExecEndResult(), ExecEndSetOp(), ExecEndSort(), ExecEndUnique(), ExecEndWindowAgg(), ExecGroup(), ExecHashJoinImpl(), ExecInitAgg(), ExecInitBitmapHeapScan(), ExecInitForeignScan(), ExecInitGather(), ExecInitGatherMerge(), ExecInitGroup(), ExecInitHash(), ExecInitHashJoin(), ExecInitLimit(), ExecInitLockRows(), ExecInitMaterial(), ExecInitMergeJoin(), ExecInitNestLoop(), ExecInitProjectSet(), ExecInitRecursiveUnion(), ExecInitResult(), ExecInitSetOp(), ExecInitSort(), ExecInitUnique(), ExecInitWindowAgg(), ExecLimit(), ExecLockRows(), ExecMaterial(), ExecMergeJoin(), ExecNestLoop(), ExecParallelHashJoinPartitionOuter(), ExecProjectSet(), ExecRecursiveUnion(), ExecReScanAgg(), ExecReScanBitmapHeapScan(), ExecReScanForeignScan(), ExecReScanGather(), ExecReScanGatherMerge(), ExecReScanGroup(), ExecReScanMaterial(), ExecReScanNestLoop(), ExecReScanRecursiveUnion(), ExecReScanSort(), ExecReScanWindowAgg(), ExecResult(), ExecResultMarkPos(), ExecResultRestrPos(), ExecSetTupleBound(), ExecSort(), ExecUnique(), ExplainNode(), ExplainPrintPlan(), fetch_input_tuple(), find_hash_columns(), gather_getnext(), gather_merge_readnext(), initialize_phase(), MultiExecParallelHash(), MultiExecPrivateHash(), planstate_tree_walker(), postgresRecheckForeignScan(), recompute_limits(), set_deparse_planstate(), setop_fill_hash_table(), setop_retrieve_direct(), show_agg_keys(), show_group_keys(), and spool_tuples().

◆ ResetTupleHashIterator

#define ResetTupleHashIterator (   htable,
  iter 
)    InitTupleHashIterator(htable, iter)

◆ ScanTupleHashTable

#define ScanTupleHashTable (   htable,
  iter 
)    tuplehash_iterate(htable->hashtab, iter)

◆ SH_DECLARE

#define SH_DECLARE

Definition at line 613 of file execnodes.h.

◆ SH_ELEMENT_TYPE

#define SH_ELEMENT_TYPE   TupleHashEntryData

Definition at line 610 of file execnodes.h.

◆ SH_KEY_TYPE

#define SH_KEY_TYPE   MinimalTuple

Definition at line 611 of file execnodes.h.

◆ SH_PREFIX

#define SH_PREFIX   tuplehash

Definition at line 609 of file execnodes.h.

◆ SH_SCOPE

#define SH_SCOPE   extern

Definition at line 612 of file execnodes.h.

◆ TermTupleHashIterator

#define TermTupleHashIterator (   iter)    ((void) 0)

Definition at line 643 of file execnodes.h.

Referenced by findPartialMatch().

Typedef Documentation

◆ AggrefExprState

◆ AggState

◆ AggStatePerAgg

Definition at line 1809 of file execnodes.h.

◆ AggStatePerGroup

Definition at line 1811 of file execnodes.h.

◆ AggStatePerHash

Definition at line 1813 of file execnodes.h.

◆ AggStatePerPhase

Definition at line 1812 of file execnodes.h.

◆ AggStatePerTrans

Definition at line 1810 of file execnodes.h.

◆ AlternativeSubPlanState

◆ AppendState

Definition at line 1007 of file execnodes.h.

◆ BitmapAndState

◆ BitmapHeapScanState

◆ BitmapIndexScanState

◆ BitmapOrState

◆ CteScanState

◆ CustomScanState

◆ DomainConstraintState

◆ DomainConstraintType

◆ EPQState

◆ EState

◆ ExecAuxRowMark

◆ ExecProcNodeMtd

typedef TupleTableSlot*(* ExecProcNodeMtd) (struct PlanState *pstate)

Definition at line 845 of file execnodes.h.

◆ ExecRowMark

◆ ExprContext

◆ ExprContext_CB

◆ ExprContextCallbackFunction

typedef void(* ExprContextCallbackFunction) (Datum arg)

Definition at line 171 of file execnodes.h.

◆ ExprState

◆ ExprStateEvalFunc

typedef Datum(* ExprStateEvalFunc) (struct ExprState *expression, struct ExprContext *econtext, bool *isNull)

Definition at line 49 of file execnodes.h.

◆ ForeignScanState

◆ FunctionScanState

◆ GatherMergeState

◆ GatherState

◆ GroupState

◆ HashInstrumentation

◆ HashJoinState

◆ HashJoinTable

Definition at line 1710 of file execnodes.h.

◆ HashJoinTuple

Definition at line 1709 of file execnodes.h.

◆ HashState

◆ IndexInfo

◆ IndexOnlyScanState

◆ IndexScanState

◆ JoinState

◆ JunkFilter

◆ LimitState

◆ LockRowsState

◆ MaterialState

◆ MergeAppendState

◆ MergeJoinClause

Definition at line 1657 of file execnodes.h.

◆ MergeJoinState

◆ ModifyTableState

◆ NamedTuplestoreScanState

◆ NestLoopState

◆ ParallelAppendState

Definition at line 1009 of file execnodes.h.

◆ ParallelBitmapHeapState

◆ PlanState

◆ ProjectionInfo

◆ ProjectSetState

◆ RecursiveUnionState

◆ ResultRelInfo

◆ ResultState

◆ ReturnSetInfo

◆ SampleScanState

◆ ScanState

◆ SeqScanState

◆ SetExprState

◆ SetOpState

◆ SetOpStatePerGroup

Definition at line 2050 of file execnodes.h.

◆ SharedHashInfo

◆ SharedSortInfo

◆ SortState

◆ SubPlanState

◆ SubqueryScanState

◆ TableFuncScanState

◆ TidScanState

◆ TupleHashEntry

Definition at line 597 of file execnodes.h.

◆ TupleHashEntryData

◆ TupleHashIterator

typedef tuplehash_iterator TupleHashIterator

Definition at line 634 of file execnodes.h.

◆ TupleHashTable

Definition at line 598 of file execnodes.h.

◆ TupleHashTableData

◆ UniqueState

◆ ValuesScanState

◆ WindowAggState

◆ WindowFuncExprState

◆ WindowStatePerAgg

Definition at line 1869 of file execnodes.h.

◆ WindowStatePerFunc

Definition at line 1868 of file execnodes.h.

◆ WorkTableScanState

Enumeration Type Documentation

◆ DomainConstraintType

Enumerator
DOM_CONSTRAINT_NOTNULL 
DOM_CONSTRAINT_CHECK 

Definition at line 813 of file execnodes.h.

◆ ExprDoneCond

Enumerator
ExprSingleResult 
ExprMultipleResult 
ExprEndResult 

Definition at line 246 of file execnodes.h.

247 {
248  ExprSingleResult, /* expression does not return a set */
249  ExprMultipleResult, /* this result is an element of a set */
250  ExprEndResult /* there are no more elements in the set */
251 } ExprDoneCond;
ExprDoneCond
Definition: execnodes.h:246

◆ LimitStateCond

Enumerator
LIMIT_INITIAL 
LIMIT_RESCAN 
LIMIT_EMPTY 
LIMIT_INWINDOW 
LIMIT_SUBPLANEOF 
LIMIT_WINDOWEND 
LIMIT_WINDOWSTART 

Definition at line 2097 of file execnodes.h.

2098 {
2099  LIMIT_INITIAL, /* initial state for LIMIT node */
2100  LIMIT_RESCAN, /* rescan after recomputing parameters */
2101  LIMIT_EMPTY, /* there are no returnable rows */
2102  LIMIT_INWINDOW, /* have returned a row in the window */
2103  LIMIT_SUBPLANEOF, /* at EOF of subplan (within window) */
2104  LIMIT_WINDOWEND, /* stepped off end of window */
2105  LIMIT_WINDOWSTART /* stepped off beginning of window */
2106 } LimitStateCond;
LimitStateCond
Definition: execnodes.h:2097

◆ SetFunctionReturnMode

Enumerator
SFRM_ValuePerCall 
SFRM_Materialize 
SFRM_Materialize_Random 
SFRM_Materialize_Preferred 

Definition at line 259 of file execnodes.h.

260 {
261  SFRM_ValuePerCall = 0x01, /* one value returned per call */
262  SFRM_Materialize = 0x02, /* result set instantiated in Tuplestore */
263  SFRM_Materialize_Random = 0x04, /* Tuplestore needs randomAccess */
264  SFRM_Materialize_Preferred = 0x08 /* caller prefers Tuplestore */
SetFunctionReturnMode
Definition: execnodes.h:259

◆ SharedBitmapState

Enumerator
BM_INITIAL 
BM_INPROGRESS 
BM_FINISHED 

Definition at line 1306 of file execnodes.h.

1307 {
1308  BM_INITIAL,
1309  BM_INPROGRESS,
1310  BM_FINISHED
SharedBitmapState
Definition: execnodes.h:1306