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  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  JsonCoercion
 
struct  JsonItemCoercions
 
struct  JsonExpr
 
struct  JsonTableParent
 
struct  JsonTableSibling
 
struct  NullTest
 
struct  BooleanTest
 
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
 

Typedefs

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 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 JsonExprOp JsonExprOp
 
typedef enum JsonEncoding JsonEncoding
 
typedef enum JsonFormatType JsonFormatType
 
typedef enum JsonBehaviorType JsonBehaviorType
 
typedef enum JsonWrapper JsonWrapper
 
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 struct JsonBehavior JsonBehavior
 
typedef struct JsonCoercion JsonCoercion
 
typedef struct JsonItemCoercions JsonItemCoercions
 
typedef struct JsonExpr JsonExpr
 
typedef struct JsonTableParent JsonTableParent
 
typedef struct JsonTableSibling JsonTableSibling
 
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 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  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  JsonExprOp { JSON_VALUE_OP , JSON_QUERY_OP , JSON_EXISTS_OP , JSON_TABLE_OP }
 
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  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  JsonWrapper { JSW_NONE , JSW_CONDITIONAL , JSW_UNCONDITIONAL }
 
enum  JsonConstructorType {
  JSCTOR_JSON_OBJECT = 1 , JSCTOR_JSON_ARRAY = 2 , JSCTOR_JSON_OBJECTAGG = 3 , JSCTOR_JSON_ARRAYAGG = 4 ,
  JSCTOR_JSON_SCALAR = 5 , JSCTOR_JSON_SERIALIZE = 6 , JSCTOR_JSON_PARSE = 7
}
 
enum  JsonValueType { JS_TYPE_ANY , JS_TYPE_OBJECT , JS_TYPE_ARRAY , JS_TYPE_SCALAR }
 
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

◆ INDEX_VAR

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

Definition at line 186 of file primnodes.h.

◆ INNER_VAR

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

Definition at line 184 of file primnodes.h.

◆ IS_SPECIAL_VARNO

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

Definition at line 189 of file primnodes.h.

◆ OUTER_VAR

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

Definition at line 185 of file primnodes.h.

◆ PRS2_NEW_VARNO

#define PRS2_NEW_VARNO   2

Definition at line 193 of file primnodes.h.

◆ PRS2_OLD_VARNO

#define PRS2_OLD_VARNO   1

Definition at line 192 of file primnodes.h.

◆ ROWID_VAR

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

Definition at line 187 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 571 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

◆ JsonCoercion

typedef struct JsonCoercion JsonCoercion

◆ JsonConstructorExpr

◆ JsonConstructorType

◆ JsonEncoding

typedef enum JsonEncoding JsonEncoding

◆ JsonExpr

typedef struct JsonExpr JsonExpr

◆ JsonExprOp

typedef enum JsonExprOp JsonExprOp

◆ JsonFormat

typedef struct JsonFormat JsonFormat

◆ JsonFormatType

◆ JsonIsPredicate

◆ JsonItemCoercions

◆ JsonReturning

typedef struct JsonReturning JsonReturning

◆ JsonTableParent

◆ JsonTableSibling

◆ JsonValueExpr

typedef struct JsonValueExpr JsonValueExpr

◆ JsonValueType

◆ JsonWrapper

typedef enum JsonWrapper JsonWrapper

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

◆ NullTest

typedef struct NullTest NullTest

◆ NullTestType

typedef enum NullTestType NullTestType

◆ OnCommitAction

◆ OnConflictExpr

◆ OpExpr

typedef struct OpExpr OpExpr

◆ 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

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

627 {
629 } BoolExprType;
BoolExprType
Definition: primnodes.h:627
@ AND_EXPR
Definition: primnodes.h:628
@ OR_EXPR
Definition: primnodes.h:628
@ NOT_EXPR
Definition: primnodes.h:628

◆ BoolTestType

Enumerator
IS_TRUE 
IS_NOT_TRUE 
IS_FALSE 
IS_NOT_FALSE 
IS_UNKNOWN 
IS_NOT_UNKNOWN 

Definition at line 1541 of file primnodes.h.

1542 {
1544 } BoolTestType;
BoolTestType
Definition: primnodes.h:1542
@ IS_NOT_TRUE
Definition: primnodes.h:1543
@ IS_NOT_FALSE
Definition: primnodes.h:1543
@ IS_NOT_UNKNOWN
Definition: primnodes.h:1543
@ IS_TRUE
Definition: primnodes.h:1543
@ IS_UNKNOWN
Definition: primnodes.h:1543
@ IS_FALSE
Definition: primnodes.h:1543

◆ CoercionContext

Enumerator
COERCION_IMPLICIT 
COERCION_ASSIGNMENT 
COERCION_PLPGSQL 
COERCION_EXPLICIT 

Definition at line 470 of file primnodes.h.

471 {
472  COERCION_IMPLICIT, /* coercion in context of expression */
473  COERCION_ASSIGNMENT, /* coercion in context of assignment */
474  COERCION_PLPGSQL, /* if no assignment cast, use CoerceViaIO */
475  COERCION_EXPLICIT /* explicit cast operation */
CoercionContext
Definition: primnodes.h:471
@ COERCION_PLPGSQL
Definition: primnodes.h:474
@ COERCION_ASSIGNMENT
Definition: primnodes.h:473
@ COERCION_EXPLICIT
Definition: primnodes.h:475
@ COERCION_IMPLICIT
Definition: primnodes.h:472

◆ CoercionForm

Enumerator
COERCE_EXPLICIT_CALL 
COERCE_EXPLICIT_CAST 
COERCE_IMPLICIT_CAST 
COERCE_SQL_SYNTAX 

Definition at line 490 of file primnodes.h.

491 {
492  COERCE_EXPLICIT_CALL, /* display as a function call */
493  COERCE_EXPLICIT_CAST, /* display as an explicit cast */
494  COERCE_IMPLICIT_CAST, /* implicit cast, so hide it */
495  COERCE_SQL_SYNTAX /* display with SQL-mandated special syntax */
496 } CoercionForm;
CoercionForm
Definition: primnodes.h:491
@ COERCE_SQL_SYNTAX
Definition: primnodes.h:495
@ COERCE_IMPLICIT_CAST
Definition: primnodes.h:494
@ COERCE_EXPLICIT_CAST
Definition: primnodes.h:493
@ COERCE_EXPLICIT_CALL
Definition: primnodes.h:492

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

1289 {
1290  JSON_BEHAVIOR_NULL = 0,
JsonBehaviorType
Definition: primnodes.h:1289
@ JSON_BEHAVIOR_ERROR
Definition: primnodes.h:1291
@ JSON_BEHAVIOR_TRUE
Definition: primnodes.h:1293
@ JSON_BEHAVIOR_DEFAULT
Definition: primnodes.h:1298
@ JSON_BEHAVIOR_EMPTY
Definition: primnodes.h:1292
@ JSON_BEHAVIOR_FALSE
Definition: primnodes.h:1294
@ JSON_BEHAVIOR_NULL
Definition: primnodes.h:1290
@ JSON_BEHAVIOR_EMPTY_OBJECT
Definition: primnodes.h:1297
@ JSON_BEHAVIOR_UNKNOWN
Definition: primnodes.h:1295
@ JSON_BEHAVIOR_EMPTY_ARRAY
Definition: primnodes.h:1296

◆ JsonConstructorType

Enumerator
JSCTOR_JSON_OBJECT 
JSCTOR_JSON_ARRAY 
JSCTOR_JSON_OBJECTAGG 
JSCTOR_JSON_ARRAYAGG 
JSCTOR_JSON_SCALAR 
JSCTOR_JSON_SERIALIZE 
JSCTOR_JSON_PARSE 

Definition at line 1348 of file primnodes.h.

1349 {
1350  JSCTOR_JSON_OBJECT = 1,
1351  JSCTOR_JSON_ARRAY = 2,
1354  JSCTOR_JSON_SCALAR = 5,
1356  JSCTOR_JSON_PARSE = 7
JsonConstructorType
Definition: primnodes.h:1349
@ JSCTOR_JSON_SERIALIZE
Definition: primnodes.h:1355
@ JSCTOR_JSON_ARRAYAGG
Definition: primnodes.h:1353
@ JSCTOR_JSON_PARSE
Definition: primnodes.h:1356
@ JSCTOR_JSON_OBJECT
Definition: primnodes.h:1350
@ JSCTOR_JSON_SCALAR
Definition: primnodes.h:1354
@ JSCTOR_JSON_ARRAY
Definition: primnodes.h:1351
@ JSCTOR_JSON_OBJECTAGG
Definition: primnodes.h:1352

◆ JsonEncoding

Enumerator
JS_ENC_DEFAULT 
JS_ENC_UTF8 
JS_ENC_UTF16 
JS_ENC_UTF32 

Definition at line 1261 of file primnodes.h.

1262 {
1263  JS_ENC_DEFAULT, /* unspecified */
1264  JS_ENC_UTF8,
1265  JS_ENC_UTF16,
1266  JS_ENC_UTF32,
1267 } JsonEncoding;
JsonEncoding
Definition: primnodes.h:1262
@ JS_ENC_DEFAULT
Definition: primnodes.h:1263
@ JS_ENC_UTF32
Definition: primnodes.h:1266
@ JS_ENC_UTF8
Definition: primnodes.h:1264
@ JS_ENC_UTF16
Definition: primnodes.h:1265

◆ JsonExprOp

enum JsonExprOp
Enumerator
JSON_VALUE_OP 
JSON_QUERY_OP 
JSON_EXISTS_OP 
JSON_TABLE_OP 

Definition at line 1249 of file primnodes.h.

1250 {
1251  JSON_VALUE_OP, /* JSON_VALUE() */
1252  JSON_QUERY_OP, /* JSON_QUERY() */
1253  JSON_EXISTS_OP, /* JSON_EXISTS() */
1254  JSON_TABLE_OP /* JSON_TABLE() */
1255 } JsonExprOp;
JsonExprOp
Definition: primnodes.h:1250
@ JSON_QUERY_OP
Definition: primnodes.h:1252
@ JSON_TABLE_OP
Definition: primnodes.h:1254
@ JSON_EXISTS_OP
Definition: primnodes.h:1253
@ JSON_VALUE_OP
Definition: primnodes.h:1251

◆ JsonFormatType

Enumerator
JS_FORMAT_DEFAULT 
JS_FORMAT_JSON 
JS_FORMAT_JSONB 

Definition at line 1273 of file primnodes.h.

1274 {
1275  JS_FORMAT_DEFAULT, /* unspecified */
1276  JS_FORMAT_JSON, /* FORMAT JSON [ENCODING ...] */
1277  JS_FORMAT_JSONB /* implicit internal format for RETURNING
1278  * jsonb */
1279 } JsonFormatType;
JsonFormatType
Definition: primnodes.h:1274
@ JS_FORMAT_JSONB
Definition: primnodes.h:1277
@ JS_FORMAT_DEFAULT
Definition: primnodes.h:1275
@ JS_FORMAT_JSON
Definition: primnodes.h:1276

◆ JsonValueType

Enumerator
JS_TYPE_ANY 
JS_TYPE_OBJECT 
JS_TYPE_ARRAY 
JS_TYPE_SCALAR 

Definition at line 1380 of file primnodes.h.

1381 {
1382  JS_TYPE_ANY, /* IS JSON [VALUE] */
1383  JS_TYPE_OBJECT, /* IS JSON OBJECT */
1384  JS_TYPE_ARRAY, /* IS JSON ARRAY */
1385  JS_TYPE_SCALAR /* IS JSON SCALAR */
1386 } JsonValueType;
JsonValueType
Definition: primnodes.h:1381
@ JS_TYPE_ANY
Definition: primnodes.h:1382
@ JS_TYPE_ARRAY
Definition: primnodes.h:1384
@ JS_TYPE_OBJECT
Definition: primnodes.h:1383
@ JS_TYPE_SCALAR
Definition: primnodes.h:1385

◆ JsonWrapper

Enumerator
JSW_NONE 
JSW_CONDITIONAL 
JSW_UNCONDITIONAL 

Definition at line 1305 of file primnodes.h.

1306 {
1307  JSW_NONE,
1310 } JsonWrapper;
JsonWrapper
Definition: primnodes.h:1306
@ JSW_UNCONDITIONAL
Definition: primnodes.h:1309
@ JSW_CONDITIONAL
Definition: primnodes.h:1308
@ JSW_NONE
Definition: primnodes.h:1307

◆ MinMaxOp

enum MinMaxOp
Enumerator
IS_GREATEST 
IS_LEAST 

Definition at line 1146 of file primnodes.h.

1147 {
1148  IS_GREATEST,
1149  IS_LEAST
1150 } MinMaxOp;
MinMaxOp
Definition: primnodes.h:1147
@ IS_LEAST
Definition: primnodes.h:1149
@ IS_GREATEST
Definition: primnodes.h:1148

◆ NullTestType

Enumerator
IS_NULL 
IS_NOT_NULL 

Definition at line 1518 of file primnodes.h.

1519 {
1521 } NullTestType;
NullTestType
Definition: primnodes.h:1519
@ IS_NULL
Definition: primnodes.h:1520
@ IS_NOT_NULL
Definition: primnodes.h:1520

◆ OnCommitAction

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:48
@ ONCOMMIT_DELETE_ROWS
Definition: primnodes.h:51
@ ONCOMMIT_NOOP
Definition: primnodes.h:49
@ ONCOMMIT_PRESERVE_ROWS
Definition: primnodes.h:50
@ ONCOMMIT_DROP
Definition: primnodes.h:52

◆ ParamKind

enum ParamKind
Enumerator
PARAM_EXTERN 
PARAM_EXEC 
PARAM_SUBLINK 
PARAM_MULTIEXPR 

Definition at line 265 of file primnodes.h.

266 {
267  PARAM_EXTERN,
268  PARAM_EXEC,
271 } ParamKind;
ParamKind
Definition: primnodes.h:266
@ PARAM_MULTIEXPR
Definition: primnodes.h:270
@ PARAM_EXTERN
Definition: primnodes.h:267
@ PARAM_SUBLINK
Definition: primnodes.h:269
@ PARAM_EXEC
Definition: primnodes.h:268

◆ RowCompareType

Enumerator
ROWCOMPARE_LT 
ROWCOMPARE_LE 
ROWCOMPARE_EQ 
ROWCOMPARE_GE 
ROWCOMPARE_GT 
ROWCOMPARE_NE 

Definition at line 1109 of file primnodes.h.

1110 {
1111  /* Values of this enum are chosen to match btree strategy numbers */
1112  ROWCOMPARE_LT = 1, /* BTLessStrategyNumber */
1113  ROWCOMPARE_LE = 2, /* BTLessEqualStrategyNumber */
1114  ROWCOMPARE_EQ = 3, /* BTEqualStrategyNumber */
1115  ROWCOMPARE_GE = 4, /* BTGreaterEqualStrategyNumber */
1116  ROWCOMPARE_GT = 5, /* BTGreaterStrategyNumber */
1117  ROWCOMPARE_NE = 6 /* no such btree strategy */
1118 } RowCompareType;
RowCompareType
Definition: primnodes.h:1110
@ ROWCOMPARE_GT
Definition: primnodes.h:1116
@ ROWCOMPARE_LT
Definition: primnodes.h:1112
@ ROWCOMPARE_NE
Definition: primnodes.h:1117
@ ROWCOMPARE_LE
Definition: primnodes.h:1113
@ ROWCOMPARE_EQ
Definition: primnodes.h:1114
@ ROWCOMPARE_GE
Definition: primnodes.h:1115

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

1175 {
1187  SVFOP_USER,
SQLValueFunctionOp
Definition: primnodes.h:1175
@ SVFOP_CURRENT_CATALOG
Definition: primnodes.h:1189
@ SVFOP_LOCALTIME_N
Definition: primnodes.h:1182
@ SVFOP_CURRENT_TIMESTAMP
Definition: primnodes.h:1179
@ SVFOP_LOCALTIME
Definition: primnodes.h:1181
@ SVFOP_CURRENT_TIMESTAMP_N
Definition: primnodes.h:1180
@ SVFOP_CURRENT_ROLE
Definition: primnodes.h:1185
@ SVFOP_USER
Definition: primnodes.h:1187
@ SVFOP_CURRENT_SCHEMA
Definition: primnodes.h:1190
@ SVFOP_LOCALTIMESTAMP_N
Definition: primnodes.h:1184
@ SVFOP_CURRENT_DATE
Definition: primnodes.h:1176
@ SVFOP_CURRENT_TIME_N
Definition: primnodes.h:1178
@ SVFOP_CURRENT_TIME
Definition: primnodes.h:1177
@ SVFOP_LOCALTIMESTAMP
Definition: primnodes.h:1183
@ SVFOP_CURRENT_USER
Definition: primnodes.h:1186
@ SVFOP_SESSION_USER
Definition: primnodes.h:1188

◆ SubLinkType

Enumerator
EXISTS_SUBLINK 
ALL_SUBLINK 
ANY_SUBLINK 
ROWCOMPARE_SUBLINK 
EXPR_SUBLINK 
MULTIEXPR_SUBLINK 
ARRAY_SUBLINK 
CTE_SUBLINK 

Definition at line 690 of file primnodes.h.

691 {
693  ALL_SUBLINK,
694  ANY_SUBLINK,
696  EXPR_SUBLINK,
699  CTE_SUBLINK /* for SubPlans only */
700 } SubLinkType;
SubLinkType
Definition: primnodes.h:691
@ ARRAY_SUBLINK
Definition: primnodes.h:698
@ ANY_SUBLINK
Definition: primnodes.h:694
@ MULTIEXPR_SUBLINK
Definition: primnodes.h:697
@ CTE_SUBLINK
Definition: primnodes.h:699
@ EXPR_SUBLINK
Definition: primnodes.h:696
@ ROWCOMPARE_SUBLINK
Definition: primnodes.h:695
@ ALL_SUBLINK
Definition: primnodes.h:693
@ EXISTS_SUBLINK
Definition: primnodes.h:692

◆ TableFuncType

Enumerator
TFT_XMLTABLE 
TFT_JSON_TABLE 

Definition at line 76 of file primnodes.h.

77 {
TableFuncType
Definition: primnodes.h:77
@ TFT_XMLTABLE
Definition: primnodes.h:78
@ TFT_JSON_TABLE
Definition: primnodes.h:79

◆ XmlExprOp

enum XmlExprOp
Enumerator
IS_XMLCONCAT 
IS_XMLELEMENT 
IS_XMLFOREST 
IS_XMLPARSE 
IS_XMLPI 
IS_XMLROOT 
IS_XMLSERIALIZE 
IS_DOCUMENT 

Definition at line 1213 of file primnodes.h.

1214 {
1215  IS_XMLCONCAT, /* XMLCONCAT(args) */
1216  IS_XMLELEMENT, /* XMLELEMENT(name, xml_attributes, args) */
1217  IS_XMLFOREST, /* XMLFOREST(xml_attributes) */
1218  IS_XMLPARSE, /* XMLPARSE(text, is_doc, preserve_ws) */
1219  IS_XMLPI, /* XMLPI(name [, args]) */
1220  IS_XMLROOT, /* XMLROOT(xml, version, standalone) */
1221  IS_XMLSERIALIZE, /* XMLSERIALIZE(is_document, xmlval) */
1222  IS_DOCUMENT /* xmlval IS DOCUMENT */
1223 } XmlExprOp;
XmlExprOp
Definition: primnodes.h:1214
@ IS_DOCUMENT
Definition: primnodes.h:1222
@ IS_XMLFOREST
Definition: primnodes.h:1217
@ IS_XMLCONCAT
Definition: primnodes.h:1215
@ IS_XMLPI
Definition: primnodes.h:1219
@ IS_XMLPARSE
Definition: primnodes.h:1218
@ IS_XMLSERIALIZE
Definition: primnodes.h:1221
@ IS_XMLROOT
Definition: primnodes.h:1220
@ IS_XMLELEMENT
Definition: primnodes.h:1216

◆ XmlOptionType

Enumerator
XMLOPTION_DOCUMENT 
XMLOPTION_CONTENT 

Definition at line 1225 of file primnodes.h.

1226 {
1229 } XmlOptionType;
XmlOptionType
Definition: primnodes.h:1226
@ XMLOPTION_CONTENT
Definition: primnodes.h:1228
@ XMLOPTION_DOCUMENT
Definition: primnodes.h:1227