Coverage for /var/srv/projects/api.amasfac.comuna18.com/tmp/venv/lib/python3.9/site-packages/psycopg2/errorcodes.py: 95%
314 statements
« prev ^ index » next coverage.py v6.4.4, created at 2023-07-17 14:22 -0600
« prev ^ index » next coverage.py v6.4.4, created at 2023-07-17 14:22 -0600
1"""Error codes for PostgreSQL
3This module contains symbolic names for all PostgreSQL error codes.
4"""
5# psycopg2/errorcodes.py - PostgreSQL error codes
6#
7# Copyright (C) 2006-2019 Johan Dahlin <jdahlin@async.com.br>
8# Copyright (C) 2020-2021 The Psycopg Team
9#
10# psycopg2 is free software: you can redistribute it and/or modify it
11# under the terms of the GNU Lesser General Public License as published
12# by the Free Software Foundation, either version 3 of the License, or
13# (at your option) any later version.
14#
15# In addition, as a special exception, the copyright holders give
16# permission to link this program with the OpenSSL library (or with
17# modified versions of OpenSSL that use the same license as OpenSSL),
18# and distribute linked combinations including the two.
19#
20# You must obey the GNU Lesser General Public License in all respects for
21# all of the code used other than OpenSSL.
22#
23# psycopg2 is distributed in the hope that it will be useful, but WITHOUT
24# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
25# FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
26# License for more details.
27#
28# Based on:
29#
30# https://www.postgresql.org/docs/current/static/errcodes-appendix.html
31#
34def lookup(code, _cache={}):
35 """Lookup an error code or class code and return its symbolic name.
37 Raise `KeyError` if the code is not found.
38 """
39 if _cache:
40 return _cache[code]
42 # Generate the lookup map at first usage.
43 tmp = {}
44 for k, v in globals().items():
45 if isinstance(v, str) and len(v) in (2, 5):
46 # Strip trailing underscore used to disambiguate duplicate values
47 tmp[v] = k.rstrip("_")
49 assert tmp
51 # Atomic update, to avoid race condition on import (bug #382)
52 _cache.update(tmp)
54 return _cache[code]
57# autogenerated data: do not edit below this point.
59# Error classes
60CLASS_SUCCESSFUL_COMPLETION = '00'
61CLASS_WARNING = '01'
62CLASS_NO_DATA = '02'
63CLASS_SQL_STATEMENT_NOT_YET_COMPLETE = '03'
64CLASS_CONNECTION_EXCEPTION = '08'
65CLASS_TRIGGERED_ACTION_EXCEPTION = '09'
66CLASS_FEATURE_NOT_SUPPORTED = '0A'
67CLASS_INVALID_TRANSACTION_INITIATION = '0B'
68CLASS_LOCATOR_EXCEPTION = '0F'
69CLASS_INVALID_GRANTOR = '0L'
70CLASS_INVALID_ROLE_SPECIFICATION = '0P'
71CLASS_DIAGNOSTICS_EXCEPTION = '0Z'
72CLASS_CASE_NOT_FOUND = '20'
73CLASS_CARDINALITY_VIOLATION = '21'
74CLASS_DATA_EXCEPTION = '22'
75CLASS_INTEGRITY_CONSTRAINT_VIOLATION = '23'
76CLASS_INVALID_CURSOR_STATE = '24'
77CLASS_INVALID_TRANSACTION_STATE = '25'
78CLASS_INVALID_SQL_STATEMENT_NAME = '26'
79CLASS_TRIGGERED_DATA_CHANGE_VIOLATION = '27'
80CLASS_INVALID_AUTHORIZATION_SPECIFICATION = '28'
81CLASS_DEPENDENT_PRIVILEGE_DESCRIPTORS_STILL_EXIST = '2B'
82CLASS_INVALID_TRANSACTION_TERMINATION = '2D'
83CLASS_SQL_ROUTINE_EXCEPTION = '2F'
84CLASS_INVALID_CURSOR_NAME = '34'
85CLASS_EXTERNAL_ROUTINE_EXCEPTION = '38'
86CLASS_EXTERNAL_ROUTINE_INVOCATION_EXCEPTION = '39'
87CLASS_SAVEPOINT_EXCEPTION = '3B'
88CLASS_INVALID_CATALOG_NAME = '3D'
89CLASS_INVALID_SCHEMA_NAME = '3F'
90CLASS_TRANSACTION_ROLLBACK = '40'
91CLASS_SYNTAX_ERROR_OR_ACCESS_RULE_VIOLATION = '42'
92CLASS_WITH_CHECK_OPTION_VIOLATION = '44'
93CLASS_INSUFFICIENT_RESOURCES = '53'
94CLASS_PROGRAM_LIMIT_EXCEEDED = '54'
95CLASS_OBJECT_NOT_IN_PREREQUISITE_STATE = '55'
96CLASS_OPERATOR_INTERVENTION = '57'
97CLASS_SYSTEM_ERROR = '58'
98CLASS_SNAPSHOT_FAILURE = '72'
99CLASS_CONFIGURATION_FILE_ERROR = 'F0'
100CLASS_FOREIGN_DATA_WRAPPER_ERROR = 'HV'
101CLASS_PL_PGSQL_ERROR = 'P0'
102CLASS_INTERNAL_ERROR = 'XX'
104# Class 00 - Successful Completion
105SUCCESSFUL_COMPLETION = '00000'
107# Class 01 - Warning
108WARNING = '01000'
109NULL_VALUE_ELIMINATED_IN_SET_FUNCTION = '01003'
110STRING_DATA_RIGHT_TRUNCATION_ = '01004'
111PRIVILEGE_NOT_REVOKED = '01006'
112PRIVILEGE_NOT_GRANTED = '01007'
113IMPLICIT_ZERO_BIT_PADDING = '01008'
114DYNAMIC_RESULT_SETS_RETURNED = '0100C'
115DEPRECATED_FEATURE = '01P01'
117# Class 02 - No Data (this is also a warning class per the SQL standard)
118NO_DATA = '02000'
119NO_ADDITIONAL_DYNAMIC_RESULT_SETS_RETURNED = '02001'
121# Class 03 - SQL Statement Not Yet Complete
122SQL_STATEMENT_NOT_YET_COMPLETE = '03000'
124# Class 08 - Connection Exception
125CONNECTION_EXCEPTION = '08000'
126SQLCLIENT_UNABLE_TO_ESTABLISH_SQLCONNECTION = '08001'
127CONNECTION_DOES_NOT_EXIST = '08003'
128SQLSERVER_REJECTED_ESTABLISHMENT_OF_SQLCONNECTION = '08004'
129CONNECTION_FAILURE = '08006'
130TRANSACTION_RESOLUTION_UNKNOWN = '08007'
131PROTOCOL_VIOLATION = '08P01'
133# Class 09 - Triggered Action Exception
134TRIGGERED_ACTION_EXCEPTION = '09000'
136# Class 0A - Feature Not Supported
137FEATURE_NOT_SUPPORTED = '0A000'
139# Class 0B - Invalid Transaction Initiation
140INVALID_TRANSACTION_INITIATION = '0B000'
142# Class 0F - Locator Exception
143LOCATOR_EXCEPTION = '0F000'
144INVALID_LOCATOR_SPECIFICATION = '0F001'
146# Class 0L - Invalid Grantor
147INVALID_GRANTOR = '0L000'
148INVALID_GRANT_OPERATION = '0LP01'
150# Class 0P - Invalid Role Specification
151INVALID_ROLE_SPECIFICATION = '0P000'
153# Class 0Z - Diagnostics Exception
154DIAGNOSTICS_EXCEPTION = '0Z000'
155STACKED_DIAGNOSTICS_ACCESSED_WITHOUT_ACTIVE_HANDLER = '0Z002'
157# Class 20 - Case Not Found
158CASE_NOT_FOUND = '20000'
160# Class 21 - Cardinality Violation
161CARDINALITY_VIOLATION = '21000'
163# Class 22 - Data Exception
164DATA_EXCEPTION = '22000'
165STRING_DATA_RIGHT_TRUNCATION = '22001'
166NULL_VALUE_NO_INDICATOR_PARAMETER = '22002'
167NUMERIC_VALUE_OUT_OF_RANGE = '22003'
168NULL_VALUE_NOT_ALLOWED_ = '22004'
169ERROR_IN_ASSIGNMENT = '22005'
170INVALID_DATETIME_FORMAT = '22007'
171DATETIME_FIELD_OVERFLOW = '22008'
172INVALID_TIME_ZONE_DISPLACEMENT_VALUE = '22009'
173ESCAPE_CHARACTER_CONFLICT = '2200B'
174INVALID_USE_OF_ESCAPE_CHARACTER = '2200C'
175INVALID_ESCAPE_OCTET = '2200D'
176ZERO_LENGTH_CHARACTER_STRING = '2200F'
177MOST_SPECIFIC_TYPE_MISMATCH = '2200G'
178SEQUENCE_GENERATOR_LIMIT_EXCEEDED = '2200H'
179NOT_AN_XML_DOCUMENT = '2200L'
180INVALID_XML_DOCUMENT = '2200M'
181INVALID_XML_CONTENT = '2200N'
182INVALID_XML_COMMENT = '2200S'
183INVALID_XML_PROCESSING_INSTRUCTION = '2200T'
184INVALID_INDICATOR_PARAMETER_VALUE = '22010'
185SUBSTRING_ERROR = '22011'
186DIVISION_BY_ZERO = '22012'
187INVALID_PRECEDING_OR_FOLLOWING_SIZE = '22013'
188INVALID_ARGUMENT_FOR_NTILE_FUNCTION = '22014'
189INTERVAL_FIELD_OVERFLOW = '22015'
190INVALID_ARGUMENT_FOR_NTH_VALUE_FUNCTION = '22016'
191INVALID_CHARACTER_VALUE_FOR_CAST = '22018'
192INVALID_ESCAPE_CHARACTER = '22019'
193INVALID_REGULAR_EXPRESSION = '2201B'
194INVALID_ARGUMENT_FOR_LOGARITHM = '2201E'
195INVALID_ARGUMENT_FOR_POWER_FUNCTION = '2201F'
196INVALID_ARGUMENT_FOR_WIDTH_BUCKET_FUNCTION = '2201G'
197INVALID_ROW_COUNT_IN_LIMIT_CLAUSE = '2201W'
198INVALID_ROW_COUNT_IN_RESULT_OFFSET_CLAUSE = '2201X'
199INVALID_LIMIT_VALUE = '22020'
200CHARACTER_NOT_IN_REPERTOIRE = '22021'
201INDICATOR_OVERFLOW = '22022'
202INVALID_PARAMETER_VALUE = '22023'
203UNTERMINATED_C_STRING = '22024'
204INVALID_ESCAPE_SEQUENCE = '22025'
205STRING_DATA_LENGTH_MISMATCH = '22026'
206TRIM_ERROR = '22027'
207ARRAY_SUBSCRIPT_ERROR = '2202E'
208INVALID_TABLESAMPLE_REPEAT = '2202G'
209INVALID_TABLESAMPLE_ARGUMENT = '2202H'
210DUPLICATE_JSON_OBJECT_KEY_VALUE = '22030'
211INVALID_ARGUMENT_FOR_SQL_JSON_DATETIME_FUNCTION = '22031'
212INVALID_JSON_TEXT = '22032'
213INVALID_SQL_JSON_SUBSCRIPT = '22033'
214MORE_THAN_ONE_SQL_JSON_ITEM = '22034'
215NO_SQL_JSON_ITEM = '22035'
216NON_NUMERIC_SQL_JSON_ITEM = '22036'
217NON_UNIQUE_KEYS_IN_A_JSON_OBJECT = '22037'
218SINGLETON_SQL_JSON_ITEM_REQUIRED = '22038'
219SQL_JSON_ARRAY_NOT_FOUND = '22039'
220SQL_JSON_MEMBER_NOT_FOUND = '2203A'
221SQL_JSON_NUMBER_NOT_FOUND = '2203B'
222SQL_JSON_OBJECT_NOT_FOUND = '2203C'
223TOO_MANY_JSON_ARRAY_ELEMENTS = '2203D'
224TOO_MANY_JSON_OBJECT_MEMBERS = '2203E'
225SQL_JSON_SCALAR_REQUIRED = '2203F'
226SQL_JSON_ITEM_CANNOT_BE_CAST_TO_TARGET_TYPE = '2203G'
227FLOATING_POINT_EXCEPTION = '22P01'
228INVALID_TEXT_REPRESENTATION = '22P02'
229INVALID_BINARY_REPRESENTATION = '22P03'
230BAD_COPY_FILE_FORMAT = '22P04'
231UNTRANSLATABLE_CHARACTER = '22P05'
232NONSTANDARD_USE_OF_ESCAPE_CHARACTER = '22P06'
234# Class 23 - Integrity Constraint Violation
235INTEGRITY_CONSTRAINT_VIOLATION = '23000'
236RESTRICT_VIOLATION = '23001'
237NOT_NULL_VIOLATION = '23502'
238FOREIGN_KEY_VIOLATION = '23503'
239UNIQUE_VIOLATION = '23505'
240CHECK_VIOLATION = '23514'
241EXCLUSION_VIOLATION = '23P01'
243# Class 24 - Invalid Cursor State
244INVALID_CURSOR_STATE = '24000'
246# Class 25 - Invalid Transaction State
247INVALID_TRANSACTION_STATE = '25000'
248ACTIVE_SQL_TRANSACTION = '25001'
249BRANCH_TRANSACTION_ALREADY_ACTIVE = '25002'
250INAPPROPRIATE_ACCESS_MODE_FOR_BRANCH_TRANSACTION = '25003'
251INAPPROPRIATE_ISOLATION_LEVEL_FOR_BRANCH_TRANSACTION = '25004'
252NO_ACTIVE_SQL_TRANSACTION_FOR_BRANCH_TRANSACTION = '25005'
253READ_ONLY_SQL_TRANSACTION = '25006'
254SCHEMA_AND_DATA_STATEMENT_MIXING_NOT_SUPPORTED = '25007'
255HELD_CURSOR_REQUIRES_SAME_ISOLATION_LEVEL = '25008'
256NO_ACTIVE_SQL_TRANSACTION = '25P01'
257IN_FAILED_SQL_TRANSACTION = '25P02'
258IDLE_IN_TRANSACTION_SESSION_TIMEOUT = '25P03'
260# Class 26 - Invalid SQL Statement Name
261INVALID_SQL_STATEMENT_NAME = '26000'
263# Class 27 - Triggered Data Change Violation
264TRIGGERED_DATA_CHANGE_VIOLATION = '27000'
266# Class 28 - Invalid Authorization Specification
267INVALID_AUTHORIZATION_SPECIFICATION = '28000'
268INVALID_PASSWORD = '28P01'
270# Class 2B - Dependent Privilege Descriptors Still Exist
271DEPENDENT_PRIVILEGE_DESCRIPTORS_STILL_EXIST = '2B000'
272DEPENDENT_OBJECTS_STILL_EXIST = '2BP01'
274# Class 2D - Invalid Transaction Termination
275INVALID_TRANSACTION_TERMINATION = '2D000'
277# Class 2F - SQL Routine Exception
278SQL_ROUTINE_EXCEPTION = '2F000'
279MODIFYING_SQL_DATA_NOT_PERMITTED_ = '2F002'
280PROHIBITED_SQL_STATEMENT_ATTEMPTED_ = '2F003'
281READING_SQL_DATA_NOT_PERMITTED_ = '2F004'
282FUNCTION_EXECUTED_NO_RETURN_STATEMENT = '2F005'
284# Class 34 - Invalid Cursor Name
285INVALID_CURSOR_NAME = '34000'
287# Class 38 - External Routine Exception
288EXTERNAL_ROUTINE_EXCEPTION = '38000'
289CONTAINING_SQL_NOT_PERMITTED = '38001'
290MODIFYING_SQL_DATA_NOT_PERMITTED = '38002'
291PROHIBITED_SQL_STATEMENT_ATTEMPTED = '38003'
292READING_SQL_DATA_NOT_PERMITTED = '38004'
294# Class 39 - External Routine Invocation Exception
295EXTERNAL_ROUTINE_INVOCATION_EXCEPTION = '39000'
296INVALID_SQLSTATE_RETURNED = '39001'
297NULL_VALUE_NOT_ALLOWED = '39004'
298TRIGGER_PROTOCOL_VIOLATED = '39P01'
299SRF_PROTOCOL_VIOLATED = '39P02'
300EVENT_TRIGGER_PROTOCOL_VIOLATED = '39P03'
302# Class 3B - Savepoint Exception
303SAVEPOINT_EXCEPTION = '3B000'
304INVALID_SAVEPOINT_SPECIFICATION = '3B001'
306# Class 3D - Invalid Catalog Name
307INVALID_CATALOG_NAME = '3D000'
309# Class 3F - Invalid Schema Name
310INVALID_SCHEMA_NAME = '3F000'
312# Class 40 - Transaction Rollback
313TRANSACTION_ROLLBACK = '40000'
314SERIALIZATION_FAILURE = '40001'
315TRANSACTION_INTEGRITY_CONSTRAINT_VIOLATION = '40002'
316STATEMENT_COMPLETION_UNKNOWN = '40003'
317DEADLOCK_DETECTED = '40P01'
319# Class 42 - Syntax Error or Access Rule Violation
320SYNTAX_ERROR_OR_ACCESS_RULE_VIOLATION = '42000'
321INSUFFICIENT_PRIVILEGE = '42501'
322SYNTAX_ERROR = '42601'
323INVALID_NAME = '42602'
324INVALID_COLUMN_DEFINITION = '42611'
325NAME_TOO_LONG = '42622'
326DUPLICATE_COLUMN = '42701'
327AMBIGUOUS_COLUMN = '42702'
328UNDEFINED_COLUMN = '42703'
329UNDEFINED_OBJECT = '42704'
330DUPLICATE_OBJECT = '42710'
331DUPLICATE_ALIAS = '42712'
332DUPLICATE_FUNCTION = '42723'
333AMBIGUOUS_FUNCTION = '42725'
334GROUPING_ERROR = '42803'
335DATATYPE_MISMATCH = '42804'
336WRONG_OBJECT_TYPE = '42809'
337INVALID_FOREIGN_KEY = '42830'
338CANNOT_COERCE = '42846'
339UNDEFINED_FUNCTION = '42883'
340GENERATED_ALWAYS = '428C9'
341RESERVED_NAME = '42939'
342UNDEFINED_TABLE = '42P01'
343UNDEFINED_PARAMETER = '42P02'
344DUPLICATE_CURSOR = '42P03'
345DUPLICATE_DATABASE = '42P04'
346DUPLICATE_PREPARED_STATEMENT = '42P05'
347DUPLICATE_SCHEMA = '42P06'
348DUPLICATE_TABLE = '42P07'
349AMBIGUOUS_PARAMETER = '42P08'
350AMBIGUOUS_ALIAS = '42P09'
351INVALID_COLUMN_REFERENCE = '42P10'
352INVALID_CURSOR_DEFINITION = '42P11'
353INVALID_DATABASE_DEFINITION = '42P12'
354INVALID_FUNCTION_DEFINITION = '42P13'
355INVALID_PREPARED_STATEMENT_DEFINITION = '42P14'
356INVALID_SCHEMA_DEFINITION = '42P15'
357INVALID_TABLE_DEFINITION = '42P16'
358INVALID_OBJECT_DEFINITION = '42P17'
359INDETERMINATE_DATATYPE = '42P18'
360INVALID_RECURSION = '42P19'
361WINDOWING_ERROR = '42P20'
362COLLATION_MISMATCH = '42P21'
363INDETERMINATE_COLLATION = '42P22'
365# Class 44 - WITH CHECK OPTION Violation
366WITH_CHECK_OPTION_VIOLATION = '44000'
368# Class 53 - Insufficient Resources
369INSUFFICIENT_RESOURCES = '53000'
370DISK_FULL = '53100'
371OUT_OF_MEMORY = '53200'
372TOO_MANY_CONNECTIONS = '53300'
373CONFIGURATION_LIMIT_EXCEEDED = '53400'
375# Class 54 - Program Limit Exceeded
376PROGRAM_LIMIT_EXCEEDED = '54000'
377STATEMENT_TOO_COMPLEX = '54001'
378TOO_MANY_COLUMNS = '54011'
379TOO_MANY_ARGUMENTS = '54023'
381# Class 55 - Object Not In Prerequisite State
382OBJECT_NOT_IN_PREREQUISITE_STATE = '55000'
383OBJECT_IN_USE = '55006'
384CANT_CHANGE_RUNTIME_PARAM = '55P02'
385LOCK_NOT_AVAILABLE = '55P03'
386UNSAFE_NEW_ENUM_VALUE_USAGE = '55P04'
388# Class 57 - Operator Intervention
389OPERATOR_INTERVENTION = '57000'
390QUERY_CANCELED = '57014'
391ADMIN_SHUTDOWN = '57P01'
392CRASH_SHUTDOWN = '57P02'
393CANNOT_CONNECT_NOW = '57P03'
394DATABASE_DROPPED = '57P04'
395IDLE_SESSION_TIMEOUT = '57P05'
397# Class 58 - System Error (errors external to PostgreSQL itself)
398SYSTEM_ERROR = '58000'
399IO_ERROR = '58030'
400UNDEFINED_FILE = '58P01'
401DUPLICATE_FILE = '58P02'
403# Class 72 - Snapshot Failure
404SNAPSHOT_TOO_OLD = '72000'
406# Class F0 - Configuration File Error
407CONFIG_FILE_ERROR = 'F0000'
408LOCK_FILE_EXISTS = 'F0001'
410# Class HV - Foreign Data Wrapper Error (SQL/MED)
411FDW_ERROR = 'HV000'
412FDW_OUT_OF_MEMORY = 'HV001'
413FDW_DYNAMIC_PARAMETER_VALUE_NEEDED = 'HV002'
414FDW_INVALID_DATA_TYPE = 'HV004'
415FDW_COLUMN_NAME_NOT_FOUND = 'HV005'
416FDW_INVALID_DATA_TYPE_DESCRIPTORS = 'HV006'
417FDW_INVALID_COLUMN_NAME = 'HV007'
418FDW_INVALID_COLUMN_NUMBER = 'HV008'
419FDW_INVALID_USE_OF_NULL_POINTER = 'HV009'
420FDW_INVALID_STRING_FORMAT = 'HV00A'
421FDW_INVALID_HANDLE = 'HV00B'
422FDW_INVALID_OPTION_INDEX = 'HV00C'
423FDW_INVALID_OPTION_NAME = 'HV00D'
424FDW_OPTION_NAME_NOT_FOUND = 'HV00J'
425FDW_REPLY_HANDLE = 'HV00K'
426FDW_UNABLE_TO_CREATE_EXECUTION = 'HV00L'
427FDW_UNABLE_TO_CREATE_REPLY = 'HV00M'
428FDW_UNABLE_TO_ESTABLISH_CONNECTION = 'HV00N'
429FDW_NO_SCHEMAS = 'HV00P'
430FDW_SCHEMA_NOT_FOUND = 'HV00Q'
431FDW_TABLE_NOT_FOUND = 'HV00R'
432FDW_FUNCTION_SEQUENCE_ERROR = 'HV010'
433FDW_TOO_MANY_HANDLES = 'HV014'
434FDW_INCONSISTENT_DESCRIPTOR_INFORMATION = 'HV021'
435FDW_INVALID_ATTRIBUTE_VALUE = 'HV024'
436FDW_INVALID_STRING_LENGTH_OR_BUFFER_LENGTH = 'HV090'
437FDW_INVALID_DESCRIPTOR_FIELD_IDENTIFIER = 'HV091'
439# Class P0 - PL/pgSQL Error
440PLPGSQL_ERROR = 'P0000'
441RAISE_EXCEPTION = 'P0001'
442NO_DATA_FOUND = 'P0002'
443TOO_MANY_ROWS = 'P0003'
444ASSERT_FAILURE = 'P0004'
446# Class XX - Internal Error
447INTERNAL_ERROR = 'XX000'
448DATA_CORRUPTED = 'XX001'
449INDEX_CORRUPTED = 'XX002'