# Copyright (C) 2020 The Psycopg Team
-from typing import Any, Callable, Dict, Optional, Sequence, Tuple, Type, Union
+from typing import Any, Dict, Optional, Sequence, Tuple, Type, Union
from typing import cast
from psycopg.pq.abc import PGresult
from psycopg.pq._enums import DiagnosticField
+ErrorInfo = Union[None, PGresult, Dict[int, Optional[bytes]]]
+
+_sqlcodes: Dict[str, "Type[Error]"] = {}
+
class Warning(Exception):
"""
__module__ = "psycopg"
-ErrorInfo = Union[None, PGresult, Dict[int, Optional[bytes]]]
-
-
class Error(Exception):
"""
Base exception for all the errors psycopg will raise.
__module__ = "psycopg"
+ def __init_subclass__(cls, code: Optional[str] = None, name: Optional[str] = None):
+ if code:
+ _sqlcodes[code] = cls
+ cls.sqlstate = code
+ if name:
+ _sqlcodes[name] = cls
+
class DataError(DatabaseError):
"""
}
-def sqlcode(const_name: str, code: str) -> Callable[[Type[Error]], Type[Error]]:
- """
- Decorator to associate an exception class to a sqlstate.
- """
-
- def sqlcode_(cls: Type[Error]) -> Type[Error]:
- _sqlcodes[code] = _sqlcodes[const_name] = cls
- cls.sqlstate = code
- return cls
-
- return sqlcode_
-
-
-_sqlcodes: Dict[str, Type[Error]] = {}
-
-
# Classes generated by tools/update_errors.py
# autogenerated: start
# Class 02 - No Data (this is also a warning class per the SQL standard)
-@sqlcode("NO_DATA", "02000")
-class NoData(DatabaseError):
+class NoData(DatabaseError, code="02000", name="NO_DATA"):
pass
-@sqlcode("NO_ADDITIONAL_DYNAMIC_RESULT_SETS_RETURNED", "02001")
-class NoAdditionalDynamicResultSetsReturned(DatabaseError):
+class NoAdditionalDynamicResultSetsReturned(
+ DatabaseError, code="02001", name="NO_ADDITIONAL_DYNAMIC_RESULT_SETS_RETURNED"
+):
pass
# Class 03 - SQL Statement Not Yet Complete
-@sqlcode("SQL_STATEMENT_NOT_YET_COMPLETE", "03000")
-class SqlStatementNotYetComplete(DatabaseError):
+class SqlStatementNotYetComplete(
+ DatabaseError, code="03000", name="SQL_STATEMENT_NOT_YET_COMPLETE"
+):
pass
# Class 08 - Connection Exception
-@sqlcode("CONNECTION_EXCEPTION", "08000")
-class ConnectionException(OperationalError):
+class ConnectionException(OperationalError, code="08000", name="CONNECTION_EXCEPTION"):
pass
-@sqlcode("SQLCLIENT_UNABLE_TO_ESTABLISH_SQLCONNECTION", "08001")
-class SqlclientUnableToEstablishSqlconnection(OperationalError):
+class SqlclientUnableToEstablishSqlconnection(
+ OperationalError, code="08001", name="SQLCLIENT_UNABLE_TO_ESTABLISH_SQLCONNECTION"
+):
pass
-@sqlcode("CONNECTION_DOES_NOT_EXIST", "08003")
-class ConnectionDoesNotExist(OperationalError):
+class ConnectionDoesNotExist(
+ OperationalError, code="08003", name="CONNECTION_DOES_NOT_EXIST"
+):
pass
-@sqlcode("SQLSERVER_REJECTED_ESTABLISHMENT_OF_SQLCONNECTION", "08004")
-class SqlserverRejectedEstablishmentOfSqlconnection(OperationalError):
+class SqlserverRejectedEstablishmentOfSqlconnection(
+ OperationalError,
+ code="08004",
+ name="SQLSERVER_REJECTED_ESTABLISHMENT_OF_SQLCONNECTION",
+):
pass
-@sqlcode("CONNECTION_FAILURE", "08006")
-class ConnectionFailure(OperationalError):
+class ConnectionFailure(OperationalError, code="08006", name="CONNECTION_FAILURE"):
pass
-@sqlcode("TRANSACTION_RESOLUTION_UNKNOWN", "08007")
-class TransactionResolutionUnknown(OperationalError):
+class TransactionResolutionUnknown(
+ OperationalError, code="08007", name="TRANSACTION_RESOLUTION_UNKNOWN"
+):
pass
-@sqlcode("PROTOCOL_VIOLATION", "08P01")
-class ProtocolViolation(OperationalError):
+class ProtocolViolation(OperationalError, code="08P01", name="PROTOCOL_VIOLATION"):
pass
# Class 09 - Triggered Action Exception
-@sqlcode("TRIGGERED_ACTION_EXCEPTION", "09000")
-class TriggeredActionException(DatabaseError):
+class TriggeredActionException(
+ DatabaseError, code="09000", name="TRIGGERED_ACTION_EXCEPTION"
+):
pass
# Class 0A - Feature Not Supported
-@sqlcode("FEATURE_NOT_SUPPORTED", "0A000")
-class FeatureNotSupported(NotSupportedError):
+class FeatureNotSupported(
+ NotSupportedError, code="0A000", name="FEATURE_NOT_SUPPORTED"
+):
pass
# Class 0B - Invalid Transaction Initiation
-@sqlcode("INVALID_TRANSACTION_INITIATION", "0B000")
-class InvalidTransactionInitiation(DatabaseError):
+class InvalidTransactionInitiation(
+ DatabaseError, code="0B000", name="INVALID_TRANSACTION_INITIATION"
+):
pass
# Class 0F - Locator Exception
-@sqlcode("LOCATOR_EXCEPTION", "0F000")
-class LocatorException(DatabaseError):
+class LocatorException(DatabaseError, code="0F000", name="LOCATOR_EXCEPTION"):
pass
-@sqlcode("INVALID_LOCATOR_SPECIFICATION", "0F001")
-class InvalidLocatorSpecification(DatabaseError):
+class InvalidLocatorSpecification(
+ DatabaseError, code="0F001", name="INVALID_LOCATOR_SPECIFICATION"
+):
pass
# Class 0L - Invalid Grantor
-@sqlcode("INVALID_GRANTOR", "0L000")
-class InvalidGrantor(DatabaseError):
+class InvalidGrantor(DatabaseError, code="0L000", name="INVALID_GRANTOR"):
pass
-@sqlcode("INVALID_GRANT_OPERATION", "0LP01")
-class InvalidGrantOperation(DatabaseError):
+class InvalidGrantOperation(
+ DatabaseError, code="0LP01", name="INVALID_GRANT_OPERATION"
+):
pass
# Class 0P - Invalid Role Specification
-@sqlcode("INVALID_ROLE_SPECIFICATION", "0P000")
-class InvalidRoleSpecification(DatabaseError):
+class InvalidRoleSpecification(
+ DatabaseError, code="0P000", name="INVALID_ROLE_SPECIFICATION"
+):
pass
# Class 0Z - Diagnostics Exception
-@sqlcode("DIAGNOSTICS_EXCEPTION", "0Z000")
-class DiagnosticsException(DatabaseError):
+class DiagnosticsException(DatabaseError, code="0Z000", name="DIAGNOSTICS_EXCEPTION"):
pass
-@sqlcode("STACKED_DIAGNOSTICS_ACCESSED_WITHOUT_ACTIVE_HANDLER", "0Z002")
-class StackedDiagnosticsAccessedWithoutActiveHandler(DatabaseError):
+class StackedDiagnosticsAccessedWithoutActiveHandler(
+ DatabaseError,
+ code="0Z002",
+ name="STACKED_DIAGNOSTICS_ACCESSED_WITHOUT_ACTIVE_HANDLER",
+):
pass
# Class 20 - Case Not Found
-@sqlcode("CASE_NOT_FOUND", "20000")
-class CaseNotFound(ProgrammingError):
+class CaseNotFound(ProgrammingError, code="20000", name="CASE_NOT_FOUND"):
pass
# Class 21 - Cardinality Violation
-@sqlcode("CARDINALITY_VIOLATION", "21000")
-class CardinalityViolation(ProgrammingError):
+class CardinalityViolation(
+ ProgrammingError, code="21000", name="CARDINALITY_VIOLATION"
+):
pass
# Class 22 - Data Exception
-@sqlcode("DATA_EXCEPTION", "22000")
-class DataException(DataError):
+class DataException(DataError, code="22000", name="DATA_EXCEPTION"):
pass
-@sqlcode("STRING_DATA_RIGHT_TRUNCATION", "22001")
-class StringDataRightTruncation(DataError):
+class StringDataRightTruncation(
+ DataError, code="22001", name="STRING_DATA_RIGHT_TRUNCATION"
+):
pass
-@sqlcode("NULL_VALUE_NO_INDICATOR_PARAMETER", "22002")
-class NullValueNoIndicatorParameter(DataError):
+class NullValueNoIndicatorParameter(
+ DataError, code="22002", name="NULL_VALUE_NO_INDICATOR_PARAMETER"
+):
pass
-@sqlcode("NUMERIC_VALUE_OUT_OF_RANGE", "22003")
-class NumericValueOutOfRange(DataError):
+class NumericValueOutOfRange(
+ DataError, code="22003", name="NUMERIC_VALUE_OUT_OF_RANGE"
+):
pass
-@sqlcode("NULL_VALUE_NOT_ALLOWED", "22004")
-class NullValueNotAllowed(DataError):
+class NullValueNotAllowed(DataError, code="22004", name="NULL_VALUE_NOT_ALLOWED"):
pass
-@sqlcode("ERROR_IN_ASSIGNMENT", "22005")
-class ErrorInAssignment(DataError):
+class ErrorInAssignment(DataError, code="22005", name="ERROR_IN_ASSIGNMENT"):
pass
-@sqlcode("INVALID_DATETIME_FORMAT", "22007")
-class InvalidDatetimeFormat(DataError):
+class InvalidDatetimeFormat(DataError, code="22007", name="INVALID_DATETIME_FORMAT"):
pass
-@sqlcode("DATETIME_FIELD_OVERFLOW", "22008")
-class DatetimeFieldOverflow(DataError):
+class DatetimeFieldOverflow(DataError, code="22008", name="DATETIME_FIELD_OVERFLOW"):
pass
-@sqlcode("INVALID_TIME_ZONE_DISPLACEMENT_VALUE", "22009")
-class InvalidTimeZoneDisplacementValue(DataError):
+class InvalidTimeZoneDisplacementValue(
+ DataError, code="22009", name="INVALID_TIME_ZONE_DISPLACEMENT_VALUE"
+):
pass
-@sqlcode("ESCAPE_CHARACTER_CONFLICT", "2200B")
-class EscapeCharacterConflict(DataError):
+class EscapeCharacterConflict(
+ DataError, code="2200B", name="ESCAPE_CHARACTER_CONFLICT"
+):
pass
-@sqlcode("INVALID_USE_OF_ESCAPE_CHARACTER", "2200C")
-class InvalidUseOfEscapeCharacter(DataError):
+class InvalidUseOfEscapeCharacter(
+ DataError, code="2200C", name="INVALID_USE_OF_ESCAPE_CHARACTER"
+):
pass
-@sqlcode("INVALID_ESCAPE_OCTET", "2200D")
-class InvalidEscapeOctet(DataError):
+class InvalidEscapeOctet(DataError, code="2200D", name="INVALID_ESCAPE_OCTET"):
pass
-@sqlcode("ZERO_LENGTH_CHARACTER_STRING", "2200F")
-class ZeroLengthCharacterString(DataError):
+class ZeroLengthCharacterString(
+ DataError, code="2200F", name="ZERO_LENGTH_CHARACTER_STRING"
+):
pass
-@sqlcode("MOST_SPECIFIC_TYPE_MISMATCH", "2200G")
-class MostSpecificTypeMismatch(DataError):
+class MostSpecificTypeMismatch(
+ DataError, code="2200G", name="MOST_SPECIFIC_TYPE_MISMATCH"
+):
pass
-@sqlcode("SEQUENCE_GENERATOR_LIMIT_EXCEEDED", "2200H")
-class SequenceGeneratorLimitExceeded(DataError):
+class SequenceGeneratorLimitExceeded(
+ DataError, code="2200H", name="SEQUENCE_GENERATOR_LIMIT_EXCEEDED"
+):
pass
-@sqlcode("NOT_AN_XML_DOCUMENT", "2200L")
-class NotAnXmlDocument(DataError):
+class NotAnXmlDocument(DataError, code="2200L", name="NOT_AN_XML_DOCUMENT"):
pass
-@sqlcode("INVALID_XML_DOCUMENT", "2200M")
-class InvalidXmlDocument(DataError):
+class InvalidXmlDocument(DataError, code="2200M", name="INVALID_XML_DOCUMENT"):
pass
-@sqlcode("INVALID_XML_CONTENT", "2200N")
-class InvalidXmlContent(DataError):
+class InvalidXmlContent(DataError, code="2200N", name="INVALID_XML_CONTENT"):
pass
-@sqlcode("INVALID_XML_COMMENT", "2200S")
-class InvalidXmlComment(DataError):
+class InvalidXmlComment(DataError, code="2200S", name="INVALID_XML_COMMENT"):
pass
-@sqlcode("INVALID_XML_PROCESSING_INSTRUCTION", "2200T")
-class InvalidXmlProcessingInstruction(DataError):
+class InvalidXmlProcessingInstruction(
+ DataError, code="2200T", name="INVALID_XML_PROCESSING_INSTRUCTION"
+):
pass
-@sqlcode("INVALID_INDICATOR_PARAMETER_VALUE", "22010")
-class InvalidIndicatorParameterValue(DataError):
+class InvalidIndicatorParameterValue(
+ DataError, code="22010", name="INVALID_INDICATOR_PARAMETER_VALUE"
+):
pass
-@sqlcode("SUBSTRING_ERROR", "22011")
-class SubstringError(DataError):
+class SubstringError(DataError, code="22011", name="SUBSTRING_ERROR"):
pass
-@sqlcode("DIVISION_BY_ZERO", "22012")
-class DivisionByZero(DataError):
+class DivisionByZero(DataError, code="22012", name="DIVISION_BY_ZERO"):
pass
-@sqlcode("INVALID_PRECEDING_OR_FOLLOWING_SIZE", "22013")
-class InvalidPrecedingOrFollowingSize(DataError):
+class InvalidPrecedingOrFollowingSize(
+ DataError, code="22013", name="INVALID_PRECEDING_OR_FOLLOWING_SIZE"
+):
pass
-@sqlcode("INVALID_ARGUMENT_FOR_NTILE_FUNCTION", "22014")
-class InvalidArgumentForNtileFunction(DataError):
+class InvalidArgumentForNtileFunction(
+ DataError, code="22014", name="INVALID_ARGUMENT_FOR_NTILE_FUNCTION"
+):
pass
-@sqlcode("INTERVAL_FIELD_OVERFLOW", "22015")
-class IntervalFieldOverflow(DataError):
+class IntervalFieldOverflow(DataError, code="22015", name="INTERVAL_FIELD_OVERFLOW"):
pass
-@sqlcode("INVALID_ARGUMENT_FOR_NTH_VALUE_FUNCTION", "22016")
-class InvalidArgumentForNthValueFunction(DataError):
+class InvalidArgumentForNthValueFunction(
+ DataError, code="22016", name="INVALID_ARGUMENT_FOR_NTH_VALUE_FUNCTION"
+):
pass
-@sqlcode("INVALID_CHARACTER_VALUE_FOR_CAST", "22018")
-class InvalidCharacterValueForCast(DataError):
+class InvalidCharacterValueForCast(
+ DataError, code="22018", name="INVALID_CHARACTER_VALUE_FOR_CAST"
+):
pass
-@sqlcode("INVALID_ESCAPE_CHARACTER", "22019")
-class InvalidEscapeCharacter(DataError):
+class InvalidEscapeCharacter(DataError, code="22019", name="INVALID_ESCAPE_CHARACTER"):
pass
-@sqlcode("INVALID_REGULAR_EXPRESSION", "2201B")
-class InvalidRegularExpression(DataError):
+class InvalidRegularExpression(
+ DataError, code="2201B", name="INVALID_REGULAR_EXPRESSION"
+):
pass
-@sqlcode("INVALID_ARGUMENT_FOR_LOGARITHM", "2201E")
-class InvalidArgumentForLogarithm(DataError):
+class InvalidArgumentForLogarithm(
+ DataError, code="2201E", name="INVALID_ARGUMENT_FOR_LOGARITHM"
+):
pass
-@sqlcode("INVALID_ARGUMENT_FOR_POWER_FUNCTION", "2201F")
-class InvalidArgumentForPowerFunction(DataError):
+class InvalidArgumentForPowerFunction(
+ DataError, code="2201F", name="INVALID_ARGUMENT_FOR_POWER_FUNCTION"
+):
pass
-@sqlcode("INVALID_ARGUMENT_FOR_WIDTH_BUCKET_FUNCTION", "2201G")
-class InvalidArgumentForWidthBucketFunction(DataError):
+class InvalidArgumentForWidthBucketFunction(
+ DataError, code="2201G", name="INVALID_ARGUMENT_FOR_WIDTH_BUCKET_FUNCTION"
+):
pass
-@sqlcode("INVALID_ROW_COUNT_IN_LIMIT_CLAUSE", "2201W")
-class InvalidRowCountInLimitClause(DataError):
+class InvalidRowCountInLimitClause(
+ DataError, code="2201W", name="INVALID_ROW_COUNT_IN_LIMIT_CLAUSE"
+):
pass
-@sqlcode("INVALID_ROW_COUNT_IN_RESULT_OFFSET_CLAUSE", "2201X")
-class InvalidRowCountInResultOffsetClause(DataError):
+class InvalidRowCountInResultOffsetClause(
+ DataError, code="2201X", name="INVALID_ROW_COUNT_IN_RESULT_OFFSET_CLAUSE"
+):
pass
-@sqlcode("CHARACTER_NOT_IN_REPERTOIRE", "22021")
-class CharacterNotInRepertoire(DataError):
+class CharacterNotInRepertoire(
+ DataError, code="22021", name="CHARACTER_NOT_IN_REPERTOIRE"
+):
pass
-@sqlcode("INDICATOR_OVERFLOW", "22022")
-class IndicatorOverflow(DataError):
+class IndicatorOverflow(DataError, code="22022", name="INDICATOR_OVERFLOW"):
pass
-@sqlcode("INVALID_PARAMETER_VALUE", "22023")
-class InvalidParameterValue(DataError):
+class InvalidParameterValue(DataError, code="22023", name="INVALID_PARAMETER_VALUE"):
pass
-@sqlcode("UNTERMINATED_C_STRING", "22024")
-class UnterminatedCString(DataError):
+class UnterminatedCString(DataError, code="22024", name="UNTERMINATED_C_STRING"):
pass
-@sqlcode("INVALID_ESCAPE_SEQUENCE", "22025")
-class InvalidEscapeSequence(DataError):
+class InvalidEscapeSequence(DataError, code="22025", name="INVALID_ESCAPE_SEQUENCE"):
pass
-@sqlcode("STRING_DATA_LENGTH_MISMATCH", "22026")
-class StringDataLengthMismatch(DataError):
+class StringDataLengthMismatch(
+ DataError, code="22026", name="STRING_DATA_LENGTH_MISMATCH"
+):
pass
-@sqlcode("TRIM_ERROR", "22027")
-class TrimError(DataError):
+class TrimError(DataError, code="22027", name="TRIM_ERROR"):
pass
-@sqlcode("ARRAY_SUBSCRIPT_ERROR", "2202E")
-class ArraySubscriptError(DataError):
+class ArraySubscriptError(DataError, code="2202E", name="ARRAY_SUBSCRIPT_ERROR"):
pass
-@sqlcode("INVALID_TABLESAMPLE_REPEAT", "2202G")
-class InvalidTablesampleRepeat(DataError):
+class InvalidTablesampleRepeat(
+ DataError, code="2202G", name="INVALID_TABLESAMPLE_REPEAT"
+):
pass
-@sqlcode("INVALID_TABLESAMPLE_ARGUMENT", "2202H")
-class InvalidTablesampleArgument(DataError):
+class InvalidTablesampleArgument(
+ DataError, code="2202H", name="INVALID_TABLESAMPLE_ARGUMENT"
+):
pass
-@sqlcode("DUPLICATE_JSON_OBJECT_KEY_VALUE", "22030")
-class DuplicateJsonObjectKeyValue(DataError):
+class DuplicateJsonObjectKeyValue(
+ DataError, code="22030", name="DUPLICATE_JSON_OBJECT_KEY_VALUE"
+):
pass
-@sqlcode("INVALID_ARGUMENT_FOR_SQL_JSON_DATETIME_FUNCTION", "22031")
-class InvalidArgumentForSqlJsonDatetimeFunction(DataError):
+class InvalidArgumentForSqlJsonDatetimeFunction(
+ DataError, code="22031", name="INVALID_ARGUMENT_FOR_SQL_JSON_DATETIME_FUNCTION"
+):
pass
-@sqlcode("INVALID_JSON_TEXT", "22032")
-class InvalidJsonText(DataError):
+class InvalidJsonText(DataError, code="22032", name="INVALID_JSON_TEXT"):
pass
-@sqlcode("INVALID_SQL_JSON_SUBSCRIPT", "22033")
-class InvalidSqlJsonSubscript(DataError):
+class InvalidSqlJsonSubscript(
+ DataError, code="22033", name="INVALID_SQL_JSON_SUBSCRIPT"
+):
pass
-@sqlcode("MORE_THAN_ONE_SQL_JSON_ITEM", "22034")
-class MoreThanOneSqlJsonItem(DataError):
+class MoreThanOneSqlJsonItem(
+ DataError, code="22034", name="MORE_THAN_ONE_SQL_JSON_ITEM"
+):
pass
-@sqlcode("NO_SQL_JSON_ITEM", "22035")
-class NoSqlJsonItem(DataError):
+class NoSqlJsonItem(DataError, code="22035", name="NO_SQL_JSON_ITEM"):
pass
-@sqlcode("NON_NUMERIC_SQL_JSON_ITEM", "22036")
-class NonNumericSqlJsonItem(DataError):
+class NonNumericSqlJsonItem(DataError, code="22036", name="NON_NUMERIC_SQL_JSON_ITEM"):
pass
-@sqlcode("NON_UNIQUE_KEYS_IN_A_JSON_OBJECT", "22037")
-class NonUniqueKeysInAJsonObject(DataError):
+class NonUniqueKeysInAJsonObject(
+ DataError, code="22037", name="NON_UNIQUE_KEYS_IN_A_JSON_OBJECT"
+):
pass
-@sqlcode("SINGLETON_SQL_JSON_ITEM_REQUIRED", "22038")
-class SingletonSqlJsonItemRequired(DataError):
+class SingletonSqlJsonItemRequired(
+ DataError, code="22038", name="SINGLETON_SQL_JSON_ITEM_REQUIRED"
+):
pass
-@sqlcode("SQL_JSON_ARRAY_NOT_FOUND", "22039")
-class SqlJsonArrayNotFound(DataError):
+class SqlJsonArrayNotFound(DataError, code="22039", name="SQL_JSON_ARRAY_NOT_FOUND"):
pass
-@sqlcode("SQL_JSON_MEMBER_NOT_FOUND", "2203A")
-class SqlJsonMemberNotFound(DataError):
+class SqlJsonMemberNotFound(DataError, code="2203A", name="SQL_JSON_MEMBER_NOT_FOUND"):
pass
-@sqlcode("SQL_JSON_NUMBER_NOT_FOUND", "2203B")
-class SqlJsonNumberNotFound(DataError):
+class SqlJsonNumberNotFound(DataError, code="2203B", name="SQL_JSON_NUMBER_NOT_FOUND"):
pass
-@sqlcode("SQL_JSON_OBJECT_NOT_FOUND", "2203C")
-class SqlJsonObjectNotFound(DataError):
+class SqlJsonObjectNotFound(DataError, code="2203C", name="SQL_JSON_OBJECT_NOT_FOUND"):
pass
-@sqlcode("TOO_MANY_JSON_ARRAY_ELEMENTS", "2203D")
-class TooManyJsonArrayElements(DataError):
+class TooManyJsonArrayElements(
+ DataError, code="2203D", name="TOO_MANY_JSON_ARRAY_ELEMENTS"
+):
pass
-@sqlcode("TOO_MANY_JSON_OBJECT_MEMBERS", "2203E")
-class TooManyJsonObjectMembers(DataError):
+class TooManyJsonObjectMembers(
+ DataError, code="2203E", name="TOO_MANY_JSON_OBJECT_MEMBERS"
+):
pass
-@sqlcode("SQL_JSON_SCALAR_REQUIRED", "2203F")
-class SqlJsonScalarRequired(DataError):
+class SqlJsonScalarRequired(DataError, code="2203F", name="SQL_JSON_SCALAR_REQUIRED"):
pass
-@sqlcode("FLOATING_POINT_EXCEPTION", "22P01")
-class FloatingPointException(DataError):
+class FloatingPointException(DataError, code="22P01", name="FLOATING_POINT_EXCEPTION"):
pass
-@sqlcode("INVALID_TEXT_REPRESENTATION", "22P02")
-class InvalidTextRepresentation(DataError):
+class InvalidTextRepresentation(
+ DataError, code="22P02", name="INVALID_TEXT_REPRESENTATION"
+):
pass
-@sqlcode("INVALID_BINARY_REPRESENTATION", "22P03")
-class InvalidBinaryRepresentation(DataError):
+class InvalidBinaryRepresentation(
+ DataError, code="22P03", name="INVALID_BINARY_REPRESENTATION"
+):
pass
-@sqlcode("BAD_COPY_FILE_FORMAT", "22P04")
-class BadCopyFileFormat(DataError):
+class BadCopyFileFormat(DataError, code="22P04", name="BAD_COPY_FILE_FORMAT"):
pass
-@sqlcode("UNTRANSLATABLE_CHARACTER", "22P05")
-class UntranslatableCharacter(DataError):
+class UntranslatableCharacter(DataError, code="22P05", name="UNTRANSLATABLE_CHARACTER"):
pass
-@sqlcode("NONSTANDARD_USE_OF_ESCAPE_CHARACTER", "22P06")
-class NonstandardUseOfEscapeCharacter(DataError):
+class NonstandardUseOfEscapeCharacter(
+ DataError, code="22P06", name="NONSTANDARD_USE_OF_ESCAPE_CHARACTER"
+):
pass
# Class 23 - Integrity Constraint Violation
-@sqlcode("INTEGRITY_CONSTRAINT_VIOLATION", "23000")
-class IntegrityConstraintViolation(IntegrityError):
+class IntegrityConstraintViolation(
+ IntegrityError, code="23000", name="INTEGRITY_CONSTRAINT_VIOLATION"
+):
pass
-@sqlcode("RESTRICT_VIOLATION", "23001")
-class RestrictViolation(IntegrityError):
+class RestrictViolation(IntegrityError, code="23001", name="RESTRICT_VIOLATION"):
pass
-@sqlcode("NOT_NULL_VIOLATION", "23502")
-class NotNullViolation(IntegrityError):
+class NotNullViolation(IntegrityError, code="23502", name="NOT_NULL_VIOLATION"):
pass
-@sqlcode("FOREIGN_KEY_VIOLATION", "23503")
-class ForeignKeyViolation(IntegrityError):
+class ForeignKeyViolation(IntegrityError, code="23503", name="FOREIGN_KEY_VIOLATION"):
pass
-@sqlcode("UNIQUE_VIOLATION", "23505")
-class UniqueViolation(IntegrityError):
+class UniqueViolation(IntegrityError, code="23505", name="UNIQUE_VIOLATION"):
pass
-@sqlcode("CHECK_VIOLATION", "23514")
-class CheckViolation(IntegrityError):
+class CheckViolation(IntegrityError, code="23514", name="CHECK_VIOLATION"):
pass
-@sqlcode("EXCLUSION_VIOLATION", "23P01")
-class ExclusionViolation(IntegrityError):
+class ExclusionViolation(IntegrityError, code="23P01", name="EXCLUSION_VIOLATION"):
pass
# Class 24 - Invalid Cursor State
-@sqlcode("INVALID_CURSOR_STATE", "24000")
-class InvalidCursorState(InternalError):
+class InvalidCursorState(InternalError, code="24000", name="INVALID_CURSOR_STATE"):
pass
# Class 25 - Invalid Transaction State
-@sqlcode("INVALID_TRANSACTION_STATE", "25000")
-class InvalidTransactionState(InternalError):
+class InvalidTransactionState(
+ InternalError, code="25000", name="INVALID_TRANSACTION_STATE"
+):
pass
-@sqlcode("ACTIVE_SQL_TRANSACTION", "25001")
-class ActiveSqlTransaction(InternalError):
+class ActiveSqlTransaction(InternalError, code="25001", name="ACTIVE_SQL_TRANSACTION"):
pass
-@sqlcode("BRANCH_TRANSACTION_ALREADY_ACTIVE", "25002")
-class BranchTransactionAlreadyActive(InternalError):
+class BranchTransactionAlreadyActive(
+ InternalError, code="25002", name="BRANCH_TRANSACTION_ALREADY_ACTIVE"
+):
pass
-@sqlcode("INAPPROPRIATE_ACCESS_MODE_FOR_BRANCH_TRANSACTION", "25003")
-class InappropriateAccessModeForBranchTransaction(InternalError):
+class InappropriateAccessModeForBranchTransaction(
+ InternalError, code="25003", name="INAPPROPRIATE_ACCESS_MODE_FOR_BRANCH_TRANSACTION"
+):
pass
-@sqlcode("INAPPROPRIATE_ISOLATION_LEVEL_FOR_BRANCH_TRANSACTION", "25004")
-class InappropriateIsolationLevelForBranchTransaction(InternalError):
+class InappropriateIsolationLevelForBranchTransaction(
+ InternalError,
+ code="25004",
+ name="INAPPROPRIATE_ISOLATION_LEVEL_FOR_BRANCH_TRANSACTION",
+):
pass
-@sqlcode("NO_ACTIVE_SQL_TRANSACTION_FOR_BRANCH_TRANSACTION", "25005")
-class NoActiveSqlTransactionForBranchTransaction(InternalError):
+class NoActiveSqlTransactionForBranchTransaction(
+ InternalError, code="25005", name="NO_ACTIVE_SQL_TRANSACTION_FOR_BRANCH_TRANSACTION"
+):
pass
-@sqlcode("READ_ONLY_SQL_TRANSACTION", "25006")
-class ReadOnlySqlTransaction(InternalError):
+class ReadOnlySqlTransaction(
+ InternalError, code="25006", name="READ_ONLY_SQL_TRANSACTION"
+):
pass
-@sqlcode("SCHEMA_AND_DATA_STATEMENT_MIXING_NOT_SUPPORTED", "25007")
-class SchemaAndDataStatementMixingNotSupported(InternalError):
+class SchemaAndDataStatementMixingNotSupported(
+ InternalError, code="25007", name="SCHEMA_AND_DATA_STATEMENT_MIXING_NOT_SUPPORTED"
+):
pass
-@sqlcode("HELD_CURSOR_REQUIRES_SAME_ISOLATION_LEVEL", "25008")
-class HeldCursorRequiresSameIsolationLevel(InternalError):
+class HeldCursorRequiresSameIsolationLevel(
+ InternalError, code="25008", name="HELD_CURSOR_REQUIRES_SAME_ISOLATION_LEVEL"
+):
pass
-@sqlcode("NO_ACTIVE_SQL_TRANSACTION", "25P01")
-class NoActiveSqlTransaction(InternalError):
+class NoActiveSqlTransaction(
+ InternalError, code="25P01", name="NO_ACTIVE_SQL_TRANSACTION"
+):
pass
-@sqlcode("IN_FAILED_SQL_TRANSACTION", "25P02")
-class InFailedSqlTransaction(InternalError):
+class InFailedSqlTransaction(
+ InternalError, code="25P02", name="IN_FAILED_SQL_TRANSACTION"
+):
pass
-@sqlcode("IDLE_IN_TRANSACTION_SESSION_TIMEOUT", "25P03")
-class IdleInTransactionSessionTimeout(InternalError):
+class IdleInTransactionSessionTimeout(
+ InternalError, code="25P03", name="IDLE_IN_TRANSACTION_SESSION_TIMEOUT"
+):
pass
# Class 26 - Invalid SQL Statement Name
-@sqlcode("INVALID_SQL_STATEMENT_NAME", "26000")
-class InvalidSqlStatementName(ProgrammingError):
+class InvalidSqlStatementName(
+ ProgrammingError, code="26000", name="INVALID_SQL_STATEMENT_NAME"
+):
pass
# Class 27 - Triggered Data Change Violation
-@sqlcode("TRIGGERED_DATA_CHANGE_VIOLATION", "27000")
-class TriggeredDataChangeViolation(OperationalError):
+class TriggeredDataChangeViolation(
+ OperationalError, code="27000", name="TRIGGERED_DATA_CHANGE_VIOLATION"
+):
pass
# Class 28 - Invalid Authorization Specification
-@sqlcode("INVALID_AUTHORIZATION_SPECIFICATION", "28000")
-class InvalidAuthorizationSpecification(OperationalError):
+class InvalidAuthorizationSpecification(
+ OperationalError, code="28000", name="INVALID_AUTHORIZATION_SPECIFICATION"
+):
pass
-@sqlcode("INVALID_PASSWORD", "28P01")
-class InvalidPassword(OperationalError):
+class InvalidPassword(OperationalError, code="28P01", name="INVALID_PASSWORD"):
pass
# Class 2B - Dependent Privilege Descriptors Still Exist
-@sqlcode("DEPENDENT_PRIVILEGE_DESCRIPTORS_STILL_EXIST", "2B000")
-class DependentPrivilegeDescriptorsStillExist(InternalError):
+class DependentPrivilegeDescriptorsStillExist(
+ InternalError, code="2B000", name="DEPENDENT_PRIVILEGE_DESCRIPTORS_STILL_EXIST"
+):
pass
-@sqlcode("DEPENDENT_OBJECTS_STILL_EXIST", "2BP01")
-class DependentObjectsStillExist(InternalError):
+class DependentObjectsStillExist(
+ InternalError, code="2BP01", name="DEPENDENT_OBJECTS_STILL_EXIST"
+):
pass
# Class 2D - Invalid Transaction Termination
-@sqlcode("INVALID_TRANSACTION_TERMINATION", "2D000")
-class InvalidTransactionTermination(InternalError):
+class InvalidTransactionTermination(
+ InternalError, code="2D000", name="INVALID_TRANSACTION_TERMINATION"
+):
pass
# Class 2F - SQL Routine Exception
-@sqlcode("SQL_ROUTINE_EXCEPTION", "2F000")
-class SqlRoutineException(OperationalError):
+class SqlRoutineException(OperationalError, code="2F000", name="SQL_ROUTINE_EXCEPTION"):
pass
-@sqlcode("MODIFYING_SQL_DATA_NOT_PERMITTED", "2F002")
-class ModifyingSqlDataNotPermitted(OperationalError):
+class ModifyingSqlDataNotPermitted(
+ OperationalError, code="2F002", name="MODIFYING_SQL_DATA_NOT_PERMITTED"
+):
pass
-@sqlcode("PROHIBITED_SQL_STATEMENT_ATTEMPTED", "2F003")
-class ProhibitedSqlStatementAttempted(OperationalError):
+class ProhibitedSqlStatementAttempted(
+ OperationalError, code="2F003", name="PROHIBITED_SQL_STATEMENT_ATTEMPTED"
+):
pass
-@sqlcode("READING_SQL_DATA_NOT_PERMITTED", "2F004")
-class ReadingSqlDataNotPermitted(OperationalError):
+class ReadingSqlDataNotPermitted(
+ OperationalError, code="2F004", name="READING_SQL_DATA_NOT_PERMITTED"
+):
pass
-@sqlcode("FUNCTION_EXECUTED_NO_RETURN_STATEMENT", "2F005")
-class FunctionExecutedNoReturnStatement(OperationalError):
+class FunctionExecutedNoReturnStatement(
+ OperationalError, code="2F005", name="FUNCTION_EXECUTED_NO_RETURN_STATEMENT"
+):
pass
# Class 34 - Invalid Cursor Name
-@sqlcode("INVALID_CURSOR_NAME", "34000")
-class InvalidCursorName(ProgrammingError):
+class InvalidCursorName(ProgrammingError, code="34000", name="INVALID_CURSOR_NAME"):
pass
# Class 38 - External Routine Exception
-@sqlcode("EXTERNAL_ROUTINE_EXCEPTION", "38000")
-class ExternalRoutineException(OperationalError):
+class ExternalRoutineException(
+ OperationalError, code="38000", name="EXTERNAL_ROUTINE_EXCEPTION"
+):
pass
-@sqlcode("CONTAINING_SQL_NOT_PERMITTED", "38001")
-class ContainingSqlNotPermitted(OperationalError):
+class ContainingSqlNotPermitted(
+ OperationalError, code="38001", name="CONTAINING_SQL_NOT_PERMITTED"
+):
pass
-@sqlcode("MODIFYING_SQL_DATA_NOT_PERMITTED", "38002")
-class ModifyingSqlDataNotPermittedExt(OperationalError):
+class ModifyingSqlDataNotPermittedExt(
+ OperationalError, code="38002", name="MODIFYING_SQL_DATA_NOT_PERMITTED"
+):
pass
-@sqlcode("PROHIBITED_SQL_STATEMENT_ATTEMPTED", "38003")
-class ProhibitedSqlStatementAttemptedExt(OperationalError):
+class ProhibitedSqlStatementAttemptedExt(
+ OperationalError, code="38003", name="PROHIBITED_SQL_STATEMENT_ATTEMPTED"
+):
pass
-@sqlcode("READING_SQL_DATA_NOT_PERMITTED", "38004")
-class ReadingSqlDataNotPermittedExt(OperationalError):
+class ReadingSqlDataNotPermittedExt(
+ OperationalError, code="38004", name="READING_SQL_DATA_NOT_PERMITTED"
+):
pass
# Class 39 - External Routine Invocation Exception
-@sqlcode("EXTERNAL_ROUTINE_INVOCATION_EXCEPTION", "39000")
-class ExternalRoutineInvocationException(OperationalError):
+class ExternalRoutineInvocationException(
+ OperationalError, code="39000", name="EXTERNAL_ROUTINE_INVOCATION_EXCEPTION"
+):
pass
-@sqlcode("INVALID_SQLSTATE_RETURNED", "39001")
-class InvalidSqlstateReturned(OperationalError):
+class InvalidSqlstateReturned(
+ OperationalError, code="39001", name="INVALID_SQLSTATE_RETURNED"
+):
pass
-@sqlcode("NULL_VALUE_NOT_ALLOWED", "39004")
-class NullValueNotAllowedExt(OperationalError):
+class NullValueNotAllowedExt(
+ OperationalError, code="39004", name="NULL_VALUE_NOT_ALLOWED"
+):
pass
-@sqlcode("TRIGGER_PROTOCOL_VIOLATED", "39P01")
-class TriggerProtocolViolated(OperationalError):
+class TriggerProtocolViolated(
+ OperationalError, code="39P01", name="TRIGGER_PROTOCOL_VIOLATED"
+):
pass
-@sqlcode("SRF_PROTOCOL_VIOLATED", "39P02")
-class SrfProtocolViolated(OperationalError):
+class SrfProtocolViolated(OperationalError, code="39P02", name="SRF_PROTOCOL_VIOLATED"):
pass
-@sqlcode("EVENT_TRIGGER_PROTOCOL_VIOLATED", "39P03")
-class EventTriggerProtocolViolated(OperationalError):
+class EventTriggerProtocolViolated(
+ OperationalError, code="39P03", name="EVENT_TRIGGER_PROTOCOL_VIOLATED"
+):
pass
# Class 3B - Savepoint Exception
-@sqlcode("SAVEPOINT_EXCEPTION", "3B000")
-class SavepointException(OperationalError):
+class SavepointException(OperationalError, code="3B000", name="SAVEPOINT_EXCEPTION"):
pass
-@sqlcode("INVALID_SAVEPOINT_SPECIFICATION", "3B001")
-class InvalidSavepointSpecification(OperationalError):
+class InvalidSavepointSpecification(
+ OperationalError, code="3B001", name="INVALID_SAVEPOINT_SPECIFICATION"
+):
pass
# Class 3D - Invalid Catalog Name
-@sqlcode("INVALID_CATALOG_NAME", "3D000")
-class InvalidCatalogName(ProgrammingError):
+class InvalidCatalogName(ProgrammingError, code="3D000", name="INVALID_CATALOG_NAME"):
pass
# Class 3F - Invalid Schema Name
-@sqlcode("INVALID_SCHEMA_NAME", "3F000")
-class InvalidSchemaName(ProgrammingError):
+class InvalidSchemaName(ProgrammingError, code="3F000", name="INVALID_SCHEMA_NAME"):
pass
# Class 40 - Transaction Rollback
-@sqlcode("TRANSACTION_ROLLBACK", "40000")
-class TransactionRollback(OperationalError):
+class TransactionRollback(OperationalError, code="40000", name="TRANSACTION_ROLLBACK"):
pass
-@sqlcode("SERIALIZATION_FAILURE", "40001")
-class SerializationFailure(OperationalError):
+class SerializationFailure(
+ OperationalError, code="40001", name="SERIALIZATION_FAILURE"
+):
pass
-@sqlcode("TRANSACTION_INTEGRITY_CONSTRAINT_VIOLATION", "40002")
-class TransactionIntegrityConstraintViolation(OperationalError):
+class TransactionIntegrityConstraintViolation(
+ OperationalError, code="40002", name="TRANSACTION_INTEGRITY_CONSTRAINT_VIOLATION"
+):
pass
-@sqlcode("STATEMENT_COMPLETION_UNKNOWN", "40003")
-class StatementCompletionUnknown(OperationalError):
+class StatementCompletionUnknown(
+ OperationalError, code="40003", name="STATEMENT_COMPLETION_UNKNOWN"
+):
pass
-@sqlcode("DEADLOCK_DETECTED", "40P01")
-class DeadlockDetected(OperationalError):
+class DeadlockDetected(OperationalError, code="40P01", name="DEADLOCK_DETECTED"):
pass
# Class 42 - Syntax Error or Access Rule Violation
-@sqlcode("SYNTAX_ERROR_OR_ACCESS_RULE_VIOLATION", "42000")
-class SyntaxErrorOrAccessRuleViolation(ProgrammingError):
+class SyntaxErrorOrAccessRuleViolation(
+ ProgrammingError, code="42000", name="SYNTAX_ERROR_OR_ACCESS_RULE_VIOLATION"
+):
pass
-@sqlcode("INSUFFICIENT_PRIVILEGE", "42501")
-class InsufficientPrivilege(ProgrammingError):
+class InsufficientPrivilege(
+ ProgrammingError, code="42501", name="INSUFFICIENT_PRIVILEGE"
+):
pass
-@sqlcode("SYNTAX_ERROR", "42601")
-class SyntaxError(ProgrammingError):
+class SyntaxError(ProgrammingError, code="42601", name="SYNTAX_ERROR"):
pass
-@sqlcode("INVALID_NAME", "42602")
-class InvalidName(ProgrammingError):
+class InvalidName(ProgrammingError, code="42602", name="INVALID_NAME"):
pass
-@sqlcode("INVALID_COLUMN_DEFINITION", "42611")
-class InvalidColumnDefinition(ProgrammingError):
+class InvalidColumnDefinition(
+ ProgrammingError, code="42611", name="INVALID_COLUMN_DEFINITION"
+):
pass
-@sqlcode("NAME_TOO_LONG", "42622")
-class NameTooLong(ProgrammingError):
+class NameTooLong(ProgrammingError, code="42622", name="NAME_TOO_LONG"):
pass
-@sqlcode("DUPLICATE_COLUMN", "42701")
-class DuplicateColumn(ProgrammingError):
+class DuplicateColumn(ProgrammingError, code="42701", name="DUPLICATE_COLUMN"):
pass
-@sqlcode("AMBIGUOUS_COLUMN", "42702")
-class AmbiguousColumn(ProgrammingError):
+class AmbiguousColumn(ProgrammingError, code="42702", name="AMBIGUOUS_COLUMN"):
pass
-@sqlcode("UNDEFINED_COLUMN", "42703")
-class UndefinedColumn(ProgrammingError):
+class UndefinedColumn(ProgrammingError, code="42703", name="UNDEFINED_COLUMN"):
pass
-@sqlcode("UNDEFINED_OBJECT", "42704")
-class UndefinedObject(ProgrammingError):
+class UndefinedObject(ProgrammingError, code="42704", name="UNDEFINED_OBJECT"):
pass
-@sqlcode("DUPLICATE_OBJECT", "42710")
-class DuplicateObject(ProgrammingError):
+class DuplicateObject(ProgrammingError, code="42710", name="DUPLICATE_OBJECT"):
pass
-@sqlcode("DUPLICATE_ALIAS", "42712")
-class DuplicateAlias(ProgrammingError):
+class DuplicateAlias(ProgrammingError, code="42712", name="DUPLICATE_ALIAS"):
pass
-@sqlcode("DUPLICATE_FUNCTION", "42723")
-class DuplicateFunction(ProgrammingError):
+class DuplicateFunction(ProgrammingError, code="42723", name="DUPLICATE_FUNCTION"):
pass
-@sqlcode("AMBIGUOUS_FUNCTION", "42725")
-class AmbiguousFunction(ProgrammingError):
+class AmbiguousFunction(ProgrammingError, code="42725", name="AMBIGUOUS_FUNCTION"):
pass
-@sqlcode("GROUPING_ERROR", "42803")
-class GroupingError(ProgrammingError):
+class GroupingError(ProgrammingError, code="42803", name="GROUPING_ERROR"):
pass
-@sqlcode("DATATYPE_MISMATCH", "42804")
-class DatatypeMismatch(ProgrammingError):
+class DatatypeMismatch(ProgrammingError, code="42804", name="DATATYPE_MISMATCH"):
pass
-@sqlcode("WRONG_OBJECT_TYPE", "42809")
-class WrongObjectType(ProgrammingError):
+class WrongObjectType(ProgrammingError, code="42809", name="WRONG_OBJECT_TYPE"):
pass
-@sqlcode("INVALID_FOREIGN_KEY", "42830")
-class InvalidForeignKey(ProgrammingError):
+class InvalidForeignKey(ProgrammingError, code="42830", name="INVALID_FOREIGN_KEY"):
pass
-@sqlcode("CANNOT_COERCE", "42846")
-class CannotCoerce(ProgrammingError):
+class CannotCoerce(ProgrammingError, code="42846", name="CANNOT_COERCE"):
pass
-@sqlcode("UNDEFINED_FUNCTION", "42883")
-class UndefinedFunction(ProgrammingError):
+class UndefinedFunction(ProgrammingError, code="42883", name="UNDEFINED_FUNCTION"):
pass
-@sqlcode("GENERATED_ALWAYS", "428C9")
-class GeneratedAlways(ProgrammingError):
+class GeneratedAlways(ProgrammingError, code="428C9", name="GENERATED_ALWAYS"):
pass
-@sqlcode("RESERVED_NAME", "42939")
-class ReservedName(ProgrammingError):
+class ReservedName(ProgrammingError, code="42939", name="RESERVED_NAME"):
pass
-@sqlcode("UNDEFINED_TABLE", "42P01")
-class UndefinedTable(ProgrammingError):
+class UndefinedTable(ProgrammingError, code="42P01", name="UNDEFINED_TABLE"):
pass
-@sqlcode("UNDEFINED_PARAMETER", "42P02")
-class UndefinedParameter(ProgrammingError):
+class UndefinedParameter(ProgrammingError, code="42P02", name="UNDEFINED_PARAMETER"):
pass
-@sqlcode("DUPLICATE_CURSOR", "42P03")
-class DuplicateCursor(ProgrammingError):
+class DuplicateCursor(ProgrammingError, code="42P03", name="DUPLICATE_CURSOR"):
pass
-@sqlcode("DUPLICATE_DATABASE", "42P04")
-class DuplicateDatabase(ProgrammingError):
+class DuplicateDatabase(ProgrammingError, code="42P04", name="DUPLICATE_DATABASE"):
pass
-@sqlcode("DUPLICATE_PREPARED_STATEMENT", "42P05")
-class DuplicatePreparedStatement(ProgrammingError):
+class DuplicatePreparedStatement(
+ ProgrammingError, code="42P05", name="DUPLICATE_PREPARED_STATEMENT"
+):
pass
-@sqlcode("DUPLICATE_SCHEMA", "42P06")
-class DuplicateSchema(ProgrammingError):
+class DuplicateSchema(ProgrammingError, code="42P06", name="DUPLICATE_SCHEMA"):
pass
-@sqlcode("DUPLICATE_TABLE", "42P07")
-class DuplicateTable(ProgrammingError):
+class DuplicateTable(ProgrammingError, code="42P07", name="DUPLICATE_TABLE"):
pass
-@sqlcode("AMBIGUOUS_PARAMETER", "42P08")
-class AmbiguousParameter(ProgrammingError):
+class AmbiguousParameter(ProgrammingError, code="42P08", name="AMBIGUOUS_PARAMETER"):
pass
-@sqlcode("AMBIGUOUS_ALIAS", "42P09")
-class AmbiguousAlias(ProgrammingError):
+class AmbiguousAlias(ProgrammingError, code="42P09", name="AMBIGUOUS_ALIAS"):
pass
-@sqlcode("INVALID_COLUMN_REFERENCE", "42P10")
-class InvalidColumnReference(ProgrammingError):
+class InvalidColumnReference(
+ ProgrammingError, code="42P10", name="INVALID_COLUMN_REFERENCE"
+):
pass
-@sqlcode("INVALID_CURSOR_DEFINITION", "42P11")
-class InvalidCursorDefinition(ProgrammingError):
+class InvalidCursorDefinition(
+ ProgrammingError, code="42P11", name="INVALID_CURSOR_DEFINITION"
+):
pass
-@sqlcode("INVALID_DATABASE_DEFINITION", "42P12")
-class InvalidDatabaseDefinition(ProgrammingError):
+class InvalidDatabaseDefinition(
+ ProgrammingError, code="42P12", name="INVALID_DATABASE_DEFINITION"
+):
pass
-@sqlcode("INVALID_FUNCTION_DEFINITION", "42P13")
-class InvalidFunctionDefinition(ProgrammingError):
+class InvalidFunctionDefinition(
+ ProgrammingError, code="42P13", name="INVALID_FUNCTION_DEFINITION"
+):
pass
-@sqlcode("INVALID_PREPARED_STATEMENT_DEFINITION", "42P14")
-class InvalidPreparedStatementDefinition(ProgrammingError):
+class InvalidPreparedStatementDefinition(
+ ProgrammingError, code="42P14", name="INVALID_PREPARED_STATEMENT_DEFINITION"
+):
pass
-@sqlcode("INVALID_SCHEMA_DEFINITION", "42P15")
-class InvalidSchemaDefinition(ProgrammingError):
+class InvalidSchemaDefinition(
+ ProgrammingError, code="42P15", name="INVALID_SCHEMA_DEFINITION"
+):
pass
-@sqlcode("INVALID_TABLE_DEFINITION", "42P16")
-class InvalidTableDefinition(ProgrammingError):
+class InvalidTableDefinition(
+ ProgrammingError, code="42P16", name="INVALID_TABLE_DEFINITION"
+):
pass
-@sqlcode("INVALID_OBJECT_DEFINITION", "42P17")
-class InvalidObjectDefinition(ProgrammingError):
+class InvalidObjectDefinition(
+ ProgrammingError, code="42P17", name="INVALID_OBJECT_DEFINITION"
+):
pass
-@sqlcode("INDETERMINATE_DATATYPE", "42P18")
-class IndeterminateDatatype(ProgrammingError):
+class IndeterminateDatatype(
+ ProgrammingError, code="42P18", name="INDETERMINATE_DATATYPE"
+):
pass
-@sqlcode("INVALID_RECURSION", "42P19")
-class InvalidRecursion(ProgrammingError):
+class InvalidRecursion(ProgrammingError, code="42P19", name="INVALID_RECURSION"):
pass
-@sqlcode("WINDOWING_ERROR", "42P20")
-class WindowingError(ProgrammingError):
+class WindowingError(ProgrammingError, code="42P20", name="WINDOWING_ERROR"):
pass
-@sqlcode("COLLATION_MISMATCH", "42P21")
-class CollationMismatch(ProgrammingError):
+class CollationMismatch(ProgrammingError, code="42P21", name="COLLATION_MISMATCH"):
pass
-@sqlcode("INDETERMINATE_COLLATION", "42P22")
-class IndeterminateCollation(ProgrammingError):
+class IndeterminateCollation(
+ ProgrammingError, code="42P22", name="INDETERMINATE_COLLATION"
+):
pass
# Class 44 - WITH CHECK OPTION Violation
-@sqlcode("WITH_CHECK_OPTION_VIOLATION", "44000")
-class WithCheckOptionViolation(ProgrammingError):
+class WithCheckOptionViolation(
+ ProgrammingError, code="44000", name="WITH_CHECK_OPTION_VIOLATION"
+):
pass
# Class 53 - Insufficient Resources
-@sqlcode("INSUFFICIENT_RESOURCES", "53000")
-class InsufficientResources(OperationalError):
+class InsufficientResources(
+ OperationalError, code="53000", name="INSUFFICIENT_RESOURCES"
+):
pass
-@sqlcode("DISK_FULL", "53100")
-class DiskFull(OperationalError):
+class DiskFull(OperationalError, code="53100", name="DISK_FULL"):
pass
-@sqlcode("OUT_OF_MEMORY", "53200")
-class OutOfMemory(OperationalError):
+class OutOfMemory(OperationalError, code="53200", name="OUT_OF_MEMORY"):
pass
-@sqlcode("TOO_MANY_CONNECTIONS", "53300")
-class TooManyConnections(OperationalError):
+class TooManyConnections(OperationalError, code="53300", name="TOO_MANY_CONNECTIONS"):
pass
-@sqlcode("CONFIGURATION_LIMIT_EXCEEDED", "53400")
-class ConfigurationLimitExceeded(OperationalError):
+class ConfigurationLimitExceeded(
+ OperationalError, code="53400", name="CONFIGURATION_LIMIT_EXCEEDED"
+):
pass
# Class 54 - Program Limit Exceeded
-@sqlcode("PROGRAM_LIMIT_EXCEEDED", "54000")
-class ProgramLimitExceeded(OperationalError):
+class ProgramLimitExceeded(
+ OperationalError, code="54000", name="PROGRAM_LIMIT_EXCEEDED"
+):
pass
-@sqlcode("STATEMENT_TOO_COMPLEX", "54001")
-class StatementTooComplex(OperationalError):
+class StatementTooComplex(OperationalError, code="54001", name="STATEMENT_TOO_COMPLEX"):
pass
-@sqlcode("TOO_MANY_COLUMNS", "54011")
-class TooManyColumns(OperationalError):
+class TooManyColumns(OperationalError, code="54011", name="TOO_MANY_COLUMNS"):
pass
-@sqlcode("TOO_MANY_ARGUMENTS", "54023")
-class TooManyArguments(OperationalError):
+class TooManyArguments(OperationalError, code="54023", name="TOO_MANY_ARGUMENTS"):
pass
# Class 55 - Object Not In Prerequisite State
-@sqlcode("OBJECT_NOT_IN_PREREQUISITE_STATE", "55000")
-class ObjectNotInPrerequisiteState(OperationalError):
+class ObjectNotInPrerequisiteState(
+ OperationalError, code="55000", name="OBJECT_NOT_IN_PREREQUISITE_STATE"
+):
pass
-@sqlcode("OBJECT_IN_USE", "55006")
-class ObjectInUse(OperationalError):
+class ObjectInUse(OperationalError, code="55006", name="OBJECT_IN_USE"):
pass
-@sqlcode("CANT_CHANGE_RUNTIME_PARAM", "55P02")
-class CantChangeRuntimeParam(OperationalError):
+class CantChangeRuntimeParam(
+ OperationalError, code="55P02", name="CANT_CHANGE_RUNTIME_PARAM"
+):
pass
-@sqlcode("LOCK_NOT_AVAILABLE", "55P03")
-class LockNotAvailable(OperationalError):
+class LockNotAvailable(OperationalError, code="55P03", name="LOCK_NOT_AVAILABLE"):
pass
-@sqlcode("UNSAFE_NEW_ENUM_VALUE_USAGE", "55P04")
-class UnsafeNewEnumValueUsage(OperationalError):
+class UnsafeNewEnumValueUsage(
+ OperationalError, code="55P04", name="UNSAFE_NEW_ENUM_VALUE_USAGE"
+):
pass
# Class 57 - Operator Intervention
-@sqlcode("OPERATOR_INTERVENTION", "57000")
-class OperatorIntervention(OperationalError):
+class OperatorIntervention(
+ OperationalError, code="57000", name="OPERATOR_INTERVENTION"
+):
pass
-@sqlcode("QUERY_CANCELED", "57014")
-class QueryCanceled(OperationalError):
+class QueryCanceled(OperationalError, code="57014", name="QUERY_CANCELED"):
pass
-@sqlcode("ADMIN_SHUTDOWN", "57P01")
-class AdminShutdown(OperationalError):
+class AdminShutdown(OperationalError, code="57P01", name="ADMIN_SHUTDOWN"):
pass
-@sqlcode("CRASH_SHUTDOWN", "57P02")
-class CrashShutdown(OperationalError):
+class CrashShutdown(OperationalError, code="57P02", name="CRASH_SHUTDOWN"):
pass
-@sqlcode("CANNOT_CONNECT_NOW", "57P03")
-class CannotConnectNow(OperationalError):
+class CannotConnectNow(OperationalError, code="57P03", name="CANNOT_CONNECT_NOW"):
pass
-@sqlcode("DATABASE_DROPPED", "57P04")
-class DatabaseDropped(OperationalError):
+class DatabaseDropped(OperationalError, code="57P04", name="DATABASE_DROPPED"):
pass
-@sqlcode("IDLE_SESSION_TIMEOUT", "57P05")
-class IdleSessionTimeout(OperationalError):
+class IdleSessionTimeout(OperationalError, code="57P05", name="IDLE_SESSION_TIMEOUT"):
pass
# Class 58 - System Error (errors external to PostgreSQL itself)
-@sqlcode("SYSTEM_ERROR", "58000")
-class SystemError(OperationalError):
+class SystemError(OperationalError, code="58000", name="SYSTEM_ERROR"):
pass
-@sqlcode("IO_ERROR", "58030")
-class IoError(OperationalError):
+class IoError(OperationalError, code="58030", name="IO_ERROR"):
pass
-@sqlcode("UNDEFINED_FILE", "58P01")
-class UndefinedFile(OperationalError):
+class UndefinedFile(OperationalError, code="58P01", name="UNDEFINED_FILE"):
pass
-@sqlcode("DUPLICATE_FILE", "58P02")
-class DuplicateFile(OperationalError):
+class DuplicateFile(OperationalError, code="58P02", name="DUPLICATE_FILE"):
pass
# Class 72 - Snapshot Failure
-@sqlcode("SNAPSHOT_TOO_OLD", "72000")
-class SnapshotTooOld(DatabaseError):
+class SnapshotTooOld(DatabaseError, code="72000", name="SNAPSHOT_TOO_OLD"):
pass
# Class F0 - Configuration File Error
-@sqlcode("CONFIG_FILE_ERROR", "F0000")
-class ConfigFileError(OperationalError):
+class ConfigFileError(OperationalError, code="F0000", name="CONFIG_FILE_ERROR"):
pass
-@sqlcode("LOCK_FILE_EXISTS", "F0001")
-class LockFileExists(OperationalError):
+class LockFileExists(OperationalError, code="F0001", name="LOCK_FILE_EXISTS"):
pass
# Class HV - Foreign Data Wrapper Error (SQL/MED)
-@sqlcode("FDW_ERROR", "HV000")
-class FdwError(OperationalError):
+class FdwError(OperationalError, code="HV000", name="FDW_ERROR"):
pass
-@sqlcode("FDW_OUT_OF_MEMORY", "HV001")
-class FdwOutOfMemory(OperationalError):
+class FdwOutOfMemory(OperationalError, code="HV001", name="FDW_OUT_OF_MEMORY"):
pass
-@sqlcode("FDW_DYNAMIC_PARAMETER_VALUE_NEEDED", "HV002")
-class FdwDynamicParameterValueNeeded(OperationalError):
+class FdwDynamicParameterValueNeeded(
+ OperationalError, code="HV002", name="FDW_DYNAMIC_PARAMETER_VALUE_NEEDED"
+):
pass
-@sqlcode("FDW_INVALID_DATA_TYPE", "HV004")
-class FdwInvalidDataType(OperationalError):
+class FdwInvalidDataType(OperationalError, code="HV004", name="FDW_INVALID_DATA_TYPE"):
pass
-@sqlcode("FDW_COLUMN_NAME_NOT_FOUND", "HV005")
-class FdwColumnNameNotFound(OperationalError):
+class FdwColumnNameNotFound(
+ OperationalError, code="HV005", name="FDW_COLUMN_NAME_NOT_FOUND"
+):
pass
-@sqlcode("FDW_INVALID_DATA_TYPE_DESCRIPTORS", "HV006")
-class FdwInvalidDataTypeDescriptors(OperationalError):
+class FdwInvalidDataTypeDescriptors(
+ OperationalError, code="HV006", name="FDW_INVALID_DATA_TYPE_DESCRIPTORS"
+):
pass
-@sqlcode("FDW_INVALID_COLUMN_NAME", "HV007")
-class FdwInvalidColumnName(OperationalError):
+class FdwInvalidColumnName(
+ OperationalError, code="HV007", name="FDW_INVALID_COLUMN_NAME"
+):
pass
-@sqlcode("FDW_INVALID_COLUMN_NUMBER", "HV008")
-class FdwInvalidColumnNumber(OperationalError):
+class FdwInvalidColumnNumber(
+ OperationalError, code="HV008", name="FDW_INVALID_COLUMN_NUMBER"
+):
pass
-@sqlcode("FDW_INVALID_USE_OF_NULL_POINTER", "HV009")
-class FdwInvalidUseOfNullPointer(OperationalError):
+class FdwInvalidUseOfNullPointer(
+ OperationalError, code="HV009", name="FDW_INVALID_USE_OF_NULL_POINTER"
+):
pass
-@sqlcode("FDW_INVALID_STRING_FORMAT", "HV00A")
-class FdwInvalidStringFormat(OperationalError):
+class FdwInvalidStringFormat(
+ OperationalError, code="HV00A", name="FDW_INVALID_STRING_FORMAT"
+):
pass
-@sqlcode("FDW_INVALID_HANDLE", "HV00B")
-class FdwInvalidHandle(OperationalError):
+class FdwInvalidHandle(OperationalError, code="HV00B", name="FDW_INVALID_HANDLE"):
pass
-@sqlcode("FDW_INVALID_OPTION_INDEX", "HV00C")
-class FdwInvalidOptionIndex(OperationalError):
+class FdwInvalidOptionIndex(
+ OperationalError, code="HV00C", name="FDW_INVALID_OPTION_INDEX"
+):
pass
-@sqlcode("FDW_INVALID_OPTION_NAME", "HV00D")
-class FdwInvalidOptionName(OperationalError):
+class FdwInvalidOptionName(
+ OperationalError, code="HV00D", name="FDW_INVALID_OPTION_NAME"
+):
pass
-@sqlcode("FDW_OPTION_NAME_NOT_FOUND", "HV00J")
-class FdwOptionNameNotFound(OperationalError):
+class FdwOptionNameNotFound(
+ OperationalError, code="HV00J", name="FDW_OPTION_NAME_NOT_FOUND"
+):
pass
-@sqlcode("FDW_REPLY_HANDLE", "HV00K")
-class FdwReplyHandle(OperationalError):
+class FdwReplyHandle(OperationalError, code="HV00K", name="FDW_REPLY_HANDLE"):
pass
-@sqlcode("FDW_UNABLE_TO_CREATE_EXECUTION", "HV00L")
-class FdwUnableToCreateExecution(OperationalError):
+class FdwUnableToCreateExecution(
+ OperationalError, code="HV00L", name="FDW_UNABLE_TO_CREATE_EXECUTION"
+):
pass
-@sqlcode("FDW_UNABLE_TO_CREATE_REPLY", "HV00M")
-class FdwUnableToCreateReply(OperationalError):
+class FdwUnableToCreateReply(
+ OperationalError, code="HV00M", name="FDW_UNABLE_TO_CREATE_REPLY"
+):
pass
-@sqlcode("FDW_UNABLE_TO_ESTABLISH_CONNECTION", "HV00N")
-class FdwUnableToEstablishConnection(OperationalError):
+class FdwUnableToEstablishConnection(
+ OperationalError, code="HV00N", name="FDW_UNABLE_TO_ESTABLISH_CONNECTION"
+):
pass
-@sqlcode("FDW_NO_SCHEMAS", "HV00P")
-class FdwNoSchemas(OperationalError):
+class FdwNoSchemas(OperationalError, code="HV00P", name="FDW_NO_SCHEMAS"):
pass
-@sqlcode("FDW_SCHEMA_NOT_FOUND", "HV00Q")
-class FdwSchemaNotFound(OperationalError):
+class FdwSchemaNotFound(OperationalError, code="HV00Q", name="FDW_SCHEMA_NOT_FOUND"):
pass
-@sqlcode("FDW_TABLE_NOT_FOUND", "HV00R")
-class FdwTableNotFound(OperationalError):
+class FdwTableNotFound(OperationalError, code="HV00R", name="FDW_TABLE_NOT_FOUND"):
pass
-@sqlcode("FDW_FUNCTION_SEQUENCE_ERROR", "HV010")
-class FdwFunctionSequenceError(OperationalError):
+class FdwFunctionSequenceError(
+ OperationalError, code="HV010", name="FDW_FUNCTION_SEQUENCE_ERROR"
+):
pass
-@sqlcode("FDW_TOO_MANY_HANDLES", "HV014")
-class FdwTooManyHandles(OperationalError):
+class FdwTooManyHandles(OperationalError, code="HV014", name="FDW_TOO_MANY_HANDLES"):
pass
-@sqlcode("FDW_INCONSISTENT_DESCRIPTOR_INFORMATION", "HV021")
-class FdwInconsistentDescriptorInformation(OperationalError):
+class FdwInconsistentDescriptorInformation(
+ OperationalError, code="HV021", name="FDW_INCONSISTENT_DESCRIPTOR_INFORMATION"
+):
pass
-@sqlcode("FDW_INVALID_ATTRIBUTE_VALUE", "HV024")
-class FdwInvalidAttributeValue(OperationalError):
+class FdwInvalidAttributeValue(
+ OperationalError, code="HV024", name="FDW_INVALID_ATTRIBUTE_VALUE"
+):
pass
-@sqlcode("FDW_INVALID_STRING_LENGTH_OR_BUFFER_LENGTH", "HV090")
-class FdwInvalidStringLengthOrBufferLength(OperationalError):
+class FdwInvalidStringLengthOrBufferLength(
+ OperationalError, code="HV090", name="FDW_INVALID_STRING_LENGTH_OR_BUFFER_LENGTH"
+):
pass
-@sqlcode("FDW_INVALID_DESCRIPTOR_FIELD_IDENTIFIER", "HV091")
-class FdwInvalidDescriptorFieldIdentifier(OperationalError):
+class FdwInvalidDescriptorFieldIdentifier(
+ OperationalError, code="HV091", name="FDW_INVALID_DESCRIPTOR_FIELD_IDENTIFIER"
+):
pass
# Class P0 - PL/pgSQL Error
-@sqlcode("PLPGSQL_ERROR", "P0000")
-class PlpgsqlError(ProgrammingError):
+class PlpgsqlError(ProgrammingError, code="P0000", name="PLPGSQL_ERROR"):
pass
-@sqlcode("RAISE_EXCEPTION", "P0001")
-class RaiseException(ProgrammingError):
+class RaiseException(ProgrammingError, code="P0001", name="RAISE_EXCEPTION"):
pass
-@sqlcode("NO_DATA_FOUND", "P0002")
-class NoDataFound(ProgrammingError):
+class NoDataFound(ProgrammingError, code="P0002", name="NO_DATA_FOUND"):
pass
-@sqlcode("TOO_MANY_ROWS", "P0003")
-class TooManyRows(ProgrammingError):
+class TooManyRows(ProgrammingError, code="P0003", name="TOO_MANY_ROWS"):
pass
-@sqlcode("ASSERT_FAILURE", "P0004")
-class AssertFailure(ProgrammingError):
+class AssertFailure(ProgrammingError, code="P0004", name="ASSERT_FAILURE"):
pass
# Class XX - Internal Error
-@sqlcode("INTERNAL_ERROR", "XX000")
-class InternalError_(InternalError):
+class InternalError_(InternalError, code="XX000", name="INTERNAL_ERROR"):
pass
-@sqlcode("DATA_CORRUPTED", "XX001")
-class DataCorrupted(InternalError):
+class DataCorrupted(InternalError, code="XX001", name="DATA_CORRUPTED"):
pass
-@sqlcode("INDEX_CORRUPTED", "XX002")
-class IndexCorrupted(InternalError):
+class IndexCorrupted(InternalError, code="XX002", name="INDEX_CORRUPTED"):
pass