PostgreSQL Source Code: src/include/nodes/primnodes.h File Reference (original) (raw)

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 WindowFuncRunCondition
struct MergeSupportFunc
struct SubscriptingRef
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 JsonFormat
struct JsonReturning
struct JsonValueExpr
struct JsonConstructorExpr
struct JsonIsPredicate
struct JsonBehavior
struct JsonExpr
struct JsonTablePath
struct JsonTablePlan
struct JsonTablePathScan
struct JsonTableSiblingJoin
struct NullTest
struct BooleanTest
struct MergeAction
struct CoerceToDomain
struct CoerceToDomainValue
struct SetToDefault
struct CurrentOfExpr
struct NextValueExpr
struct InferenceElem
struct ReturningExpr
struct TargetEntry
struct RangeTblRef
struct JoinExpr
struct FromExpr
struct OnConflictExpr
Macros
#define INNER_VAR (-1) /* reference to inner subplan */
#define OUTER_VAR (-2) /* reference to outer subplan */
#define INDEX_VAR (-3) /* reference to index column */
#define ROWID_VAR (-4) /* row identity column during planning */
#define IS_SPECIAL_VARNO(varno) ((int) (varno) < 0)
#define PRS2_OLD_VARNO 1
#define PRS2_NEW_VARNO 2
#define NO_NULLTREATMENT 0
#define PARSER_IGNORE_NULLS 1
#define PARSER_RESPECT_NULLS 2
#define IGNORE_NULLS 3
#define NUM_MERGE_MATCH_KINDS (MERGE_WHEN_NOT_MATCHED_BY_TARGET + 1)
Typedefs
typedef enum OverridingKind OverridingKind
typedef struct Alias Alias
typedef enum OnCommitAction OnCommitAction
typedef struct RangeVar RangeVar
typedef enum TableFuncType TableFuncType
typedef struct TableFunc TableFunc
typedef struct IntoClause IntoClause
typedef struct Expr Expr
typedef enum VarReturningType VarReturningType
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 WindowFuncRunCondition WindowFuncRunCondition
typedef struct MergeSupportFunc MergeSupportFunc
typedef struct SubscriptingRef SubscriptingRef
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 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 enum XmlOptionType XmlOptionType
typedef struct XmlExpr XmlExpr
typedef enum JsonEncoding JsonEncoding
typedef enum JsonFormatType JsonFormatType
typedef struct JsonFormat JsonFormat
typedef struct JsonReturning JsonReturning
typedef struct JsonValueExpr JsonValueExpr
typedef enum JsonConstructorType JsonConstructorType
typedef struct JsonConstructorExpr JsonConstructorExpr
typedef enum JsonValueType JsonValueType
typedef struct JsonIsPredicate JsonIsPredicate
typedef enum JsonWrapper JsonWrapper
typedef enum JsonBehaviorType JsonBehaviorType
typedef struct JsonBehavior JsonBehavior
typedef enum JsonExprOp JsonExprOp
typedef struct JsonExpr JsonExpr
typedef struct JsonTablePath JsonTablePath
typedef struct JsonTablePlan JsonTablePlan
typedef struct JsonTablePathScan JsonTablePathScan
typedef struct JsonTableSiblingJoin JsonTableSiblingJoin
typedef enum NullTestType NullTestType
typedef struct NullTest NullTest
typedef enum BoolTestType BoolTestType
typedef struct BooleanTest BooleanTest
typedef enum MergeMatchKind MergeMatchKind
typedef struct MergeAction MergeAction
typedef struct CoerceToDomain CoerceToDomain
typedef struct CoerceToDomainValue CoerceToDomainValue
typedef struct SetToDefault SetToDefault
typedef struct CurrentOfExpr CurrentOfExpr
typedef struct NextValueExpr NextValueExpr
typedef struct InferenceElem InferenceElem
typedef struct ReturningExpr ReturningExpr
typedef struct TargetEntry TargetEntry
typedef struct RangeTblRef RangeTblRef
typedef struct JoinExpr JoinExpr
typedef struct FromExpr FromExpr
typedef struct OnConflictExpr OnConflictExpr
Enumerations
enum OverridingKind { OVERRIDING_NOT_SET = 0 , OVERRIDING_USER_VALUE, OVERRIDING_SYSTEM_VALUE }
enum OnCommitAction { ONCOMMIT_NOOP, ONCOMMIT_PRESERVE_ROWS, ONCOMMIT_DELETE_ROWS, ONCOMMIT_DROP }
enum TableFuncType { TFT_XMLTABLE, TFT_JSON_TABLE }
enum VarReturningType { VAR_RETURNING_DEFAULT, VAR_RETURNING_OLD, VAR_RETURNING_NEW }
enum ParamKind { PARAM_EXTERN, PARAM_EXEC, PARAM_SUBLINK, PARAM_MULTIEXPR }
enum CoercionContext { COERCION_IMPLICIT, COERCION_ASSIGNMENT, COERCION_PLPGSQL, COERCION_EXPLICIT }
enum CoercionForm { COERCE_EXPLICIT_CALL, COERCE_EXPLICIT_CAST, COERCE_IMPLICIT_CAST, COERCE_SQL_SYNTAX }
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 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 JsonEncoding { JS_ENC_DEFAULT, JS_ENC_UTF8, JS_ENC_UTF16, JS_ENC_UTF32 }
enum JsonFormatType { JS_FORMAT_DEFAULT, JS_FORMAT_JSON, JS_FORMAT_JSONB }
enum JsonConstructorType { JSCTOR_JSON_OBJECT = 1 , JSCTOR_JSON_ARRAY = 2 , JSCTOR_JSON_OBJECTAGG = 3 , JSCTOR_JSON_ARRAYAGG = 4 , JSCTOR_JSON_PARSE = 5 , JSCTOR_JSON_SCALAR = 6 , JSCTOR_JSON_SERIALIZE = 7 }
enum JsonValueType { JS_TYPE_ANY, JS_TYPE_OBJECT, JS_TYPE_ARRAY, JS_TYPE_SCALAR }
enum JsonWrapper { JSW_UNSPEC, JSW_NONE, JSW_CONDITIONAL, JSW_UNCONDITIONAL }
enum JsonBehaviorType { JSON_BEHAVIOR_NULL = 0 , JSON_BEHAVIOR_ERROR, JSON_BEHAVIOR_EMPTY, JSON_BEHAVIOR_TRUE, JSON_BEHAVIOR_FALSE, JSON_BEHAVIOR_UNKNOWN, JSON_BEHAVIOR_EMPTY_ARRAY, JSON_BEHAVIOR_EMPTY_OBJECT, JSON_BEHAVIOR_DEFAULT }
enum JsonExprOp { JSON_EXISTS_OP, JSON_QUERY_OP, JSON_VALUE_OP, JSON_TABLE_OP }
enum NullTestType { IS_NULL, IS_NOT_NULL }
enum BoolTestType { IS_TRUE, IS_NOT_TRUE, IS_FALSE, IS_NOT_FALSE, IS_UNKNOWN, IS_NOT_UNKNOWN }
enum MergeMatchKind { MERGE_WHEN_MATCHED, MERGE_WHEN_NOT_MATCHED_BY_SOURCE, MERGE_WHEN_NOT_MATCHED_BY_TARGET }

IGNORE_NULLS

INDEX_VAR

#define INDEX_VAR (-3) /* reference to index column */

INNER_VAR

#define INNER_VAR (-1) /* reference to inner subplan */

IS_SPECIAL_VARNO

| #define IS_SPECIAL_VARNO | ( | | varno | ) | ((int) (varno) < 0) | | -------------------------- | - | | ----- | - | ------------------- |

NO_NULLTREATMENT

#define NO_NULLTREATMENT 0

NUM_MERGE_MATCH_KINDS

OUTER_VAR

#define OUTER_VAR (-2) /* reference to outer subplan */

PARSER_IGNORE_NULLS

#define PARSER_IGNORE_NULLS 1

PARSER_RESPECT_NULLS

#define PARSER_RESPECT_NULLS 2

PRS2_NEW_VARNO

PRS2_OLD_VARNO

ROWID_VAR

#define ROWID_VAR (-4) /* row identity column during planning */

Aggref

Alias

AlternativeSubPlan

ArrayCoerceExpr

ArrayExpr

BooleanTest

BoolExpr

BoolExprType

BoolTestType

CaseExpr

CaseTestExpr

CaseWhen

CoalesceExpr

CoerceToDomain

CoerceToDomainValue

CoerceViaIO

CoercionContext

CoercionForm

CollateExpr

Const

ConvertRowtypeExpr

CurrentOfExpr

DistinctExpr

Expr

FieldSelect

FieldStore

FromExpr

FuncExpr

GroupingFunc

InferenceElem

IntoClause

JoinExpr

JsonBehavior

JsonBehaviorType

JsonConstructorExpr

JsonConstructorType

JsonEncoding

JsonExpr

JsonExprOp

JsonFormat

JsonFormatType

JsonIsPredicate

JsonReturning

JsonTablePath

JsonTablePathScan

JsonTablePlan

JsonTableSiblingJoin

JsonValueExpr

JsonValueType

JsonWrapper

MergeAction

MergeMatchKind

MergeSupportFunc

MinMaxExpr

MinMaxOp

NamedArgExpr

NextValueExpr

NullIfExpr

NullTest

NullTestType

OnCommitAction

OnConflictExpr

OpExpr

OverridingKind

Param

ParamKind

RangeTblRef

RangeVar

RelabelType

ReturningExpr

RowCompareExpr

RowExpr

ScalarArrayOpExpr

SetToDefault

SQLValueFunction

SQLValueFunctionOp

SubLinkType

SubPlan

SubscriptingRef

TableFunc

TableFuncType

TargetEntry

Var

VarReturningType

WindowFunc

WindowFuncRunCondition

XmlExpr

XmlExprOp

XmlOptionType

BoolExprType

Enumerator
AND_EXPR
OR_EXPR
NOT_EXPR

Definition at line 961 of file primnodes.h.

BoolTestType

Enumerator
IS_TRUE
IS_NOT_TRUE
IS_FALSE
IS_NOT_FALSE
IS_UNKNOWN
IS_NOT_UNKNOWN

Definition at line 1999 of file primnodes.h.

CoercionContext

Enumerator
COERCION_IMPLICIT
COERCION_ASSIGNMENT
COERCION_PLPGSQL
COERCION_EXPLICIT

Definition at line 744 of file primnodes.h.

CoercionForm

Enumerator
COERCE_EXPLICIT_CALL
COERCE_EXPLICIT_CAST
COERCE_IMPLICIT_CAST
COERCE_SQL_SYNTAX

Definition at line 764 of file primnodes.h.

JsonBehaviorType

Enumerator
JSON_BEHAVIOR_NULL
JSON_BEHAVIOR_ERROR
JSON_BEHAVIOR_EMPTY
JSON_BEHAVIOR_TRUE
JSON_BEHAVIOR_FALSE
JSON_BEHAVIOR_UNKNOWN
JSON_BEHAVIOR_EMPTY_ARRAY
JSON_BEHAVIOR_EMPTY_OBJECT
JSON_BEHAVIOR_DEFAULT

Definition at line 1788 of file primnodes.h.

1789{

@ JSON_BEHAVIOR_EMPTY_OBJECT

@ JSON_BEHAVIOR_EMPTY_ARRAY

JsonConstructorType

Enumerator
JSCTOR_JSON_OBJECT
JSCTOR_JSON_ARRAY
JSCTOR_JSON_OBJECTAGG
JSCTOR_JSON_ARRAYAGG
JSCTOR_JSON_PARSE
JSCTOR_JSON_SCALAR
JSCTOR_JSON_SERIALIZE

Definition at line 1713 of file primnodes.h.

JsonEncoding

Enumerator
JS_ENC_DEFAULT
JS_ENC_UTF8
JS_ENC_UTF16
JS_ENC_UTF32

Definition at line 1649 of file primnodes.h.

JsonExprOp

Enumerator
JSON_EXISTS_OP
JSON_QUERY_OP
JSON_VALUE_OP
JSON_TABLE_OP

Definition at line 1825 of file primnodes.h.

JsonFormatType

Enumerator
JS_FORMAT_DEFAULT
JS_FORMAT_JSON
JS_FORMAT_JSONB

Definition at line 1661 of file primnodes.h.

JsonValueType

Enumerator
JS_TYPE_ANY
JS_TYPE_OBJECT
JS_TYPE_ARRAY
JS_TYPE_SCALAR

Definition at line 1745 of file primnodes.h.

JsonWrapper

Enumerator
JSW_UNSPEC
JSW_NONE
JSW_CONDITIONAL
JSW_UNCONDITIONAL

Definition at line 1773 of file primnodes.h.

MergeMatchKind

Enumerator
MERGE_WHEN_MATCHED
MERGE_WHEN_NOT_MATCHED_BY_SOURCE
MERGE_WHEN_NOT_MATCHED_BY_TARGET

Definition at line 2019 of file primnodes.h.

2020{

@ MERGE_WHEN_NOT_MATCHED_BY_TARGET

@ MERGE_WHEN_NOT_MATCHED_BY_SOURCE

MinMaxOp

Enumerator
IS_GREATEST
IS_LEAST

Definition at line 1525 of file primnodes.h.

NullTestType

OnCommitAction

Enumerator
ONCOMMIT_NOOP
ONCOMMIT_PRESERVE_ROWS
ONCOMMIT_DELETE_ROWS
ONCOMMIT_DROP

Definition at line 56 of file primnodes.h.

OverridingKind

Enumerator
OVERRIDING_NOT_SET
OVERRIDING_USER_VALUE
OVERRIDING_SYSTEM_VALUE

Definition at line 26 of file primnodes.h.

27{

@ OVERRIDING_SYSTEM_VALUE

ParamKind

Enumerator
PARAM_EXTERN
PARAM_EXEC
PARAM_SUBLINK
PARAM_MULTIEXPR

Definition at line 382 of file primnodes.h.

SQLValueFunctionOp

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 1559 of file primnodes.h.

1560{

@ SVFOP_CURRENT_TIMESTAMP

@ SVFOP_CURRENT_TIMESTAMP_N

SubLinkType

Enumerator
EXISTS_SUBLINK
ALL_SUBLINK
ANY_SUBLINK
ROWCOMPARE_SUBLINK
EXPR_SUBLINK
MULTIEXPR_SUBLINK
ARRAY_SUBLINK
CTE_SUBLINK

Definition at line 1027 of file primnodes.h.

TableFuncType

Enumerator
TFT_XMLTABLE
TFT_JSON_TABLE

Definition at line 98 of file primnodes.h.

VarReturningType

Enumerator
VAR_RETURNING_DEFAULT
VAR_RETURNING_OLD
VAR_RETURNING_NEW

Definition at line 254 of file primnodes.h.

XmlExprOp

Enumerator
IS_XMLCONCAT
IS_XMLELEMENT
IS_XMLFOREST
IS_XMLPARSE
IS_XMLPI
IS_XMLROOT
IS_XMLSERIALIZE
IS_DOCUMENT

Definition at line 1603 of file primnodes.h.

XmlOptionType

Enumerator
XMLOPTION_DOCUMENT
XMLOPTION_CONTENT

Definition at line 1615 of file primnodes.h.