pgrx_pg_sys/submodules/
errcodes.rs

1//LICENSE Portions Copyright 2019-2021 ZomboDB, LLC.
2//LICENSE
3//LICENSE Portions Copyright 2021-2023 Technology Concepts & Design, Inc.
4//LICENSE
5//LICENSE Portions Copyright 2023-2023 PgCentral Foundation, Inc. <contact@pgcentral.org>
6//LICENSE
7//LICENSE All rights reserved.
8//LICENSE
9//LICENSE Use of this source code is governed by the MIT license that can be found in the LICENSE file.
10use std::fmt::{Display, Formatter};
11
12/// This list of SQL Error Codes is taken directly from Postgres 12's generated "utils/errcodes.h"
13#[allow(non_camel_case_types)]
14#[derive(Clone, Copy, Debug, Eq, PartialEq, Hash, Ord, PartialOrd)]
15pub enum PgSqlErrorCode {
16    /// Class 00 - Successful Completion
17    ERRCODE_SUCCESSFUL_COMPLETION = MAKE_SQLSTATE('0', '0', '0', '0', '0') as isize,
18
19    /// Class 01 - Warning
20    ERRCODE_WARNING = MAKE_SQLSTATE('0', '1', '0', '0', '0') as isize,
21    ERRCODE_WARNING_DYNAMIC_RESULT_SETS_RETURNED = MAKE_SQLSTATE('0', '1', '0', '0', 'C') as isize,
22    ERRCODE_WARNING_IMPLICIT_ZERO_BIT_PADDING = MAKE_SQLSTATE('0', '1', '0', '0', '8') as isize,
23    ERRCODE_WARNING_NULL_VALUE_ELIMINATED_IN_SET_FUNCTION =
24        MAKE_SQLSTATE('0', '1', '0', '0', '3') as isize,
25    ERRCODE_WARNING_PRIVILEGE_NOT_GRANTED = MAKE_SQLSTATE('0', '1', '0', '0', '7') as isize,
26    ERRCODE_WARNING_PRIVILEGE_NOT_REVOKED = MAKE_SQLSTATE('0', '1', '0', '0', '6') as isize,
27    ERRCODE_WARNING_STRING_DATA_RIGHT_TRUNCATION = MAKE_SQLSTATE('0', '1', '0', '0', '4') as isize,
28    ERRCODE_WARNING_DEPRECATED_FEATURE = MAKE_SQLSTATE('0', '1', 'P', '0', '1') as isize,
29
30    /// Class 02 - No Data (this is also a warning class per the SQL standard) as isize,
31    ERRCODE_NO_DATA = MAKE_SQLSTATE('0', '2', '0', '0', '0') as isize,
32    ERRCODE_NO_ADDITIONAL_DYNAMIC_RESULT_SETS_RETURNED =
33        MAKE_SQLSTATE('0', '2', '0', '0', '1') as isize,
34
35    /// Class 03 - SQL Statement Not Yet Complete
36    ERRCODE_SQL_STATEMENT_NOT_YET_COMPLETE = MAKE_SQLSTATE('0', '3', '0', '0', '0') as isize,
37
38    /// Class 08 - Connection Exception
39    ERRCODE_CONNECTION_EXCEPTION = MAKE_SQLSTATE('0', '8', '0', '0', '0') as isize,
40    ERRCODE_CONNECTION_DOES_NOT_EXIST = MAKE_SQLSTATE('0', '8', '0', '0', '3') as isize,
41    ERRCODE_CONNECTION_FAILURE = MAKE_SQLSTATE('0', '8', '0', '0', '6') as isize,
42    ERRCODE_SQLCLIENT_UNABLE_TO_ESTABLISH_SQLCONNECTION =
43        MAKE_SQLSTATE('0', '8', '0', '0', '1') as isize,
44    ERRCODE_SQLSERVER_REJECTED_ESTABLISHMENT_OF_SQLCONNECTION =
45        MAKE_SQLSTATE('0', '8', '0', '0', '4') as isize,
46    ERRCODE_TRANSACTION_RESOLUTION_UNKNOWN = MAKE_SQLSTATE('0', '8', '0', '0', '7') as isize,
47    ERRCODE_PROTOCOL_VIOLATION = MAKE_SQLSTATE('0', '8', 'P', '0', '1') as isize,
48
49    /// Class 09 - Triggered Action Exception
50    ERRCODE_TRIGGERED_ACTION_EXCEPTION = MAKE_SQLSTATE('0', '9', '0', '0', '0') as isize,
51
52    /// Class 0A - Feature Not Supported
53    ERRCODE_FEATURE_NOT_SUPPORTED = MAKE_SQLSTATE('0', 'A', '0', '0', '0') as isize,
54
55    /// Class 0B - Invalid Transaction Initiation
56    ERRCODE_INVALID_TRANSACTION_INITIATION = MAKE_SQLSTATE('0', 'B', '0', '0', '0') as isize,
57
58    /// Class 0F - Locator Exception
59    ERRCODE_LOCATOR_EXCEPTION = MAKE_SQLSTATE('0', 'F', '0', '0', '0') as isize,
60    ERRCODE_L_E_INVALID_SPECIFICATION = MAKE_SQLSTATE('0', 'F', '0', '0', '1') as isize,
61
62    /// Class 0L - Invalid Grantor
63    ERRCODE_INVALID_GRANTOR = MAKE_SQLSTATE('0', 'L', '0', '0', '0') as isize,
64    ERRCODE_INVALID_GRANT_OPERATION = MAKE_SQLSTATE('0', 'L', 'P', '0', '1') as isize,
65
66    /// Class 0P - Invalid Role Specification
67    ERRCODE_INVALID_ROLE_SPECIFICATION = MAKE_SQLSTATE('0', 'P', '0', '0', '0') as isize,
68
69    /// Class 0Z - Diagnostics Exception
70    ERRCODE_DIAGNOSTICS_EXCEPTION = MAKE_SQLSTATE('0', 'Z', '0', '0', '0') as isize,
71    ERRCODE_STACKED_DIAGNOSTICS_ACCESSED_WITHOUT_ACTIVE_HANDLER =
72        MAKE_SQLSTATE('0', 'Z', '0', '0', '2') as isize,
73
74    /// Class 20 - Case Not Found
75    ERRCODE_CASE_NOT_FOUND = MAKE_SQLSTATE('2', '0', '0', '0', '0') as isize,
76
77    /// Class 21 - Cardinality Violation
78    ERRCODE_CARDINALITY_VIOLATION = MAKE_SQLSTATE('2', '1', '0', '0', '0') as isize,
79
80    /// Class 22 - Data Exception
81    ERRCODE_DATA_EXCEPTION = MAKE_SQLSTATE('2', '2', '0', '0', '0') as isize,
82    ERRCODE_ARRAY_ELEMENT_ERROR = MAKE_SQLSTATE('2', '2', '0', '2', 'E') as isize,
83    //    ERRCODE_ARRAY_SUBSCRIPT_ERROR = MAKE_SQLSTATE('2', '2', '0', '2', 'E') as isize,
84    ERRCODE_CHARACTER_NOT_IN_REPERTOIRE = MAKE_SQLSTATE('2', '2', '0', '2', '1') as isize,
85    ERRCODE_DATETIME_FIELD_OVERFLOW = MAKE_SQLSTATE('2', '2', '0', '0', '8') as isize,
86    //    ERRCODE_DATETIME_VALUE_OUT_OF_RANGE = MAKE_SQLSTATE('2', '2', '0', '0', '8') as isize,
87    ERRCODE_DIVISION_BY_ZERO = MAKE_SQLSTATE('2', '2', '0', '1', '2') as isize,
88    ERRCODE_ERROR_IN_ASSIGNMENT = MAKE_SQLSTATE('2', '2', '0', '0', '5') as isize,
89    ERRCODE_ESCAPE_CHARACTER_CONFLICT = MAKE_SQLSTATE('2', '2', '0', '0', 'B') as isize,
90    ERRCODE_INDICATOR_OVERFLOW = MAKE_SQLSTATE('2', '2', '0', '2', '2') as isize,
91    ERRCODE_INTERVAL_FIELD_OVERFLOW = MAKE_SQLSTATE('2', '2', '0', '1', '5') as isize,
92    ERRCODE_INVALID_ARGUMENT_FOR_LOG = MAKE_SQLSTATE('2', '2', '0', '1', 'E') as isize,
93    ERRCODE_INVALID_ARGUMENT_FOR_NTILE = MAKE_SQLSTATE('2', '2', '0', '1', '4') as isize,
94    ERRCODE_INVALID_ARGUMENT_FOR_NTH_VALUE = MAKE_SQLSTATE('2', '2', '0', '1', '6') as isize,
95    ERRCODE_INVALID_ARGUMENT_FOR_POWER_FUNCTION = MAKE_SQLSTATE('2', '2', '0', '1', 'F') as isize,
96    ERRCODE_INVALID_ARGUMENT_FOR_WIDTH_BUCKET_FUNCTION =
97        MAKE_SQLSTATE('2', '2', '0', '1', 'G') as isize,
98    ERRCODE_INVALID_CHARACTER_VALUE_FOR_CAST = MAKE_SQLSTATE('2', '2', '0', '1', '8') as isize,
99    ERRCODE_INVALID_DATETIME_FORMAT = MAKE_SQLSTATE('2', '2', '0', '0', '7') as isize,
100    ERRCODE_INVALID_ESCAPE_CHARACTER = MAKE_SQLSTATE('2', '2', '0', '1', '9') as isize,
101    ERRCODE_INVALID_ESCAPE_OCTET = MAKE_SQLSTATE('2', '2', '0', '0', 'D') as isize,
102    ERRCODE_INVALID_ESCAPE_SEQUENCE = MAKE_SQLSTATE('2', '2', '0', '2', '5') as isize,
103    ERRCODE_NONSTANDARD_USE_OF_ESCAPE_CHARACTER = MAKE_SQLSTATE('2', '2', 'P', '0', '6') as isize,
104    ERRCODE_INVALID_INDICATOR_PARAMETER_VALUE = MAKE_SQLSTATE('2', '2', '0', '1', '0') as isize,
105    ERRCODE_INVALID_PARAMETER_VALUE = MAKE_SQLSTATE('2', '2', '0', '2', '3') as isize,
106    ERRCODE_INVALID_PRECEDING_OR_FOLLOWING_SIZE = MAKE_SQLSTATE('2', '2', '0', '1', '3') as isize,
107    ERRCODE_INVALID_REGULAR_EXPRESSION = MAKE_SQLSTATE('2', '2', '0', '1', 'B') as isize,
108    ERRCODE_INVALID_ROW_COUNT_IN_LIMIT_CLAUSE = MAKE_SQLSTATE('2', '2', '0', '1', 'W') as isize,
109    ERRCODE_INVALID_ROW_COUNT_IN_RESULT_OFFSET_CLAUSE =
110        MAKE_SQLSTATE('2', '2', '0', '1', 'X') as isize,
111    ERRCODE_INVALID_TABLESAMPLE_ARGUMENT = MAKE_SQLSTATE('2', '2', '0', '2', 'H') as isize,
112    ERRCODE_INVALID_TABLESAMPLE_REPEAT = MAKE_SQLSTATE('2', '2', '0', '2', 'G') as isize,
113    ERRCODE_INVALID_TIME_ZONE_DISPLACEMENT_VALUE = MAKE_SQLSTATE('2', '2', '0', '0', '9') as isize,
114    ERRCODE_INVALID_USE_OF_ESCAPE_CHARACTER = MAKE_SQLSTATE('2', '2', '0', '0', 'C') as isize,
115    ERRCODE_MOST_SPECIFIC_TYPE_MISMATCH = MAKE_SQLSTATE('2', '2', '0', '0', 'G') as isize,
116    ERRCODE_NULL_VALUE_NOT_ALLOWED = MAKE_SQLSTATE('2', '2', '0', '0', '4') as isize,
117    ERRCODE_NULL_VALUE_NO_INDICATOR_PARAMETER = MAKE_SQLSTATE('2', '2', '0', '0', '2') as isize,
118    ERRCODE_NUMERIC_VALUE_OUT_OF_RANGE = MAKE_SQLSTATE('2', '2', '0', '0', '3') as isize,
119    ERRCODE_SEQUENCE_GENERATOR_LIMIT_EXCEEDED = MAKE_SQLSTATE('2', '2', '0', '0', 'H') as isize,
120    ERRCODE_STRING_DATA_LENGTH_MISMATCH = MAKE_SQLSTATE('2', '2', '0', '2', '6') as isize,
121    ERRCODE_STRING_DATA_RIGHT_TRUNCATION = MAKE_SQLSTATE('2', '2', '0', '0', '1') as isize,
122    ERRCODE_SUBSTRING_ERROR = MAKE_SQLSTATE('2', '2', '0', '1', '1') as isize,
123    ERRCODE_TRIM_ERROR = MAKE_SQLSTATE('2', '2', '0', '2', '7') as isize,
124    ERRCODE_UNTERMINATED_C_STRING = MAKE_SQLSTATE('2', '2', '0', '2', '4') as isize,
125    ERRCODE_ZERO_LENGTH_CHARACTER_STRING = MAKE_SQLSTATE('2', '2', '0', '0', 'F') as isize,
126    ERRCODE_FLOATING_POINT_EXCEPTION = MAKE_SQLSTATE('2', '2', 'P', '0', '1') as isize,
127    ERRCODE_INVALID_TEXT_REPRESENTATION = MAKE_SQLSTATE('2', '2', 'P', '0', '2') as isize,
128    ERRCODE_INVALID_BINARY_REPRESENTATION = MAKE_SQLSTATE('2', '2', 'P', '0', '3') as isize,
129    ERRCODE_BAD_COPY_FILE_FORMAT = MAKE_SQLSTATE('2', '2', 'P', '0', '4') as isize,
130    ERRCODE_UNTRANSLATABLE_CHARACTER = MAKE_SQLSTATE('2', '2', 'P', '0', '5') as isize,
131    ERRCODE_NOT_AN_XML_DOCUMENT = MAKE_SQLSTATE('2', '2', '0', '0', 'L') as isize,
132    ERRCODE_INVALID_XML_DOCUMENT = MAKE_SQLSTATE('2', '2', '0', '0', 'M') as isize,
133    ERRCODE_INVALID_XML_CONTENT = MAKE_SQLSTATE('2', '2', '0', '0', 'N') as isize,
134    ERRCODE_INVALID_XML_COMMENT = MAKE_SQLSTATE('2', '2', '0', '0', 'S') as isize,
135    ERRCODE_INVALID_XML_PROCESSING_INSTRUCTION = MAKE_SQLSTATE('2', '2', '0', '0', 'T') as isize,
136    ERRCODE_DUPLICATE_JSON_OBJECT_KEY_VALUE = MAKE_SQLSTATE('2', '2', '0', '3', '0') as isize,
137    ERRCODE_INVALID_JSON_TEXT = MAKE_SQLSTATE('2', '2', '0', '3', '2') as isize,
138    ERRCODE_INVALID_SQL_JSON_SUBSCRIPT = MAKE_SQLSTATE('2', '2', '0', '3', '3') as isize,
139    ERRCODE_MORE_THAN_ONE_SQL_JSON_ITEM = MAKE_SQLSTATE('2', '2', '0', '3', '4') as isize,
140    ERRCODE_NO_SQL_JSON_ITEM = MAKE_SQLSTATE('2', '2', '0', '3', '5') as isize,
141    ERRCODE_NON_NUMERIC_SQL_JSON_ITEM = MAKE_SQLSTATE('2', '2', '0', '3', '6') as isize,
142    ERRCODE_NON_UNIQUE_KEYS_IN_A_JSON_OBJECT = MAKE_SQLSTATE('2', '2', '0', '3', '7') as isize,
143    ERRCODE_SINGLETON_SQL_JSON_ITEM_REQUIRED = MAKE_SQLSTATE('2', '2', '0', '3', '8') as isize,
144    ERRCODE_SQL_JSON_ARRAY_NOT_FOUND = MAKE_SQLSTATE('2', '2', '0', '3', '9') as isize,
145    ERRCODE_SQL_JSON_MEMBER_NOT_FOUND = MAKE_SQLSTATE('2', '2', '0', '3', 'A') as isize,
146    ERRCODE_SQL_JSON_NUMBER_NOT_FOUND = MAKE_SQLSTATE('2', '2', '0', '3', 'B') as isize,
147    ERRCODE_SQL_JSON_OBJECT_NOT_FOUND = MAKE_SQLSTATE('2', '2', '0', '3', 'C') as isize,
148    ERRCODE_TOO_MANY_JSON_ARRAY_ELEMENTS = MAKE_SQLSTATE('2', '2', '0', '3', 'D') as isize,
149    ERRCODE_TOO_MANY_JSON_OBJECT_MEMBERS = MAKE_SQLSTATE('2', '2', '0', '3', 'E') as isize,
150    ERRCODE_SQL_JSON_SCALAR_REQUIRED = MAKE_SQLSTATE('2', '2', '0', '3', 'F') as isize,
151
152    /// Class 23 - Integrity Constraint Violation
153    ERRCODE_INTEGRITY_CONSTRAINT_VIOLATION = MAKE_SQLSTATE('2', '3', '0', '0', '0') as isize,
154    ERRCODE_RESTRICT_VIOLATION = MAKE_SQLSTATE('2', '3', '0', '0', '1') as isize,
155    ERRCODE_NOT_NULL_VIOLATION = MAKE_SQLSTATE('2', '3', '5', '0', '2') as isize,
156    ERRCODE_FOREIGN_KEY_VIOLATION = MAKE_SQLSTATE('2', '3', '5', '0', '3') as isize,
157    ERRCODE_UNIQUE_VIOLATION = MAKE_SQLSTATE('2', '3', '5', '0', '5') as isize,
158    ERRCODE_CHECK_VIOLATION = MAKE_SQLSTATE('2', '3', '5', '1', '4') as isize,
159    ERRCODE_EXCLUSION_VIOLATION = MAKE_SQLSTATE('2', '3', 'P', '0', '1') as isize,
160
161    /// Class 24 - Invalid Cursor State
162    ERRCODE_INVALID_CURSOR_STATE = MAKE_SQLSTATE('2', '4', '0', '0', '0') as isize,
163
164    /// Class 25 - Invalid Transaction State
165    ERRCODE_INVALID_TRANSACTION_STATE = MAKE_SQLSTATE('2', '5', '0', '0', '0') as isize,
166    ERRCODE_ACTIVE_SQL_TRANSACTION = MAKE_SQLSTATE('2', '5', '0', '0', '1') as isize,
167    ERRCODE_BRANCH_TRANSACTION_ALREADY_ACTIVE = MAKE_SQLSTATE('2', '5', '0', '0', '2') as isize,
168    ERRCODE_HELD_CURSOR_REQUIRES_SAME_ISOLATION_LEVEL =
169        MAKE_SQLSTATE('2', '5', '0', '0', '8') as isize,
170    ERRCODE_INAPPROPRIATE_ACCESS_MODE_FOR_BRANCH_TRANSACTION =
171        MAKE_SQLSTATE('2', '5', '0', '0', '3') as isize,
172    ERRCODE_INAPPROPRIATE_ISOLATION_LEVEL_FOR_BRANCH_TRANSACTION =
173        MAKE_SQLSTATE('2', '5', '0', '0', '4') as isize,
174    ERRCODE_NO_ACTIVE_SQL_TRANSACTION_FOR_BRANCH_TRANSACTION =
175        MAKE_SQLSTATE('2', '5', '0', '0', '5') as isize,
176    ERRCODE_READ_ONLY_SQL_TRANSACTION = MAKE_SQLSTATE('2', '5', '0', '0', '6') as isize,
177    ERRCODE_SCHEMA_AND_DATA_STATEMENT_MIXING_NOT_SUPPORTED =
178        MAKE_SQLSTATE('2', '5', '0', '0', '7') as isize,
179    ERRCODE_NO_ACTIVE_SQL_TRANSACTION = MAKE_SQLSTATE('2', '5', 'P', '0', '1') as isize,
180    ERRCODE_IN_FAILED_SQL_TRANSACTION = MAKE_SQLSTATE('2', '5', 'P', '0', '2') as isize,
181    ERRCODE_IDLE_IN_TRANSACTION_SESSION_TIMEOUT = MAKE_SQLSTATE('2', '5', 'P', '0', '3') as isize,
182
183    /// Class 26 - Invalid SQL Statement Name
184    ERRCODE_INVALID_SQL_STATEMENT_NAME = MAKE_SQLSTATE('2', '6', '0', '0', '0') as isize,
185
186    /// Class 27 - Triggered Data Change Violation
187    ERRCODE_TRIGGERED_DATA_CHANGE_VIOLATION = MAKE_SQLSTATE('2', '7', '0', '0', '0') as isize,
188
189    /// Class 28 - Invalid Authorization Specification
190    ERRCODE_INVALID_AUTHORIZATION_SPECIFICATION = MAKE_SQLSTATE('2', '8', '0', '0', '0') as isize,
191    ERRCODE_INVALID_PASSWORD = MAKE_SQLSTATE('2', '8', 'P', '0', '1') as isize,
192
193    /// Class 2B - Dependent Privilege Descriptors Still Exist
194    ERRCODE_DEPENDENT_PRIVILEGE_DESCRIPTORS_STILL_EXIST =
195        MAKE_SQLSTATE('2', 'B', '0', '0', '0') as isize,
196    ERRCODE_DEPENDENT_OBJECTS_STILL_EXIST = MAKE_SQLSTATE('2', 'B', 'P', '0', '1') as isize,
197
198    /// Class 2D - Invalid Transaction Termination
199    ERRCODE_INVALID_TRANSACTION_TERMINATION = MAKE_SQLSTATE('2', 'D', '0', '0', '0') as isize,
200
201    /// Class 2F - SQL Routine Exception
202    ERRCODE_SQL_ROUTINE_EXCEPTION = MAKE_SQLSTATE('2', 'F', '0', '0', '0') as isize,
203    ERRCODE_S_R_E_FUNCTION_EXECUTED_NO_RETURN_STATEMENT =
204        MAKE_SQLSTATE('2', 'F', '0', '0', '5') as isize,
205    ERRCODE_S_R_E_MODIFYING_SQL_DATA_NOT_PERMITTED =
206        MAKE_SQLSTATE('2', 'F', '0', '0', '2') as isize,
207    ERRCODE_S_R_E_PROHIBITED_SQL_STATEMENT_ATTEMPTED =
208        MAKE_SQLSTATE('2', 'F', '0', '0', '3') as isize,
209    ERRCODE_S_R_E_READING_SQL_DATA_NOT_PERMITTED = MAKE_SQLSTATE('2', 'F', '0', '0', '4') as isize,
210
211    /// Class 34 - Invalid Cursor Name
212    ERRCODE_INVALID_CURSOR_NAME = MAKE_SQLSTATE('3', '4', '0', '0', '0') as isize,
213
214    /// Class 38 - External Routine Exception
215    ERRCODE_EXTERNAL_ROUTINE_EXCEPTION = MAKE_SQLSTATE('3', '8', '0', '0', '0') as isize,
216    ERRCODE_E_R_E_CONTAINING_SQL_NOT_PERMITTED = MAKE_SQLSTATE('3', '8', '0', '0', '1') as isize,
217    ERRCODE_E_R_E_MODIFYING_SQL_DATA_NOT_PERMITTED =
218        MAKE_SQLSTATE('3', '8', '0', '0', '2') as isize,
219    ERRCODE_E_R_E_PROHIBITED_SQL_STATEMENT_ATTEMPTED =
220        MAKE_SQLSTATE('3', '8', '0', '0', '3') as isize,
221    ERRCODE_E_R_E_READING_SQL_DATA_NOT_PERMITTED = MAKE_SQLSTATE('3', '8', '0', '0', '4') as isize,
222
223    /// Class 39 - External Routine Invocation Exception
224    ERRCODE_EXTERNAL_ROUTINE_INVOCATION_EXCEPTION = MAKE_SQLSTATE('3', '9', '0', '0', '0') as isize,
225    ERRCODE_E_R_I_E_INVALID_SQLSTATE_RETURNED = MAKE_SQLSTATE('3', '9', '0', '0', '1') as isize,
226    ERRCODE_E_R_I_E_NULL_VALUE_NOT_ALLOWED = MAKE_SQLSTATE('3', '9', '0', '0', '4') as isize,
227    ERRCODE_E_R_I_E_TRIGGER_PROTOCOL_VIOLATED = MAKE_SQLSTATE('3', '9', 'P', '0', '1') as isize,
228    ERRCODE_E_R_I_E_SRF_PROTOCOL_VIOLATED = MAKE_SQLSTATE('3', '9', 'P', '0', '2') as isize,
229    ERRCODE_E_R_I_E_EVENT_TRIGGER_PROTOCOL_VIOLATED =
230        MAKE_SQLSTATE('3', '9', 'P', '0', '3') as isize,
231
232    /// Class 3B - Savepoint Exception
233    ERRCODE_SAVEPOINT_EXCEPTION = MAKE_SQLSTATE('3', 'B', '0', '0', '0') as isize,
234    ERRCODE_S_E_INVALID_SPECIFICATION = MAKE_SQLSTATE('3', 'B', '0', '0', '1') as isize,
235
236    /// Class 3D - Invalid Catalog Name
237    ERRCODE_INVALID_CATALOG_NAME = MAKE_SQLSTATE('3', 'D', '0', '0', '0') as isize,
238
239    /// Class 3F - Invalid Schema Name
240    ERRCODE_INVALID_SCHEMA_NAME = MAKE_SQLSTATE('3', 'F', '0', '0', '0') as isize,
241
242    /// Class 40 - Transaction Rollback
243    ERRCODE_TRANSACTION_ROLLBACK = MAKE_SQLSTATE('4', '0', '0', '0', '0') as isize,
244    ERRCODE_T_R_INTEGRITY_CONSTRAINT_VIOLATION = MAKE_SQLSTATE('4', '0', '0', '0', '2') as isize,
245    ERRCODE_T_R_SERIALIZATION_FAILURE = MAKE_SQLSTATE('4', '0', '0', '0', '1') as isize,
246    ERRCODE_T_R_STATEMENT_COMPLETION_UNKNOWN = MAKE_SQLSTATE('4', '0', '0', '0', '3') as isize,
247    ERRCODE_T_R_DEADLOCK_DETECTED = MAKE_SQLSTATE('4', '0', 'P', '0', '1') as isize,
248
249    /// Class 42 - Syntax Error or Access Rule Violation
250    ERRCODE_SYNTAX_ERROR_OR_ACCESS_RULE_VIOLATION = MAKE_SQLSTATE('4', '2', '0', '0', '0') as isize,
251    ERRCODE_SYNTAX_ERROR = MAKE_SQLSTATE('4', '2', '6', '0', '1') as isize,
252    ERRCODE_INSUFFICIENT_PRIVILEGE = MAKE_SQLSTATE('4', '2', '5', '0', '1') as isize,
253    ERRCODE_CANNOT_COERCE = MAKE_SQLSTATE('4', '2', '8', '4', '6') as isize,
254    ERRCODE_GROUPING_ERROR = MAKE_SQLSTATE('4', '2', '8', '0', '3') as isize,
255    ERRCODE_WINDOWING_ERROR = MAKE_SQLSTATE('4', '2', 'P', '2', '0') as isize,
256    ERRCODE_INVALID_RECURSION = MAKE_SQLSTATE('4', '2', 'P', '1', '9') as isize,
257    ERRCODE_INVALID_FOREIGN_KEY = MAKE_SQLSTATE('4', '2', '8', '3', '0') as isize,
258    ERRCODE_INVALID_NAME = MAKE_SQLSTATE('4', '2', '6', '0', '2') as isize,
259    ERRCODE_NAME_TOO_LONG = MAKE_SQLSTATE('4', '2', '6', '2', '2') as isize,
260    ERRCODE_RESERVED_NAME = MAKE_SQLSTATE('4', '2', '9', '3', '9') as isize,
261    ERRCODE_DATATYPE_MISMATCH = MAKE_SQLSTATE('4', '2', '8', '0', '4') as isize,
262    ERRCODE_INDETERMINATE_DATATYPE = MAKE_SQLSTATE('4', '2', 'P', '1', '8') as isize,
263    ERRCODE_COLLATION_MISMATCH = MAKE_SQLSTATE('4', '2', 'P', '2', '1') as isize,
264    ERRCODE_INDETERMINATE_COLLATION = MAKE_SQLSTATE('4', '2', 'P', '2', '2') as isize,
265    ERRCODE_WRONG_OBJECT_TYPE = MAKE_SQLSTATE('4', '2', '8', '0', '9') as isize,
266    ERRCODE_GENERATED_ALWAYS = MAKE_SQLSTATE('4', '2', '8', 'C', '9') as isize,
267    ERRCODE_UNDEFINED_COLUMN = MAKE_SQLSTATE('4', '2', '7', '0', '3') as isize,
268    //    ERRCODE_UNDEFINED_CURSOR = MAKE_SQLSTATE('3', '4', '0', '0', '0') as isize,
269    //    ERRCODE_UNDEFINED_DATABASE = MAKE_SQLSTATE('3', 'D', '0', '0', '0') as isize,
270    ERRCODE_UNDEFINED_FUNCTION = MAKE_SQLSTATE('4', '2', '8', '8', '3') as isize,
271    //    ERRCODE_UNDEFINED_PSTATEMENT = MAKE_SQLSTATE('2', '6', '0', '0', '0') as isize,
272    //    ERRCODE_UNDEFINED_SCHEMA = MAKE_SQLSTATE('3', 'F', '0', '0', '0') as isize,
273    ERRCODE_UNDEFINED_TABLE = MAKE_SQLSTATE('4', '2', 'P', '0', '1') as isize,
274    ERRCODE_UNDEFINED_PARAMETER = MAKE_SQLSTATE('4', '2', 'P', '0', '2') as isize,
275    ERRCODE_UNDEFINED_OBJECT = MAKE_SQLSTATE('4', '2', '7', '0', '4') as isize,
276    ERRCODE_DUPLICATE_COLUMN = MAKE_SQLSTATE('4', '2', '7', '0', '1') as isize,
277    ERRCODE_DUPLICATE_CURSOR = MAKE_SQLSTATE('4', '2', 'P', '0', '3') as isize,
278    ERRCODE_DUPLICATE_DATABASE = MAKE_SQLSTATE('4', '2', 'P', '0', '4') as isize,
279    ERRCODE_DUPLICATE_FUNCTION = MAKE_SQLSTATE('4', '2', '7', '2', '3') as isize,
280    ERRCODE_DUPLICATE_PSTATEMENT = MAKE_SQLSTATE('4', '2', 'P', '0', '5') as isize,
281    ERRCODE_DUPLICATE_SCHEMA = MAKE_SQLSTATE('4', '2', 'P', '0', '6') as isize,
282    ERRCODE_DUPLICATE_TABLE = MAKE_SQLSTATE('4', '2', 'P', '0', '7') as isize,
283    ERRCODE_DUPLICATE_ALIAS = MAKE_SQLSTATE('4', '2', '7', '1', '2') as isize,
284    ERRCODE_DUPLICATE_OBJECT = MAKE_SQLSTATE('4', '2', '7', '1', '0') as isize,
285    ERRCODE_AMBIGUOUS_COLUMN = MAKE_SQLSTATE('4', '2', '7', '0', '2') as isize,
286    ERRCODE_AMBIGUOUS_FUNCTION = MAKE_SQLSTATE('4', '2', '7', '2', '5') as isize,
287    ERRCODE_AMBIGUOUS_PARAMETER = MAKE_SQLSTATE('4', '2', 'P', '0', '8') as isize,
288    ERRCODE_AMBIGUOUS_ALIAS = MAKE_SQLSTATE('4', '2', 'P', '0', '9') as isize,
289    ERRCODE_INVALID_COLUMN_REFERENCE = MAKE_SQLSTATE('4', '2', 'P', '1', '0') as isize,
290    ERRCODE_INVALID_COLUMN_DEFINITION = MAKE_SQLSTATE('4', '2', '6', '1', '1') as isize,
291    ERRCODE_INVALID_CURSOR_DEFINITION = MAKE_SQLSTATE('4', '2', 'P', '1', '1') as isize,
292    ERRCODE_INVALID_DATABASE_DEFINITION = MAKE_SQLSTATE('4', '2', 'P', '1', '2') as isize,
293    ERRCODE_INVALID_FUNCTION_DEFINITION = MAKE_SQLSTATE('4', '2', 'P', '1', '3') as isize,
294    ERRCODE_INVALID_PSTATEMENT_DEFINITION = MAKE_SQLSTATE('4', '2', 'P', '1', '4') as isize,
295    ERRCODE_INVALID_SCHEMA_DEFINITION = MAKE_SQLSTATE('4', '2', 'P', '1', '5') as isize,
296    ERRCODE_INVALID_TABLE_DEFINITION = MAKE_SQLSTATE('4', '2', 'P', '1', '6') as isize,
297    ERRCODE_INVALID_OBJECT_DEFINITION = MAKE_SQLSTATE('4', '2', 'P', '1', '7') as isize,
298
299    /// Class 44 - WITH CHECK OPTION Violation
300    ERRCODE_WITH_CHECK_OPTION_VIOLATION = MAKE_SQLSTATE('4', '4', '0', '0', '0') as isize,
301
302    /// Class 53 - Insufficient Resources
303    ERRCODE_INSUFFICIENT_RESOURCES = MAKE_SQLSTATE('5', '3', '0', '0', '0') as isize,
304    ERRCODE_DISK_FULL = MAKE_SQLSTATE('5', '3', '1', '0', '0') as isize,
305    ERRCODE_OUT_OF_MEMORY = MAKE_SQLSTATE('5', '3', '2', '0', '0') as isize,
306    ERRCODE_TOO_MANY_CONNECTIONS = MAKE_SQLSTATE('5', '3', '3', '0', '0') as isize,
307    ERRCODE_CONFIGURATION_LIMIT_EXCEEDED = MAKE_SQLSTATE('5', '3', '4', '0', '0') as isize,
308
309    /// Class 54 - Program Limit Exceeded
310    ERRCODE_PROGRAM_LIMIT_EXCEEDED = MAKE_SQLSTATE('5', '4', '0', '0', '0') as isize,
311    ERRCODE_STATEMENT_TOO_COMPLEX = MAKE_SQLSTATE('5', '4', '0', '0', '1') as isize,
312    ERRCODE_TOO_MANY_COLUMNS = MAKE_SQLSTATE('5', '4', '0', '1', '1') as isize,
313    ERRCODE_TOO_MANY_ARGUMENTS = MAKE_SQLSTATE('5', '4', '0', '2', '3') as isize,
314
315    /// Class 55 - Object Not In Prerequisite State
316    ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE = MAKE_SQLSTATE('5', '5', '0', '0', '0') as isize,
317    ERRCODE_OBJECT_IN_USE = MAKE_SQLSTATE('5', '5', '0', '0', '6') as isize,
318    ERRCODE_CANT_CHANGE_RUNTIME_PARAM = MAKE_SQLSTATE('5', '5', 'P', '0', '2') as isize,
319    ERRCODE_LOCK_NOT_AVAILABLE = MAKE_SQLSTATE('5', '5', 'P', '0', '3') as isize,
320    ERRCODE_UNSAFE_NEW_ENUM_VALUE_USAGE = MAKE_SQLSTATE('5', '5', 'P', '0', '4') as isize,
321
322    /// Class 57 - Operator Intervention
323    ERRCODE_OPERATOR_INTERVENTION = MAKE_SQLSTATE('5', '7', '0', '0', '0') as isize,
324    ERRCODE_QUERY_CANCELED = MAKE_SQLSTATE('5', '7', '0', '1', '4') as isize,
325    ERRCODE_ADMIN_SHUTDOWN = MAKE_SQLSTATE('5', '7', 'P', '0', '1') as isize,
326    ERRCODE_CRASH_SHUTDOWN = MAKE_SQLSTATE('5', '7', 'P', '0', '2') as isize,
327    ERRCODE_CANNOT_CONNECT_NOW = MAKE_SQLSTATE('5', '7', 'P', '0', '3') as isize,
328    ERRCODE_DATABASE_DROPPED = MAKE_SQLSTATE('5', '7', 'P', '0', '4') as isize,
329
330    /// Class 58 - System Error (errors external to PostgreSQL itself) as isize,
331    ERRCODE_SYSTEM_ERROR = MAKE_SQLSTATE('5', '8', '0', '0', '0') as isize,
332    ERRCODE_IO_ERROR = MAKE_SQLSTATE('5', '8', '0', '3', '0') as isize,
333    ERRCODE_UNDEFINED_FILE = MAKE_SQLSTATE('5', '8', 'P', '0', '1') as isize,
334    ERRCODE_DUPLICATE_FILE = MAKE_SQLSTATE('5', '8', 'P', '0', '2') as isize,
335
336    /// Class 72 - Snapshot Failure
337    ERRCODE_SNAPSHOT_TOO_OLD = MAKE_SQLSTATE('7', '2', '0', '0', '0') as isize,
338
339    /// Class F0 - Configuration File Error
340    ERRCODE_CONFIG_FILE_ERROR = MAKE_SQLSTATE('F', '0', '0', '0', '0') as isize,
341    ERRCODE_LOCK_FILE_EXISTS = MAKE_SQLSTATE('F', '0', '0', '0', '1') as isize,
342
343    /// Class HV - Foreign Data Wrapper Error (SQL/MED) as isize,
344    ERRCODE_FDW_ERROR = MAKE_SQLSTATE('H', 'V', '0', '0', '0') as isize,
345    ERRCODE_FDW_COLUMN_NAME_NOT_FOUND = MAKE_SQLSTATE('H', 'V', '0', '0', '5') as isize,
346    ERRCODE_FDW_DYNAMIC_PARAMETER_VALUE_NEEDED = MAKE_SQLSTATE('H', 'V', '0', '0', '2') as isize,
347    ERRCODE_FDW_FUNCTION_SEQUENCE_ERROR = MAKE_SQLSTATE('H', 'V', '0', '1', '0') as isize,
348    ERRCODE_FDW_INCONSISTENT_DESCRIPTOR_INFORMATION =
349        MAKE_SQLSTATE('H', 'V', '0', '2', '1') as isize,
350    ERRCODE_FDW_INVALID_ATTRIBUTE_VALUE = MAKE_SQLSTATE('H', 'V', '0', '2', '4') as isize,
351    ERRCODE_FDW_INVALID_COLUMN_NAME = MAKE_SQLSTATE('H', 'V', '0', '0', '7') as isize,
352    ERRCODE_FDW_INVALID_COLUMN_NUMBER = MAKE_SQLSTATE('H', 'V', '0', '0', '8') as isize,
353    ERRCODE_FDW_INVALID_DATA_TYPE = MAKE_SQLSTATE('H', 'V', '0', '0', '4') as isize,
354    ERRCODE_FDW_INVALID_DATA_TYPE_DESCRIPTORS = MAKE_SQLSTATE('H', 'V', '0', '0', '6') as isize,
355    ERRCODE_FDW_INVALID_DESCRIPTOR_FIELD_IDENTIFIER =
356        MAKE_SQLSTATE('H', 'V', '0', '9', '1') as isize,
357    ERRCODE_FDW_INVALID_HANDLE = MAKE_SQLSTATE('H', 'V', '0', '0', 'B') as isize,
358    ERRCODE_FDW_INVALID_OPTION_INDEX = MAKE_SQLSTATE('H', 'V', '0', '0', 'C') as isize,
359    ERRCODE_FDW_INVALID_OPTION_NAME = MAKE_SQLSTATE('H', 'V', '0', '0', 'D') as isize,
360    ERRCODE_FDW_INVALID_STRING_LENGTH_OR_BUFFER_LENGTH =
361        MAKE_SQLSTATE('H', 'V', '0', '9', '0') as isize,
362    ERRCODE_FDW_INVALID_STRING_FORMAT = MAKE_SQLSTATE('H', 'V', '0', '0', 'A') as isize,
363    ERRCODE_FDW_INVALID_USE_OF_NULL_POINTER = MAKE_SQLSTATE('H', 'V', '0', '0', '9') as isize,
364    ERRCODE_FDW_TOO_MANY_HANDLES = MAKE_SQLSTATE('H', 'V', '0', '1', '4') as isize,
365    ERRCODE_FDW_OUT_OF_MEMORY = MAKE_SQLSTATE('H', 'V', '0', '0', '1') as isize,
366    ERRCODE_FDW_NO_SCHEMAS = MAKE_SQLSTATE('H', 'V', '0', '0', 'P') as isize,
367    ERRCODE_FDW_OPTION_NAME_NOT_FOUND = MAKE_SQLSTATE('H', 'V', '0', '0', 'J') as isize,
368    ERRCODE_FDW_REPLY_HANDLE = MAKE_SQLSTATE('H', 'V', '0', '0', 'K') as isize,
369    ERRCODE_FDW_SCHEMA_NOT_FOUND = MAKE_SQLSTATE('H', 'V', '0', '0', 'Q') as isize,
370    ERRCODE_FDW_TABLE_NOT_FOUND = MAKE_SQLSTATE('H', 'V', '0', '0', 'R') as isize,
371    ERRCODE_FDW_UNABLE_TO_CREATE_EXECUTION = MAKE_SQLSTATE('H', 'V', '0', '0', 'L') as isize,
372    ERRCODE_FDW_UNABLE_TO_CREATE_REPLY = MAKE_SQLSTATE('H', 'V', '0', '0', 'M') as isize,
373    ERRCODE_FDW_UNABLE_TO_ESTABLISH_CONNECTION = MAKE_SQLSTATE('H', 'V', '0', '0', 'N') as isize,
374
375    /// Class P0 - PL/pgSQL Error
376    ERRCODE_PLPGSQL_ERROR = MAKE_SQLSTATE('P', '0', '0', '0', '0') as isize,
377    ERRCODE_RAISE_EXCEPTION = MAKE_SQLSTATE('P', '0', '0', '0', '1') as isize,
378    ERRCODE_NO_DATA_FOUND = MAKE_SQLSTATE('P', '0', '0', '0', '2') as isize,
379    ERRCODE_TOO_MANY_ROWS = MAKE_SQLSTATE('P', '0', '0', '0', '3') as isize,
380    ERRCODE_ASSERT_FAILURE = MAKE_SQLSTATE('P', '0', '0', '0', '4') as isize,
381
382    /// Class XX - Internal Error
383    ERRCODE_INTERNAL_ERROR = MAKE_SQLSTATE('X', 'X', '0', '0', '0') as isize,
384    ERRCODE_DATA_CORRUPTED = MAKE_SQLSTATE('X', 'X', '0', '0', '1') as isize,
385    ERRCODE_INDEX_CORRUPTED = MAKE_SQLSTATE('X', 'X', '0', '0', '2') as isize,
386}
387
388impl Display for PgSqlErrorCode {
389    fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
390        write!(f, "{self:?}")
391    }
392}
393
394impl From<i32> for PgSqlErrorCode {
395    fn from(error_code: i32) -> Self {
396        (error_code as isize).into()
397    }
398}
399
400impl From<isize> for PgSqlErrorCode {
401    fn from(error_code: isize) -> Self {
402        match error_code {
403            x if x == PgSqlErrorCode::ERRCODE_SUCCESSFUL_COMPLETION as isize => {
404                PgSqlErrorCode::ERRCODE_SUCCESSFUL_COMPLETION
405            }
406
407            x if x == PgSqlErrorCode::ERRCODE_WARNING as isize => PgSqlErrorCode::ERRCODE_WARNING,
408            x if x == PgSqlErrorCode::ERRCODE_WARNING_DYNAMIC_RESULT_SETS_RETURNED as isize => {
409                PgSqlErrorCode::ERRCODE_WARNING_DYNAMIC_RESULT_SETS_RETURNED
410            }
411            x if x == PgSqlErrorCode::ERRCODE_WARNING_IMPLICIT_ZERO_BIT_PADDING as isize => {
412                PgSqlErrorCode::ERRCODE_WARNING_IMPLICIT_ZERO_BIT_PADDING
413            }
414            x if x
415                == PgSqlErrorCode::ERRCODE_WARNING_NULL_VALUE_ELIMINATED_IN_SET_FUNCTION
416                    as isize =>
417            {
418                PgSqlErrorCode::ERRCODE_WARNING_NULL_VALUE_ELIMINATED_IN_SET_FUNCTION
419            }
420
421            x if x == PgSqlErrorCode::ERRCODE_WARNING_PRIVILEGE_NOT_GRANTED as isize => {
422                PgSqlErrorCode::ERRCODE_WARNING_PRIVILEGE_NOT_GRANTED
423            }
424            x if x == PgSqlErrorCode::ERRCODE_WARNING_PRIVILEGE_NOT_REVOKED as isize => {
425                PgSqlErrorCode::ERRCODE_WARNING_PRIVILEGE_NOT_REVOKED
426            }
427            x if x == PgSqlErrorCode::ERRCODE_WARNING_STRING_DATA_RIGHT_TRUNCATION as isize => {
428                PgSqlErrorCode::ERRCODE_WARNING_STRING_DATA_RIGHT_TRUNCATION
429            }
430            x if x == PgSqlErrorCode::ERRCODE_WARNING_DEPRECATED_FEATURE as isize => {
431                PgSqlErrorCode::ERRCODE_WARNING_DEPRECATED_FEATURE
432            }
433
434            x if x == PgSqlErrorCode::ERRCODE_NO_DATA as isize => PgSqlErrorCode::ERRCODE_NO_DATA,
435            x if x
436                == PgSqlErrorCode::ERRCODE_NO_ADDITIONAL_DYNAMIC_RESULT_SETS_RETURNED as isize =>
437            {
438                PgSqlErrorCode::ERRCODE_NO_ADDITIONAL_DYNAMIC_RESULT_SETS_RETURNED
439            }
440
441            x if x == PgSqlErrorCode::ERRCODE_SQL_STATEMENT_NOT_YET_COMPLETE as isize => {
442                PgSqlErrorCode::ERRCODE_SQL_STATEMENT_NOT_YET_COMPLETE
443            }
444
445            x if x == PgSqlErrorCode::ERRCODE_CONNECTION_EXCEPTION as isize => {
446                PgSqlErrorCode::ERRCODE_CONNECTION_EXCEPTION
447            }
448            x if x == PgSqlErrorCode::ERRCODE_CONNECTION_DOES_NOT_EXIST as isize => {
449                PgSqlErrorCode::ERRCODE_CONNECTION_DOES_NOT_EXIST
450            }
451            x if x == PgSqlErrorCode::ERRCODE_CONNECTION_FAILURE as isize => {
452                PgSqlErrorCode::ERRCODE_CONNECTION_FAILURE
453            }
454            x if x
455                == PgSqlErrorCode::ERRCODE_SQLCLIENT_UNABLE_TO_ESTABLISH_SQLCONNECTION as isize =>
456            {
457                PgSqlErrorCode::ERRCODE_SQLCLIENT_UNABLE_TO_ESTABLISH_SQLCONNECTION
458            }
459
460            x if x
461                == PgSqlErrorCode::ERRCODE_SQLSERVER_REJECTED_ESTABLISHMENT_OF_SQLCONNECTION
462                    as isize =>
463            {
464                PgSqlErrorCode::ERRCODE_SQLSERVER_REJECTED_ESTABLISHMENT_OF_SQLCONNECTION
465            }
466
467            x if x == PgSqlErrorCode::ERRCODE_TRANSACTION_RESOLUTION_UNKNOWN as isize => {
468                PgSqlErrorCode::ERRCODE_TRANSACTION_RESOLUTION_UNKNOWN
469            }
470            x if x == PgSqlErrorCode::ERRCODE_PROTOCOL_VIOLATION as isize => {
471                PgSqlErrorCode::ERRCODE_PROTOCOL_VIOLATION
472            }
473
474            x if x == PgSqlErrorCode::ERRCODE_TRIGGERED_ACTION_EXCEPTION as isize => {
475                PgSqlErrorCode::ERRCODE_TRIGGERED_ACTION_EXCEPTION
476            }
477
478            x if x == PgSqlErrorCode::ERRCODE_FEATURE_NOT_SUPPORTED as isize => {
479                PgSqlErrorCode::ERRCODE_FEATURE_NOT_SUPPORTED
480            }
481
482            x if x == PgSqlErrorCode::ERRCODE_INVALID_TRANSACTION_INITIATION as isize => {
483                PgSqlErrorCode::ERRCODE_INVALID_TRANSACTION_INITIATION
484            }
485
486            x if x == PgSqlErrorCode::ERRCODE_LOCATOR_EXCEPTION as isize => {
487                PgSqlErrorCode::ERRCODE_LOCATOR_EXCEPTION
488            }
489            x if x == PgSqlErrorCode::ERRCODE_L_E_INVALID_SPECIFICATION as isize => {
490                PgSqlErrorCode::ERRCODE_L_E_INVALID_SPECIFICATION
491            }
492
493            x if x == PgSqlErrorCode::ERRCODE_INVALID_GRANTOR as isize => {
494                PgSqlErrorCode::ERRCODE_INVALID_GRANTOR
495            }
496            x if x == PgSqlErrorCode::ERRCODE_INVALID_GRANT_OPERATION as isize => {
497                PgSqlErrorCode::ERRCODE_INVALID_GRANT_OPERATION
498            }
499
500            x if x == PgSqlErrorCode::ERRCODE_INVALID_ROLE_SPECIFICATION as isize => {
501                PgSqlErrorCode::ERRCODE_INVALID_ROLE_SPECIFICATION
502            }
503
504            x if x == PgSqlErrorCode::ERRCODE_DIAGNOSTICS_EXCEPTION as isize => {
505                PgSqlErrorCode::ERRCODE_DIAGNOSTICS_EXCEPTION
506            }
507            x if x
508                == PgSqlErrorCode::ERRCODE_STACKED_DIAGNOSTICS_ACCESSED_WITHOUT_ACTIVE_HANDLER
509                    as isize =>
510            {
511                PgSqlErrorCode::ERRCODE_STACKED_DIAGNOSTICS_ACCESSED_WITHOUT_ACTIVE_HANDLER
512            }
513
514            x if x == PgSqlErrorCode::ERRCODE_CASE_NOT_FOUND as isize => {
515                PgSqlErrorCode::ERRCODE_CASE_NOT_FOUND
516            }
517
518            x if x == PgSqlErrorCode::ERRCODE_CARDINALITY_VIOLATION as isize => {
519                PgSqlErrorCode::ERRCODE_CARDINALITY_VIOLATION
520            }
521
522            x if x == PgSqlErrorCode::ERRCODE_DATA_EXCEPTION as isize => {
523                PgSqlErrorCode::ERRCODE_DATA_EXCEPTION
524            }
525            x if x == PgSqlErrorCode::ERRCODE_ARRAY_ELEMENT_ERROR as isize => {
526                PgSqlErrorCode::ERRCODE_ARRAY_ELEMENT_ERROR
527            }
528            //    x if x == PgSqlErrorCode::ERRCODE_ARRAY_SUBSCRIPT_ERROR as isize => PgSqlErrorCode::ERRCODE_ARRAY_SUBSCRIPT_ERROR,
529            x if x == PgSqlErrorCode::ERRCODE_CHARACTER_NOT_IN_REPERTOIRE as isize => {
530                PgSqlErrorCode::ERRCODE_CHARACTER_NOT_IN_REPERTOIRE
531            }
532            x if x == PgSqlErrorCode::ERRCODE_DATETIME_FIELD_OVERFLOW as isize => {
533                PgSqlErrorCode::ERRCODE_DATETIME_FIELD_OVERFLOW
534            }
535            //    x if x == PgSqlErrorCode::ERRCODE_DATETIME_VALUE_OUT_OF_RANGE as isize => PgSqlErrorCode::ERRCODE_DATETIME_VALUE_OUT_OF_RANGE,
536            x if x == PgSqlErrorCode::ERRCODE_DIVISION_BY_ZERO as isize => {
537                PgSqlErrorCode::ERRCODE_DIVISION_BY_ZERO
538            }
539            x if x == PgSqlErrorCode::ERRCODE_ERROR_IN_ASSIGNMENT as isize => {
540                PgSqlErrorCode::ERRCODE_ERROR_IN_ASSIGNMENT
541            }
542            x if x == PgSqlErrorCode::ERRCODE_ESCAPE_CHARACTER_CONFLICT as isize => {
543                PgSqlErrorCode::ERRCODE_ESCAPE_CHARACTER_CONFLICT
544            }
545            x if x == PgSqlErrorCode::ERRCODE_INDICATOR_OVERFLOW as isize => {
546                PgSqlErrorCode::ERRCODE_INDICATOR_OVERFLOW
547            }
548            x if x == PgSqlErrorCode::ERRCODE_INTERVAL_FIELD_OVERFLOW as isize => {
549                PgSqlErrorCode::ERRCODE_INTERVAL_FIELD_OVERFLOW
550            }
551            x if x == PgSqlErrorCode::ERRCODE_INVALID_ARGUMENT_FOR_LOG as isize => {
552                PgSqlErrorCode::ERRCODE_INVALID_ARGUMENT_FOR_LOG
553            }
554            x if x == PgSqlErrorCode::ERRCODE_INVALID_ARGUMENT_FOR_NTILE as isize => {
555                PgSqlErrorCode::ERRCODE_INVALID_ARGUMENT_FOR_NTILE
556            }
557            x if x == PgSqlErrorCode::ERRCODE_INVALID_ARGUMENT_FOR_NTH_VALUE as isize => {
558                PgSqlErrorCode::ERRCODE_INVALID_ARGUMENT_FOR_NTH_VALUE
559            }
560            x if x == PgSqlErrorCode::ERRCODE_INVALID_ARGUMENT_FOR_POWER_FUNCTION as isize => {
561                PgSqlErrorCode::ERRCODE_INVALID_ARGUMENT_FOR_POWER_FUNCTION
562            }
563            x if x
564                == PgSqlErrorCode::ERRCODE_INVALID_ARGUMENT_FOR_WIDTH_BUCKET_FUNCTION as isize =>
565            {
566                PgSqlErrorCode::ERRCODE_INVALID_ARGUMENT_FOR_WIDTH_BUCKET_FUNCTION
567            }
568
569            x if x == PgSqlErrorCode::ERRCODE_INVALID_CHARACTER_VALUE_FOR_CAST as isize => {
570                PgSqlErrorCode::ERRCODE_INVALID_CHARACTER_VALUE_FOR_CAST
571            }
572            x if x == PgSqlErrorCode::ERRCODE_INVALID_DATETIME_FORMAT as isize => {
573                PgSqlErrorCode::ERRCODE_INVALID_DATETIME_FORMAT
574            }
575            x if x == PgSqlErrorCode::ERRCODE_INVALID_ESCAPE_CHARACTER as isize => {
576                PgSqlErrorCode::ERRCODE_INVALID_ESCAPE_CHARACTER
577            }
578            x if x == PgSqlErrorCode::ERRCODE_INVALID_ESCAPE_OCTET as isize => {
579                PgSqlErrorCode::ERRCODE_INVALID_ESCAPE_OCTET
580            }
581            x if x == PgSqlErrorCode::ERRCODE_INVALID_ESCAPE_SEQUENCE as isize => {
582                PgSqlErrorCode::ERRCODE_INVALID_ESCAPE_SEQUENCE
583            }
584            x if x == PgSqlErrorCode::ERRCODE_NONSTANDARD_USE_OF_ESCAPE_CHARACTER as isize => {
585                PgSqlErrorCode::ERRCODE_NONSTANDARD_USE_OF_ESCAPE_CHARACTER
586            }
587            x if x == PgSqlErrorCode::ERRCODE_INVALID_INDICATOR_PARAMETER_VALUE as isize => {
588                PgSqlErrorCode::ERRCODE_INVALID_INDICATOR_PARAMETER_VALUE
589            }
590            x if x == PgSqlErrorCode::ERRCODE_INVALID_PARAMETER_VALUE as isize => {
591                PgSqlErrorCode::ERRCODE_INVALID_PARAMETER_VALUE
592            }
593            x if x == PgSqlErrorCode::ERRCODE_INVALID_PRECEDING_OR_FOLLOWING_SIZE as isize => {
594                PgSqlErrorCode::ERRCODE_INVALID_PRECEDING_OR_FOLLOWING_SIZE
595            }
596            x if x == PgSqlErrorCode::ERRCODE_INVALID_REGULAR_EXPRESSION as isize => {
597                PgSqlErrorCode::ERRCODE_INVALID_REGULAR_EXPRESSION
598            }
599            x if x == PgSqlErrorCode::ERRCODE_INVALID_ROW_COUNT_IN_LIMIT_CLAUSE as isize => {
600                PgSqlErrorCode::ERRCODE_INVALID_ROW_COUNT_IN_LIMIT_CLAUSE
601            }
602            x if x
603                == PgSqlErrorCode::ERRCODE_INVALID_ROW_COUNT_IN_RESULT_OFFSET_CLAUSE as isize =>
604            {
605                PgSqlErrorCode::ERRCODE_INVALID_ROW_COUNT_IN_RESULT_OFFSET_CLAUSE
606            }
607
608            x if x == PgSqlErrorCode::ERRCODE_INVALID_TABLESAMPLE_ARGUMENT as isize => {
609                PgSqlErrorCode::ERRCODE_INVALID_TABLESAMPLE_ARGUMENT
610            }
611            x if x == PgSqlErrorCode::ERRCODE_INVALID_TABLESAMPLE_REPEAT as isize => {
612                PgSqlErrorCode::ERRCODE_INVALID_TABLESAMPLE_REPEAT
613            }
614            x if x == PgSqlErrorCode::ERRCODE_INVALID_TIME_ZONE_DISPLACEMENT_VALUE as isize => {
615                PgSqlErrorCode::ERRCODE_INVALID_TIME_ZONE_DISPLACEMENT_VALUE
616            }
617            x if x == PgSqlErrorCode::ERRCODE_INVALID_USE_OF_ESCAPE_CHARACTER as isize => {
618                PgSqlErrorCode::ERRCODE_INVALID_USE_OF_ESCAPE_CHARACTER
619            }
620            x if x == PgSqlErrorCode::ERRCODE_MOST_SPECIFIC_TYPE_MISMATCH as isize => {
621                PgSqlErrorCode::ERRCODE_MOST_SPECIFIC_TYPE_MISMATCH
622            }
623            x if x == PgSqlErrorCode::ERRCODE_NULL_VALUE_NOT_ALLOWED as isize => {
624                PgSqlErrorCode::ERRCODE_NULL_VALUE_NOT_ALLOWED
625            }
626            x if x == PgSqlErrorCode::ERRCODE_NULL_VALUE_NO_INDICATOR_PARAMETER as isize => {
627                PgSqlErrorCode::ERRCODE_NULL_VALUE_NO_INDICATOR_PARAMETER
628            }
629            x if x == PgSqlErrorCode::ERRCODE_NUMERIC_VALUE_OUT_OF_RANGE as isize => {
630                PgSqlErrorCode::ERRCODE_NUMERIC_VALUE_OUT_OF_RANGE
631            }
632            x if x == PgSqlErrorCode::ERRCODE_SEQUENCE_GENERATOR_LIMIT_EXCEEDED as isize => {
633                PgSqlErrorCode::ERRCODE_SEQUENCE_GENERATOR_LIMIT_EXCEEDED
634            }
635            x if x == PgSqlErrorCode::ERRCODE_STRING_DATA_LENGTH_MISMATCH as isize => {
636                PgSqlErrorCode::ERRCODE_STRING_DATA_LENGTH_MISMATCH
637            }
638            x if x == PgSqlErrorCode::ERRCODE_STRING_DATA_RIGHT_TRUNCATION as isize => {
639                PgSqlErrorCode::ERRCODE_STRING_DATA_RIGHT_TRUNCATION
640            }
641            x if x == PgSqlErrorCode::ERRCODE_SUBSTRING_ERROR as isize => {
642                PgSqlErrorCode::ERRCODE_SUBSTRING_ERROR
643            }
644            x if x == PgSqlErrorCode::ERRCODE_TRIM_ERROR as isize => {
645                PgSqlErrorCode::ERRCODE_TRIM_ERROR
646            }
647            x if x == PgSqlErrorCode::ERRCODE_UNTERMINATED_C_STRING as isize => {
648                PgSqlErrorCode::ERRCODE_UNTERMINATED_C_STRING
649            }
650            x if x == PgSqlErrorCode::ERRCODE_ZERO_LENGTH_CHARACTER_STRING as isize => {
651                PgSqlErrorCode::ERRCODE_ZERO_LENGTH_CHARACTER_STRING
652            }
653            x if x == PgSqlErrorCode::ERRCODE_FLOATING_POINT_EXCEPTION as isize => {
654                PgSqlErrorCode::ERRCODE_FLOATING_POINT_EXCEPTION
655            }
656            x if x == PgSqlErrorCode::ERRCODE_INVALID_TEXT_REPRESENTATION as isize => {
657                PgSqlErrorCode::ERRCODE_INVALID_TEXT_REPRESENTATION
658            }
659            x if x == PgSqlErrorCode::ERRCODE_INVALID_BINARY_REPRESENTATION as isize => {
660                PgSqlErrorCode::ERRCODE_INVALID_BINARY_REPRESENTATION
661            }
662            x if x == PgSqlErrorCode::ERRCODE_BAD_COPY_FILE_FORMAT as isize => {
663                PgSqlErrorCode::ERRCODE_BAD_COPY_FILE_FORMAT
664            }
665            x if x == PgSqlErrorCode::ERRCODE_UNTRANSLATABLE_CHARACTER as isize => {
666                PgSqlErrorCode::ERRCODE_UNTRANSLATABLE_CHARACTER
667            }
668            x if x == PgSqlErrorCode::ERRCODE_NOT_AN_XML_DOCUMENT as isize => {
669                PgSqlErrorCode::ERRCODE_NOT_AN_XML_DOCUMENT
670            }
671            x if x == PgSqlErrorCode::ERRCODE_INVALID_XML_DOCUMENT as isize => {
672                PgSqlErrorCode::ERRCODE_INVALID_XML_DOCUMENT
673            }
674            x if x == PgSqlErrorCode::ERRCODE_INVALID_XML_CONTENT as isize => {
675                PgSqlErrorCode::ERRCODE_INVALID_XML_CONTENT
676            }
677            x if x == PgSqlErrorCode::ERRCODE_INVALID_XML_COMMENT as isize => {
678                PgSqlErrorCode::ERRCODE_INVALID_XML_COMMENT
679            }
680            x if x == PgSqlErrorCode::ERRCODE_INVALID_XML_PROCESSING_INSTRUCTION as isize => {
681                PgSqlErrorCode::ERRCODE_INVALID_XML_PROCESSING_INSTRUCTION
682            }
683            x if x == PgSqlErrorCode::ERRCODE_DUPLICATE_JSON_OBJECT_KEY_VALUE as isize => {
684                PgSqlErrorCode::ERRCODE_DUPLICATE_JSON_OBJECT_KEY_VALUE
685            }
686            x if x == PgSqlErrorCode::ERRCODE_INVALID_JSON_TEXT as isize => {
687                PgSqlErrorCode::ERRCODE_INVALID_JSON_TEXT
688            }
689            x if x == PgSqlErrorCode::ERRCODE_INVALID_SQL_JSON_SUBSCRIPT as isize => {
690                PgSqlErrorCode::ERRCODE_INVALID_SQL_JSON_SUBSCRIPT
691            }
692            x if x == PgSqlErrorCode::ERRCODE_MORE_THAN_ONE_SQL_JSON_ITEM as isize => {
693                PgSqlErrorCode::ERRCODE_MORE_THAN_ONE_SQL_JSON_ITEM
694            }
695            x if x == PgSqlErrorCode::ERRCODE_NO_SQL_JSON_ITEM as isize => {
696                PgSqlErrorCode::ERRCODE_NO_SQL_JSON_ITEM
697            }
698            x if x == PgSqlErrorCode::ERRCODE_NON_NUMERIC_SQL_JSON_ITEM as isize => {
699                PgSqlErrorCode::ERRCODE_NON_NUMERIC_SQL_JSON_ITEM
700            }
701            x if x == PgSqlErrorCode::ERRCODE_NON_UNIQUE_KEYS_IN_A_JSON_OBJECT as isize => {
702                PgSqlErrorCode::ERRCODE_NON_UNIQUE_KEYS_IN_A_JSON_OBJECT
703            }
704            x if x == PgSqlErrorCode::ERRCODE_SINGLETON_SQL_JSON_ITEM_REQUIRED as isize => {
705                PgSqlErrorCode::ERRCODE_SINGLETON_SQL_JSON_ITEM_REQUIRED
706            }
707            x if x == PgSqlErrorCode::ERRCODE_SQL_JSON_ARRAY_NOT_FOUND as isize => {
708                PgSqlErrorCode::ERRCODE_SQL_JSON_ARRAY_NOT_FOUND
709            }
710            x if x == PgSqlErrorCode::ERRCODE_SQL_JSON_MEMBER_NOT_FOUND as isize => {
711                PgSqlErrorCode::ERRCODE_SQL_JSON_MEMBER_NOT_FOUND
712            }
713            x if x == PgSqlErrorCode::ERRCODE_SQL_JSON_NUMBER_NOT_FOUND as isize => {
714                PgSqlErrorCode::ERRCODE_SQL_JSON_NUMBER_NOT_FOUND
715            }
716            x if x == PgSqlErrorCode::ERRCODE_SQL_JSON_OBJECT_NOT_FOUND as isize => {
717                PgSqlErrorCode::ERRCODE_SQL_JSON_OBJECT_NOT_FOUND
718            }
719            x if x == PgSqlErrorCode::ERRCODE_TOO_MANY_JSON_ARRAY_ELEMENTS as isize => {
720                PgSqlErrorCode::ERRCODE_TOO_MANY_JSON_ARRAY_ELEMENTS
721            }
722            x if x == PgSqlErrorCode::ERRCODE_TOO_MANY_JSON_OBJECT_MEMBERS as isize => {
723                PgSqlErrorCode::ERRCODE_TOO_MANY_JSON_OBJECT_MEMBERS
724            }
725            x if x == PgSqlErrorCode::ERRCODE_SQL_JSON_SCALAR_REQUIRED as isize => {
726                PgSqlErrorCode::ERRCODE_SQL_JSON_SCALAR_REQUIRED
727            }
728
729            x if x == PgSqlErrorCode::ERRCODE_INTEGRITY_CONSTRAINT_VIOLATION as isize => {
730                PgSqlErrorCode::ERRCODE_INTEGRITY_CONSTRAINT_VIOLATION
731            }
732            x if x == PgSqlErrorCode::ERRCODE_RESTRICT_VIOLATION as isize => {
733                PgSqlErrorCode::ERRCODE_RESTRICT_VIOLATION
734            }
735            x if x == PgSqlErrorCode::ERRCODE_NOT_NULL_VIOLATION as isize => {
736                PgSqlErrorCode::ERRCODE_NOT_NULL_VIOLATION
737            }
738            x if x == PgSqlErrorCode::ERRCODE_FOREIGN_KEY_VIOLATION as isize => {
739                PgSqlErrorCode::ERRCODE_FOREIGN_KEY_VIOLATION
740            }
741            x if x == PgSqlErrorCode::ERRCODE_UNIQUE_VIOLATION as isize => {
742                PgSqlErrorCode::ERRCODE_UNIQUE_VIOLATION
743            }
744            x if x == PgSqlErrorCode::ERRCODE_CHECK_VIOLATION as isize => {
745                PgSqlErrorCode::ERRCODE_CHECK_VIOLATION
746            }
747            x if x == PgSqlErrorCode::ERRCODE_EXCLUSION_VIOLATION as isize => {
748                PgSqlErrorCode::ERRCODE_EXCLUSION_VIOLATION
749            }
750
751            x if x == PgSqlErrorCode::ERRCODE_INVALID_CURSOR_STATE as isize => {
752                PgSqlErrorCode::ERRCODE_INVALID_CURSOR_STATE
753            }
754
755            x if x == PgSqlErrorCode::ERRCODE_INVALID_TRANSACTION_STATE as isize => {
756                PgSqlErrorCode::ERRCODE_INVALID_TRANSACTION_STATE
757            }
758            x if x == PgSqlErrorCode::ERRCODE_ACTIVE_SQL_TRANSACTION as isize => {
759                PgSqlErrorCode::ERRCODE_ACTIVE_SQL_TRANSACTION
760            }
761            x if x == PgSqlErrorCode::ERRCODE_BRANCH_TRANSACTION_ALREADY_ACTIVE as isize => {
762                PgSqlErrorCode::ERRCODE_BRANCH_TRANSACTION_ALREADY_ACTIVE
763            }
764            x if x
765                == PgSqlErrorCode::ERRCODE_HELD_CURSOR_REQUIRES_SAME_ISOLATION_LEVEL as isize =>
766            {
767                PgSqlErrorCode::ERRCODE_HELD_CURSOR_REQUIRES_SAME_ISOLATION_LEVEL
768            }
769
770            x if x
771                == PgSqlErrorCode::ERRCODE_INAPPROPRIATE_ACCESS_MODE_FOR_BRANCH_TRANSACTION
772                    as isize =>
773            {
774                PgSqlErrorCode::ERRCODE_INAPPROPRIATE_ACCESS_MODE_FOR_BRANCH_TRANSACTION
775            }
776
777            x if x
778                == PgSqlErrorCode::ERRCODE_INAPPROPRIATE_ISOLATION_LEVEL_FOR_BRANCH_TRANSACTION
779                    as isize =>
780            {
781                PgSqlErrorCode::ERRCODE_INAPPROPRIATE_ISOLATION_LEVEL_FOR_BRANCH_TRANSACTION
782            }
783
784            x if x
785                == PgSqlErrorCode::ERRCODE_NO_ACTIVE_SQL_TRANSACTION_FOR_BRANCH_TRANSACTION
786                    as isize =>
787            {
788                PgSqlErrorCode::ERRCODE_NO_ACTIVE_SQL_TRANSACTION_FOR_BRANCH_TRANSACTION
789            }
790
791            x if x == PgSqlErrorCode::ERRCODE_READ_ONLY_SQL_TRANSACTION as isize => {
792                PgSqlErrorCode::ERRCODE_READ_ONLY_SQL_TRANSACTION
793            }
794            x if x
795                == PgSqlErrorCode::ERRCODE_SCHEMA_AND_DATA_STATEMENT_MIXING_NOT_SUPPORTED
796                    as isize =>
797            {
798                PgSqlErrorCode::ERRCODE_SCHEMA_AND_DATA_STATEMENT_MIXING_NOT_SUPPORTED
799            }
800
801            x if x == PgSqlErrorCode::ERRCODE_NO_ACTIVE_SQL_TRANSACTION as isize => {
802                PgSqlErrorCode::ERRCODE_NO_ACTIVE_SQL_TRANSACTION
803            }
804            x if x == PgSqlErrorCode::ERRCODE_IN_FAILED_SQL_TRANSACTION as isize => {
805                PgSqlErrorCode::ERRCODE_IN_FAILED_SQL_TRANSACTION
806            }
807            x if x == PgSqlErrorCode::ERRCODE_IDLE_IN_TRANSACTION_SESSION_TIMEOUT as isize => {
808                PgSqlErrorCode::ERRCODE_IDLE_IN_TRANSACTION_SESSION_TIMEOUT
809            }
810
811            x if x == PgSqlErrorCode::ERRCODE_INVALID_SQL_STATEMENT_NAME as isize => {
812                PgSqlErrorCode::ERRCODE_INVALID_SQL_STATEMENT_NAME
813            }
814
815            x if x == PgSqlErrorCode::ERRCODE_TRIGGERED_DATA_CHANGE_VIOLATION as isize => {
816                PgSqlErrorCode::ERRCODE_TRIGGERED_DATA_CHANGE_VIOLATION
817            }
818
819            x if x == PgSqlErrorCode::ERRCODE_INVALID_AUTHORIZATION_SPECIFICATION as isize => {
820                PgSqlErrorCode::ERRCODE_INVALID_AUTHORIZATION_SPECIFICATION
821            }
822            x if x == PgSqlErrorCode::ERRCODE_INVALID_PASSWORD as isize => {
823                PgSqlErrorCode::ERRCODE_INVALID_PASSWORD
824            }
825
826            x if x
827                == PgSqlErrorCode::ERRCODE_DEPENDENT_PRIVILEGE_DESCRIPTORS_STILL_EXIST as isize =>
828            {
829                PgSqlErrorCode::ERRCODE_DEPENDENT_PRIVILEGE_DESCRIPTORS_STILL_EXIST
830            }
831
832            x if x == PgSqlErrorCode::ERRCODE_DEPENDENT_OBJECTS_STILL_EXIST as isize => {
833                PgSqlErrorCode::ERRCODE_DEPENDENT_OBJECTS_STILL_EXIST
834            }
835
836            x if x == PgSqlErrorCode::ERRCODE_INVALID_TRANSACTION_TERMINATION as isize => {
837                PgSqlErrorCode::ERRCODE_INVALID_TRANSACTION_TERMINATION
838            }
839
840            x if x == PgSqlErrorCode::ERRCODE_SQL_ROUTINE_EXCEPTION as isize => {
841                PgSqlErrorCode::ERRCODE_SQL_ROUTINE_EXCEPTION
842            }
843            x if x
844                == PgSqlErrorCode::ERRCODE_S_R_E_FUNCTION_EXECUTED_NO_RETURN_STATEMENT as isize =>
845            {
846                PgSqlErrorCode::ERRCODE_S_R_E_FUNCTION_EXECUTED_NO_RETURN_STATEMENT
847            }
848
849            x if x == PgSqlErrorCode::ERRCODE_S_R_E_MODIFYING_SQL_DATA_NOT_PERMITTED as isize => {
850                PgSqlErrorCode::ERRCODE_S_R_E_MODIFYING_SQL_DATA_NOT_PERMITTED
851            }
852
853            x if x == PgSqlErrorCode::ERRCODE_S_R_E_PROHIBITED_SQL_STATEMENT_ATTEMPTED as isize => {
854                PgSqlErrorCode::ERRCODE_S_R_E_PROHIBITED_SQL_STATEMENT_ATTEMPTED
855            }
856
857            x if x == PgSqlErrorCode::ERRCODE_S_R_E_READING_SQL_DATA_NOT_PERMITTED as isize => {
858                PgSqlErrorCode::ERRCODE_S_R_E_READING_SQL_DATA_NOT_PERMITTED
859            }
860
861            x if x == PgSqlErrorCode::ERRCODE_INVALID_CURSOR_NAME as isize => {
862                PgSqlErrorCode::ERRCODE_INVALID_CURSOR_NAME
863            }
864
865            x if x == PgSqlErrorCode::ERRCODE_EXTERNAL_ROUTINE_EXCEPTION as isize => {
866                PgSqlErrorCode::ERRCODE_EXTERNAL_ROUTINE_EXCEPTION
867            }
868            x if x == PgSqlErrorCode::ERRCODE_E_R_E_CONTAINING_SQL_NOT_PERMITTED as isize => {
869                PgSqlErrorCode::ERRCODE_E_R_E_CONTAINING_SQL_NOT_PERMITTED
870            }
871            x if x == PgSqlErrorCode::ERRCODE_E_R_E_MODIFYING_SQL_DATA_NOT_PERMITTED as isize => {
872                PgSqlErrorCode::ERRCODE_E_R_E_MODIFYING_SQL_DATA_NOT_PERMITTED
873            }
874
875            x if x == PgSqlErrorCode::ERRCODE_E_R_E_PROHIBITED_SQL_STATEMENT_ATTEMPTED as isize => {
876                PgSqlErrorCode::ERRCODE_E_R_E_PROHIBITED_SQL_STATEMENT_ATTEMPTED
877            }
878
879            x if x == PgSqlErrorCode::ERRCODE_E_R_E_READING_SQL_DATA_NOT_PERMITTED as isize => {
880                PgSqlErrorCode::ERRCODE_E_R_E_READING_SQL_DATA_NOT_PERMITTED
881            }
882
883            x if x == PgSqlErrorCode::ERRCODE_EXTERNAL_ROUTINE_INVOCATION_EXCEPTION as isize => {
884                PgSqlErrorCode::ERRCODE_EXTERNAL_ROUTINE_INVOCATION_EXCEPTION
885            }
886            x if x == PgSqlErrorCode::ERRCODE_E_R_I_E_INVALID_SQLSTATE_RETURNED as isize => {
887                PgSqlErrorCode::ERRCODE_E_R_I_E_INVALID_SQLSTATE_RETURNED
888            }
889            x if x == PgSqlErrorCode::ERRCODE_E_R_I_E_NULL_VALUE_NOT_ALLOWED as isize => {
890                PgSqlErrorCode::ERRCODE_E_R_I_E_NULL_VALUE_NOT_ALLOWED
891            }
892            x if x == PgSqlErrorCode::ERRCODE_E_R_I_E_TRIGGER_PROTOCOL_VIOLATED as isize => {
893                PgSqlErrorCode::ERRCODE_E_R_I_E_TRIGGER_PROTOCOL_VIOLATED
894            }
895            x if x == PgSqlErrorCode::ERRCODE_E_R_I_E_SRF_PROTOCOL_VIOLATED as isize => {
896                PgSqlErrorCode::ERRCODE_E_R_I_E_SRF_PROTOCOL_VIOLATED
897            }
898            x if x == PgSqlErrorCode::ERRCODE_E_R_I_E_EVENT_TRIGGER_PROTOCOL_VIOLATED as isize => {
899                PgSqlErrorCode::ERRCODE_E_R_I_E_EVENT_TRIGGER_PROTOCOL_VIOLATED
900            }
901
902            x if x == PgSqlErrorCode::ERRCODE_SAVEPOINT_EXCEPTION as isize => {
903                PgSqlErrorCode::ERRCODE_SAVEPOINT_EXCEPTION
904            }
905            x if x == PgSqlErrorCode::ERRCODE_S_E_INVALID_SPECIFICATION as isize => {
906                PgSqlErrorCode::ERRCODE_S_E_INVALID_SPECIFICATION
907            }
908
909            x if x == PgSqlErrorCode::ERRCODE_INVALID_CATALOG_NAME as isize => {
910                PgSqlErrorCode::ERRCODE_INVALID_CATALOG_NAME
911            }
912
913            x if x == PgSqlErrorCode::ERRCODE_INVALID_SCHEMA_NAME as isize => {
914                PgSqlErrorCode::ERRCODE_INVALID_SCHEMA_NAME
915            }
916
917            x if x == PgSqlErrorCode::ERRCODE_TRANSACTION_ROLLBACK as isize => {
918                PgSqlErrorCode::ERRCODE_TRANSACTION_ROLLBACK
919            }
920            x if x == PgSqlErrorCode::ERRCODE_T_R_INTEGRITY_CONSTRAINT_VIOLATION as isize => {
921                PgSqlErrorCode::ERRCODE_T_R_INTEGRITY_CONSTRAINT_VIOLATION
922            }
923            x if x == PgSqlErrorCode::ERRCODE_T_R_SERIALIZATION_FAILURE as isize => {
924                PgSqlErrorCode::ERRCODE_T_R_SERIALIZATION_FAILURE
925            }
926            x if x == PgSqlErrorCode::ERRCODE_T_R_STATEMENT_COMPLETION_UNKNOWN as isize => {
927                PgSqlErrorCode::ERRCODE_T_R_STATEMENT_COMPLETION_UNKNOWN
928            }
929            x if x == PgSqlErrorCode::ERRCODE_T_R_DEADLOCK_DETECTED as isize => {
930                PgSqlErrorCode::ERRCODE_T_R_DEADLOCK_DETECTED
931            }
932
933            x if x == PgSqlErrorCode::ERRCODE_SYNTAX_ERROR_OR_ACCESS_RULE_VIOLATION as isize => {
934                PgSqlErrorCode::ERRCODE_SYNTAX_ERROR_OR_ACCESS_RULE_VIOLATION
935            }
936            x if x == PgSqlErrorCode::ERRCODE_SYNTAX_ERROR as isize => {
937                PgSqlErrorCode::ERRCODE_SYNTAX_ERROR
938            }
939            x if x == PgSqlErrorCode::ERRCODE_INSUFFICIENT_PRIVILEGE as isize => {
940                PgSqlErrorCode::ERRCODE_INSUFFICIENT_PRIVILEGE
941            }
942            x if x == PgSqlErrorCode::ERRCODE_CANNOT_COERCE as isize => {
943                PgSqlErrorCode::ERRCODE_CANNOT_COERCE
944            }
945            x if x == PgSqlErrorCode::ERRCODE_GROUPING_ERROR as isize => {
946                PgSqlErrorCode::ERRCODE_GROUPING_ERROR
947            }
948            x if x == PgSqlErrorCode::ERRCODE_WINDOWING_ERROR as isize => {
949                PgSqlErrorCode::ERRCODE_WINDOWING_ERROR
950            }
951            x if x == PgSqlErrorCode::ERRCODE_INVALID_RECURSION as isize => {
952                PgSqlErrorCode::ERRCODE_INVALID_RECURSION
953            }
954            x if x == PgSqlErrorCode::ERRCODE_INVALID_FOREIGN_KEY as isize => {
955                PgSqlErrorCode::ERRCODE_INVALID_FOREIGN_KEY
956            }
957            x if x == PgSqlErrorCode::ERRCODE_INVALID_NAME as isize => {
958                PgSqlErrorCode::ERRCODE_INVALID_NAME
959            }
960            x if x == PgSqlErrorCode::ERRCODE_NAME_TOO_LONG as isize => {
961                PgSqlErrorCode::ERRCODE_NAME_TOO_LONG
962            }
963            x if x == PgSqlErrorCode::ERRCODE_RESERVED_NAME as isize => {
964                PgSqlErrorCode::ERRCODE_RESERVED_NAME
965            }
966            x if x == PgSqlErrorCode::ERRCODE_DATATYPE_MISMATCH as isize => {
967                PgSqlErrorCode::ERRCODE_DATATYPE_MISMATCH
968            }
969            x if x == PgSqlErrorCode::ERRCODE_INDETERMINATE_DATATYPE as isize => {
970                PgSqlErrorCode::ERRCODE_INDETERMINATE_DATATYPE
971            }
972            x if x == PgSqlErrorCode::ERRCODE_COLLATION_MISMATCH as isize => {
973                PgSqlErrorCode::ERRCODE_COLLATION_MISMATCH
974            }
975            x if x == PgSqlErrorCode::ERRCODE_INDETERMINATE_COLLATION as isize => {
976                PgSqlErrorCode::ERRCODE_INDETERMINATE_COLLATION
977            }
978            x if x == PgSqlErrorCode::ERRCODE_WRONG_OBJECT_TYPE as isize => {
979                PgSqlErrorCode::ERRCODE_WRONG_OBJECT_TYPE
980            }
981            x if x == PgSqlErrorCode::ERRCODE_GENERATED_ALWAYS as isize => {
982                PgSqlErrorCode::ERRCODE_GENERATED_ALWAYS
983            }
984            x if x == PgSqlErrorCode::ERRCODE_UNDEFINED_COLUMN as isize => {
985                PgSqlErrorCode::ERRCODE_UNDEFINED_COLUMN
986            }
987            //    x if x == PgSqlErrorCode::ERRCODE_UNDEFINED_CURSOR as isize => PgSqlErrorCode::ERRCODE_UNDEFINED_CURSOR,
988            //    x if x == PgSqlErrorCode::ERRCODE_UNDEFINED_DATABASE as isize => PgSqlErrorCode::ERRCODE_UNDEFINED_DATABASE,
989            x if x == PgSqlErrorCode::ERRCODE_UNDEFINED_FUNCTION as isize => {
990                PgSqlErrorCode::ERRCODE_UNDEFINED_FUNCTION
991            }
992            //    x if x == PgSqlErrorCode::ERRCODE_UNDEFINED_PSTATEMENT as isize => PgSqlErrorCode::ERRCODE_UNDEFINED_PSTATEMENT,
993            //    x if x == PgSqlErrorCode::ERRCODE_UNDEFINED_SCHEMA as isize => PgSqlErrorCode::ERRCODE_UNDEFINED_SCHEMA,
994            x if x == PgSqlErrorCode::ERRCODE_UNDEFINED_TABLE as isize => {
995                PgSqlErrorCode::ERRCODE_UNDEFINED_TABLE
996            }
997            x if x == PgSqlErrorCode::ERRCODE_UNDEFINED_PARAMETER as isize => {
998                PgSqlErrorCode::ERRCODE_UNDEFINED_PARAMETER
999            }
1000            x if x == PgSqlErrorCode::ERRCODE_UNDEFINED_OBJECT as isize => {
1001                PgSqlErrorCode::ERRCODE_UNDEFINED_OBJECT
1002            }
1003            x if x == PgSqlErrorCode::ERRCODE_DUPLICATE_COLUMN as isize => {
1004                PgSqlErrorCode::ERRCODE_DUPLICATE_COLUMN
1005            }
1006            x if x == PgSqlErrorCode::ERRCODE_DUPLICATE_CURSOR as isize => {
1007                PgSqlErrorCode::ERRCODE_DUPLICATE_CURSOR
1008            }
1009            x if x == PgSqlErrorCode::ERRCODE_DUPLICATE_DATABASE as isize => {
1010                PgSqlErrorCode::ERRCODE_DUPLICATE_DATABASE
1011            }
1012            x if x == PgSqlErrorCode::ERRCODE_DUPLICATE_FUNCTION as isize => {
1013                PgSqlErrorCode::ERRCODE_DUPLICATE_FUNCTION
1014            }
1015            x if x == PgSqlErrorCode::ERRCODE_DUPLICATE_PSTATEMENT as isize => {
1016                PgSqlErrorCode::ERRCODE_DUPLICATE_PSTATEMENT
1017            }
1018            x if x == PgSqlErrorCode::ERRCODE_DUPLICATE_SCHEMA as isize => {
1019                PgSqlErrorCode::ERRCODE_DUPLICATE_SCHEMA
1020            }
1021            x if x == PgSqlErrorCode::ERRCODE_DUPLICATE_TABLE as isize => {
1022                PgSqlErrorCode::ERRCODE_DUPLICATE_TABLE
1023            }
1024            x if x == PgSqlErrorCode::ERRCODE_DUPLICATE_ALIAS as isize => {
1025                PgSqlErrorCode::ERRCODE_DUPLICATE_ALIAS
1026            }
1027            x if x == PgSqlErrorCode::ERRCODE_DUPLICATE_OBJECT as isize => {
1028                PgSqlErrorCode::ERRCODE_DUPLICATE_OBJECT
1029            }
1030            x if x == PgSqlErrorCode::ERRCODE_AMBIGUOUS_COLUMN as isize => {
1031                PgSqlErrorCode::ERRCODE_AMBIGUOUS_COLUMN
1032            }
1033            x if x == PgSqlErrorCode::ERRCODE_AMBIGUOUS_FUNCTION as isize => {
1034                PgSqlErrorCode::ERRCODE_AMBIGUOUS_FUNCTION
1035            }
1036            x if x == PgSqlErrorCode::ERRCODE_AMBIGUOUS_PARAMETER as isize => {
1037                PgSqlErrorCode::ERRCODE_AMBIGUOUS_PARAMETER
1038            }
1039            x if x == PgSqlErrorCode::ERRCODE_AMBIGUOUS_ALIAS as isize => {
1040                PgSqlErrorCode::ERRCODE_AMBIGUOUS_ALIAS
1041            }
1042            x if x == PgSqlErrorCode::ERRCODE_INVALID_COLUMN_REFERENCE as isize => {
1043                PgSqlErrorCode::ERRCODE_INVALID_COLUMN_REFERENCE
1044            }
1045            x if x == PgSqlErrorCode::ERRCODE_INVALID_COLUMN_DEFINITION as isize => {
1046                PgSqlErrorCode::ERRCODE_INVALID_COLUMN_DEFINITION
1047            }
1048            x if x == PgSqlErrorCode::ERRCODE_INVALID_CURSOR_DEFINITION as isize => {
1049                PgSqlErrorCode::ERRCODE_INVALID_CURSOR_DEFINITION
1050            }
1051            x if x == PgSqlErrorCode::ERRCODE_INVALID_DATABASE_DEFINITION as isize => {
1052                PgSqlErrorCode::ERRCODE_INVALID_DATABASE_DEFINITION
1053            }
1054            x if x == PgSqlErrorCode::ERRCODE_INVALID_FUNCTION_DEFINITION as isize => {
1055                PgSqlErrorCode::ERRCODE_INVALID_FUNCTION_DEFINITION
1056            }
1057            x if x == PgSqlErrorCode::ERRCODE_INVALID_PSTATEMENT_DEFINITION as isize => {
1058                PgSqlErrorCode::ERRCODE_INVALID_PSTATEMENT_DEFINITION
1059            }
1060            x if x == PgSqlErrorCode::ERRCODE_INVALID_SCHEMA_DEFINITION as isize => {
1061                PgSqlErrorCode::ERRCODE_INVALID_SCHEMA_DEFINITION
1062            }
1063            x if x == PgSqlErrorCode::ERRCODE_INVALID_TABLE_DEFINITION as isize => {
1064                PgSqlErrorCode::ERRCODE_INVALID_TABLE_DEFINITION
1065            }
1066            x if x == PgSqlErrorCode::ERRCODE_INVALID_OBJECT_DEFINITION as isize => {
1067                PgSqlErrorCode::ERRCODE_INVALID_OBJECT_DEFINITION
1068            }
1069
1070            x if x == PgSqlErrorCode::ERRCODE_WITH_CHECK_OPTION_VIOLATION as isize => {
1071                PgSqlErrorCode::ERRCODE_WITH_CHECK_OPTION_VIOLATION
1072            }
1073
1074            x if x == PgSqlErrorCode::ERRCODE_INSUFFICIENT_RESOURCES as isize => {
1075                PgSqlErrorCode::ERRCODE_INSUFFICIENT_RESOURCES
1076            }
1077            x if x == PgSqlErrorCode::ERRCODE_DISK_FULL as isize => {
1078                PgSqlErrorCode::ERRCODE_DISK_FULL
1079            }
1080            x if x == PgSqlErrorCode::ERRCODE_OUT_OF_MEMORY as isize => {
1081                PgSqlErrorCode::ERRCODE_OUT_OF_MEMORY
1082            }
1083            x if x == PgSqlErrorCode::ERRCODE_TOO_MANY_CONNECTIONS as isize => {
1084                PgSqlErrorCode::ERRCODE_TOO_MANY_CONNECTIONS
1085            }
1086            x if x == PgSqlErrorCode::ERRCODE_CONFIGURATION_LIMIT_EXCEEDED as isize => {
1087                PgSqlErrorCode::ERRCODE_CONFIGURATION_LIMIT_EXCEEDED
1088            }
1089
1090            x if x == PgSqlErrorCode::ERRCODE_PROGRAM_LIMIT_EXCEEDED as isize => {
1091                PgSqlErrorCode::ERRCODE_PROGRAM_LIMIT_EXCEEDED
1092            }
1093            x if x == PgSqlErrorCode::ERRCODE_STATEMENT_TOO_COMPLEX as isize => {
1094                PgSqlErrorCode::ERRCODE_STATEMENT_TOO_COMPLEX
1095            }
1096            x if x == PgSqlErrorCode::ERRCODE_TOO_MANY_COLUMNS as isize => {
1097                PgSqlErrorCode::ERRCODE_TOO_MANY_COLUMNS
1098            }
1099            x if x == PgSqlErrorCode::ERRCODE_TOO_MANY_ARGUMENTS as isize => {
1100                PgSqlErrorCode::ERRCODE_TOO_MANY_ARGUMENTS
1101            }
1102
1103            x if x == PgSqlErrorCode::ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE as isize => {
1104                PgSqlErrorCode::ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE
1105            }
1106            x if x == PgSqlErrorCode::ERRCODE_OBJECT_IN_USE as isize => {
1107                PgSqlErrorCode::ERRCODE_OBJECT_IN_USE
1108            }
1109            x if x == PgSqlErrorCode::ERRCODE_CANT_CHANGE_RUNTIME_PARAM as isize => {
1110                PgSqlErrorCode::ERRCODE_CANT_CHANGE_RUNTIME_PARAM
1111            }
1112            x if x == PgSqlErrorCode::ERRCODE_LOCK_NOT_AVAILABLE as isize => {
1113                PgSqlErrorCode::ERRCODE_LOCK_NOT_AVAILABLE
1114            }
1115            x if x == PgSqlErrorCode::ERRCODE_UNSAFE_NEW_ENUM_VALUE_USAGE as isize => {
1116                PgSqlErrorCode::ERRCODE_UNSAFE_NEW_ENUM_VALUE_USAGE
1117            }
1118
1119            x if x == PgSqlErrorCode::ERRCODE_OPERATOR_INTERVENTION as isize => {
1120                PgSqlErrorCode::ERRCODE_OPERATOR_INTERVENTION
1121            }
1122            x if x == PgSqlErrorCode::ERRCODE_QUERY_CANCELED as isize => {
1123                PgSqlErrorCode::ERRCODE_QUERY_CANCELED
1124            }
1125            x if x == PgSqlErrorCode::ERRCODE_ADMIN_SHUTDOWN as isize => {
1126                PgSqlErrorCode::ERRCODE_ADMIN_SHUTDOWN
1127            }
1128            x if x == PgSqlErrorCode::ERRCODE_CRASH_SHUTDOWN as isize => {
1129                PgSqlErrorCode::ERRCODE_CRASH_SHUTDOWN
1130            }
1131            x if x == PgSqlErrorCode::ERRCODE_CANNOT_CONNECT_NOW as isize => {
1132                PgSqlErrorCode::ERRCODE_CANNOT_CONNECT_NOW
1133            }
1134            x if x == PgSqlErrorCode::ERRCODE_DATABASE_DROPPED as isize => {
1135                PgSqlErrorCode::ERRCODE_DATABASE_DROPPED
1136            }
1137
1138            x if x == PgSqlErrorCode::ERRCODE_SYSTEM_ERROR as isize => {
1139                PgSqlErrorCode::ERRCODE_SYSTEM_ERROR
1140            }
1141            x if x == PgSqlErrorCode::ERRCODE_IO_ERROR as isize => PgSqlErrorCode::ERRCODE_IO_ERROR,
1142            x if x == PgSqlErrorCode::ERRCODE_UNDEFINED_FILE as isize => {
1143                PgSqlErrorCode::ERRCODE_UNDEFINED_FILE
1144            }
1145            x if x == PgSqlErrorCode::ERRCODE_DUPLICATE_FILE as isize => {
1146                PgSqlErrorCode::ERRCODE_DUPLICATE_FILE
1147            }
1148
1149            x if x == PgSqlErrorCode::ERRCODE_SNAPSHOT_TOO_OLD as isize => {
1150                PgSqlErrorCode::ERRCODE_SNAPSHOT_TOO_OLD
1151            }
1152
1153            x if x == PgSqlErrorCode::ERRCODE_CONFIG_FILE_ERROR as isize => {
1154                PgSqlErrorCode::ERRCODE_CONFIG_FILE_ERROR
1155            }
1156            x if x == PgSqlErrorCode::ERRCODE_LOCK_FILE_EXISTS as isize => {
1157                PgSqlErrorCode::ERRCODE_LOCK_FILE_EXISTS
1158            }
1159
1160            x if x == PgSqlErrorCode::ERRCODE_FDW_ERROR as isize => {
1161                PgSqlErrorCode::ERRCODE_FDW_ERROR
1162            }
1163            x if x == PgSqlErrorCode::ERRCODE_FDW_COLUMN_NAME_NOT_FOUND as isize => {
1164                PgSqlErrorCode::ERRCODE_FDW_COLUMN_NAME_NOT_FOUND
1165            }
1166            x if x == PgSqlErrorCode::ERRCODE_FDW_DYNAMIC_PARAMETER_VALUE_NEEDED as isize => {
1167                PgSqlErrorCode::ERRCODE_FDW_DYNAMIC_PARAMETER_VALUE_NEEDED
1168            }
1169            x if x == PgSqlErrorCode::ERRCODE_FDW_FUNCTION_SEQUENCE_ERROR as isize => {
1170                PgSqlErrorCode::ERRCODE_FDW_FUNCTION_SEQUENCE_ERROR
1171            }
1172            x if x == PgSqlErrorCode::ERRCODE_FDW_INCONSISTENT_DESCRIPTOR_INFORMATION as isize => {
1173                PgSqlErrorCode::ERRCODE_FDW_INCONSISTENT_DESCRIPTOR_INFORMATION
1174            }
1175
1176            x if x == PgSqlErrorCode::ERRCODE_FDW_INVALID_ATTRIBUTE_VALUE as isize => {
1177                PgSqlErrorCode::ERRCODE_FDW_INVALID_ATTRIBUTE_VALUE
1178            }
1179            x if x == PgSqlErrorCode::ERRCODE_FDW_INVALID_COLUMN_NAME as isize => {
1180                PgSqlErrorCode::ERRCODE_FDW_INVALID_COLUMN_NAME
1181            }
1182            x if x == PgSqlErrorCode::ERRCODE_FDW_INVALID_COLUMN_NUMBER as isize => {
1183                PgSqlErrorCode::ERRCODE_FDW_INVALID_COLUMN_NUMBER
1184            }
1185            x if x == PgSqlErrorCode::ERRCODE_FDW_INVALID_DATA_TYPE as isize => {
1186                PgSqlErrorCode::ERRCODE_FDW_INVALID_DATA_TYPE
1187            }
1188            x if x == PgSqlErrorCode::ERRCODE_FDW_INVALID_DATA_TYPE_DESCRIPTORS as isize => {
1189                PgSqlErrorCode::ERRCODE_FDW_INVALID_DATA_TYPE_DESCRIPTORS
1190            }
1191            x if x == PgSqlErrorCode::ERRCODE_FDW_INVALID_DESCRIPTOR_FIELD_IDENTIFIER as isize => {
1192                PgSqlErrorCode::ERRCODE_FDW_INVALID_DESCRIPTOR_FIELD_IDENTIFIER
1193            }
1194
1195            x if x == PgSqlErrorCode::ERRCODE_FDW_INVALID_HANDLE as isize => {
1196                PgSqlErrorCode::ERRCODE_FDW_INVALID_HANDLE
1197            }
1198            x if x == PgSqlErrorCode::ERRCODE_FDW_INVALID_OPTION_INDEX as isize => {
1199                PgSqlErrorCode::ERRCODE_FDW_INVALID_OPTION_INDEX
1200            }
1201            x if x == PgSqlErrorCode::ERRCODE_FDW_INVALID_OPTION_NAME as isize => {
1202                PgSqlErrorCode::ERRCODE_FDW_INVALID_OPTION_NAME
1203            }
1204            x if x
1205                == PgSqlErrorCode::ERRCODE_FDW_INVALID_STRING_LENGTH_OR_BUFFER_LENGTH as isize =>
1206            {
1207                PgSqlErrorCode::ERRCODE_FDW_INVALID_STRING_LENGTH_OR_BUFFER_LENGTH
1208            }
1209
1210            x if x == PgSqlErrorCode::ERRCODE_FDW_INVALID_STRING_FORMAT as isize => {
1211                PgSqlErrorCode::ERRCODE_FDW_INVALID_STRING_FORMAT
1212            }
1213            x if x == PgSqlErrorCode::ERRCODE_FDW_INVALID_USE_OF_NULL_POINTER as isize => {
1214                PgSqlErrorCode::ERRCODE_FDW_INVALID_USE_OF_NULL_POINTER
1215            }
1216            x if x == PgSqlErrorCode::ERRCODE_FDW_TOO_MANY_HANDLES as isize => {
1217                PgSqlErrorCode::ERRCODE_FDW_TOO_MANY_HANDLES
1218            }
1219            x if x == PgSqlErrorCode::ERRCODE_FDW_OUT_OF_MEMORY as isize => {
1220                PgSqlErrorCode::ERRCODE_FDW_OUT_OF_MEMORY
1221            }
1222            x if x == PgSqlErrorCode::ERRCODE_FDW_NO_SCHEMAS as isize => {
1223                PgSqlErrorCode::ERRCODE_FDW_NO_SCHEMAS
1224            }
1225            x if x == PgSqlErrorCode::ERRCODE_FDW_OPTION_NAME_NOT_FOUND as isize => {
1226                PgSqlErrorCode::ERRCODE_FDW_OPTION_NAME_NOT_FOUND
1227            }
1228            x if x == PgSqlErrorCode::ERRCODE_FDW_REPLY_HANDLE as isize => {
1229                PgSqlErrorCode::ERRCODE_FDW_REPLY_HANDLE
1230            }
1231            x if x == PgSqlErrorCode::ERRCODE_FDW_SCHEMA_NOT_FOUND as isize => {
1232                PgSqlErrorCode::ERRCODE_FDW_SCHEMA_NOT_FOUND
1233            }
1234            x if x == PgSqlErrorCode::ERRCODE_FDW_TABLE_NOT_FOUND as isize => {
1235                PgSqlErrorCode::ERRCODE_FDW_TABLE_NOT_FOUND
1236            }
1237            x if x == PgSqlErrorCode::ERRCODE_FDW_UNABLE_TO_CREATE_EXECUTION as isize => {
1238                PgSqlErrorCode::ERRCODE_FDW_UNABLE_TO_CREATE_EXECUTION
1239            }
1240            x if x == PgSqlErrorCode::ERRCODE_FDW_UNABLE_TO_CREATE_REPLY as isize => {
1241                PgSqlErrorCode::ERRCODE_FDW_UNABLE_TO_CREATE_REPLY
1242            }
1243            x if x == PgSqlErrorCode::ERRCODE_FDW_UNABLE_TO_ESTABLISH_CONNECTION as isize => {
1244                PgSqlErrorCode::ERRCODE_FDW_UNABLE_TO_ESTABLISH_CONNECTION
1245            }
1246
1247            x if x == PgSqlErrorCode::ERRCODE_PLPGSQL_ERROR as isize => {
1248                PgSqlErrorCode::ERRCODE_PLPGSQL_ERROR
1249            }
1250            x if x == PgSqlErrorCode::ERRCODE_RAISE_EXCEPTION as isize => {
1251                PgSqlErrorCode::ERRCODE_RAISE_EXCEPTION
1252            }
1253            x if x == PgSqlErrorCode::ERRCODE_NO_DATA_FOUND as isize => {
1254                PgSqlErrorCode::ERRCODE_NO_DATA_FOUND
1255            }
1256            x if x == PgSqlErrorCode::ERRCODE_TOO_MANY_ROWS as isize => {
1257                PgSqlErrorCode::ERRCODE_TOO_MANY_ROWS
1258            }
1259            x if x == PgSqlErrorCode::ERRCODE_ASSERT_FAILURE as isize => {
1260                PgSqlErrorCode::ERRCODE_ASSERT_FAILURE
1261            }
1262
1263            x if x == PgSqlErrorCode::ERRCODE_INTERNAL_ERROR as isize => {
1264                PgSqlErrorCode::ERRCODE_INTERNAL_ERROR
1265            }
1266            x if x == PgSqlErrorCode::ERRCODE_DATA_CORRUPTED as isize => {
1267                PgSqlErrorCode::ERRCODE_DATA_CORRUPTED
1268            }
1269            x if x == PgSqlErrorCode::ERRCODE_INDEX_CORRUPTED as isize => {
1270                PgSqlErrorCode::ERRCODE_INDEX_CORRUPTED
1271            }
1272
1273            _ => PgSqlErrorCode::ERRCODE_INTERNAL_ERROR,
1274        }
1275    }
1276}
1277
1278#[allow(non_snake_case)]
1279#[inline]
1280const fn PGSIXBIT(ch: i32) -> i32 {
1281    ((ch) - '0' as i32) & 0x3F
1282}
1283
1284#[allow(non_snake_case)]
1285#[inline]
1286const fn MAKE_SQLSTATE(ch1: char, ch2: char, ch3: char, ch4: char, ch5: char) -> i32 {
1287    PGSIXBIT(ch1 as i32)
1288        + (PGSIXBIT(ch2 as i32) << 6)
1289        + (PGSIXBIT(ch3 as i32) << 12)
1290        + (PGSIXBIT(ch4 as i32) << 18)
1291        + (PGSIXBIT(ch5 as i32) << 24)
1292}