summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorDaniele Varrazzo <daniele.varrazzo@gmail.com>2019-02-07 11:36:44 +0000
committerDaniele Varrazzo <daniele.varrazzo@gmail.com>2019-02-10 03:45:14 +0000
commit30c1befa64fa50159b4fc3b020ae18ae797dfd58 (patch)
tree6d6a3a9a76040b4f198a19b58953fb3118fb56a4 /lib
parentf1e73507d095a71dc1173d0ccd81b6c324e692e2 (diff)
downloadpsycopg2-30c1befa64fa50159b4fc3b020ae18ae797dfd58.tar.gz
SQLSTATE error classes implemented in C
The module is only used to export them to Python.
Diffstat (limited to 'lib')
-rw-r--r--lib/errors.py1331
1 files changed, 27 insertions, 1304 deletions
diff --git a/lib/errors.py b/lib/errors.py
index 99ab0b0..79d3ff4 100644
--- a/lib/errors.py
+++ b/lib/errors.py
@@ -1,13 +1,31 @@
"""Error classes for PostgreSQL error codes
"""
-# Imported for completeness, but unused in this module.
-from psycopg2._psycopg import Error, Warning, InterfaceError # noqa
-
-from psycopg2._psycopg import (
- DataError, DatabaseError, ProgrammingError, IntegrityError,
- InternalError, NotSupportedError, OperationalError,
- QueryCanceledError, TransactionRollbackError)
+# psycopg/errors.py - SQLSTATE and DB-API exceptions
+#
+# Copyright (C) 2018-2019 Daniele Varrazzo <daniele.varrazzo@gmail.com>
+#
+# psycopg2 is free software: you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as published
+# by the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# In addition, as a special exception, the copyright holders give
+# permission to link this program with the OpenSSL library (or with
+# modified versions of OpenSSL that use the same license as OpenSSL),
+# and distribute linked combinations including the two.
+#
+# You must obey the GNU Lesser General Public License in all respects for
+# all of the code used other than OpenSSL.
+#
+# psycopg2 is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
+# License for more details.
+
+#
+# NOTE: the exceptions are injected into this module by the C extention.
+#
def lookup(code):
@@ -15,1300 +33,5 @@ def lookup(code):
Raise `!KeyError` if the code is not found.
"""
- return _by_sqlstate[code]
-
-
-_by_sqlstate = {}
-
-
-def for_sqlstate(state):
- def for_sqlstate_(cls):
- _by_sqlstate[state] = cls
- return cls
- return for_sqlstate_
-
-
-# autogenerated data: do not edit below this point.
-
-
-# Class 02 - No Data (this is also a warning class per the SQL standard)
-
-
-@for_sqlstate('02000')
-class NoData(DatabaseError):
- pass
-
-
-@for_sqlstate('02001')
-class NoAdditionalDynamicResultSetsReturned(DatabaseError):
- pass
-
-
-# Class 03 - SQL Statement Not Yet Complete
-
-
-@for_sqlstate('03000')
-class SqlStatementNotYetComplete(DatabaseError):
- pass
-
-
-# Class 08 - Connection Exception
-
-
-@for_sqlstate('08000')
-class ConnectionException(DatabaseError):
- pass
-
-
-@for_sqlstate('08001')
-class SqlclientUnableToEstablishSqlconnection(DatabaseError):
- pass
-
-
-@for_sqlstate('08003')
-class ConnectionDoesNotExist(DatabaseError):
- pass
-
-
-@for_sqlstate('08004')
-class SqlserverRejectedEstablishmentOfSqlconnection(DatabaseError):
- pass
-
-
-@for_sqlstate('08006')
-class ConnectionFailure(DatabaseError):
- pass
-
-
-@for_sqlstate('08007')
-class TransactionResolutionUnknown(DatabaseError):
- pass
-
-
-@for_sqlstate('08P01')
-class ProtocolViolation(DatabaseError):
- pass
-
-
-# Class 09 - Triggered Action Exception
-
-
-@for_sqlstate('09000')
-class TriggeredActionException(DatabaseError):
- pass
-
-
-# Class 0A - Feature Not Supported
-
-
-@for_sqlstate('0A000')
-class FeatureNotSupported(NotSupportedError):
- pass
-
-
-# Class 0B - Invalid Transaction Initiation
-
-
-@for_sqlstate('0B000')
-class InvalidTransactionInitiation(DatabaseError):
- pass
-
-
-# Class 0F - Locator Exception
-
-
-@for_sqlstate('0F000')
-class LocatorException(DatabaseError):
- pass
-
-
-@for_sqlstate('0F001')
-class InvalidLocatorSpecification(DatabaseError):
- pass
-
-
-# Class 0L - Invalid Grantor
-
-
-@for_sqlstate('0L000')
-class InvalidGrantor(DatabaseError):
- pass
-
-
-@for_sqlstate('0LP01')
-class InvalidGrantOperation(DatabaseError):
- pass
-
-
-# Class 0P - Invalid Role Specification
-
-
-@for_sqlstate('0P000')
-class InvalidRoleSpecification(DatabaseError):
- pass
-
-
-# Class 0Z - Diagnostics Exception
-
-
-@for_sqlstate('0Z000')
-class DiagnosticsException(DatabaseError):
- pass
-
-
-@for_sqlstate('0Z002')
-class StackedDiagnosticsAccessedWithoutActiveHandler(DatabaseError):
- pass
-
-
-# Class 20 - Case Not Found
-
-
-@for_sqlstate('20000')
-class CaseNotFound(ProgrammingError):
- pass
-
-
-# Class 21 - Cardinality Violation
-
-
-@for_sqlstate('21000')
-class CardinalityViolation(ProgrammingError):
- pass
-
-
-# Class 22 - Data Exception
-
-
-@for_sqlstate('22000')
-class DataException(DataError):
- pass
-
-
-@for_sqlstate('22001')
-class StringDataRightTruncation(DataError):
- pass
-
-
-@for_sqlstate('22002')
-class NullValueNoIndicatorParameter(DataError):
- pass
-
-
-@for_sqlstate('22003')
-class NumericValueOutOfRange(DataError):
- pass
-
-
-@for_sqlstate('22004')
-class NullValueNotAllowed(DataError):
- pass
-
-
-@for_sqlstate('22005')
-class ErrorInAssignment(DataError):
- pass
-
-
-@for_sqlstate('22007')
-class InvalidDatetimeFormat(DataError):
- pass
-
-
-@for_sqlstate('22008')
-class DatetimeFieldOverflow(DataError):
- pass
-
-
-@for_sqlstate('22009')
-class InvalidTimeZoneDisplacementValue(DataError):
- pass
-
-
-@for_sqlstate('2200B')
-class EscapeCharacterConflict(DataError):
- pass
-
-
-@for_sqlstate('2200C')
-class InvalidUseOfEscapeCharacter(DataError):
- pass
-
-
-@for_sqlstate('2200D')
-class InvalidEscapeOctet(DataError):
- pass
-
-
-@for_sqlstate('2200F')
-class ZeroLengthCharacterString(DataError):
- pass
-
-
-@for_sqlstate('2200G')
-class MostSpecificTypeMismatch(DataError):
- pass
-
-
-@for_sqlstate('2200H')
-class SequenceGeneratorLimitExceeded(DataError):
- pass
-
-
-@for_sqlstate('2200L')
-class NotAnXmlDocument(DataError):
- pass
-
-
-@for_sqlstate('2200M')
-class InvalidXmlDocument(DataError):
- pass
-
-
-@for_sqlstate('2200N')
-class InvalidXmlContent(DataError):
- pass
-
-
-@for_sqlstate('2200S')
-class InvalidXmlComment(DataError):
- pass
-
-
-@for_sqlstate('2200T')
-class InvalidXmlProcessingInstruction(DataError):
- pass
-
-
-@for_sqlstate('22010')
-class InvalidIndicatorParameterValue(DataError):
- pass
-
-
-@for_sqlstate('22011')
-class SubstringError(DataError):
- pass
-
-
-@for_sqlstate('22012')
-class DivisionByZero(DataError):
- pass
-
-
-@for_sqlstate('22013')
-class InvalidPrecedingOrFollowingSize(DataError):
- pass
-
-
-@for_sqlstate('22014')
-class InvalidArgumentForNtileFunction(DataError):
- pass
-
-
-@for_sqlstate('22015')
-class IntervalFieldOverflow(DataError):
- pass
-
-
-@for_sqlstate('22016')
-class InvalidArgumentForNthValueFunction(DataError):
- pass
-
-
-@for_sqlstate('22018')
-class InvalidCharacterValueForCast(DataError):
- pass
-
-
-@for_sqlstate('22019')
-class InvalidEscapeCharacter(DataError):
- pass
-
-
-@for_sqlstate('2201B')
-class InvalidRegularExpression(DataError):
- pass
-
-
-@for_sqlstate('2201E')
-class InvalidArgumentForLogarithm(DataError):
- pass
-
-
-@for_sqlstate('2201F')
-class InvalidArgumentForPowerFunction(DataError):
- pass
-
-
-@for_sqlstate('2201G')
-class InvalidArgumentForWidthBucketFunction(DataError):
- pass
-
-
-@for_sqlstate('2201W')
-class InvalidRowCountInLimitClause(DataError):
- pass
-
-
-@for_sqlstate('2201X')
-class InvalidRowCountInResultOffsetClause(DataError):
- pass
-
-
-@for_sqlstate('22021')
-class CharacterNotInRepertoire(DataError):
- pass
-
-
-@for_sqlstate('22022')
-class IndicatorOverflow(DataError):
- pass
-
-
-@for_sqlstate('22023')
-class InvalidParameterValue(DataError):
- pass
-
-
-@for_sqlstate('22024')
-class UnterminatedCString(DataError):
- pass
-
-
-@for_sqlstate('22025')
-class InvalidEscapeSequence(DataError):
- pass
-
-
-@for_sqlstate('22026')
-class StringDataLengthMismatch(DataError):
- pass
-
-
-@for_sqlstate('22027')
-class TrimError(DataError):
- pass
-
-
-@for_sqlstate('2202E')
-class ArraySubscriptError(DataError):
- pass
-
-
-@for_sqlstate('2202G')
-class InvalidTablesampleRepeat(DataError):
- pass
-
-
-@for_sqlstate('2202H')
-class InvalidTablesampleArgument(DataError):
- pass
-
-
-@for_sqlstate('22P01')
-class FloatingPointException(DataError):
- pass
-
-
-@for_sqlstate('22P02')
-class InvalidTextRepresentation(DataError):
- pass
-
-
-@for_sqlstate('22P03')
-class InvalidBinaryRepresentation(DataError):
- pass
-
-
-@for_sqlstate('22P04')
-class BadCopyFileFormat(DataError):
- pass
-
-
-@for_sqlstate('22P05')
-class UntranslatableCharacter(DataError):
- pass
-
-
-@for_sqlstate('22P06')
-class NonstandardUseOfEscapeCharacter(DataError):
- pass
-
-
-# Class 23 - Integrity Constraint Violation
-
-
-@for_sqlstate('23000')
-class IntegrityConstraintViolation(IntegrityError):
- pass
-
-
-@for_sqlstate('23001')
-class RestrictViolation(IntegrityError):
- pass
-
-
-@for_sqlstate('23502')
-class NotNullViolation(IntegrityError):
- pass
-
-
-@for_sqlstate('23503')
-class ForeignKeyViolation(IntegrityError):
- pass
-
-
-@for_sqlstate('23505')
-class UniqueViolation(IntegrityError):
- pass
-
-
-@for_sqlstate('23514')
-class CheckViolation(IntegrityError):
- pass
-
-
-@for_sqlstate('23P01')
-class ExclusionViolation(IntegrityError):
- pass
-
-
-# Class 24 - Invalid Cursor State
-
-
-@for_sqlstate('24000')
-class InvalidCursorState(InternalError):
- pass
-
-
-# Class 25 - Invalid Transaction State
-
-
-@for_sqlstate('25000')
-class InvalidTransactionState(InternalError):
- pass
-
-
-@for_sqlstate('25001')
-class ActiveSqlTransaction(InternalError):
- pass
-
-
-@for_sqlstate('25002')
-class BranchTransactionAlreadyActive(InternalError):
- pass
-
-
-@for_sqlstate('25003')
-class InappropriateAccessModeForBranchTransaction(InternalError):
- pass
-
-
-@for_sqlstate('25004')
-class InappropriateIsolationLevelForBranchTransaction(InternalError):
- pass
-
-
-@for_sqlstate('25005')
-class NoActiveSqlTransactionForBranchTransaction(InternalError):
- pass
-
-
-@for_sqlstate('25006')
-class ReadOnlySqlTransaction(InternalError):
- pass
-
-
-@for_sqlstate('25007')
-class SchemaAndDataStatementMixingNotSupported(InternalError):
- pass
-
-
-@for_sqlstate('25008')
-class HeldCursorRequiresSameIsolationLevel(InternalError):
- pass
-
-
-@for_sqlstate('25P01')
-class NoActiveSqlTransaction(InternalError):
- pass
-
-
-@for_sqlstate('25P02')
-class InFailedSqlTransaction(InternalError):
- pass
-
-
-@for_sqlstate('25P03')
-class IdleInTransactionSessionTimeout(InternalError):
- pass
-
-
-# Class 26 - Invalid SQL Statement Name
-
-
-@for_sqlstate('26000')
-class InvalidSqlStatementName(OperationalError):
- pass
-
-
-# Class 27 - Triggered Data Change Violation
-
-
-@for_sqlstate('27000')
-class TriggeredDataChangeViolation(OperationalError):
- pass
-
-
-# Class 28 - Invalid Authorization Specification
-
-
-@for_sqlstate('28000')
-class InvalidAuthorizationSpecification(OperationalError):
- pass
-
-
-@for_sqlstate('28P01')
-class InvalidPassword(OperationalError):
- pass
-
-
-# Class 2B - Dependent Privilege Descriptors Still Exist
-
-
-@for_sqlstate('2B000')
-class DependentPrivilegeDescriptorsStillExist(InternalError):
- pass
-
-
-@for_sqlstate('2BP01')
-class DependentObjectsStillExist(InternalError):
- pass
-
-
-# Class 2D - Invalid Transaction Termination
-
-
-@for_sqlstate('2D000')
-class InvalidTransactionTermination(InternalError):
- pass
-
-
-# Class 2F - SQL Routine Exception
-
-
-@for_sqlstate('2F000')
-class SqlRoutineException(InternalError):
- pass
-
-
-@for_sqlstate('2F002')
-class ModifyingSqlDataNotPermitted(InternalError):
- pass
-
-
-@for_sqlstate('2F003')
-class ProhibitedSqlStatementAttempted(InternalError):
- pass
-
-
-@for_sqlstate('2F004')
-class ReadingSqlDataNotPermitted(InternalError):
- pass
-
-
-@for_sqlstate('2F005')
-class FunctionExecutedNoReturnStatement(InternalError):
- pass
-
-
-# Class 34 - Invalid Cursor Name
-
-
-@for_sqlstate('34000')
-class InvalidCursorName(OperationalError):
- pass
-
-
-# Class 38 - External Routine Exception
-
-
-@for_sqlstate('38000')
-class ExternalRoutineException(InternalError):
- pass
-
-
-@for_sqlstate('38001')
-class ContainingSqlNotPermitted(InternalError):
- pass
-
-
-@for_sqlstate('38002')
-class ModifyingSqlDataNotPermittedExt(InternalError):
- pass
-
-
-@for_sqlstate('38003')
-class ProhibitedSqlStatementAttemptedExt(InternalError):
- pass
-
-
-@for_sqlstate('38004')
-class ReadingSqlDataNotPermittedExt(InternalError):
- pass
-
-
-# Class 39 - External Routine Invocation Exception
-
-
-@for_sqlstate('39000')
-class ExternalRoutineInvocationException(InternalError):
- pass
-
-
-@for_sqlstate('39001')
-class InvalidSqlstateReturned(InternalError):
- pass
-
-
-@for_sqlstate('39004')
-class NullValueNotAllowedExt(InternalError):
- pass
-
-
-@for_sqlstate('39P01')
-class TriggerProtocolViolated(InternalError):
- pass
-
-
-@for_sqlstate('39P02')
-class SrfProtocolViolated(InternalError):
- pass
-
-
-@for_sqlstate('39P03')
-class EventTriggerProtocolViolated(InternalError):
- pass
-
-
-# Class 3B - Savepoint Exception
-
-
-@for_sqlstate('3B000')
-class SavepointException(InternalError):
- pass
-
-
-@for_sqlstate('3B001')
-class InvalidSavepointSpecification(InternalError):
- pass
-
-
-# Class 3D - Invalid Catalog Name
-
-
-@for_sqlstate('3D000')
-class InvalidCatalogName(ProgrammingError):
- pass
-
-
-# Class 3F - Invalid Schema Name
-
-
-@for_sqlstate('3F000')
-class InvalidSchemaName(ProgrammingError):
- pass
-
-
-# Class 40 - Transaction Rollback
-
-
-@for_sqlstate('40000')
-class TransactionRollback(TransactionRollbackError):
- pass
-
-
-@for_sqlstate('40001')
-class SerializationFailure(TransactionRollbackError):
- pass
-
-
-@for_sqlstate('40002')
-class TransactionIntegrityConstraintViolation(TransactionRollbackError):
- pass
-
-
-@for_sqlstate('40003')
-class StatementCompletionUnknown(TransactionRollbackError):
- pass
-
-
-@for_sqlstate('40P01')
-class DeadlockDetected(TransactionRollbackError):
- pass
-
-
-# Class 42 - Syntax Error or Access Rule Violation
-
-
-@for_sqlstate('42000')
-class SyntaxErrorOrAccessRuleViolation(ProgrammingError):
- pass
-
-
-@for_sqlstate('42501')
-class InsufficientPrivilege(ProgrammingError):
- pass
-
-
-@for_sqlstate('42601')
-class SyntaxError(ProgrammingError):
- pass
-
-
-@for_sqlstate('42602')
-class InvalidName(ProgrammingError):
- pass
-
-
-@for_sqlstate('42611')
-class InvalidColumnDefinition(ProgrammingError):
- pass
-
-
-@for_sqlstate('42622')
-class NameTooLong(ProgrammingError):
- pass
-
-
-@for_sqlstate('42701')
-class DuplicateColumn(ProgrammingError):
- pass
-
-
-@for_sqlstate('42702')
-class AmbiguousColumn(ProgrammingError):
- pass
-
-
-@for_sqlstate('42703')
-class UndefinedColumn(ProgrammingError):
- pass
-
-
-@for_sqlstate('42704')
-class UndefinedObject(ProgrammingError):
- pass
-
-
-@for_sqlstate('42710')
-class DuplicateObject(ProgrammingError):
- pass
-
-
-@for_sqlstate('42712')
-class DuplicateAlias(ProgrammingError):
- pass
-
-
-@for_sqlstate('42723')
-class DuplicateFunction(ProgrammingError):
- pass
-
-
-@for_sqlstate('42725')
-class AmbiguousFunction(ProgrammingError):
- pass
-
-
-@for_sqlstate('42803')
-class GroupingError(ProgrammingError):
- pass
-
-
-@for_sqlstate('42804')
-class DatatypeMismatch(ProgrammingError):
- pass
-
-
-@for_sqlstate('42809')
-class WrongObjectType(ProgrammingError):
- pass
-
-
-@for_sqlstate('42830')
-class InvalidForeignKey(ProgrammingError):
- pass
-
-
-@for_sqlstate('42846')
-class CannotCoerce(ProgrammingError):
- pass
-
-
-@for_sqlstate('42883')
-class UndefinedFunction(ProgrammingError):
- pass
-
-
-@for_sqlstate('428C9')
-class GeneratedAlways(ProgrammingError):
- pass
-
-
-@for_sqlstate('42939')
-class ReservedName(ProgrammingError):
- pass
-
-
-@for_sqlstate('42P01')
-class UndefinedTable(ProgrammingError):
- pass
-
-
-@for_sqlstate('42P02')
-class UndefinedParameter(ProgrammingError):
- pass
-
-
-@for_sqlstate('42P03')
-class DuplicateCursor(ProgrammingError):
- pass
-
-
-@for_sqlstate('42P04')
-class DuplicateDatabase(ProgrammingError):
- pass
-
-
-@for_sqlstate('42P05')
-class DuplicatePreparedStatement(ProgrammingError):
- pass
-
-
-@for_sqlstate('42P06')
-class DuplicateSchema(ProgrammingError):
- pass
-
-
-@for_sqlstate('42P07')
-class DuplicateTable(ProgrammingError):
- pass
-
-
-@for_sqlstate('42P08')
-class AmbiguousParameter(ProgrammingError):
- pass
-
-
-@for_sqlstate('42P09')
-class AmbiguousAlias(ProgrammingError):
- pass
-
-
-@for_sqlstate('42P10')
-class InvalidColumnReference(ProgrammingError):
- pass
-
-
-@for_sqlstate('42P11')
-class InvalidCursorDefinition(ProgrammingError):
- pass
-
-
-@for_sqlstate('42P12')
-class InvalidDatabaseDefinition(ProgrammingError):
- pass
-
-
-@for_sqlstate('42P13')
-class InvalidFunctionDefinition(ProgrammingError):
- pass
-
-
-@for_sqlstate('42P14')
-class InvalidPreparedStatementDefinition(ProgrammingError):
- pass
-
-
-@for_sqlstate('42P15')
-class InvalidSchemaDefinition(ProgrammingError):
- pass
-
-
-@for_sqlstate('42P16')
-class InvalidTableDefinition(ProgrammingError):
- pass
-
-
-@for_sqlstate('42P17')
-class InvalidObjectDefinition(ProgrammingError):
- pass
-
-
-@for_sqlstate('42P18')
-class IndeterminateDatatype(ProgrammingError):
- pass
-
-
-@for_sqlstate('42P19')
-class InvalidRecursion(ProgrammingError):
- pass
-
-
-@for_sqlstate('42P20')
-class WindowingError(ProgrammingError):
- pass
-
-
-@for_sqlstate('42P21')
-class CollationMismatch(ProgrammingError):
- pass
-
-
-@for_sqlstate('42P22')
-class IndeterminateCollation(ProgrammingError):
- pass
-
-
-# Class 44 - WITH CHECK OPTION Violation
-
-
-@for_sqlstate('44000')
-class WithCheckOptionViolation(ProgrammingError):
- pass
-
-
-# Class 53 - Insufficient Resources
-
-
-@for_sqlstate('53000')
-class InsufficientResources(OperationalError):
- pass
-
-
-@for_sqlstate('53100')
-class DiskFull(OperationalError):
- pass
-
-
-@for_sqlstate('53200')
-class OutOfMemory(OperationalError):
- pass
-
-
-@for_sqlstate('53300')
-class TooManyConnections(OperationalError):
- pass
-
-
-@for_sqlstate('53400')
-class ConfigurationLimitExceeded(OperationalError):
- pass
-
-
-# Class 54 - Program Limit Exceeded
-
-
-@for_sqlstate('54000')
-class ProgramLimitExceeded(OperationalError):
- pass
-
-
-@for_sqlstate('54001')
-class StatementTooComplex(OperationalError):
- pass
-
-
-@for_sqlstate('54011')
-class TooManyColumns(OperationalError):
- pass
-
-
-@for_sqlstate('54023')
-class TooManyArguments(OperationalError):
- pass
-
-
-# Class 55 - Object Not In Prerequisite State
-
-
-@for_sqlstate('55000')
-class ObjectNotInPrerequisiteState(OperationalError):
- pass
-
-
-@for_sqlstate('55006')
-class ObjectInUse(OperationalError):
- pass
-
-
-@for_sqlstate('55P02')
-class CantChangeRuntimeParam(OperationalError):
- pass
-
-
-@for_sqlstate('55P03')
-class LockNotAvailable(OperationalError):
- pass
-
-
-# Class 57 - Operator Intervention
-
-
-@for_sqlstate('57000')
-class OperatorIntervention(OperationalError):
- pass
-
-
-@for_sqlstate('57014')
-class QueryCanceled(QueryCanceledError):
- pass
-
-
-@for_sqlstate('57P01')
-class AdminShutdown(OperationalError):
- pass
-
-
-@for_sqlstate('57P02')
-class CrashShutdown(OperationalError):
- pass
-
-
-@for_sqlstate('57P03')
-class CannotConnectNow(OperationalError):
- pass
-
-
-@for_sqlstate('57P04')
-class DatabaseDropped(OperationalError):
- pass
-
-
-# Class 58 - System Error (errors external to PostgreSQL itself)
-
-
-@for_sqlstate('58000')
-class SystemError(OperationalError):
- pass
-
-
-@for_sqlstate('58030')
-class IoError(OperationalError):
- pass
-
-
-@for_sqlstate('58P01')
-class UndefinedFile(OperationalError):
- pass
-
-
-@for_sqlstate('58P02')
-class DuplicateFile(OperationalError):
- pass
-
-
-# Class 72 - Snapshot Failure
-
-
-@for_sqlstate('72000')
-class SnapshotTooOld(DatabaseError):
- pass
-
-
-# Class F0 - Configuration File Error
-
-
-@for_sqlstate('F0000')
-class ConfigFileError(InternalError):
- pass
-
-
-@for_sqlstate('F0001')
-class LockFileExists(InternalError):
- pass
-
-
-# Class HV - Foreign Data Wrapper Error (SQL/MED)
-
-
-@for_sqlstate('HV000')
-class FdwError(OperationalError):
- pass
-
-
-@for_sqlstate('HV001')
-class FdwOutOfMemory(OperationalError):
- pass
-
-
-@for_sqlstate('HV002')
-class FdwDynamicParameterValueNeeded(OperationalError):
- pass
-
-
-@for_sqlstate('HV004')
-class FdwInvalidDataType(OperationalError):
- pass
-
-
-@for_sqlstate('HV005')
-class FdwColumnNameNotFound(OperationalError):
- pass
-
-
-@for_sqlstate('HV006')
-class FdwInvalidDataTypeDescriptors(OperationalError):
- pass
-
-
-@for_sqlstate('HV007')
-class FdwInvalidColumnName(OperationalError):
- pass
-
-
-@for_sqlstate('HV008')
-class FdwInvalidColumnNumber(OperationalError):
- pass
-
-
-@for_sqlstate('HV009')
-class FdwInvalidUseOfNullPointer(OperationalError):
- pass
-
-
-@for_sqlstate('HV00A')
-class FdwInvalidStringFormat(OperationalError):
- pass
-
-
-@for_sqlstate('HV00B')
-class FdwInvalidHandle(OperationalError):
- pass
-
-
-@for_sqlstate('HV00C')
-class FdwInvalidOptionIndex(OperationalError):
- pass
-
-
-@for_sqlstate('HV00D')
-class FdwInvalidOptionName(OperationalError):
- pass
-
-
-@for_sqlstate('HV00J')
-class FdwOptionNameNotFound(OperationalError):
- pass
-
-
-@for_sqlstate('HV00K')
-class FdwReplyHandle(OperationalError):
- pass
-
-
-@for_sqlstate('HV00L')
-class FdwUnableToCreateExecution(OperationalError):
- pass
-
-
-@for_sqlstate('HV00M')
-class FdwUnableToCreateReply(OperationalError):
- pass
-
-
-@for_sqlstate('HV00N')
-class FdwUnableToEstablishConnection(OperationalError):
- pass
-
-
-@for_sqlstate('HV00P')
-class FdwNoSchemas(OperationalError):
- pass
-
-
-@for_sqlstate('HV00Q')
-class FdwSchemaNotFound(OperationalError):
- pass
-
-
-@for_sqlstate('HV00R')
-class FdwTableNotFound(OperationalError):
- pass
-
-
-@for_sqlstate('HV010')
-class FdwFunctionSequenceError(OperationalError):
- pass
-
-
-@for_sqlstate('HV014')
-class FdwTooManyHandles(OperationalError):
- pass
-
-
-@for_sqlstate('HV021')
-class FdwInconsistentDescriptorInformation(OperationalError):
- pass
-
-
-@for_sqlstate('HV024')
-class FdwInvalidAttributeValue(OperationalError):
- pass
-
-
-@for_sqlstate('HV090')
-class FdwInvalidStringLengthOrBufferLength(OperationalError):
- pass
-
-
-@for_sqlstate('HV091')
-class FdwInvalidDescriptorFieldIdentifier(OperationalError):
- pass
-
-
-# Class P0 - PL/pgSQL Error
-
-
-@for_sqlstate('P0000')
-class PlpgsqlError(InternalError):
- pass
-
-
-@for_sqlstate('P0001')
-class RaiseException(InternalError):
- pass
-
-
-@for_sqlstate('P0002')
-class NoDataFound(InternalError):
- pass
-
-
-@for_sqlstate('P0003')
-class TooManyRows(InternalError):
- pass
-
-
-@for_sqlstate('P0004')
-class AssertFailure(InternalError):
- pass
-
-
-# Class XX - Internal Error
-
-
-@for_sqlstate('XX000')
-class InternalError_(InternalError):
- pass
-
-
-@for_sqlstate('XX001')
-class DataCorrupted(InternalError):
- pass
-
-
-@for_sqlstate('XX002')
-class IndexCorrupted(InternalError):
- pass
+ from psycopg2._psycopg import sqlstate_errors # avoid circular import
+ return sqlstate_errors[code]