PostgreSQL Source Code  git master
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
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  SortState
 
struct  GroupState
 
struct  AggState
 
struct  WindowAggState
 
struct  UniqueState
 
struct  GatherState
 
struct  GatherMergeState
 
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 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 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
MergeJoinClauseData
MergeJoinClause
 
typedef struct MergeJoinState MergeJoinState
 
typedef struct HashJoinTupleDataHashJoinTuple
 
typedef struct HashJoinTableDataHashJoinTable
 
typedef struct HashJoinState HashJoinState
 
typedef struct MaterialState MaterialState
 
typedef struct SortState SortState
 
typedef struct GroupState GroupState
 
typedef struct AggStatePerAggDataAggStatePerAgg
 
typedef struct
AggStatePerTransData
AggStatePerTrans
 
typedef struct
AggStatePerGroupData
AggStatePerGroup
 
typedef struct
AggStatePerPhaseData
AggStatePerPhase
 
typedef struct
AggStatePerHashData
AggStatePerHash
 
typedef struct AggState AggState
 
typedef struct
WindowStatePerFuncData
WindowStatePerFunc
 
typedef struct
WindowStatePerAggData
WindowStatePerAgg
 
typedef struct WindowAggState WindowAggState
 
typedef struct UniqueState UniqueState
 
typedef struct GatherState GatherState
 
typedef struct GatherMergeState GatherMergeState
 
typedef struct HashState HashState
 
typedef struct
SetOpStatePerGroupData
SetOpStatePerGroup
 
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

#define EEO_FLAG_IS_QUAL   (1 << 0)

Definition at line 51 of file execnodes.h.

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

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

Definition at line 595 of file execnodes.h.

Referenced by findPartialMatch().

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

Definition at line 848 of file execnodes.h.

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

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

Definition at line 853 of file execnodes.h.

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

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

Definition at line 845 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(), ExecHashJoin(), 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(), ExecProjectSet(), ExecRecursiveUnion(), ExecReScanAgg(), ExecReScanBitmapHeapScan(), ExecReScanForeignScan(), ExecReScanGroup(), ExecReScanMaterial(), ExecReScanNestLoop(), ExecReScanRecursiveUnion(), ExecReScanSort(), ExecReScanWindowAgg(), ExecResult(), ExecResultMarkPos(), ExecResultRestrPos(), ExecSort(), ExecUnique(), ExplainNode(), ExplainPrintPlan(), fetch_input_tuple(), find_hash_columns(), gather_getnext(), gather_merge_readnext(), initialize_phase(), MultiExecHash(), pass_down_bound(), 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().

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

Definition at line 567 of file execnodes.h.

#define SH_ELEMENT_TYPE   TupleHashEntryData

Definition at line 564 of file execnodes.h.

#define SH_KEY_TYPE   MinimalTuple

Definition at line 565 of file execnodes.h.

#define SH_PREFIX   tuplehash

Definition at line 563 of file execnodes.h.

#define SH_SCOPE   extern

Definition at line 566 of file execnodes.h.

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

Definition at line 597 of file execnodes.h.

Referenced by findPartialMatch().

Typedef Documentation

Definition at line 1723 of file execnodes.h.

Definition at line 1725 of file execnodes.h.

Definition at line 1727 of file execnodes.h.

Definition at line 1726 of file execnodes.h.

Definition at line 1724 of file execnodes.h.

typedef void(* ExprContextCallbackFunction)(Datum arg)

Definition at line 160 of file execnodes.h.

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

Definition at line 45 of file execnodes.h.

Definition at line 1636 of file execnodes.h.

Definition at line 1635 of file execnodes.h.

Definition at line 1583 of file execnodes.h.

Definition at line 1928 of file execnodes.h.

Definition at line 551 of file execnodes.h.

typedef tuplehash_iterator TupleHashIterator

Definition at line 588 of file execnodes.h.

Definition at line 552 of file execnodes.h.

Definition at line 1780 of file execnodes.h.

Definition at line 1779 of file execnodes.h.

Enumeration Type Documentation

Enumerator
DOM_CONSTRAINT_NOTNULL 
DOM_CONSTRAINT_CHECK 

Definition at line 768 of file execnodes.h.

Enumerator
ExprSingleResult 
ExprMultipleResult 
ExprEndResult 

Definition at line 235 of file execnodes.h.

236 {
237  ExprSingleResult, /* expression does not return a set */
238  ExprMultipleResult, /* this result is an element of a set */
239  ExprEndResult /* there are no more elements in the set */
240 } ExprDoneCond;
ExprDoneCond
Definition: execnodes.h:235
Enumerator
LIMIT_INITIAL 
LIMIT_RESCAN 
LIMIT_EMPTY 
LIMIT_INWINDOW 
LIMIT_SUBPLANEOF 
LIMIT_WINDOWEND 
LIMIT_WINDOWSTART 

Definition at line 1975 of file execnodes.h.

1976 {
1977  LIMIT_INITIAL, /* initial state for LIMIT node */
1978  LIMIT_RESCAN, /* rescan after recomputing parameters */
1979  LIMIT_EMPTY, /* there are no returnable rows */
1980  LIMIT_INWINDOW, /* have returned a row in the window */
1981  LIMIT_SUBPLANEOF, /* at EOF of subplan (within window) */
1982  LIMIT_WINDOWEND, /* stepped off end of window */
1983  LIMIT_WINDOWSTART /* stepped off beginning of window */
1984 } LimitStateCond;
LimitStateCond
Definition: execnodes.h:1975
Enumerator
SFRM_ValuePerCall 
SFRM_Materialize 
SFRM_Materialize_Random 
SFRM_Materialize_Preferred 

Definition at line 248 of file execnodes.h.

249 {
250  SFRM_ValuePerCall = 0x01, /* one value returned per call */
251  SFRM_Materialize = 0x02, /* result set instantiated in Tuplestore */
252  SFRM_Materialize_Random = 0x04, /* Tuplestore needs randomAccess */
253  SFRM_Materialize_Preferred = 0x08 /* caller prefers Tuplestore */
SetFunctionReturnMode
Definition: execnodes.h:248
Enumerator
BM_INITIAL 
BM_INPROGRESS 
BM_FINISHED 

Definition at line 1239 of file execnodes.h.

1240 {
1241  BM_INITIAL,
1242  BM_INPROGRESS,
1243  BM_FINISHED
SharedBitmapState
Definition: execnodes.h:1239