PostgreSQL Source Code  git master
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  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  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 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 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 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 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 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  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  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  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 }
 

Macro Definition Documentation

◆ INDEX_VAR

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

Definition at line 238 of file primnodes.h.

◆ INNER_VAR

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

Definition at line 236 of file primnodes.h.

◆ IS_SPECIAL_VARNO

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

Definition at line 241 of file primnodes.h.

◆ NUM_MERGE_MATCH_KINDS

#define NUM_MERGE_MATCH_KINDS   (MERGE_WHEN_NOT_MATCHED_BY_TARGET + 1)

Definition at line 2003 of file primnodes.h.

◆ OUTER_VAR

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

Definition at line 237 of file primnodes.h.

◆ PRS2_NEW_VARNO

#define PRS2_NEW_VARNO   2

Definition at line 245 of file primnodes.h.

◆ PRS2_OLD_VARNO

#define PRS2_OLD_VARNO   1

Definition at line 244 of file primnodes.h.

◆ ROWID_VAR

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

Definition at line 239 of file primnodes.h.

Typedef Documentation

◆ Aggref

typedef struct Aggref Aggref

◆ Alias

typedef struct Alias Alias

◆ AlternativeSubPlan

◆ ArrayCoerceExpr

◆ ArrayExpr

typedef struct ArrayExpr ArrayExpr

◆ BooleanTest

typedef struct BooleanTest BooleanTest

◆ BoolExpr

typedef struct BoolExpr BoolExpr

◆ BoolExprType

typedef enum BoolExprType BoolExprType

◆ BoolTestType

typedef enum BoolTestType BoolTestType

◆ CaseExpr

typedef struct CaseExpr CaseExpr

◆ CaseTestExpr

typedef struct CaseTestExpr CaseTestExpr

◆ CaseWhen

typedef struct CaseWhen CaseWhen

◆ CoalesceExpr

typedef struct CoalesceExpr CoalesceExpr

◆ CoerceToDomain

◆ CoerceToDomainValue

◆ CoerceViaIO

typedef struct CoerceViaIO CoerceViaIO

◆ CoercionContext

◆ CoercionForm

typedef enum CoercionForm CoercionForm

◆ CollateExpr

typedef struct CollateExpr CollateExpr

◆ Const

typedef struct Const Const

◆ ConvertRowtypeExpr

◆ CurrentOfExpr

typedef struct CurrentOfExpr CurrentOfExpr

◆ DistinctExpr

Definition at line 852 of file primnodes.h.

◆ Expr

typedef struct Expr Expr

◆ FieldSelect

typedef struct FieldSelect FieldSelect

◆ FieldStore

typedef struct FieldStore FieldStore

◆ FromExpr

typedef struct FromExpr FromExpr

◆ FuncExpr

typedef struct FuncExpr FuncExpr

◆ GroupingFunc

typedef struct GroupingFunc GroupingFunc

◆ InferenceElem

typedef struct InferenceElem InferenceElem

◆ IntoClause

typedef struct IntoClause IntoClause

◆ JoinExpr

typedef struct JoinExpr JoinExpr

◆ JsonBehavior

typedef struct JsonBehavior JsonBehavior

◆ JsonBehaviorType

◆ JsonConstructorExpr

◆ JsonConstructorType

◆ JsonEncoding

typedef enum JsonEncoding JsonEncoding

◆ JsonExpr

typedef struct JsonExpr JsonExpr

◆ JsonExprOp

typedef enum JsonExprOp JsonExprOp

◆ JsonFormat

typedef struct JsonFormat JsonFormat

◆ JsonFormatType

◆ JsonIsPredicate

◆ JsonReturning

typedef struct JsonReturning JsonReturning

◆ JsonTablePath

typedef struct JsonTablePath JsonTablePath

◆ JsonTablePathScan

◆ JsonTablePlan

typedef struct JsonTablePlan JsonTablePlan

◆ JsonTableSiblingJoin

◆ JsonValueExpr

typedef struct JsonValueExpr JsonValueExpr

◆ JsonValueType

◆ JsonWrapper

typedef enum JsonWrapper JsonWrapper

◆ MergeAction

typedef struct MergeAction MergeAction

◆ MergeMatchKind

◆ MergeSupportFunc

◆ MinMaxExpr

typedef struct MinMaxExpr MinMaxExpr

◆ MinMaxOp

typedef enum MinMaxOp MinMaxOp

◆ NamedArgExpr

typedef struct NamedArgExpr NamedArgExpr

◆ NextValueExpr

typedef struct NextValueExpr NextValueExpr

◆ NullIfExpr

typedef OpExpr NullIfExpr

Definition at line 860 of file primnodes.h.

◆ NullTest

typedef struct NullTest NullTest

◆ NullTestType

typedef enum NullTestType NullTestType

◆ OnCommitAction

◆ OnConflictExpr

◆ OpExpr

typedef struct OpExpr OpExpr

◆ OverridingKind

◆ Param

typedef struct Param Param

◆ ParamKind

typedef enum ParamKind ParamKind

◆ RangeTblRef

typedef struct RangeTblRef RangeTblRef

◆ RangeVar

typedef struct RangeVar RangeVar

◆ RelabelType

typedef struct RelabelType RelabelType

◆ RowCompareExpr

◆ RowCompareType

◆ RowExpr

typedef struct RowExpr RowExpr

◆ ScalarArrayOpExpr

◆ SetToDefault

typedef struct SetToDefault SetToDefault

◆ SQLValueFunction

◆ SQLValueFunctionOp

◆ SubLink

typedef struct SubLink SubLink

◆ SubLinkType

typedef enum SubLinkType SubLinkType

◆ SubPlan

typedef struct SubPlan SubPlan

◆ SubscriptingRef

◆ TableFunc

typedef struct TableFunc TableFunc

◆ TableFuncType

◆ TargetEntry

typedef struct TargetEntry TargetEntry

◆ Var

typedef struct Var Var

◆ WindowFunc

typedef struct WindowFunc WindowFunc

◆ WindowFuncRunCondition

◆ XmlExpr

typedef struct XmlExpr XmlExpr

◆ XmlExprOp

typedef enum XmlExprOp XmlExprOp

◆ XmlOptionType

Enumeration Type Documentation

◆ BoolExprType

Enumerator
AND_EXPR 
OR_EXPR 
NOT_EXPR 

Definition at line 929 of file primnodes.h.

930 {
932 } BoolExprType;
BoolExprType
Definition: primnodes.h:930
@ AND_EXPR
Definition: primnodes.h:931
@ OR_EXPR
Definition: primnodes.h:931
@ NOT_EXPR
Definition: primnodes.h:931

◆ BoolTestType

Enumerator
IS_TRUE 
IS_NOT_TRUE 
IS_FALSE 
IS_NOT_FALSE 
IS_UNKNOWN 
IS_NOT_UNKNOWN 

Definition at line 1976 of file primnodes.h.

1977 {
1979 } BoolTestType;
BoolTestType
Definition: primnodes.h:1977
@ IS_NOT_TRUE
Definition: primnodes.h:1978
@ IS_NOT_FALSE
Definition: primnodes.h:1978
@ IS_NOT_UNKNOWN
Definition: primnodes.h:1978
@ IS_TRUE
Definition: primnodes.h:1978
@ IS_UNKNOWN
Definition: primnodes.h:1978
@ IS_FALSE
Definition: primnodes.h:1978

◆ CoercionContext

Enumerator
COERCION_IMPLICIT 
COERCION_ASSIGNMENT 
COERCION_PLPGSQL 
COERCION_EXPLICIT 

Definition at line 712 of file primnodes.h.

713 {
714  COERCION_IMPLICIT, /* coercion in context of expression */
715  COERCION_ASSIGNMENT, /* coercion in context of assignment */
716  COERCION_PLPGSQL, /* if no assignment cast, use CoerceViaIO */
717  COERCION_EXPLICIT, /* explicit cast operation */
CoercionContext
Definition: primnodes.h:713
@ COERCION_PLPGSQL
Definition: primnodes.h:716
@ COERCION_ASSIGNMENT
Definition: primnodes.h:715
@ COERCION_EXPLICIT
Definition: primnodes.h:717
@ COERCION_IMPLICIT
Definition: primnodes.h:714

◆ CoercionForm

Enumerator
COERCE_EXPLICIT_CALL 
COERCE_EXPLICIT_CAST 
COERCE_IMPLICIT_CAST 
COERCE_SQL_SYNTAX 

Definition at line 732 of file primnodes.h.

733 {
734  COERCE_EXPLICIT_CALL, /* display as a function call */
735  COERCE_EXPLICIT_CAST, /* display as an explicit cast */
736  COERCE_IMPLICIT_CAST, /* implicit cast, so hide it */
737  COERCE_SQL_SYNTAX, /* display with SQL-mandated special syntax */
738 } CoercionForm;
CoercionForm
Definition: primnodes.h:733
@ COERCE_SQL_SYNTAX
Definition: primnodes.h:737
@ COERCE_IMPLICIT_CAST
Definition: primnodes.h:736
@ COERCE_EXPLICIT_CAST
Definition: primnodes.h:735
@ COERCE_EXPLICIT_CALL
Definition: primnodes.h:734

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

1760 {
1761  JSON_BEHAVIOR_NULL = 0,
JsonBehaviorType
Definition: primnodes.h:1760
@ JSON_BEHAVIOR_ERROR
Definition: primnodes.h:1762
@ JSON_BEHAVIOR_TRUE
Definition: primnodes.h:1764
@ JSON_BEHAVIOR_DEFAULT
Definition: primnodes.h:1769
@ JSON_BEHAVIOR_EMPTY
Definition: primnodes.h:1763
@ JSON_BEHAVIOR_FALSE
Definition: primnodes.h:1765
@ JSON_BEHAVIOR_NULL
Definition: primnodes.h:1761
@ JSON_BEHAVIOR_EMPTY_OBJECT
Definition: primnodes.h:1768
@ JSON_BEHAVIOR_UNKNOWN
Definition: primnodes.h:1766
@ JSON_BEHAVIOR_EMPTY_ARRAY
Definition: primnodes.h:1767

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

1685 {
1686  JSCTOR_JSON_OBJECT = 1,
1687  JSCTOR_JSON_ARRAY = 2,
1690  JSCTOR_JSON_PARSE = 5,
1691  JSCTOR_JSON_SCALAR = 6,
JsonConstructorType
Definition: primnodes.h:1685
@ JSCTOR_JSON_SERIALIZE
Definition: primnodes.h:1692
@ JSCTOR_JSON_ARRAYAGG
Definition: primnodes.h:1689
@ JSCTOR_JSON_PARSE
Definition: primnodes.h:1690
@ JSCTOR_JSON_OBJECT
Definition: primnodes.h:1686
@ JSCTOR_JSON_SCALAR
Definition: primnodes.h:1691
@ JSCTOR_JSON_ARRAY
Definition: primnodes.h:1687
@ JSCTOR_JSON_OBJECTAGG
Definition: primnodes.h:1688

◆ JsonEncoding

Enumerator
JS_ENC_DEFAULT 
JS_ENC_UTF8 
JS_ENC_UTF16 
JS_ENC_UTF32 

Definition at line 1624 of file primnodes.h.

1625 {
1626  JS_ENC_DEFAULT, /* unspecified */
1627  JS_ENC_UTF8,
1628  JS_ENC_UTF16,
1629  JS_ENC_UTF32,
1630 } JsonEncoding;
JsonEncoding
Definition: primnodes.h:1625
@ JS_ENC_DEFAULT
Definition: primnodes.h:1626
@ JS_ENC_UTF32
Definition: primnodes.h:1629
@ JS_ENC_UTF8
Definition: primnodes.h:1627
@ JS_ENC_UTF16
Definition: primnodes.h:1628

◆ JsonExprOp

enum JsonExprOp
Enumerator
JSON_EXISTS_OP 
JSON_QUERY_OP 
JSON_VALUE_OP 
JSON_TABLE_OP 

Definition at line 1796 of file primnodes.h.

1797 {
1798  JSON_EXISTS_OP, /* JSON_EXISTS() */
1799  JSON_QUERY_OP, /* JSON_QUERY() */
1800  JSON_VALUE_OP, /* JSON_VALUE() */
1801  JSON_TABLE_OP, /* JSON_TABLE() */
1802 } JsonExprOp;
JsonExprOp
Definition: primnodes.h:1797
@ JSON_QUERY_OP
Definition: primnodes.h:1799
@ JSON_TABLE_OP
Definition: primnodes.h:1801
@ JSON_EXISTS_OP
Definition: primnodes.h:1798
@ JSON_VALUE_OP
Definition: primnodes.h:1800

◆ JsonFormatType

Enumerator
JS_FORMAT_DEFAULT 
JS_FORMAT_JSON 
JS_FORMAT_JSONB 

Definition at line 1636 of file primnodes.h.

1637 {
1638  JS_FORMAT_DEFAULT, /* unspecified */
1639  JS_FORMAT_JSON, /* FORMAT JSON [ENCODING ...] */
1640  JS_FORMAT_JSONB, /* implicit internal format for RETURNING
1641  * jsonb */
1642 } JsonFormatType;
JsonFormatType
Definition: primnodes.h:1637
@ JS_FORMAT_JSONB
Definition: primnodes.h:1640
@ JS_FORMAT_DEFAULT
Definition: primnodes.h:1638
@ JS_FORMAT_JSON
Definition: primnodes.h:1639

◆ JsonValueType

Enumerator
JS_TYPE_ANY 
JS_TYPE_OBJECT 
JS_TYPE_ARRAY 
JS_TYPE_SCALAR 

Definition at line 1716 of file primnodes.h.

1717 {
1718  JS_TYPE_ANY, /* IS JSON [VALUE] */
1719  JS_TYPE_OBJECT, /* IS JSON OBJECT */
1720  JS_TYPE_ARRAY, /* IS JSON ARRAY */
1721  JS_TYPE_SCALAR, /* IS JSON SCALAR */
1722 } JsonValueType;
JsonValueType
Definition: primnodes.h:1717
@ JS_TYPE_ANY
Definition: primnodes.h:1718
@ JS_TYPE_ARRAY
Definition: primnodes.h:1720
@ JS_TYPE_OBJECT
Definition: primnodes.h:1719
@ JS_TYPE_SCALAR
Definition: primnodes.h:1721

◆ JsonWrapper

Enumerator
JSW_UNSPEC 
JSW_NONE 
JSW_CONDITIONAL 
JSW_UNCONDITIONAL 

Definition at line 1744 of file primnodes.h.

1745 {
1746  JSW_UNSPEC,
1747  JSW_NONE,
1750 } JsonWrapper;
JsonWrapper
Definition: primnodes.h:1745
@ JSW_UNCONDITIONAL
Definition: primnodes.h:1749
@ JSW_CONDITIONAL
Definition: primnodes.h:1748
@ JSW_UNSPEC
Definition: primnodes.h:1746
@ JSW_NONE
Definition: primnodes.h:1747

◆ MergeMatchKind

Enumerator
MERGE_WHEN_MATCHED 
MERGE_WHEN_NOT_MATCHED_BY_SOURCE 
MERGE_WHEN_NOT_MATCHED_BY_TARGET 

Definition at line 1996 of file primnodes.h.

1997 {
2001 } MergeMatchKind;
MergeMatchKind
Definition: primnodes.h:1997
@ MERGE_WHEN_NOT_MATCHED_BY_TARGET
Definition: primnodes.h:2000
@ MERGE_WHEN_NOT_MATCHED_BY_SOURCE
Definition: primnodes.h:1999
@ MERGE_WHEN_MATCHED
Definition: primnodes.h:1998

◆ MinMaxOp

enum MinMaxOp
Enumerator
IS_GREATEST 
IS_LEAST 

Definition at line 1500 of file primnodes.h.

1501 {
1502  IS_GREATEST,
1503  IS_LEAST
1504 } MinMaxOp;
MinMaxOp
Definition: primnodes.h:1501
@ IS_LEAST
Definition: primnodes.h:1503
@ IS_GREATEST
Definition: primnodes.h:1502

◆ NullTestType

Enumerator
IS_NULL 
IS_NOT_NULL 

Definition at line 1952 of file primnodes.h.

1953 {
1955 } NullTestType;
NullTestType
Definition: primnodes.h:1953
@ IS_NULL
Definition: primnodes.h:1954
@ IS_NOT_NULL
Definition: primnodes.h:1954

◆ OnCommitAction

Enumerator
ONCOMMIT_NOOP 
ONCOMMIT_PRESERVE_ROWS 
ONCOMMIT_DELETE_ROWS 
ONCOMMIT_DROP 

Definition at line 55 of file primnodes.h.

56 {
57  ONCOMMIT_NOOP, /* No ON COMMIT clause (do nothing) */
58  ONCOMMIT_PRESERVE_ROWS, /* ON COMMIT PRESERVE ROWS (do nothing) */
59  ONCOMMIT_DELETE_ROWS, /* ON COMMIT DELETE ROWS */
60  ONCOMMIT_DROP, /* ON COMMIT DROP */
OnCommitAction
Definition: primnodes.h:56
@ ONCOMMIT_DELETE_ROWS
Definition: primnodes.h:59
@ ONCOMMIT_NOOP
Definition: primnodes.h:57
@ ONCOMMIT_PRESERVE_ROWS
Definition: primnodes.h:58
@ ONCOMMIT_DROP
Definition: primnodes.h:60

◆ OverridingKind

Enumerator
OVERRIDING_NOT_SET 
OVERRIDING_USER_VALUE 
OVERRIDING_SYSTEM_VALUE 

Definition at line 25 of file primnodes.h.

26 {
OverridingKind
Definition: primnodes.h:26
@ OVERRIDING_NOT_SET
Definition: primnodes.h:27
@ OVERRIDING_SYSTEM_VALUE
Definition: primnodes.h:29
@ OVERRIDING_USER_VALUE
Definition: primnodes.h:28

◆ ParamKind

enum ParamKind
Enumerator
PARAM_EXTERN 
PARAM_EXEC 
PARAM_SUBLINK 
PARAM_MULTIEXPR 

Definition at line 365 of file primnodes.h.

366 {
367  PARAM_EXTERN,
368  PARAM_EXEC,
371 } ParamKind;
ParamKind
Definition: primnodes.h:366
@ PARAM_MULTIEXPR
Definition: primnodes.h:370
@ PARAM_EXTERN
Definition: primnodes.h:367
@ PARAM_SUBLINK
Definition: primnodes.h:369
@ PARAM_EXEC
Definition: primnodes.h:368

◆ RowCompareType

Enumerator
ROWCOMPARE_LT 
ROWCOMPARE_LE 
ROWCOMPARE_EQ 
ROWCOMPARE_GE 
ROWCOMPARE_GT 
ROWCOMPARE_NE 

Definition at line 1452 of file primnodes.h.

1453 {
1454  /* Values of this enum are chosen to match btree strategy numbers */
1455  ROWCOMPARE_LT = 1, /* BTLessStrategyNumber */
1456  ROWCOMPARE_LE = 2, /* BTLessEqualStrategyNumber */
1457  ROWCOMPARE_EQ = 3, /* BTEqualStrategyNumber */
1458  ROWCOMPARE_GE = 4, /* BTGreaterEqualStrategyNumber */
1459  ROWCOMPARE_GT = 5, /* BTGreaterStrategyNumber */
1460  ROWCOMPARE_NE = 6, /* no such btree strategy */
1461 } RowCompareType;
RowCompareType
Definition: primnodes.h:1453
@ ROWCOMPARE_GT
Definition: primnodes.h:1459
@ ROWCOMPARE_LT
Definition: primnodes.h:1455
@ ROWCOMPARE_NE
Definition: primnodes.h:1460
@ ROWCOMPARE_LE
Definition: primnodes.h:1456
@ ROWCOMPARE_EQ
Definition: primnodes.h:1457
@ ROWCOMPARE_GE
Definition: primnodes.h:1458

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

1535 {
1547  SVFOP_USER,
SQLValueFunctionOp
Definition: primnodes.h:1535
@ SVFOP_CURRENT_CATALOG
Definition: primnodes.h:1549
@ SVFOP_LOCALTIME_N
Definition: primnodes.h:1542
@ SVFOP_CURRENT_TIMESTAMP
Definition: primnodes.h:1539
@ SVFOP_LOCALTIME
Definition: primnodes.h:1541
@ SVFOP_CURRENT_TIMESTAMP_N
Definition: primnodes.h:1540
@ SVFOP_CURRENT_ROLE
Definition: primnodes.h:1545
@ SVFOP_USER
Definition: primnodes.h:1547
@ SVFOP_CURRENT_SCHEMA
Definition: primnodes.h:1550
@ SVFOP_LOCALTIMESTAMP_N
Definition: primnodes.h:1544
@ SVFOP_CURRENT_DATE
Definition: primnodes.h:1536
@ SVFOP_CURRENT_TIME_N
Definition: primnodes.h:1538
@ SVFOP_CURRENT_TIME
Definition: primnodes.h:1537
@ SVFOP_LOCALTIMESTAMP
Definition: primnodes.h:1543
@ SVFOP_CURRENT_USER
Definition: primnodes.h:1546
@ SVFOP_SESSION_USER
Definition: primnodes.h:1548

◆ SubLinkType

Enumerator
EXISTS_SUBLINK 
ALL_SUBLINK 
ANY_SUBLINK 
ROWCOMPARE_SUBLINK 
EXPR_SUBLINK 
MULTIEXPR_SUBLINK 
ARRAY_SUBLINK 
CTE_SUBLINK 

Definition at line 995 of file primnodes.h.

996 {
998  ALL_SUBLINK,
999  ANY_SUBLINK,
1001  EXPR_SUBLINK,
1003  ARRAY_SUBLINK,
1004  CTE_SUBLINK, /* for SubPlans only */
1005 } SubLinkType;
SubLinkType
Definition: primnodes.h:996
@ ARRAY_SUBLINK
Definition: primnodes.h:1003
@ ANY_SUBLINK
Definition: primnodes.h:999
@ MULTIEXPR_SUBLINK
Definition: primnodes.h:1002
@ CTE_SUBLINK
Definition: primnodes.h:1004
@ EXPR_SUBLINK
Definition: primnodes.h:1001
@ ROWCOMPARE_SUBLINK
Definition: primnodes.h:1000
@ ALL_SUBLINK
Definition: primnodes.h:998
@ EXISTS_SUBLINK
Definition: primnodes.h:997

◆ TableFuncType

Enumerator
TFT_XMLTABLE 
TFT_JSON_TABLE 

Definition at line 97 of file primnodes.h.

98 {
101 } TableFuncType;
TableFuncType
Definition: primnodes.h:98
@ TFT_XMLTABLE
Definition: primnodes.h:99
@ TFT_JSON_TABLE
Definition: primnodes.h:100

◆ XmlExprOp

enum XmlExprOp
Enumerator
IS_XMLCONCAT 
IS_XMLELEMENT 
IS_XMLFOREST 
IS_XMLPARSE 
IS_XMLPI 
IS_XMLROOT 
IS_XMLSERIALIZE 
IS_DOCUMENT 

Definition at line 1578 of file primnodes.h.

1579 {
1580  IS_XMLCONCAT, /* XMLCONCAT(args) */
1581  IS_XMLELEMENT, /* XMLELEMENT(name, xml_attributes, args) */
1582  IS_XMLFOREST, /* XMLFOREST(xml_attributes) */
1583  IS_XMLPARSE, /* XMLPARSE(text, is_doc, preserve_ws) */
1584  IS_XMLPI, /* XMLPI(name [, args]) */
1585  IS_XMLROOT, /* XMLROOT(xml, version, standalone) */
1586  IS_XMLSERIALIZE, /* XMLSERIALIZE(is_document, xmlval, indent) */
1587  IS_DOCUMENT, /* xmlval IS DOCUMENT */
1588 } XmlExprOp;
XmlExprOp
Definition: primnodes.h:1579
@ IS_DOCUMENT
Definition: primnodes.h:1587
@ IS_XMLFOREST
Definition: primnodes.h:1582
@ IS_XMLCONCAT
Definition: primnodes.h:1580
@ IS_XMLPI
Definition: primnodes.h:1584
@ IS_XMLPARSE
Definition: primnodes.h:1583
@ IS_XMLSERIALIZE
Definition: primnodes.h:1586
@ IS_XMLROOT
Definition: primnodes.h:1585
@ IS_XMLELEMENT
Definition: primnodes.h:1581

◆ XmlOptionType

Enumerator
XMLOPTION_DOCUMENT 
XMLOPTION_CONTENT 

Definition at line 1590 of file primnodes.h.

1591 {
1594 } XmlOptionType;
XmlOptionType
Definition: primnodes.h:1591
@ XMLOPTION_CONTENT
Definition: primnodes.h:1593
@ XMLOPTION_DOCUMENT
Definition: primnodes.h:1592