errorcodes.py 14 KB

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