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

Go to the source code of this file.

Data Structures

struct  Query
 
struct  TypeName
 
struct  ColumnRef
 
struct  ParamRef
 
struct  A_Expr
 
struct  A_Const
 
struct  TypeCast
 
struct  CollateClause
 
struct  RoleSpec
 
struct  FuncCall
 
struct  A_Star
 
struct  A_Indices
 
struct  A_Indirection
 
struct  A_ArrayExpr
 
struct  ResTarget
 
struct  MultiAssignRef
 
struct  SortBy
 
struct  WindowDef
 
struct  RangeSubselect
 
struct  RangeFunction
 
struct  RangeTableFunc
 
struct  RangeTableFuncCol
 
struct  RangeTableSample
 
struct  ColumnDef
 
struct  TableLikeClause
 
struct  IndexElem
 
struct  DefElem
 
struct  LockingClause
 
struct  XmlSerialize
 
struct  PartitionElem
 
struct  PartitionSpec
 
struct  PartitionBoundSpec
 
struct  PartitionRangeDatum
 
struct  PartitionCmd
 
struct  RangeTblEntry
 
struct  RangeTblFunction
 
struct  TableSampleClause
 
struct  WithCheckOption
 
struct  SortGroupClause
 
struct  GroupingSet
 
struct  WindowClause
 
struct  RowMarkClause
 
struct  WithClause
 
struct  InferClause
 
struct  OnConflictClause
 
struct  CommonTableExpr
 
struct  TriggerTransition
 
struct  RawStmt
 
struct  InsertStmt
 
struct  DeleteStmt
 
struct  UpdateStmt
 
struct  SelectStmt
 
struct  SetOperationStmt
 
struct  CreateSchemaStmt
 
struct  AlterTableStmt
 
struct  ReplicaIdentityStmt
 
struct  AlterTableCmd
 
struct  AlterCollationStmt
 
struct  AlterDomainStmt
 
struct  GrantStmt
 
struct  ObjectWithArgs
 
struct  AccessPriv
 
struct  GrantRoleStmt
 
struct  AlterDefaultPrivilegesStmt
 
struct  CopyStmt
 
struct  VariableSetStmt
 
struct  VariableShowStmt
 
struct  CreateStmt
 
struct  Constraint
 
struct  CreateTableSpaceStmt
 
struct  DropTableSpaceStmt
 
struct  AlterTableSpaceOptionsStmt
 
struct  AlterTableMoveAllStmt
 
struct  CreateExtensionStmt
 
struct  AlterExtensionStmt
 
struct  AlterExtensionContentsStmt
 
struct  CreateFdwStmt
 
struct  AlterFdwStmt
 
struct  CreateForeignServerStmt
 
struct  AlterForeignServerStmt
 
struct  CreateForeignTableStmt
 
struct  CreateUserMappingStmt
 
struct  AlterUserMappingStmt
 
struct  DropUserMappingStmt
 
struct  ImportForeignSchemaStmt
 
struct  CreatePolicyStmt
 
struct  AlterPolicyStmt
 
struct  CreateAmStmt
 
struct  CreateTrigStmt
 
struct  CreateEventTrigStmt
 
struct  AlterEventTrigStmt
 
struct  CreatePLangStmt
 
struct  CreateRoleStmt
 
struct  AlterRoleStmt
 
struct  AlterRoleSetStmt
 
struct  DropRoleStmt
 
struct  CreateSeqStmt
 
struct  AlterSeqStmt
 
struct  DefineStmt
 
struct  CreateDomainStmt
 
struct  CreateOpClassStmt
 
struct  CreateOpClassItem
 
struct  CreateOpFamilyStmt
 
struct  AlterOpFamilyStmt
 
struct  DropStmt
 
struct  TruncateStmt
 
struct  CommentStmt
 
struct  SecLabelStmt
 
struct  DeclareCursorStmt
 
struct  ClosePortalStmt
 
struct  FetchStmt
 
struct  IndexStmt
 
struct  CreateStatsStmt
 
struct  CreateFunctionStmt
 
struct  FunctionParameter
 
struct  AlterFunctionStmt
 
struct  DoStmt
 
struct  InlineCodeBlock
 
struct  RenameStmt
 
struct  AlterObjectDependsStmt
 
struct  AlterObjectSchemaStmt
 
struct  AlterOwnerStmt
 
struct  AlterOperatorStmt
 
struct  RuleStmt
 
struct  NotifyStmt
 
struct  ListenStmt
 
struct  UnlistenStmt
 
struct  TransactionStmt
 
struct  CompositeTypeStmt
 
struct  CreateEnumStmt
 
struct  CreateRangeStmt
 
struct  AlterEnumStmt
 
struct  ViewStmt
 
struct  LoadStmt
 
struct  CreatedbStmt
 
struct  AlterDatabaseStmt
 
struct  AlterDatabaseSetStmt
 
struct  DropdbStmt
 
struct  AlterSystemStmt
 
struct  ClusterStmt
 
struct  VacuumStmt
 
struct  ExplainStmt
 
struct  CreateTableAsStmt
 
struct  RefreshMatViewStmt
 
struct  CheckPointStmt
 
struct  DiscardStmt
 
struct  LockStmt
 
struct  ConstraintsSetStmt
 
struct  ReindexStmt
 
struct  CreateConversionStmt
 
struct  CreateCastStmt
 
struct  CreateTransformStmt
 
struct  PrepareStmt
 
struct  ExecuteStmt
 
struct  DeallocateStmt
 
struct  DropOwnedStmt
 
struct  ReassignOwnedStmt
 
struct  AlterTSDictionaryStmt
 
struct  AlterTSConfigurationStmt
 
struct  CreatePublicationStmt
 
struct  AlterPublicationStmt
 
struct  CreateSubscriptionStmt
 
struct  AlterSubscriptionStmt
 
struct  DropSubscriptionStmt
 

Macros

#define ACL_INSERT   (1<<0) /* for relations */
 
#define ACL_SELECT   (1<<1)
 
#define ACL_UPDATE   (1<<2)
 
#define ACL_DELETE   (1<<3)
 
#define ACL_TRUNCATE   (1<<4)
 
#define ACL_REFERENCES   (1<<5)
 
#define ACL_TRIGGER   (1<<6)
 
#define ACL_EXECUTE   (1<<7) /* for functions */
 
#define ACL_USAGE
 
#define ACL_CREATE   (1<<9) /* for namespaces and databases */
 
#define ACL_CREATE_TEMP   (1<<10) /* for databases */
 
#define ACL_CONNECT   (1<<11) /* for databases */
 
#define N_ACL_RIGHTS   12 /* 1 plus the last 1<<x */
 
#define ACL_NO_RIGHTS   0
 
#define ACL_SELECT_FOR_UPDATE   ACL_UPDATE
 
#define FRAMEOPTION_NONDEFAULT   0x00001 /* any specified? */
 
#define FRAMEOPTION_RANGE   0x00002 /* RANGE behavior */
 
#define FRAMEOPTION_ROWS   0x00004 /* ROWS behavior */
 
#define FRAMEOPTION_BETWEEN   0x00008 /* BETWEEN given? */
 
#define FRAMEOPTION_START_UNBOUNDED_PRECEDING   0x00010 /* start is U. P. */
 
#define FRAMEOPTION_END_UNBOUNDED_PRECEDING   0x00020 /* (disallowed) */
 
#define FRAMEOPTION_START_UNBOUNDED_FOLLOWING   0x00040 /* (disallowed) */
 
#define FRAMEOPTION_END_UNBOUNDED_FOLLOWING   0x00080 /* end is U. F. */
 
#define FRAMEOPTION_START_CURRENT_ROW   0x00100 /* start is C. R. */
 
#define FRAMEOPTION_END_CURRENT_ROW   0x00200 /* end is C. R. */
 
#define FRAMEOPTION_START_VALUE_PRECEDING   0x00400 /* start is V. P. */
 
#define FRAMEOPTION_END_VALUE_PRECEDING   0x00800 /* end is V. P. */
 
#define FRAMEOPTION_START_VALUE_FOLLOWING   0x01000 /* start is V. F. */
 
#define FRAMEOPTION_END_VALUE_FOLLOWING   0x02000 /* end is V. F. */
 
#define FRAMEOPTION_START_VALUE   (FRAMEOPTION_START_VALUE_PRECEDING | FRAMEOPTION_START_VALUE_FOLLOWING)
 
#define FRAMEOPTION_END_VALUE   (FRAMEOPTION_END_VALUE_PRECEDING | FRAMEOPTION_END_VALUE_FOLLOWING)
 
#define FRAMEOPTION_DEFAULTS
 
#define PARTITION_STRATEGY_LIST   'l'
 
#define PARTITION_STRATEGY_RANGE   'r'
 
#define GetCTETargetList(cte)
 
#define FKCONSTR_ACTION_NOACTION   'a'
 
#define FKCONSTR_ACTION_RESTRICT   'r'
 
#define FKCONSTR_ACTION_CASCADE   'c'
 
#define FKCONSTR_ACTION_SETNULL   'n'
 
#define FKCONSTR_ACTION_SETDEFAULT   'd'
 
#define FKCONSTR_MATCH_FULL   'f'
 
#define FKCONSTR_MATCH_PARTIAL   'p'
 
#define FKCONSTR_MATCH_SIMPLE   's'
 
#define OPCLASS_ITEM_OPERATOR   1
 
#define OPCLASS_ITEM_FUNCTION   2
 
#define OPCLASS_ITEM_STORAGETYPE   3
 
#define CURSOR_OPT_BINARY   0x0001 /* BINARY */
 
#define CURSOR_OPT_SCROLL   0x0002 /* SCROLL explicitly given */
 
#define CURSOR_OPT_NO_SCROLL   0x0004 /* NO SCROLL explicitly given */
 
#define CURSOR_OPT_INSENSITIVE   0x0008 /* INSENSITIVE */
 
#define CURSOR_OPT_HOLD   0x0010 /* WITH HOLD */
 
#define CURSOR_OPT_FAST_PLAN   0x0020 /* prefer fast-start plan */
 
#define CURSOR_OPT_GENERIC_PLAN   0x0040 /* force use of generic plan */
 
#define CURSOR_OPT_CUSTOM_PLAN   0x0080 /* force use of custom plan */
 
#define CURSOR_OPT_PARALLEL_OK   0x0100 /* parallel mode OK */
 
#define FETCH_ALL   LONG_MAX
 
#define REINDEXOPT_VERBOSE   1 << 0 /* print progress info */
 

Typedefs

typedef enum QuerySource QuerySource
 
typedef enum SortByDir SortByDir
 
typedef enum SortByNulls SortByNulls
 
typedef uint32 AclMode
 
typedef struct Query Query
 
typedef struct TypeName TypeName
 
typedef struct ColumnRef ColumnRef
 
typedef struct ParamRef ParamRef
 
typedef enum A_Expr_Kind A_Expr_Kind
 
typedef struct A_Expr A_Expr
 
typedef struct A_Const A_Const
 
typedef struct TypeCast TypeCast
 
typedef struct CollateClause CollateClause
 
typedef enum RoleSpecType RoleSpecType
 
typedef struct RoleSpec RoleSpec
 
typedef struct FuncCall FuncCall
 
typedef struct A_Star A_Star
 
typedef struct A_Indices A_Indices
 
typedef struct A_Indirection A_Indirection
 
typedef struct A_ArrayExpr A_ArrayExpr
 
typedef struct ResTarget ResTarget
 
typedef struct MultiAssignRef MultiAssignRef
 
typedef struct SortBy SortBy
 
typedef struct WindowDef WindowDef
 
typedef struct RangeSubselect RangeSubselect
 
typedef struct RangeFunction RangeFunction
 
typedef struct RangeTableFunc RangeTableFunc
 
typedef struct RangeTableFuncCol RangeTableFuncCol
 
typedef struct RangeTableSample RangeTableSample
 
typedef struct ColumnDef ColumnDef
 
typedef struct TableLikeClause TableLikeClause
 
typedef enum TableLikeOption TableLikeOption
 
typedef struct IndexElem IndexElem
 
typedef enum DefElemAction DefElemAction
 
typedef struct DefElem DefElem
 
typedef struct LockingClause LockingClause
 
typedef struct XmlSerialize XmlSerialize
 
typedef struct PartitionElem PartitionElem
 
typedef struct PartitionSpec PartitionSpec
 
typedef struct PartitionBoundSpec PartitionBoundSpec
 
typedef struct PartitionRangeDatum PartitionRangeDatum
 
typedef struct PartitionCmd PartitionCmd
 
typedef enum RTEKind RTEKind
 
typedef struct RangeTblEntry RangeTblEntry
 
typedef struct RangeTblFunction RangeTblFunction
 
typedef struct TableSampleClause TableSampleClause
 
typedef enum WCOKind WCOKind
 
typedef struct WithCheckOption WithCheckOption
 
typedef struct SortGroupClause SortGroupClause
 
typedef struct GroupingSet GroupingSet
 
typedef struct WindowClause WindowClause
 
typedef struct RowMarkClause RowMarkClause
 
typedef struct WithClause WithClause
 
typedef struct InferClause InferClause
 
typedef struct OnConflictClause OnConflictClause
 
typedef struct CommonTableExpr CommonTableExpr
 
typedef struct TriggerTransition TriggerTransition
 
typedef struct RawStmt RawStmt
 
typedef struct InsertStmt InsertStmt
 
typedef struct DeleteStmt DeleteStmt
 
typedef struct UpdateStmt UpdateStmt
 
typedef enum SetOperation SetOperation
 
typedef struct SelectStmt SelectStmt
 
typedef struct SetOperationStmt SetOperationStmt
 
typedef enum ObjectType ObjectType
 
typedef struct CreateSchemaStmt CreateSchemaStmt
 
typedef enum DropBehavior DropBehavior
 
typedef struct AlterTableStmt AlterTableStmt
 
typedef enum AlterTableType AlterTableType
 
typedef struct ReplicaIdentityStmt ReplicaIdentityStmt
 
typedef struct AlterTableCmd AlterTableCmd
 
typedef struct AlterCollationStmt AlterCollationStmt
 
typedef struct AlterDomainStmt AlterDomainStmt
 
typedef enum GrantTargetType GrantTargetType
 
typedef enum GrantObjectType GrantObjectType
 
typedef struct GrantStmt GrantStmt
 
typedef struct ObjectWithArgs ObjectWithArgs
 
typedef struct AccessPriv AccessPriv
 
typedef struct GrantRoleStmt GrantRoleStmt
 
typedef struct
AlterDefaultPrivilegesStmt 
AlterDefaultPrivilegesStmt
 
typedef struct CopyStmt CopyStmt
 
typedef struct VariableSetStmt VariableSetStmt
 
typedef struct VariableShowStmt VariableShowStmt
 
typedef struct CreateStmt CreateStmt
 
typedef enum ConstrType ConstrType
 
typedef struct Constraint Constraint
 
typedef struct CreateTableSpaceStmt CreateTableSpaceStmt
 
typedef struct DropTableSpaceStmt DropTableSpaceStmt
 
typedef struct
AlterTableSpaceOptionsStmt 
AlterTableSpaceOptionsStmt
 
typedef struct
AlterTableMoveAllStmt 
AlterTableMoveAllStmt
 
typedef struct CreateExtensionStmt CreateExtensionStmt
 
typedef struct AlterExtensionStmt AlterExtensionStmt
 
typedef struct
AlterExtensionContentsStmt 
AlterExtensionContentsStmt
 
typedef struct CreateFdwStmt CreateFdwStmt
 
typedef struct AlterFdwStmt AlterFdwStmt
 
typedef struct
CreateForeignServerStmt 
CreateForeignServerStmt
 
typedef struct
AlterForeignServerStmt 
AlterForeignServerStmt
 
typedef struct
CreateForeignTableStmt 
CreateForeignTableStmt
 
typedef struct
CreateUserMappingStmt 
CreateUserMappingStmt
 
typedef struct AlterUserMappingStmt AlterUserMappingStmt
 
typedef struct DropUserMappingStmt DropUserMappingStmt
 
typedef enum
ImportForeignSchemaType 
ImportForeignSchemaType
 
typedef struct
ImportForeignSchemaStmt 
ImportForeignSchemaStmt
 
typedef struct CreatePolicyStmt CreatePolicyStmt
 
typedef struct AlterPolicyStmt AlterPolicyStmt
 
typedef struct CreateAmStmt CreateAmStmt
 
typedef struct CreateTrigStmt CreateTrigStmt
 
typedef struct CreateEventTrigStmt CreateEventTrigStmt
 
typedef struct AlterEventTrigStmt AlterEventTrigStmt
 
typedef struct CreatePLangStmt CreatePLangStmt
 
typedef enum RoleStmtType RoleStmtType
 
typedef struct CreateRoleStmt CreateRoleStmt
 
typedef struct AlterRoleStmt AlterRoleStmt
 
typedef struct AlterRoleSetStmt AlterRoleSetStmt
 
typedef struct DropRoleStmt DropRoleStmt
 
typedef struct CreateSeqStmt CreateSeqStmt
 
typedef struct AlterSeqStmt AlterSeqStmt
 
typedef struct DefineStmt DefineStmt
 
typedef struct CreateDomainStmt CreateDomainStmt
 
typedef struct CreateOpClassStmt CreateOpClassStmt
 
typedef struct CreateOpClassItem CreateOpClassItem
 
typedef struct CreateOpFamilyStmt CreateOpFamilyStmt
 
typedef struct AlterOpFamilyStmt AlterOpFamilyStmt
 
typedef struct DropStmt DropStmt
 
typedef struct TruncateStmt TruncateStmt
 
typedef struct CommentStmt CommentStmt
 
typedef struct SecLabelStmt SecLabelStmt
 
typedef struct DeclareCursorStmt DeclareCursorStmt
 
typedef struct ClosePortalStmt ClosePortalStmt
 
typedef enum FetchDirection FetchDirection
 
typedef struct FetchStmt FetchStmt
 
typedef struct IndexStmt IndexStmt
 
typedef struct CreateStatsStmt CreateStatsStmt
 
typedef struct CreateFunctionStmt CreateFunctionStmt
 
typedef enum FunctionParameterMode FunctionParameterMode
 
typedef struct FunctionParameter FunctionParameter
 
typedef struct AlterFunctionStmt AlterFunctionStmt
 
typedef struct DoStmt DoStmt
 
typedef struct InlineCodeBlock InlineCodeBlock
 
typedef struct RenameStmt RenameStmt
 
typedef struct
AlterObjectDependsStmt 
AlterObjectDependsStmt
 
typedef struct
AlterObjectSchemaStmt 
AlterObjectSchemaStmt
 
typedef struct AlterOwnerStmt AlterOwnerStmt
 
typedef struct AlterOperatorStmt AlterOperatorStmt
 
typedef struct RuleStmt RuleStmt
 
typedef struct NotifyStmt NotifyStmt
 
typedef struct ListenStmt ListenStmt
 
typedef struct UnlistenStmt UnlistenStmt
 
typedef enum TransactionStmtKind TransactionStmtKind
 
typedef struct TransactionStmt TransactionStmt
 
typedef struct CompositeTypeStmt CompositeTypeStmt
 
typedef struct CreateEnumStmt CreateEnumStmt
 
typedef struct CreateRangeStmt CreateRangeStmt
 
typedef struct AlterEnumStmt AlterEnumStmt
 
typedef enum ViewCheckOption ViewCheckOption
 
typedef struct ViewStmt ViewStmt
 
typedef struct LoadStmt LoadStmt
 
typedef struct CreatedbStmt CreatedbStmt
 
typedef struct AlterDatabaseStmt AlterDatabaseStmt
 
typedef struct AlterDatabaseSetStmt AlterDatabaseSetStmt
 
typedef struct DropdbStmt DropdbStmt
 
typedef struct AlterSystemStmt AlterSystemStmt
 
typedef struct ClusterStmt ClusterStmt
 
typedef enum VacuumOption VacuumOption
 
typedef struct VacuumStmt VacuumStmt
 
typedef struct ExplainStmt ExplainStmt
 
typedef struct CreateTableAsStmt CreateTableAsStmt
 
typedef struct RefreshMatViewStmt RefreshMatViewStmt
 
typedef struct CheckPointStmt CheckPointStmt
 
typedef enum DiscardMode DiscardMode
 
typedef struct DiscardStmt DiscardStmt
 
typedef struct LockStmt LockStmt
 
typedef struct ConstraintsSetStmt ConstraintsSetStmt
 
typedef enum ReindexObjectType ReindexObjectType
 
typedef struct ReindexStmt ReindexStmt
 
typedef struct CreateConversionStmt CreateConversionStmt
 
typedef struct CreateCastStmt CreateCastStmt
 
typedef struct CreateTransformStmt CreateTransformStmt
 
typedef struct PrepareStmt PrepareStmt
 
typedef struct ExecuteStmt ExecuteStmt
 
typedef struct DeallocateStmt DeallocateStmt
 
typedef struct DropOwnedStmt DropOwnedStmt
 
typedef struct ReassignOwnedStmt ReassignOwnedStmt
 
typedef struct
AlterTSDictionaryStmt 
AlterTSDictionaryStmt
 
typedef enum AlterTSConfigType AlterTSConfigType
 
typedef struct
AlterTSConfigurationStmt 
AlterTSConfigurationStmt
 
typedef struct
CreatePublicationStmt 
CreatePublicationStmt
 
typedef struct AlterPublicationStmt AlterPublicationStmt
 
typedef struct
CreateSubscriptionStmt 
CreateSubscriptionStmt
 
typedef enum AlterSubscriptionType AlterSubscriptionType
 
typedef struct
AlterSubscriptionStmt 
AlterSubscriptionStmt
 
typedef struct DropSubscriptionStmt DropSubscriptionStmt
 

Enumerations

enum  QuerySource {
  QSRC_ORIGINAL, QSRC_PARSER, QSRC_INSTEAD_RULE, QSRC_QUAL_INSTEAD_RULE,
  QSRC_NON_INSTEAD_RULE
}
 
enum  SortByDir { SORTBY_DEFAULT, SORTBY_ASC, SORTBY_DESC, SORTBY_USING }
 
enum  SortByNulls { SORTBY_NULLS_DEFAULT, SORTBY_NULLS_FIRST, SORTBY_NULLS_LAST }
 
enum  A_Expr_Kind {
  AEXPR_OP, AEXPR_OP_ANY, AEXPR_OP_ALL, AEXPR_DISTINCT,
  AEXPR_NOT_DISTINCT, AEXPR_NULLIF, AEXPR_OF, AEXPR_IN,
  AEXPR_LIKE, AEXPR_ILIKE, AEXPR_SIMILAR, AEXPR_BETWEEN,
  AEXPR_NOT_BETWEEN, AEXPR_BETWEEN_SYM, AEXPR_NOT_BETWEEN_SYM, AEXPR_PAREN
}
 
enum  RoleSpecType { ROLESPEC_CSTRING, ROLESPEC_CURRENT_USER, ROLESPEC_SESSION_USER, ROLESPEC_PUBLIC }
 
enum  TableLikeOption {
  CREATE_TABLE_LIKE_DEFAULTS = 1 << 0, CREATE_TABLE_LIKE_CONSTRAINTS = 1 << 1, CREATE_TABLE_LIKE_INDEXES = 1 << 2, CREATE_TABLE_LIKE_STORAGE = 1 << 3,
  CREATE_TABLE_LIKE_COMMENTS = 1 << 4, CREATE_TABLE_LIKE_ALL = PG_INT32_MAX
}
 
enum  DefElemAction { DEFELEM_UNSPEC, DEFELEM_SET, DEFELEM_ADD, DEFELEM_DROP }
 
enum  RTEKind {
  RTE_RELATION, RTE_SUBQUERY, RTE_JOIN, RTE_FUNCTION,
  RTE_TABLEFUNC, RTE_VALUES, RTE_CTE
}
 
enum  WCOKind { WCO_VIEW_CHECK, WCO_RLS_INSERT_CHECK, WCO_RLS_UPDATE_CHECK, WCO_RLS_CONFLICT_CHECK }
 
enum  GroupingSetKind {
  GROUPING_SET_EMPTY, GROUPING_SET_SIMPLE, GROUPING_SET_ROLLUP, GROUPING_SET_CUBE,
  GROUPING_SET_SETS
}
 
enum  SetOperation { SETOP_NONE = 0, SETOP_UNION, SETOP_INTERSECT, SETOP_EXCEPT }
 
enum  ObjectType {
  OBJECT_ACCESS_METHOD, OBJECT_AGGREGATE, OBJECT_AMOP, OBJECT_AMPROC,
  OBJECT_ATTRIBUTE, OBJECT_CAST, OBJECT_COLUMN, OBJECT_COLLATION,
  OBJECT_CONVERSION, OBJECT_DATABASE, OBJECT_DEFAULT, OBJECT_DEFACL,
  OBJECT_DOMAIN, OBJECT_DOMCONSTRAINT, OBJECT_EVENT_TRIGGER, OBJECT_EXTENSION,
  OBJECT_FDW, OBJECT_FOREIGN_SERVER, OBJECT_FOREIGN_TABLE, OBJECT_FUNCTION,
  OBJECT_INDEX, OBJECT_LANGUAGE, OBJECT_LARGEOBJECT, OBJECT_MATVIEW,
  OBJECT_OPCLASS, OBJECT_OPERATOR, OBJECT_OPFAMILY, OBJECT_POLICY,
  OBJECT_PUBLICATION, OBJECT_PUBLICATION_REL, OBJECT_ROLE, OBJECT_RULE,
  OBJECT_SCHEMA, OBJECT_SEQUENCE, OBJECT_SUBSCRIPTION, OBJECT_STATISTIC_EXT,
  OBJECT_TABCONSTRAINT, OBJECT_TABLE, OBJECT_TABLESPACE, OBJECT_TRANSFORM,
  OBJECT_TRIGGER, OBJECT_TSCONFIGURATION, OBJECT_TSDICTIONARY, OBJECT_TSPARSER,
  OBJECT_TSTEMPLATE, OBJECT_TYPE, OBJECT_USER_MAPPING, OBJECT_VIEW
}
 
enum  DropBehavior { DROP_RESTRICT, DROP_CASCADE }
 
enum  AlterTableType {
  AT_AddColumn, AT_AddColumnRecurse, AT_AddColumnToView, AT_ColumnDefault,
  AT_DropNotNull, AT_SetNotNull, AT_SetStatistics, AT_SetOptions,
  AT_ResetOptions, AT_SetStorage, AT_DropColumn, AT_DropColumnRecurse,
  AT_AddIndex, AT_ReAddIndex, AT_AddConstraint, AT_AddConstraintRecurse,
  AT_ReAddConstraint, AT_AlterConstraint, AT_ValidateConstraint, AT_ValidateConstraintRecurse,
  AT_ProcessedConstraint, AT_AddIndexConstraint, AT_DropConstraint, AT_DropConstraintRecurse,
  AT_ReAddComment, AT_AlterColumnType, AT_AlterColumnGenericOptions, AT_ChangeOwner,
  AT_ClusterOn, AT_DropCluster, AT_SetLogged, AT_SetUnLogged,
  AT_AddOids, AT_AddOidsRecurse, AT_DropOids, AT_SetTableSpace,
  AT_SetRelOptions, AT_ResetRelOptions, AT_ReplaceRelOptions, AT_EnableTrig,
  AT_EnableAlwaysTrig, AT_EnableReplicaTrig, AT_DisableTrig, AT_EnableTrigAll,
  AT_DisableTrigAll, AT_EnableTrigUser, AT_DisableTrigUser, AT_EnableRule,
  AT_EnableAlwaysRule, AT_EnableReplicaRule, AT_DisableRule, AT_AddInherit,
  AT_DropInherit, AT_AddOf, AT_DropOf, AT_ReplicaIdentity,
  AT_EnableRowSecurity, AT_DisableRowSecurity, AT_ForceRowSecurity, AT_NoForceRowSecurity,
  AT_GenericOptions, AT_AttachPartition, AT_DetachPartition
}
 
enum  GrantTargetType { ACL_TARGET_OBJECT, ACL_TARGET_ALL_IN_SCHEMA, ACL_TARGET_DEFAULTS }
 
enum  GrantObjectType {
  ACL_OBJECT_COLUMN, ACL_OBJECT_RELATION, ACL_OBJECT_SEQUENCE, ACL_OBJECT_DATABASE,
  ACL_OBJECT_DOMAIN, ACL_OBJECT_FDW, ACL_OBJECT_FOREIGN_SERVER, ACL_OBJECT_FUNCTION,
  ACL_OBJECT_LANGUAGE, ACL_OBJECT_LARGEOBJECT, ACL_OBJECT_NAMESPACE, ACL_OBJECT_TABLESPACE,
  ACL_OBJECT_TYPE
}
 
enum  VariableSetKind {
  VAR_SET_VALUE, VAR_SET_DEFAULT, VAR_SET_CURRENT, VAR_SET_MULTI,
  VAR_RESET, VAR_RESET_ALL
}
 
enum  ConstrType {
  CONSTR_NULL, CONSTR_NOTNULL, CONSTR_DEFAULT, CONSTR_CHECK,
  CONSTR_PRIMARY, CONSTR_UNIQUE, CONSTR_EXCLUSION, CONSTR_FOREIGN,
  CONSTR_ATTR_DEFERRABLE, CONSTR_ATTR_NOT_DEFERRABLE, CONSTR_ATTR_DEFERRED, CONSTR_ATTR_IMMEDIATE
}
 
enum  ImportForeignSchemaType { FDW_IMPORT_SCHEMA_ALL, FDW_IMPORT_SCHEMA_LIMIT_TO, FDW_IMPORT_SCHEMA_EXCEPT }
 
enum  RoleStmtType { ROLESTMT_ROLE, ROLESTMT_USER, ROLESTMT_GROUP }
 
enum  FetchDirection { FETCH_FORWARD, FETCH_BACKWARD, FETCH_ABSOLUTE, FETCH_RELATIVE }
 
enum  FunctionParameterMode {
  FUNC_PARAM_IN = 'i', FUNC_PARAM_OUT = 'o', FUNC_PARAM_INOUT = 'b', FUNC_PARAM_VARIADIC = 'v',
  FUNC_PARAM_TABLE = 't'
}
 
enum  TransactionStmtKind {
  TRANS_STMT_BEGIN, TRANS_STMT_START, TRANS_STMT_COMMIT, TRANS_STMT_ROLLBACK,
  TRANS_STMT_SAVEPOINT, TRANS_STMT_RELEASE, TRANS_STMT_ROLLBACK_TO, TRANS_STMT_PREPARE,
  TRANS_STMT_COMMIT_PREPARED, TRANS_STMT_ROLLBACK_PREPARED
}
 
enum  ViewCheckOption { NO_CHECK_OPTION, LOCAL_CHECK_OPTION, CASCADED_CHECK_OPTION }
 
enum  VacuumOption {
  VACOPT_VACUUM = 1 << 0, VACOPT_ANALYZE = 1 << 1, VACOPT_VERBOSE = 1 << 2, VACOPT_FREEZE = 1 << 3,
  VACOPT_FULL = 1 << 4, VACOPT_NOWAIT = 1 << 5, VACOPT_SKIPTOAST = 1 << 6, VACOPT_DISABLE_PAGE_SKIPPING = 1 << 7
}
 
enum  DiscardMode { DISCARD_ALL, DISCARD_PLANS, DISCARD_SEQUENCES, DISCARD_TEMP }
 
enum  ReindexObjectType {
  REINDEX_OBJECT_INDEX, REINDEX_OBJECT_TABLE, REINDEX_OBJECT_SCHEMA, REINDEX_OBJECT_SYSTEM,
  REINDEX_OBJECT_DATABASE
}
 
enum  AlterTSConfigType {
  ALTER_TSCONFIG_ADD_MAPPING, ALTER_TSCONFIG_ALTER_MAPPING_FOR_TOKEN, ALTER_TSCONFIG_REPLACE_DICT, ALTER_TSCONFIG_REPLACE_DICT_FOR_TOKEN,
  ALTER_TSCONFIG_DROP_MAPPING
}
 
enum  AlterSubscriptionType {
  ALTER_SUBSCRIPTION_OPTIONS, ALTER_SUBSCRIPTION_CONNECTION, ALTER_SUBSCRIPTION_PUBLICATION, ALTER_SUBSCRIPTION_PUBLICATION_REFRESH,
  ALTER_SUBSCRIPTION_REFRESH, ALTER_SUBSCRIPTION_ENABLED
}
 

Macro Definition Documentation

#define ACL_SELECT_FOR_UPDATE   ACL_UPDATE

Definition at line 81 of file parsenodes.h.

Referenced by markQueryForLocking(), and transformLockingClause().

#define CURSOR_OPT_BINARY   0x0001 /* BINARY */

Definition at line 2570 of file parsenodes.h.

Referenced by exec_simple_query(), and pg_cursor().

#define CURSOR_OPT_CUSTOM_PLAN   0x0080 /* force use of custom plan */

Definition at line 2578 of file parsenodes.h.

Referenced by choose_custom_plan().

#define CURSOR_OPT_FAST_PLAN   0x0020 /* prefer fast-start plan */

Definition at line 2576 of file parsenodes.h.

Referenced by standard_planner().

#define CURSOR_OPT_GENERIC_PLAN   0x0040 /* force use of generic plan */

Definition at line 2577 of file parsenodes.h.

Referenced by choose_custom_plan().

#define CURSOR_OPT_HOLD   0x0010 /* WITH HOLD */
#define CURSOR_OPT_INSENSITIVE   0x0008 /* INSENSITIVE */

Definition at line 2573 of file parsenodes.h.

Referenced by transformDeclareCursorStmt().

#define CURSOR_OPT_NO_SCROLL   0x0004 /* NO SCROLL explicitly given */
#define CURSOR_OPT_SCROLL   0x0002 /* SCROLL explicitly given */
#define FETCH_ALL   LONG_MAX
#define FKCONSTR_ACTION_CASCADE   'c'
#define FKCONSTR_ACTION_NOACTION   'a'
#define FKCONSTR_ACTION_RESTRICT   'r'
#define FKCONSTR_ACTION_SETDEFAULT   'd'
#define FKCONSTR_ACTION_SETNULL   'n'
#define FRAMEOPTION_BETWEEN   0x00008 /* BETWEEN given? */

Definition at line 499 of file parsenodes.h.

Referenced by get_rule_windowspec().

#define FRAMEOPTION_DEFAULTS
Value:
#define FRAMEOPTION_START_UNBOUNDED_PRECEDING
Definition: parsenodes.h:500
#define FRAMEOPTION_END_CURRENT_ROW
Definition: parsenodes.h:505
#define FRAMEOPTION_RANGE
Definition: parsenodes.h:497

Definition at line 516 of file parsenodes.h.

Referenced by transformWindowDefinitions(), and transformWindowFuncCall().

#define FRAMEOPTION_END_CURRENT_ROW   0x00200 /* end is C. R. */
#define FRAMEOPTION_END_UNBOUNDED_FOLLOWING   0x00080 /* end is U. F. */

Definition at line 503 of file parsenodes.h.

Referenced by eval_windowaggregates(), get_rule_windowspec(), and update_frametailpos().

#define FRAMEOPTION_END_UNBOUNDED_PRECEDING   0x00020 /* (disallowed) */

Definition at line 501 of file parsenodes.h.

#define FRAMEOPTION_END_VALUE_FOLLOWING   0x02000 /* end is V. F. */

Definition at line 509 of file parsenodes.h.

Referenced by get_rule_windowspec().

#define FRAMEOPTION_END_VALUE_PRECEDING   0x00800 /* end is V. P. */

Definition at line 507 of file parsenodes.h.

Referenced by get_rule_windowspec(), row_is_in_frame(), and update_frametailpos().

#define FRAMEOPTION_NONDEFAULT   0x00001 /* any specified? */

Definition at line 496 of file parsenodes.h.

Referenced by get_rule_windowspec().

#define FRAMEOPTION_RANGE   0x00002 /* RANGE behavior */
#define FRAMEOPTION_ROWS   0x00004 /* ROWS behavior */
#define FRAMEOPTION_START_CURRENT_ROW   0x00100 /* start is C. R. */

Definition at line 504 of file parsenodes.h.

Referenced by get_rule_windowspec(), row_is_in_frame(), and update_frameheadpos().

#define FRAMEOPTION_START_UNBOUNDED_FOLLOWING   0x00040 /* (disallowed) */

Definition at line 502 of file parsenodes.h.

#define FRAMEOPTION_START_UNBOUNDED_PRECEDING   0x00010 /* start is U. P. */
#define FRAMEOPTION_START_VALUE_FOLLOWING   0x01000 /* start is V. F. */

Definition at line 508 of file parsenodes.h.

Referenced by get_rule_windowspec().

#define FRAMEOPTION_START_VALUE_PRECEDING   0x00400 /* start is V. P. */

Definition at line 506 of file parsenodes.h.

Referenced by get_rule_windowspec(), row_is_in_frame(), and update_frameheadpos().

#define GetCTETargetList (   cte)
Value:
(AssertMacro(IsA((cte)->ctequery, Query)), \
((Query *) (cte)->ctequery)->commandType == CMD_SELECT ? \
((Query *) (cte)->ctequery)->targetList : \
((Query *) (cte)->ctequery)->returningList)
#define IsA(nodeptr, _type_)
Definition: nodes.h:557
#define AssertMacro(condition)
Definition: c.h:676

Definition at line 1335 of file parsenodes.h.

Referenced by analyzeCTE(), expandRecordVariable(), get_name_for_var_field(), and markTargetListOrigin().

#define N_ACL_RIGHTS   12 /* 1 plus the last 1<<x */

Definition at line 78 of file parsenodes.h.

Referenced by aclexplode(), and aclitemout().

#define OPCLASS_ITEM_FUNCTION   2

Definition at line 2470 of file parsenodes.h.

Referenced by AlterOpFamilyAdd(), AlterOpFamilyDrop(), and DefineOpClass().

#define OPCLASS_ITEM_OPERATOR   1

Definition at line 2469 of file parsenodes.h.

Referenced by AlterOpFamilyAdd(), AlterOpFamilyDrop(), and DefineOpClass().

#define OPCLASS_ITEM_STORAGETYPE   3

Definition at line 2471 of file parsenodes.h.

Referenced by AlterOpFamilyAdd(), AlterOpFamilyDrop(), and DefineOpClass().

#define REINDEXOPT_VERBOSE   1 << 0 /* print progress info */

Definition at line 3156 of file parsenodes.h.

Referenced by reindex_index(), and ReindexMultipleTables().

Typedef Documentation

Definition at line 63 of file parsenodes.h.

Enumeration Type Documentation

Enumerator
AEXPR_OP 
AEXPR_OP_ANY 
AEXPR_OP_ALL 
AEXPR_DISTINCT 
AEXPR_NOT_DISTINCT 
AEXPR_NULLIF 
AEXPR_OF 
AEXPR_IN 
AEXPR_LIKE 
AEXPR_ILIKE 
AEXPR_SIMILAR 
AEXPR_BETWEEN 
AEXPR_NOT_BETWEEN 
AEXPR_BETWEEN_SYM 
AEXPR_NOT_BETWEEN_SYM 
AEXPR_PAREN 

Definition at line 243 of file parsenodes.h.

244 {
245  AEXPR_OP, /* normal operator */
246  AEXPR_OP_ANY, /* scalar op ANY (array) */
247  AEXPR_OP_ALL, /* scalar op ALL (array) */
248  AEXPR_DISTINCT, /* IS DISTINCT FROM - name must be "=" */
249  AEXPR_NOT_DISTINCT, /* IS NOT DISTINCT FROM - name must be "=" */
250  AEXPR_NULLIF, /* NULLIF - name must be "=" */
251  AEXPR_OF, /* IS [NOT] OF - name must be "=" or "<>" */
252  AEXPR_IN, /* [NOT] IN - name must be "=" or "<>" */
253  AEXPR_LIKE, /* [NOT] LIKE - name must be "~~" or "!~~" */
254  AEXPR_ILIKE, /* [NOT] ILIKE - name must be "~~*" or "!~~*" */
255  AEXPR_SIMILAR, /* [NOT] SIMILAR - name must be "~" or "!~" */
256  AEXPR_BETWEEN, /* name must be "BETWEEN" */
257  AEXPR_NOT_BETWEEN, /* name must be "NOT BETWEEN" */
258  AEXPR_BETWEEN_SYM, /* name must be "BETWEEN SYMMETRIC" */
259  AEXPR_NOT_BETWEEN_SYM, /* name must be "NOT BETWEEN SYMMETRIC" */
260  AEXPR_PAREN /* nameless dummy node for parentheses */
261 } A_Expr_Kind;
A_Expr_Kind
Definition: parsenodes.h:243
Enumerator
ALTER_SUBSCRIPTION_OPTIONS 
ALTER_SUBSCRIPTION_CONNECTION 
ALTER_SUBSCRIPTION_PUBLICATION 
ALTER_SUBSCRIPTION_PUBLICATION_REFRESH 
ALTER_SUBSCRIPTION_REFRESH 
ALTER_SUBSCRIPTION_ENABLED 

Definition at line 3348 of file parsenodes.h.

Enumerator
AT_AddColumn 
AT_AddColumnRecurse 
AT_AddColumnToView 
AT_ColumnDefault 
AT_DropNotNull 
AT_SetNotNull 
AT_SetStatistics 
AT_SetOptions 
AT_ResetOptions 
AT_SetStorage 
AT_DropColumn 
AT_DropColumnRecurse 
AT_AddIndex 
AT_ReAddIndex 
AT_AddConstraint 
AT_AddConstraintRecurse 
AT_ReAddConstraint 
AT_AlterConstraint 
AT_ValidateConstraint 
AT_ValidateConstraintRecurse 
AT_ProcessedConstraint 
AT_AddIndexConstraint 
AT_DropConstraint 
AT_DropConstraintRecurse 
AT_ReAddComment 
AT_AlterColumnType 
AT_AlterColumnGenericOptions 
AT_ChangeOwner 
AT_ClusterOn 
AT_DropCluster 
AT_SetLogged 
AT_SetUnLogged 
AT_AddOids 
AT_AddOidsRecurse 
AT_DropOids 
AT_SetTableSpace 
AT_SetRelOptions 
AT_ResetRelOptions 
AT_ReplaceRelOptions 
AT_EnableTrig 
AT_EnableAlwaysTrig 
AT_EnableReplicaTrig 
AT_DisableTrig 
AT_EnableTrigAll 
AT_DisableTrigAll 
AT_EnableTrigUser 
AT_DisableTrigUser 
AT_EnableRule 
AT_EnableAlwaysRule 
AT_EnableReplicaRule 
AT_DisableRule 
AT_AddInherit 
AT_DropInherit 
AT_AddOf 
AT_DropOf 
AT_ReplicaIdentity 
AT_EnableRowSecurity 
AT_DisableRowSecurity 
AT_ForceRowSecurity 
AT_NoForceRowSecurity 
AT_GenericOptions 
AT_AttachPartition 
AT_DetachPartition 

Definition at line 1647 of file parsenodes.h.

1648 {
1649  AT_AddColumn, /* add column */
1650  AT_AddColumnRecurse, /* internal to commands/tablecmds.c */
1651  AT_AddColumnToView, /* implicitly via CREATE OR REPLACE VIEW */
1652  AT_ColumnDefault, /* alter column default */
1653  AT_DropNotNull, /* alter column drop not null */
1654  AT_SetNotNull, /* alter column set not null */
1655  AT_SetStatistics, /* alter column set statistics */
1656  AT_SetOptions, /* alter column set ( options ) */
1657  AT_ResetOptions, /* alter column reset ( options ) */
1658  AT_SetStorage, /* alter column set storage */
1659  AT_DropColumn, /* drop column */
1660  AT_DropColumnRecurse, /* internal to commands/tablecmds.c */
1661  AT_AddIndex, /* add index */
1662  AT_ReAddIndex, /* internal to commands/tablecmds.c */
1663  AT_AddConstraint, /* add constraint */
1664  AT_AddConstraintRecurse, /* internal to commands/tablecmds.c */
1665  AT_ReAddConstraint, /* internal to commands/tablecmds.c */
1666  AT_AlterConstraint, /* alter constraint */
1667  AT_ValidateConstraint, /* validate constraint */
1668  AT_ValidateConstraintRecurse, /* internal to commands/tablecmds.c */
1669  AT_ProcessedConstraint, /* pre-processed add constraint (local in
1670  * parser/parse_utilcmd.c) */
1671  AT_AddIndexConstraint, /* add constraint using existing index */
1672  AT_DropConstraint, /* drop constraint */
1673  AT_DropConstraintRecurse, /* internal to commands/tablecmds.c */
1674  AT_ReAddComment, /* internal to commands/tablecmds.c */
1675  AT_AlterColumnType, /* alter column type */
1676  AT_AlterColumnGenericOptions, /* alter column OPTIONS (...) */
1677  AT_ChangeOwner, /* change owner */
1678  AT_ClusterOn, /* CLUSTER ON */
1679  AT_DropCluster, /* SET WITHOUT CLUSTER */
1680  AT_SetLogged, /* SET LOGGED */
1681  AT_SetUnLogged, /* SET UNLOGGED */
1682  AT_AddOids, /* SET WITH OIDS */
1683  AT_AddOidsRecurse, /* internal to commands/tablecmds.c */
1684  AT_DropOids, /* SET WITHOUT OIDS */
1685  AT_SetTableSpace, /* SET TABLESPACE */
1686  AT_SetRelOptions, /* SET (...) -- AM specific parameters */
1687  AT_ResetRelOptions, /* RESET (...) -- AM specific parameters */
1688  AT_ReplaceRelOptions, /* replace reloption list in its entirety */
1689  AT_EnableTrig, /* ENABLE TRIGGER name */
1690  AT_EnableAlwaysTrig, /* ENABLE ALWAYS TRIGGER name */
1691  AT_EnableReplicaTrig, /* ENABLE REPLICA TRIGGER name */
1692  AT_DisableTrig, /* DISABLE TRIGGER name */
1693  AT_EnableTrigAll, /* ENABLE TRIGGER ALL */
1694  AT_DisableTrigAll, /* DISABLE TRIGGER ALL */
1695  AT_EnableTrigUser, /* ENABLE TRIGGER USER */
1696  AT_DisableTrigUser, /* DISABLE TRIGGER USER */
1697  AT_EnableRule, /* ENABLE RULE name */
1698  AT_EnableAlwaysRule, /* ENABLE ALWAYS RULE name */
1699  AT_EnableReplicaRule, /* ENABLE REPLICA RULE name */
1700  AT_DisableRule, /* DISABLE RULE name */
1701  AT_AddInherit, /* INHERIT parent */
1702  AT_DropInherit, /* NO INHERIT parent */
1703  AT_AddOf, /* OF <type_name> */
1704  AT_DropOf, /* NOT OF */
1705  AT_ReplicaIdentity, /* REPLICA IDENTITY */
1706  AT_EnableRowSecurity, /* ENABLE ROW SECURITY */
1707  AT_DisableRowSecurity, /* DISABLE ROW SECURITY */
1708  AT_ForceRowSecurity, /* FORCE ROW SECURITY */
1709  AT_NoForceRowSecurity, /* NO FORCE ROW SECURITY */
1710  AT_GenericOptions, /* OPTIONS (...) */
1711  AT_AttachPartition, /* ATTACH PARTITION */
1712  AT_DetachPartition /* DETACH PARTITION */
1713 } AlterTableType;
AlterTableType
Definition: parsenodes.h:1647
Enumerator
ALTER_TSCONFIG_ADD_MAPPING 
ALTER_TSCONFIG_ALTER_MAPPING_FOR_TOKEN 
ALTER_TSCONFIG_REPLACE_DICT 
ALTER_TSCONFIG_REPLACE_DICT_FOR_TOKEN 
ALTER_TSCONFIG_DROP_MAPPING 

Definition at line 3289 of file parsenodes.h.

enum ConstrType
Enumerator
CONSTR_NULL 
CONSTR_NOTNULL 
CONSTR_DEFAULT 
CONSTR_CHECK 
CONSTR_PRIMARY 
CONSTR_UNIQUE 
CONSTR_EXCLUSION 
CONSTR_FOREIGN 
CONSTR_ATTR_DEFERRABLE 
CONSTR_ATTR_NOT_DEFERRABLE 
CONSTR_ATTR_DEFERRED 
CONSTR_ATTR_IMMEDIATE 

Definition at line 1993 of file parsenodes.h.

Enumerator
DEFELEM_UNSPEC 
DEFELEM_SET 
DEFELEM_ADD 
DEFELEM_DROP 

Definition at line 696 of file parsenodes.h.

697 {
698  DEFELEM_UNSPEC, /* no action given */
699  DEFELEM_SET,
700  DEFELEM_ADD,
702 } DefElemAction;
DefElemAction
Definition: parsenodes.h:696
Enumerator
DISCARD_ALL 
DISCARD_PLANS 
DISCARD_SEQUENCES 
DISCARD_TEMP 

Definition at line 3113 of file parsenodes.h.

Enumerator
DROP_RESTRICT 
DROP_CASCADE 

Definition at line 1628 of file parsenodes.h.

1629 {
1630  DROP_RESTRICT, /* drop fails if any dependent objects */
1631  DROP_CASCADE /* remove dependent objects too */
1632 } DropBehavior;
DropBehavior
Definition: parsenodes.h:1628
Enumerator
FETCH_FORWARD 
FETCH_BACKWARD 
FETCH_ABSOLUTE 
FETCH_RELATIVE 

Definition at line 2604 of file parsenodes.h.

2605 {
2606  /* for these, howMany is how many rows to fetch; FETCH_ALL means ALL */
2607  FETCH_FORWARD,
2609  /* for these, howMany indicates a position; only one row is fetched */
2612 } FetchDirection;
FetchDirection
Definition: parsenodes.h:2604
Enumerator
FUNC_PARAM_IN 
FUNC_PARAM_OUT 
FUNC_PARAM_INOUT 
FUNC_PARAM_VARIADIC 
FUNC_PARAM_TABLE 

Definition at line 2689 of file parsenodes.h.

2690 {
2691  /* the assigned enum values appear in pg_proc, don't change 'em! */
2692  FUNC_PARAM_IN = 'i', /* input only */
2693  FUNC_PARAM_OUT = 'o', /* output only */
2694  FUNC_PARAM_INOUT = 'b', /* both */
2695  FUNC_PARAM_VARIADIC = 'v', /* variadic (always input) */
2696  FUNC_PARAM_TABLE = 't' /* table function output column */
FunctionParameterMode
Definition: parsenodes.h:2689
Enumerator
ACL_OBJECT_COLUMN 
ACL_OBJECT_RELATION 
ACL_OBJECT_SEQUENCE 
ACL_OBJECT_DATABASE 
ACL_OBJECT_DOMAIN 
ACL_OBJECT_FDW 
ACL_OBJECT_FOREIGN_SERVER 
ACL_OBJECT_FUNCTION 
ACL_OBJECT_LANGUAGE 
ACL_OBJECT_LARGEOBJECT 
ACL_OBJECT_NAMESPACE 
ACL_OBJECT_TABLESPACE 
ACL_OBJECT_TYPE 

Definition at line 1784 of file parsenodes.h.

1785 {
1786  ACL_OBJECT_COLUMN, /* column */
1787  ACL_OBJECT_RELATION, /* table, view */
1788  ACL_OBJECT_SEQUENCE, /* sequence */
1789  ACL_OBJECT_DATABASE, /* database */
1790  ACL_OBJECT_DOMAIN, /* domain */
1791  ACL_OBJECT_FDW, /* foreign-data wrapper */
1792  ACL_OBJECT_FOREIGN_SERVER, /* foreign server */
1793  ACL_OBJECT_FUNCTION, /* function */
1794  ACL_OBJECT_LANGUAGE, /* procedural language */
1795  ACL_OBJECT_LARGEOBJECT, /* largeobject */
1796  ACL_OBJECT_NAMESPACE, /* namespace */
1797  ACL_OBJECT_TABLESPACE, /* tablespace */
1798  ACL_OBJECT_TYPE /* type */
1799 } GrantObjectType;
GrantObjectType
Definition: parsenodes.h:1784
Enumerator
ACL_TARGET_OBJECT 
ACL_TARGET_ALL_IN_SCHEMA 
ACL_TARGET_DEFAULTS 

Definition at line 1777 of file parsenodes.h.

1778 {
1779  ACL_TARGET_OBJECT, /* grant on specific named object(s) */
1780  ACL_TARGET_ALL_IN_SCHEMA, /* grant on all objects in given schema(s) */
1781  ACL_TARGET_DEFAULTS /* ALTER DEFAULT PRIVILEGES */
1782 } GrantTargetType;
GrantTargetType
Definition: parsenodes.h:1777
Enumerator
GROUPING_SET_EMPTY 
GROUPING_SET_SIMPLE 
GROUPING_SET_ROLLUP 
GROUPING_SET_CUBE 
GROUPING_SET_SETS 

Definition at line 1198 of file parsenodes.h.

Enumerator
FDW_IMPORT_SCHEMA_ALL 
FDW_IMPORT_SCHEMA_LIMIT_TO 
FDW_IMPORT_SCHEMA_EXCEPT 

Definition at line 2229 of file parsenodes.h.

2230 {
2231  FDW_IMPORT_SCHEMA_ALL, /* all relations wanted */
2232  FDW_IMPORT_SCHEMA_LIMIT_TO, /* include only listed tables in import */
2233  FDW_IMPORT_SCHEMA_EXCEPT /* exclude listed tables from import */
ImportForeignSchemaType
Definition: parsenodes.h:2229
enum ObjectType
Enumerator
OBJECT_ACCESS_METHOD 
OBJECT_AGGREGATE 
OBJECT_AMOP 
OBJECT_AMPROC 
OBJECT_ATTRIBUTE 
OBJECT_CAST 
OBJECT_COLUMN 
OBJECT_COLLATION 
OBJECT_CONVERSION 
OBJECT_DATABASE 
OBJECT_DEFAULT 
OBJECT_DEFACL 
OBJECT_DOMAIN 
OBJECT_DOMCONSTRAINT 
OBJECT_EVENT_TRIGGER 
OBJECT_EXTENSION 
OBJECT_FDW 
OBJECT_FOREIGN_SERVER 
OBJECT_FOREIGN_TABLE 
OBJECT_FUNCTION 
OBJECT_INDEX 
OBJECT_LANGUAGE 
OBJECT_LARGEOBJECT 
OBJECT_MATVIEW 
OBJECT_OPCLASS 
OBJECT_OPERATOR 
OBJECT_OPFAMILY 
OBJECT_POLICY 
OBJECT_PUBLICATION 
OBJECT_PUBLICATION_REL 
OBJECT_ROLE 
OBJECT_RULE 
OBJECT_SCHEMA 
OBJECT_SEQUENCE 
OBJECT_SUBSCRIPTION 
OBJECT_STATISTIC_EXT 
OBJECT_TABCONSTRAINT 
OBJECT_TABLE 
OBJECT_TABLESPACE 
OBJECT_TRANSFORM 
OBJECT_TRIGGER 
OBJECT_TSCONFIGURATION 
OBJECT_TSDICTIONARY 
OBJECT_TSPARSER 
OBJECT_TSTEMPLATE 
OBJECT_TYPE 
OBJECT_USER_MAPPING 
OBJECT_VIEW 

Definition at line 1559 of file parsenodes.h.

1560 {
1563  OBJECT_AMOP,
1564  OBJECT_AMPROC,
1565  OBJECT_ATTRIBUTE, /* type's attribute, when distinct from column */
1566  OBJECT_CAST,
1567  OBJECT_COLUMN,
1572  OBJECT_DEFACL,
1573  OBJECT_DOMAIN,
1577  OBJECT_FDW,
1581  OBJECT_INDEX,
1588  OBJECT_POLICY,
1591  OBJECT_ROLE,
1592  OBJECT_RULE,
1593  OBJECT_SCHEMA,
1598  OBJECT_TABLE,
1606  OBJECT_TYPE,
1608  OBJECT_VIEW
1609 } ObjectType;
ObjectType
Definition: parsenodes.h:1559
Enumerator
QSRC_ORIGINAL 
QSRC_PARSER 
QSRC_INSTEAD_RULE 
QSRC_QUAL_INSTEAD_RULE 
QSRC_NON_INSTEAD_RULE 

Definition at line 31 of file parsenodes.h.

32 {
33  QSRC_ORIGINAL, /* original parsetree (explicit query) */
34  QSRC_PARSER, /* added by parse analysis (now unused) */
35  QSRC_INSTEAD_RULE, /* added by unconditional INSTEAD rule */
36  QSRC_QUAL_INSTEAD_RULE, /* added by conditional INSTEAD rule */
37  QSRC_NON_INSTEAD_RULE /* added by non-INSTEAD rule */
38 } QuerySource;
QuerySource
Definition: parsenodes.h:31
Enumerator
REINDEX_OBJECT_INDEX 
REINDEX_OBJECT_TABLE 
REINDEX_OBJECT_SCHEMA 
REINDEX_OBJECT_SYSTEM 
REINDEX_OBJECT_DATABASE 

Definition at line 3158 of file parsenodes.h.

3159 {
3160  REINDEX_OBJECT_INDEX, /* index */
3161  REINDEX_OBJECT_TABLE, /* table or materialized view */
3162  REINDEX_OBJECT_SCHEMA, /* schema */
3163  REINDEX_OBJECT_SYSTEM, /* system catalogs */
3164  REINDEX_OBJECT_DATABASE /* database */
ReindexObjectType
Definition: parsenodes.h:3158
Enumerator
ROLESPEC_CSTRING 
ROLESPEC_CURRENT_USER 
ROLESPEC_SESSION_USER 
ROLESPEC_PUBLIC 

Definition at line 308 of file parsenodes.h.

309 {
310  ROLESPEC_CSTRING, /* role name is stored as a C string */
311  ROLESPEC_CURRENT_USER, /* role spec is CURRENT_USER */
312  ROLESPEC_SESSION_USER, /* role spec is SESSION_USER */
313  ROLESPEC_PUBLIC /* role name is "public" */
314 } RoleSpecType;
RoleSpecType
Definition: parsenodes.h:308
Enumerator
ROLESTMT_ROLE 
ROLESTMT_USER 
ROLESTMT_GROUP 

Definition at line 2366 of file parsenodes.h.

enum RTEKind
Enumerator
RTE_RELATION 
RTE_SUBQUERY 
RTE_JOIN 
RTE_FUNCTION 
RTE_TABLEFUNC 
RTE_VALUES 
RTE_CTE 

Definition at line 901 of file parsenodes.h.

902 {
903  RTE_RELATION, /* ordinary relation reference */
904  RTE_SUBQUERY, /* subquery in FROM */
905  RTE_JOIN, /* join */
906  RTE_FUNCTION, /* function in FROM */
907  RTE_TABLEFUNC, /* TableFunc(.., column list) */
908  RTE_VALUES, /* VALUES (<exprlist>), (<exprlist>), ... */
909  RTE_CTE /* common table expr (WITH list element) */
910 } RTEKind;
RTEKind
Definition: parsenodes.h:901
Enumerator
SETOP_NONE 
SETOP_UNION 
SETOP_INTERSECT 
SETOP_EXCEPT 

Definition at line 1446 of file parsenodes.h.

enum SortByDir
Enumerator
SORTBY_DEFAULT 
SORTBY_ASC 
SORTBY_DESC 
SORTBY_USING 

Definition at line 41 of file parsenodes.h.

42 {
44  SORTBY_ASC,
46  SORTBY_USING /* not allowed in CREATE INDEX ... */
47 } SortByDir;
SortByDir
Definition: parsenodes.h:41
Enumerator
SORTBY_NULLS_DEFAULT 
SORTBY_NULLS_FIRST 
SORTBY_NULLS_LAST 

Definition at line 49 of file parsenodes.h.

Enumerator
CREATE_TABLE_LIKE_DEFAULTS 
CREATE_TABLE_LIKE_CONSTRAINTS 
CREATE_TABLE_LIKE_INDEXES 
CREATE_TABLE_LIKE_STORAGE 
CREATE_TABLE_LIKE_COMMENTS 
CREATE_TABLE_LIKE_ALL 

Definition at line 657 of file parsenodes.h.

Enumerator
TRANS_STMT_BEGIN 
TRANS_STMT_START 
TRANS_STMT_COMMIT 
TRANS_STMT_ROLLBACK 
TRANS_STMT_SAVEPOINT 
TRANS_STMT_RELEASE 
TRANS_STMT_ROLLBACK_TO 
TRANS_STMT_PREPARE 
TRANS_STMT_COMMIT_PREPARED 
TRANS_STMT_ROLLBACK_PREPARED 

Definition at line 2857 of file parsenodes.h.

Enumerator
VACOPT_VACUUM 
VACOPT_ANALYZE 
VACOPT_VERBOSE 
VACOPT_FREEZE 
VACOPT_FULL 
VACOPT_NOWAIT 
VACOPT_SKIPTOAST 
VACOPT_DISABLE_PAGE_SKIPPING 

Definition at line 3029 of file parsenodes.h.

3030 {
3031  VACOPT_VACUUM = 1 << 0, /* do VACUUM */
3032  VACOPT_ANALYZE = 1 << 1, /* do ANALYZE */
3033  VACOPT_VERBOSE = 1 << 2, /* print progress info */
3034  VACOPT_FREEZE = 1 << 3, /* FREEZE option */
3035  VACOPT_FULL = 1 << 4, /* FULL (non-concurrent) vacuum */
3036  VACOPT_NOWAIT = 1 << 5, /* don't wait to get lock (autovacuum only) */
3037  VACOPT_SKIPTOAST = 1 << 6, /* don't process the TOAST table, if any */
3038  VACOPT_DISABLE_PAGE_SKIPPING = 1 << 7 /* don't skip any pages */
3039 } VacuumOption;
VacuumOption
Definition: parsenodes.h:3029
Enumerator
VAR_SET_VALUE 
VAR_SET_DEFAULT 
VAR_SET_CURRENT 
VAR_SET_MULTI 
VAR_RESET 
VAR_RESET_ALL 

Definition at line 1905 of file parsenodes.h.

1906 {
1907  VAR_SET_VALUE, /* SET var = value */
1908  VAR_SET_DEFAULT, /* SET var TO DEFAULT */
1909  VAR_SET_CURRENT, /* SET var FROM CURRENT */
1910  VAR_SET_MULTI, /* special case for SET TRANSACTION ... */
1911  VAR_RESET, /* RESET var */
1912  VAR_RESET_ALL /* RESET ALL */
1913 } VariableSetKind;
VariableSetKind
Definition: parsenodes.h:1905
Enumerator
NO_CHECK_OPTION 
LOCAL_CHECK_OPTION 
CASCADED_CHECK_OPTION 

Definition at line 2931 of file parsenodes.h.

enum WCOKind
Enumerator
WCO_VIEW_CHECK 
WCO_RLS_INSERT_CHECK 
WCO_RLS_UPDATE_CHECK 
WCO_RLS_CONFLICT_CHECK 

Definition at line 1062 of file parsenodes.h.

1063 {
1064  WCO_VIEW_CHECK, /* WCO on an auto-updatable view */
1065  WCO_RLS_INSERT_CHECK, /* RLS INSERT WITH CHECK policy */
1066  WCO_RLS_UPDATE_CHECK, /* RLS UPDATE WITH CHECK policy */
1067  WCO_RLS_CONFLICT_CHECK /* RLS ON CONFLICT DO UPDATE USING policy */
1068 } WCOKind;
WCOKind
Definition: parsenodes.h:1062