# -*- coding: utf-8 -*-
# :Project:   pglast — DO NOT EDIT: type stubs automatically extracted from parsenodes.h @ 18-latest-0-g9ab9951
# :Author:    Lele Gaifax <lele@metapensiero.it>
# :License:   GNU General Public License version 3 or later
# :Copyright: © 2017-2026 Lele Gaifax
#

from enum import Enum, IntEnum, IntFlag


class A_Expr_Kind(IntEnum):
    AEXPR_OP = ...
    AEXPR_OP_ANY = ...
    AEXPR_OP_ALL = ...
    AEXPR_DISTINCT = ...
    AEXPR_NOT_DISTINCT = ...
    AEXPR_NULLIF = ...
    AEXPR_IN = ...
    AEXPR_LIKE = ...
    AEXPR_ILIKE = ...
    AEXPR_SIMILAR = ...
    AEXPR_BETWEEN = ...
    AEXPR_NOT_BETWEEN = ...
    AEXPR_BETWEEN_SYM = ...
    AEXPR_NOT_BETWEEN_SYM = ...


class AlterPublicationAction(IntEnum):
    AP_AddObjects = ...
    AP_DropObjects = ...
    AP_SetObjects = ...


class AlterSubscriptionType(IntEnum):
    ALTER_SUBSCRIPTION_OPTIONS = ...
    ALTER_SUBSCRIPTION_CONNECTION = ...
    ALTER_SUBSCRIPTION_SET_PUBLICATION = ...
    ALTER_SUBSCRIPTION_ADD_PUBLICATION = ...
    ALTER_SUBSCRIPTION_DROP_PUBLICATION = ...
    ALTER_SUBSCRIPTION_REFRESH = ...
    ALTER_SUBSCRIPTION_ENABLED = ...
    ALTER_SUBSCRIPTION_SKIP = ...


class AlterTSConfigType(IntEnum):
    ALTER_TSCONFIG_ADD_MAPPING = ...
    ALTER_TSCONFIG_ALTER_MAPPING_FOR_TOKEN = ...
    ALTER_TSCONFIG_REPLACE_DICT = ...
    ALTER_TSCONFIG_REPLACE_DICT_FOR_TOKEN = ...
    ALTER_TSCONFIG_DROP_MAPPING = ...


class AlterTableType(IntEnum):
    AT_AddColumn = ...
    AT_AddColumnToView = ...
    AT_ColumnDefault = ...
    AT_CookedColumnDefault = ...
    AT_DropNotNull = ...
    AT_SetNotNull = ...
    AT_SetExpression = ...
    AT_DropExpression = ...
    AT_SetStatistics = ...
    AT_SetOptions = ...
    AT_ResetOptions = ...
    AT_SetStorage = ...
    AT_SetCompression = ...
    AT_DropColumn = ...
    AT_AddIndex = ...
    AT_ReAddIndex = ...
    AT_AddConstraint = ...
    AT_ReAddConstraint = ...
    AT_ReAddDomainConstraint = ...
    AT_AlterConstraint = ...
    AT_ValidateConstraint = ...
    AT_AddIndexConstraint = ...
    AT_DropConstraint = ...
    AT_ReAddComment = ...
    AT_AlterColumnType = ...
    AT_AlterColumnGenericOptions = ...
    AT_ChangeOwner = ...
    AT_ClusterOn = ...
    AT_DropCluster = ...
    AT_SetLogged = ...
    AT_SetUnLogged = ...
    AT_DropOids = ...
    AT_SetAccessMethod = ...
    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 = ...
    AT_DetachPartitionFinalize = ...
    AT_AddIdentity = ...
    AT_SetIdentity = ...
    AT_DropIdentity = ...
    AT_ReAddStatistics = ...


class CTEMaterialize(IntEnum):
    CTEMaterializeDefault = ...
    CTEMaterializeAlways = ...
    CTEMaterializeNever = ...


class ConstrType(IntEnum):
    CONSTR_NULL = ...
    CONSTR_NOTNULL = ...
    CONSTR_DEFAULT = ...
    CONSTR_IDENTITY = ...
    CONSTR_GENERATED = ...
    CONSTR_CHECK = ...
    CONSTR_PRIMARY = ...
    CONSTR_UNIQUE = ...
    CONSTR_EXCLUSION = ...
    CONSTR_FOREIGN = ...
    CONSTR_ATTR_DEFERRABLE = ...
    CONSTR_ATTR_NOT_DEFERRABLE = ...
    CONSTR_ATTR_DEFERRED = ...
    CONSTR_ATTR_IMMEDIATE = ...
    CONSTR_ATTR_ENFORCED = ...
    CONSTR_ATTR_NOT_ENFORCED = ...


class DefElemAction(IntEnum):
    DEFELEM_UNSPEC = ...
    DEFELEM_SET = ...
    DEFELEM_ADD = ...
    DEFELEM_DROP = ...


class DiscardMode(IntEnum):
    DISCARD_ALL = ...
    DISCARD_PLANS = ...
    DISCARD_SEQUENCES = ...
    DISCARD_TEMP = ...


class DropBehavior(IntEnum):
    DROP_RESTRICT = ...
    DROP_CASCADE = ...


class FetchDirection(IntEnum):
    FETCH_FORWARD = ...
    FETCH_BACKWARD = ...
    FETCH_ABSOLUTE = ...
    FETCH_RELATIVE = ...


class FunctionParameterMode(str, Enum):
    FUNC_PARAM_IN = ...
    FUNC_PARAM_OUT = ...
    FUNC_PARAM_INOUT = ...
    FUNC_PARAM_VARIADIC = ...
    FUNC_PARAM_TABLE = ...
    FUNC_PARAM_DEFAULT = ...


class GrantTargetType(IntEnum):
    ACL_TARGET_OBJECT = ...
    ACL_TARGET_ALL_IN_SCHEMA = ...
    ACL_TARGET_DEFAULTS = ...


class GroupingSetKind(IntEnum):
    GROUPING_SET_EMPTY = ...
    GROUPING_SET_SIMPLE = ...
    GROUPING_SET_ROLLUP = ...
    GROUPING_SET_CUBE = ...
    GROUPING_SET_SETS = ...


class ImportForeignSchemaType(IntEnum):
    FDW_IMPORT_SCHEMA_ALL = ...
    FDW_IMPORT_SCHEMA_LIMIT_TO = ...
    FDW_IMPORT_SCHEMA_EXCEPT = ...


class JsonQuotes(IntEnum):
    JS_QUOTES_UNSPEC = ...
    JS_QUOTES_KEEP = ...
    JS_QUOTES_OMIT = ...


class JsonTableColumnType(IntEnum):
    JTC_FOR_ORDINALITY = ...
    JTC_REGULAR = ...
    JTC_EXISTS = ...
    JTC_FORMATTED = ...
    JTC_NESTED = ...


class ObjectType(IntEnum):
    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_PARAMETER_ACL = ...
    OBJECT_POLICY = ...
    OBJECT_PROCEDURE = ...
    OBJECT_PUBLICATION = ...
    OBJECT_PUBLICATION_NAMESPACE = ...
    OBJECT_PUBLICATION_REL = ...
    OBJECT_ROLE = ...
    OBJECT_ROUTINE = ...
    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 = ...


class PartitionRangeDatumKind(IntEnum):
    PARTITION_RANGE_DATUM_MINVALUE = ...
    PARTITION_RANGE_DATUM_VALUE = ...
    PARTITION_RANGE_DATUM_MAXVALUE = ...


class PartitionStrategy(str, Enum):
    PARTITION_STRATEGY_LIST = ...
    PARTITION_STRATEGY_RANGE = ...
    PARTITION_STRATEGY_HASH = ...


class PublicationObjSpecType(IntEnum):
    PUBLICATIONOBJ_TABLE = ...
    PUBLICATIONOBJ_TABLES_IN_SCHEMA = ...
    PUBLICATIONOBJ_TABLES_IN_CUR_SCHEMA = ...
    PUBLICATIONOBJ_CONTINUATION = ...


class QuerySource(IntEnum):
    QSRC_ORIGINAL = ...
    QSRC_PARSER = ...
    QSRC_INSTEAD_RULE = ...
    QSRC_QUAL_INSTEAD_RULE = ...
    QSRC_NON_INSTEAD_RULE = ...


class RTEKind(IntEnum):
    RTE_RELATION = ...
    RTE_SUBQUERY = ...
    RTE_JOIN = ...
    RTE_FUNCTION = ...
    RTE_TABLEFUNC = ...
    RTE_VALUES = ...
    RTE_CTE = ...
    RTE_NAMEDTUPLESTORE = ...
    RTE_RESULT = ...
    RTE_GROUP = ...


class ReindexObjectType(IntEnum):
    REINDEX_OBJECT_INDEX = ...
    REINDEX_OBJECT_TABLE = ...
    REINDEX_OBJECT_SCHEMA = ...
    REINDEX_OBJECT_SYSTEM = ...
    REINDEX_OBJECT_DATABASE = ...


class ReturningOptionKind(IntEnum):
    RETURNING_OPTION_OLD = ...
    RETURNING_OPTION_NEW = ...


class RoleSpecType(IntEnum):
    ROLESPEC_CSTRING = ...
    ROLESPEC_CURRENT_ROLE = ...
    ROLESPEC_CURRENT_USER = ...
    ROLESPEC_SESSION_USER = ...
    ROLESPEC_PUBLIC = ...


class RoleStmtType(IntEnum):
    ROLESTMT_ROLE = ...
    ROLESTMT_USER = ...
    ROLESTMT_GROUP = ...


class SetOperation(IntEnum):
    SETOP_NONE = ...
    SETOP_UNION = ...
    SETOP_INTERSECT = ...
    SETOP_EXCEPT = ...


class SetQuantifier(IntEnum):
    SET_QUANTIFIER_DEFAULT = ...
    SET_QUANTIFIER_ALL = ...
    SET_QUANTIFIER_DISTINCT = ...


class SortByDir(IntEnum):
    SORTBY_DEFAULT = ...
    SORTBY_ASC = ...
    SORTBY_DESC = ...
    SORTBY_USING = ...


class SortByNulls(IntEnum):
    SORTBY_NULLS_DEFAULT = ...
    SORTBY_NULLS_FIRST = ...
    SORTBY_NULLS_LAST = ...


class TableLikeOption(IntFlag):
    CREATE_TABLE_LIKE_COMMENTS = ...
    CREATE_TABLE_LIKE_COMPRESSION = ...
    CREATE_TABLE_LIKE_CONSTRAINTS = ...
    CREATE_TABLE_LIKE_DEFAULTS = ...
    CREATE_TABLE_LIKE_GENERATED = ...
    CREATE_TABLE_LIKE_IDENTITY = ...
    CREATE_TABLE_LIKE_INDEXES = ...
    CREATE_TABLE_LIKE_STATISTICS = ...
    CREATE_TABLE_LIKE_STORAGE = ...
    CREATE_TABLE_LIKE_ALL = ...


class TransactionStmtKind(IntEnum):
    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 = ...


class VariableSetKind(IntEnum):
    VAR_SET_VALUE = ...
    VAR_SET_DEFAULT = ...
    VAR_SET_CURRENT = ...
    VAR_SET_MULTI = ...
    VAR_RESET = ...
    VAR_RESET_ALL = ...


class ViewCheckOption(IntEnum):
    NO_CHECK_OPTION = ...
    LOCAL_CHECK_OPTION = ...
    CASCADED_CHECK_OPTION = ...


class WCOKind(IntEnum):
    WCO_VIEW_CHECK = ...
    WCO_RLS_INSERT_CHECK = ...
    WCO_RLS_UPDATE_CHECK = ...
    WCO_RLS_CONFLICT_CHECK = ...
    WCO_RLS_MERGE_UPDATE_CHECK = ...
    WCO_RLS_MERGE_DELETE_CHECK = ...

ACL_INSERT: int

ACL_SELECT: int

ACL_UPDATE: int

ACL_DELETE: int

ACL_TRUNCATE: int

ACL_REFERENCES: int

ACL_TRIGGER: int

ACL_EXECUTE: int

ACL_USAGE: int

ACL_CREATE: int

ACL_CREATE_TEMP: int

ACL_CONNECT: int

ACL_SET: int

ACL_ALTER_SYSTEM: int

ACL_MAINTAIN: int

N_ACL_RIGHTS: int

ACL_NO_RIGHTS: int

FRAMEOPTION_NONDEFAULT: int

FRAMEOPTION_RANGE: int

FRAMEOPTION_ROWS: int

FRAMEOPTION_GROUPS: int

FRAMEOPTION_BETWEEN: int

FRAMEOPTION_START_UNBOUNDED_PRECEDING: int

FRAMEOPTION_END_UNBOUNDED_PRECEDING: int

FRAMEOPTION_START_UNBOUNDED_FOLLOWING: int

FRAMEOPTION_END_UNBOUNDED_FOLLOWING: int

FRAMEOPTION_START_CURRENT_ROW: int

FRAMEOPTION_END_CURRENT_ROW: int

FRAMEOPTION_START_OFFSET_PRECEDING: int

FRAMEOPTION_END_OFFSET_PRECEDING: int

FRAMEOPTION_START_OFFSET_FOLLOWING: int

FRAMEOPTION_END_OFFSET_FOLLOWING: int

FRAMEOPTION_EXCLUDE_CURRENT_ROW: int

FRAMEOPTION_EXCLUDE_GROUP: int

FRAMEOPTION_EXCLUDE_TIES: int

FKCONSTR_ACTION_NOACTION: str

FKCONSTR_ACTION_RESTRICT: str

FKCONSTR_ACTION_CASCADE: str

FKCONSTR_ACTION_SETNULL: str

FKCONSTR_ACTION_SETDEFAULT: str

FKCONSTR_MATCH_FULL: str

FKCONSTR_MATCH_PARTIAL: str

FKCONSTR_MATCH_SIMPLE: str

OPCLASS_ITEM_OPERATOR: int

OPCLASS_ITEM_FUNCTION: int

OPCLASS_ITEM_STORAGETYPE: int

CURSOR_OPT_BINARY: int

CURSOR_OPT_SCROLL: int

CURSOR_OPT_NO_SCROLL: int

CURSOR_OPT_INSENSITIVE: int

CURSOR_OPT_ASENSITIVE: int

CURSOR_OPT_HOLD: int

CURSOR_OPT_FAST_PLAN: int

CURSOR_OPT_GENERIC_PLAN: int

CURSOR_OPT_CUSTOM_PLAN: int

CURSOR_OPT_PARALLEL_OK: int
