PostgreSQL Source Code  git master
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
primnodes.h File Reference
#include "access/attnum.h"
#include "nodes/bitmapset.h"
#include "nodes/pg_list.h"
Include dependency graph for primnodes.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  Alias
 
struct  RangeVar
 
struct  TableFunc
 
struct  IntoClause
 
struct  Expr
 
struct  Var
 
struct  Const
 
struct  Param
 
struct  Aggref
 
struct  GroupingFunc
 
struct  WindowFunc
 
struct  ArrayRef
 
struct  FuncExpr
 
struct  NamedArgExpr
 
struct  OpExpr
 
struct  ScalarArrayOpExpr
 
struct  BoolExpr
 
struct  SubLink
 
struct  SubPlan
 
struct  AlternativeSubPlan
 
struct  FieldSelect
 
struct  FieldStore
 
struct  RelabelType
 
struct  CoerceViaIO
 
struct  ArrayCoerceExpr
 
struct  ConvertRowtypeExpr
 
struct  CollateExpr
 
struct  CaseExpr
 
struct  CaseWhen
 
struct  CaseTestExpr
 
struct  ArrayExpr
 
struct  RowExpr
 
struct  RowCompareExpr
 
struct  CoalesceExpr
 
struct  MinMaxExpr
 
struct  SQLValueFunction
 
struct  XmlExpr
 
struct  NullTest
 
struct  BooleanTest
 
struct  CoerceToDomain
 
struct  CoerceToDomainValue
 
struct  SetToDefault
 
struct  CurrentOfExpr
 
struct  InferenceElem
 
struct  NextValueExpr
 
struct  TargetEntry
 
struct  RangeTblRef
 
struct  JoinExpr
 
struct  FromExpr
 
struct  OnConflictExpr
 

Macros

#define INNER_VAR   65000 /* reference to inner subplan */
 
#define OUTER_VAR   65001 /* reference to outer subplan */
 
#define INDEX_VAR   65002 /* reference to index column */
 
#define IS_SPECIAL_VARNO(varno)   ((varno) >= INNER_VAR)
 
#define PRS2_OLD_VARNO   1
 
#define PRS2_NEW_VARNO   2
 

Typedefs

typedef struct Alias Alias
 
typedef enum OnCommitAction OnCommitAction
 
typedef struct RangeVar RangeVar
 
typedef struct TableFunc TableFunc
 
typedef struct IntoClause IntoClause
 
typedef struct Expr Expr
 
typedef struct Var Var
 
typedef struct Const Const
 
typedef enum ParamKind ParamKind
 
typedef struct Param Param
 
typedef struct Aggref Aggref
 
typedef struct GroupingFunc GroupingFunc
 
typedef struct WindowFunc WindowFunc
 
typedef struct ArrayRef ArrayRef
 
typedef enum CoercionContext CoercionContext
 
typedef enum CoercionForm CoercionForm
 
typedef struct FuncExpr FuncExpr
 
typedef struct NamedArgExpr NamedArgExpr
 
typedef struct OpExpr OpExpr
 
typedef OpExpr DistinctExpr
 
typedef OpExpr NullIfExpr
 
typedef struct ScalarArrayOpExpr ScalarArrayOpExpr
 
typedef enum BoolExprType BoolExprType
 
typedef struct BoolExpr BoolExpr
 
typedef enum SubLinkType SubLinkType
 
typedef struct SubLink SubLink
 
typedef struct SubPlan SubPlan
 
typedef struct AlternativeSubPlan AlternativeSubPlan
 
typedef struct FieldSelect FieldSelect
 
typedef struct FieldStore FieldStore
 
typedef struct RelabelType RelabelType
 
typedef struct CoerceViaIO CoerceViaIO
 
typedef struct ArrayCoerceExpr ArrayCoerceExpr
 
typedef struct ConvertRowtypeExpr ConvertRowtypeExpr
 
typedef struct CollateExpr CollateExpr
 
typedef struct CaseExpr CaseExpr
 
typedef struct CaseWhen CaseWhen
 
typedef struct CaseTestExpr CaseTestExpr
 
typedef struct ArrayExpr ArrayExpr
 
typedef struct RowExpr RowExpr
 
typedef enum RowCompareType RowCompareType
 
typedef struct RowCompareExpr RowCompareExpr
 
typedef struct CoalesceExpr CoalesceExpr
 
typedef enum MinMaxOp MinMaxOp
 
typedef struct MinMaxExpr MinMaxExpr
 
typedef enum SQLValueFunctionOp SQLValueFunctionOp
 
typedef struct SQLValueFunction SQLValueFunction
 
typedef enum XmlExprOp XmlExprOp
 
typedef struct XmlExpr XmlExpr
 
typedef enum NullTestType NullTestType
 
typedef struct NullTest NullTest
 
typedef enum BoolTestType BoolTestType
 
typedef struct BooleanTest BooleanTest
 
typedef struct CoerceToDomain CoerceToDomain
 
typedef struct CoerceToDomainValue CoerceToDomainValue
 
typedef struct SetToDefault SetToDefault
 
typedef struct CurrentOfExpr CurrentOfExpr
 
typedef struct InferenceElem InferenceElem
 
typedef struct NextValueExpr NextValueExpr
 
typedef struct TargetEntry TargetEntry
 
typedef struct RangeTblRef RangeTblRef
 
typedef struct JoinExpr JoinExpr
 
typedef struct FromExpr FromExpr
 
typedef struct OnConflictExpr OnConflictExpr
 

Enumerations

enum  OnCommitAction { ONCOMMIT_NOOP, ONCOMMIT_PRESERVE_ROWS, ONCOMMIT_DELETE_ROWS, ONCOMMIT_DROP }
 
enum  ParamKind { PARAM_EXTERN, PARAM_EXEC, PARAM_SUBLINK, PARAM_MULTIEXPR }
 
enum  CoercionContext { COERCION_IMPLICIT, COERCION_ASSIGNMENT, COERCION_EXPLICIT }
 
enum  CoercionForm { COERCE_EXPLICIT_CALL, COERCE_EXPLICIT_CAST, COERCE_IMPLICIT_CAST }
 
enum  BoolExprType { AND_EXPR, OR_EXPR, NOT_EXPR }
 
enum  SubLinkType {
  EXISTS_SUBLINK, ALL_SUBLINK, ANY_SUBLINK, ROWCOMPARE_SUBLINK,
  EXPR_SUBLINK, MULTIEXPR_SUBLINK, ARRAY_SUBLINK, CTE_SUBLINK
}
 
enum  RowCompareType {
  ROWCOMPARE_LT = 1, ROWCOMPARE_LE = 2, ROWCOMPARE_EQ = 3, ROWCOMPARE_GE = 4,
  ROWCOMPARE_GT = 5, ROWCOMPARE_NE = 6
}
 
enum  MinMaxOp { IS_GREATEST, IS_LEAST }
 
enum  SQLValueFunctionOp {
  SVFOP_CURRENT_DATE, SVFOP_CURRENT_TIME, SVFOP_CURRENT_TIME_N, SVFOP_CURRENT_TIMESTAMP,
  SVFOP_CURRENT_TIMESTAMP_N, SVFOP_LOCALTIME, SVFOP_LOCALTIME_N, SVFOP_LOCALTIMESTAMP,
  SVFOP_LOCALTIMESTAMP_N, SVFOP_CURRENT_ROLE, SVFOP_CURRENT_USER, SVFOP_USER,
  SVFOP_SESSION_USER, SVFOP_CURRENT_CATALOG, SVFOP_CURRENT_SCHEMA
}
 
enum  XmlExprOp {
  IS_XMLCONCAT, IS_XMLELEMENT, IS_XMLFOREST, IS_XMLPARSE,
  IS_XMLPI, IS_XMLROOT, IS_XMLSERIALIZE, IS_DOCUMENT
}
 
enum  XmlOptionType { XMLOPTION_DOCUMENT, XMLOPTION_CONTENT }
 
enum  NullTestType { IS_NULL, IS_NOT_NULL }
 
enum  BoolTestType {
  IS_TRUE, IS_NOT_TRUE, IS_FALSE, IS_NOT_FALSE,
  IS_UNKNOWN, IS_NOT_UNKNOWN
}
 

Macro Definition Documentation

#define IS_SPECIAL_VARNO (   varno)    ((varno) >= INNER_VAR)

Typedef Documentation

Definition at line 515 of file primnodes.h.

typedef struct Expr Expr

Definition at line 523 of file primnodes.h.

typedef struct Var Var

Enumeration Type Documentation

Enumerator
AND_EXPR 
OR_EXPR 
NOT_EXPR 

Definition at line 553 of file primnodes.h.

554 {
556 } BoolExprType;
BoolExprType
Definition: primnodes.h:553
Enumerator
IS_TRUE 
IS_NOT_TRUE 
IS_FALSE 
IS_NOT_FALSE 
IS_UNKNOWN 
IS_NOT_UNKNOWN 

Definition at line 1194 of file primnodes.h.

Enumerator
COERCION_IMPLICIT 
COERCION_ASSIGNMENT 
COERCION_EXPLICIT 

Definition at line 419 of file primnodes.h.

420 {
421  COERCION_IMPLICIT, /* coercion in context of expression */
422  COERCION_ASSIGNMENT, /* coercion in context of assignment */
423  COERCION_EXPLICIT /* explicit cast operation */
CoercionContext
Definition: primnodes.h:419
Enumerator
COERCE_EXPLICIT_CALL 
COERCE_EXPLICIT_CAST 
COERCE_IMPLICIT_CAST 

Definition at line 435 of file primnodes.h.

436 {
437  COERCE_EXPLICIT_CALL, /* display as a function call */
438  COERCE_EXPLICIT_CAST, /* display as an explicit cast */
439  COERCE_IMPLICIT_CAST /* implicit cast, so hide it */
440 } CoercionForm;
CoercionForm
Definition: primnodes.h:435
enum MinMaxOp
Enumerator
IS_GREATEST 
IS_LEAST 

Definition at line 1053 of file primnodes.h.

1054 {
1055  IS_GREATEST,
1056  IS_LEAST
1057 } MinMaxOp;
MinMaxOp
Definition: primnodes.h:1053
Enumerator
IS_NULL 
IS_NOT_NULL 

Definition at line 1171 of file primnodes.h.

1172 {
1174 } NullTestType;
NullTestType
Definition: primnodes.h:1171
Enumerator
ONCOMMIT_NOOP 
ONCOMMIT_PRESERVE_ROWS 
ONCOMMIT_DELETE_ROWS 
ONCOMMIT_DROP 

Definition at line 47 of file primnodes.h.

48 {
49  ONCOMMIT_NOOP, /* No ON COMMIT clause (do nothing) */
50  ONCOMMIT_PRESERVE_ROWS, /* ON COMMIT PRESERVE ROWS (do nothing) */
51  ONCOMMIT_DELETE_ROWS, /* ON COMMIT DELETE ROWS */
52  ONCOMMIT_DROP /* ON COMMIT DROP */
OnCommitAction
Definition: primnodes.h:47
enum ParamKind
Enumerator
PARAM_EXTERN 
PARAM_EXEC 
PARAM_SUBLINK 
PARAM_MULTIEXPR 

Definition at line 233 of file primnodes.h.

Enumerator
ROWCOMPARE_LT 
ROWCOMPARE_LE 
ROWCOMPARE_EQ 
ROWCOMPARE_GE 
ROWCOMPARE_GT 
ROWCOMPARE_NE 

Definition at line 1016 of file primnodes.h.

1017 {
1018  /* Values of this enum are chosen to match btree strategy numbers */
1019  ROWCOMPARE_LT = 1, /* BTLessStrategyNumber */
1020  ROWCOMPARE_LE = 2, /* BTLessEqualStrategyNumber */
1021  ROWCOMPARE_EQ = 3, /* BTEqualStrategyNumber */
1022  ROWCOMPARE_GE = 4, /* BTGreaterEqualStrategyNumber */
1023  ROWCOMPARE_GT = 5, /* BTGreaterStrategyNumber */
1024  ROWCOMPARE_NE = 6 /* no such btree strategy */
1025 } RowCompareType;
RowCompareType
Definition: primnodes.h:1016
Enumerator
SVFOP_CURRENT_DATE 
SVFOP_CURRENT_TIME 
SVFOP_CURRENT_TIME_N 
SVFOP_CURRENT_TIMESTAMP 
SVFOP_CURRENT_TIMESTAMP_N 
SVFOP_LOCALTIME 
SVFOP_LOCALTIME_N 
SVFOP_LOCALTIMESTAMP 
SVFOP_LOCALTIMESTAMP_N 
SVFOP_CURRENT_ROLE 
SVFOP_CURRENT_USER 
SVFOP_USER 
SVFOP_SESSION_USER 
SVFOP_CURRENT_CATALOG 
SVFOP_CURRENT_SCHEMA 

Definition at line 1081 of file primnodes.h.

Enumerator
EXISTS_SUBLINK 
ALL_SUBLINK 
ANY_SUBLINK 
ROWCOMPARE_SUBLINK 
EXPR_SUBLINK 
MULTIEXPR_SUBLINK 
ARRAY_SUBLINK 
CTE_SUBLINK 

Definition at line 617 of file primnodes.h.

enum XmlExprOp
Enumerator
IS_XMLCONCAT 
IS_XMLELEMENT 
IS_XMLFOREST 
IS_XMLPARSE 
IS_XMLPI 
IS_XMLROOT 
IS_XMLSERIALIZE 
IS_DOCUMENT 

Definition at line 1120 of file primnodes.h.

1121 {
1122  IS_XMLCONCAT, /* XMLCONCAT(args) */
1123  IS_XMLELEMENT, /* XMLELEMENT(name, xml_attributes, args) */
1124  IS_XMLFOREST, /* XMLFOREST(xml_attributes) */
1125  IS_XMLPARSE, /* XMLPARSE(text, is_doc, preserve_ws) */
1126  IS_XMLPI, /* XMLPI(name [, args]) */
1127  IS_XMLROOT, /* XMLROOT(xml, version, standalone) */
1128  IS_XMLSERIALIZE, /* XMLSERIALIZE(is_document, xmlval) */
1129  IS_DOCUMENT /* xmlval IS DOCUMENT */
1130 } XmlExprOp;
XmlExprOp
Definition: primnodes.h:1120
Enumerator
XMLOPTION_DOCUMENT 
XMLOPTION_CONTENT 

Definition at line 1132 of file primnodes.h.