pgx_pg_sys/submodules/
errcodes.rs

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