xitca_postgres/error/
sql_state.rs

1/// A SQLSTATE error code
2#[derive(PartialEq, Eq, Clone, Debug)]
3pub struct SqlState(Inner);
4
5impl SqlState {
6    /// Creates a `SqlState` from its error code.
7    pub fn from_code(s: &str) -> SqlState {
8        match Self::state(s) {
9            Some(state) => state,
10            None => SqlState(Inner::Other(s.into())),
11        }
12    }
13
14    /// Returns the error code corresponding to the `SqlState`.
15    pub fn code(&self) -> &str {
16        match &self.0 {
17            Inner::E00000 => "00000",
18            Inner::E01000 => "01000",
19            Inner::E0100C => "0100C",
20            Inner::E01008 => "01008",
21            Inner::E01003 => "01003",
22            Inner::E01007 => "01007",
23            Inner::E01006 => "01006",
24            Inner::E01004 => "01004",
25            Inner::E01P01 => "01P01",
26            Inner::E02000 => "02000",
27            Inner::E02001 => "02001",
28            Inner::E03000 => "03000",
29            Inner::E08000 => "08000",
30            Inner::E08003 => "08003",
31            Inner::E08006 => "08006",
32            Inner::E08001 => "08001",
33            Inner::E08004 => "08004",
34            Inner::E08007 => "08007",
35            Inner::E08P01 => "08P01",
36            Inner::E09000 => "09000",
37            Inner::E0A000 => "0A000",
38            Inner::E0B000 => "0B000",
39            Inner::E0F000 => "0F000",
40            Inner::E0F001 => "0F001",
41            Inner::E0L000 => "0L000",
42            Inner::E0LP01 => "0LP01",
43            Inner::E0P000 => "0P000",
44            Inner::E0Z000 => "0Z000",
45            Inner::E0Z002 => "0Z002",
46            Inner::E20000 => "20000",
47            Inner::E21000 => "21000",
48            Inner::E22000 => "22000",
49            Inner::E2202E => "2202E",
50            Inner::E22021 => "22021",
51            Inner::E22008 => "22008",
52            Inner::E22012 => "22012",
53            Inner::E22005 => "22005",
54            Inner::E2200B => "2200B",
55            Inner::E22022 => "22022",
56            Inner::E22015 => "22015",
57            Inner::E2201E => "2201E",
58            Inner::E22014 => "22014",
59            Inner::E22016 => "22016",
60            Inner::E2201F => "2201F",
61            Inner::E2201G => "2201G",
62            Inner::E22018 => "22018",
63            Inner::E22007 => "22007",
64            Inner::E22019 => "22019",
65            Inner::E2200D => "2200D",
66            Inner::E22025 => "22025",
67            Inner::E22P06 => "22P06",
68            Inner::E22010 => "22010",
69            Inner::E22023 => "22023",
70            Inner::E22013 => "22013",
71            Inner::E2201B => "2201B",
72            Inner::E2201W => "2201W",
73            Inner::E2201X => "2201X",
74            Inner::E2202H => "2202H",
75            Inner::E2202G => "2202G",
76            Inner::E22009 => "22009",
77            Inner::E2200C => "2200C",
78            Inner::E2200G => "2200G",
79            Inner::E22004 => "22004",
80            Inner::E22002 => "22002",
81            Inner::E22003 => "22003",
82            Inner::E2200H => "2200H",
83            Inner::E22026 => "22026",
84            Inner::E22001 => "22001",
85            Inner::E22011 => "22011",
86            Inner::E22027 => "22027",
87            Inner::E22024 => "22024",
88            Inner::E2200F => "2200F",
89            Inner::E22P01 => "22P01",
90            Inner::E22P02 => "22P02",
91            Inner::E22P03 => "22P03",
92            Inner::E22P04 => "22P04",
93            Inner::E22P05 => "22P05",
94            Inner::E2200L => "2200L",
95            Inner::E2200M => "2200M",
96            Inner::E2200N => "2200N",
97            Inner::E2200S => "2200S",
98            Inner::E2200T => "2200T",
99            Inner::E22030 => "22030",
100            Inner::E22031 => "22031",
101            Inner::E22032 => "22032",
102            Inner::E22033 => "22033",
103            Inner::E22034 => "22034",
104            Inner::E22035 => "22035",
105            Inner::E22036 => "22036",
106            Inner::E22037 => "22037",
107            Inner::E22038 => "22038",
108            Inner::E22039 => "22039",
109            Inner::E2203A => "2203A",
110            Inner::E2203B => "2203B",
111            Inner::E2203C => "2203C",
112            Inner::E2203D => "2203D",
113            Inner::E2203E => "2203E",
114            Inner::E2203F => "2203F",
115            Inner::E2203G => "2203G",
116            Inner::E23000 => "23000",
117            Inner::E23001 => "23001",
118            Inner::E23502 => "23502",
119            Inner::E23503 => "23503",
120            Inner::E23505 => "23505",
121            Inner::E23514 => "23514",
122            Inner::E23P01 => "23P01",
123            Inner::E24000 => "24000",
124            Inner::E25000 => "25000",
125            Inner::E25001 => "25001",
126            Inner::E25002 => "25002",
127            Inner::E25008 => "25008",
128            Inner::E25003 => "25003",
129            Inner::E25004 => "25004",
130            Inner::E25005 => "25005",
131            Inner::E25006 => "25006",
132            Inner::E25007 => "25007",
133            Inner::E25P01 => "25P01",
134            Inner::E25P02 => "25P02",
135            Inner::E25P03 => "25P03",
136            Inner::E26000 => "26000",
137            Inner::E27000 => "27000",
138            Inner::E28000 => "28000",
139            Inner::E28P01 => "28P01",
140            Inner::E2B000 => "2B000",
141            Inner::E2BP01 => "2BP01",
142            Inner::E2D000 => "2D000",
143            Inner::E2F000 => "2F000",
144            Inner::E2F005 => "2F005",
145            Inner::E2F002 => "2F002",
146            Inner::E2F003 => "2F003",
147            Inner::E2F004 => "2F004",
148            Inner::E34000 => "34000",
149            Inner::E38000 => "38000",
150            Inner::E38001 => "38001",
151            Inner::E38002 => "38002",
152            Inner::E38003 => "38003",
153            Inner::E38004 => "38004",
154            Inner::E39000 => "39000",
155            Inner::E39001 => "39001",
156            Inner::E39004 => "39004",
157            Inner::E39P01 => "39P01",
158            Inner::E39P02 => "39P02",
159            Inner::E39P03 => "39P03",
160            Inner::E3B000 => "3B000",
161            Inner::E3B001 => "3B001",
162            Inner::E3D000 => "3D000",
163            Inner::E3F000 => "3F000",
164            Inner::E40000 => "40000",
165            Inner::E40002 => "40002",
166            Inner::E40001 => "40001",
167            Inner::E40003 => "40003",
168            Inner::E40P01 => "40P01",
169            Inner::E42000 => "42000",
170            Inner::E42601 => "42601",
171            Inner::E42501 => "42501",
172            Inner::E42846 => "42846",
173            Inner::E42803 => "42803",
174            Inner::E42P20 => "42P20",
175            Inner::E42P19 => "42P19",
176            Inner::E42830 => "42830",
177            Inner::E42602 => "42602",
178            Inner::E42622 => "42622",
179            Inner::E42939 => "42939",
180            Inner::E42804 => "42804",
181            Inner::E42P18 => "42P18",
182            Inner::E42P21 => "42P21",
183            Inner::E42P22 => "42P22",
184            Inner::E42809 => "42809",
185            Inner::E428C9 => "428C9",
186            Inner::E42703 => "42703",
187            Inner::E42883 => "42883",
188            Inner::E42P01 => "42P01",
189            Inner::E42P02 => "42P02",
190            Inner::E42704 => "42704",
191            Inner::E42701 => "42701",
192            Inner::E42P03 => "42P03",
193            Inner::E42P04 => "42P04",
194            Inner::E42723 => "42723",
195            Inner::E42P05 => "42P05",
196            Inner::E42P06 => "42P06",
197            Inner::E42P07 => "42P07",
198            Inner::E42712 => "42712",
199            Inner::E42710 => "42710",
200            Inner::E42702 => "42702",
201            Inner::E42725 => "42725",
202            Inner::E42P08 => "42P08",
203            Inner::E42P09 => "42P09",
204            Inner::E42P10 => "42P10",
205            Inner::E42611 => "42611",
206            Inner::E42P11 => "42P11",
207            Inner::E42P12 => "42P12",
208            Inner::E42P13 => "42P13",
209            Inner::E42P14 => "42P14",
210            Inner::E42P15 => "42P15",
211            Inner::E42P16 => "42P16",
212            Inner::E42P17 => "42P17",
213            Inner::E44000 => "44000",
214            Inner::E53000 => "53000",
215            Inner::E53100 => "53100",
216            Inner::E53200 => "53200",
217            Inner::E53300 => "53300",
218            Inner::E53400 => "53400",
219            Inner::E54000 => "54000",
220            Inner::E54001 => "54001",
221            Inner::E54011 => "54011",
222            Inner::E54023 => "54023",
223            Inner::E55000 => "55000",
224            Inner::E55006 => "55006",
225            Inner::E55P02 => "55P02",
226            Inner::E55P03 => "55P03",
227            Inner::E55P04 => "55P04",
228            Inner::E57000 => "57000",
229            Inner::E57014 => "57014",
230            Inner::E57P01 => "57P01",
231            Inner::E57P02 => "57P02",
232            Inner::E57P03 => "57P03",
233            Inner::E57P04 => "57P04",
234            Inner::E57P05 => "57P05",
235            Inner::E58000 => "58000",
236            Inner::E58030 => "58030",
237            Inner::E58P01 => "58P01",
238            Inner::E58P02 => "58P02",
239            Inner::E72000 => "72000",
240            Inner::EF0000 => "F0000",
241            Inner::EF0001 => "F0001",
242            Inner::EHV000 => "HV000",
243            Inner::EHV005 => "HV005",
244            Inner::EHV002 => "HV002",
245            Inner::EHV010 => "HV010",
246            Inner::EHV021 => "HV021",
247            Inner::EHV024 => "HV024",
248            Inner::EHV007 => "HV007",
249            Inner::EHV008 => "HV008",
250            Inner::EHV004 => "HV004",
251            Inner::EHV006 => "HV006",
252            Inner::EHV091 => "HV091",
253            Inner::EHV00B => "HV00B",
254            Inner::EHV00C => "HV00C",
255            Inner::EHV00D => "HV00D",
256            Inner::EHV090 => "HV090",
257            Inner::EHV00A => "HV00A",
258            Inner::EHV009 => "HV009",
259            Inner::EHV014 => "HV014",
260            Inner::EHV001 => "HV001",
261            Inner::EHV00P => "HV00P",
262            Inner::EHV00J => "HV00J",
263            Inner::EHV00K => "HV00K",
264            Inner::EHV00Q => "HV00Q",
265            Inner::EHV00R => "HV00R",
266            Inner::EHV00L => "HV00L",
267            Inner::EHV00M => "HV00M",
268            Inner::EHV00N => "HV00N",
269            Inner::EP0000 => "P0000",
270            Inner::EP0001 => "P0001",
271            Inner::EP0002 => "P0002",
272            Inner::EP0003 => "P0003",
273            Inner::EP0004 => "P0004",
274            Inner::EXX000 => "XX000",
275            Inner::EXX001 => "XX001",
276            Inner::EXX002 => "XX002",
277            Inner::Other(code) => code,
278        }
279    }
280
281    #[inline(never)]
282    fn state(key: &str) -> Option<Self> {
283        let key = match key {
284            "2F000" => SqlState::SQL_ROUTINE_EXCEPTION,
285            "01008" => SqlState::WARNING_IMPLICIT_ZERO_BIT_PADDING,
286            "42501" => SqlState::INSUFFICIENT_PRIVILEGE,
287            "22000" => SqlState::DATA_EXCEPTION,
288            "0100C" => SqlState::WARNING_DYNAMIC_RESULT_SETS_RETURNED,
289            "2200N" => SqlState::INVALID_XML_CONTENT,
290            "40001" => SqlState::T_R_SERIALIZATION_FAILURE,
291            "28P01" => SqlState::INVALID_PASSWORD,
292            "38000" => SqlState::EXTERNAL_ROUTINE_EXCEPTION,
293            "25006" => SqlState::READ_ONLY_SQL_TRANSACTION,
294            "2203D" => SqlState::TOO_MANY_JSON_ARRAY_ELEMENTS,
295            "42P09" => SqlState::AMBIGUOUS_ALIAS,
296            "F0000" => SqlState::CONFIG_FILE_ERROR,
297            "42P18" => SqlState::INDETERMINATE_DATATYPE,
298            "40002" => SqlState::T_R_INTEGRITY_CONSTRAINT_VIOLATION,
299            "22009" => SqlState::INVALID_TIME_ZONE_DISPLACEMENT_VALUE,
300            "42P08" => SqlState::AMBIGUOUS_PARAMETER,
301            "08000" => SqlState::CONNECTION_EXCEPTION,
302            "25P01" => SqlState::NO_ACTIVE_SQL_TRANSACTION,
303            "22024" => SqlState::UNTERMINATED_C_STRING,
304            "55000" => SqlState::OBJECT_NOT_IN_PREREQUISITE_STATE,
305            "25001" => SqlState::ACTIVE_SQL_TRANSACTION,
306            "03000" => SqlState::SQL_STATEMENT_NOT_YET_COMPLETE,
307            "42710" => SqlState::DUPLICATE_OBJECT,
308            "2D000" => SqlState::INVALID_TRANSACTION_TERMINATION,
309            "2200G" => SqlState::MOST_SPECIFIC_TYPE_MISMATCH,
310            "22022" => SqlState::INDICATOR_OVERFLOW,
311            "55006" => SqlState::OBJECT_IN_USE,
312            "53200" => SqlState::OUT_OF_MEMORY,
313            "22012" => SqlState::DIVISION_BY_ZERO,
314            "P0002" => SqlState::NO_DATA_FOUND,
315            "XX001" => SqlState::DATA_CORRUPTED,
316            "22P05" => SqlState::UNTRANSLATABLE_CHARACTER,
317            "40003" => SqlState::T_R_STATEMENT_COMPLETION_UNKNOWN,
318            "22021" => SqlState::CHARACTER_NOT_IN_REPERTOIRE,
319            "25000" => SqlState::INVALID_TRANSACTION_STATE,
320            "42P15" => SqlState::INVALID_SCHEMA_DEFINITION,
321            "0B000" => SqlState::INVALID_TRANSACTION_INITIATION,
322            "22004" => SqlState::NULL_VALUE_NOT_ALLOWED,
323            "42804" => SqlState::DATATYPE_MISMATCH,
324            "42803" => SqlState::GROUPING_ERROR,
325            "02001" => SqlState::NO_ADDITIONAL_DYNAMIC_RESULT_SETS_RETURNED,
326            "25002" => SqlState::BRANCH_TRANSACTION_ALREADY_ACTIVE,
327            "28000" => SqlState::INVALID_AUTHORIZATION_SPECIFICATION,
328            "HV009" => SqlState::FDW_INVALID_USE_OF_NULL_POINTER,
329            "22P01" => SqlState::FLOATING_POINT_EXCEPTION,
330            "2B000" => SqlState::DEPENDENT_PRIVILEGE_DESCRIPTORS_STILL_EXIST,
331            "42723" => SqlState::DUPLICATE_FUNCTION,
332            "21000" => SqlState::CARDINALITY_VIOLATION,
333            "0Z002" => SqlState::STACKED_DIAGNOSTICS_ACCESSED_WITHOUT_ACTIVE_HANDLER,
334            "23505" => SqlState::UNIQUE_VIOLATION,
335            "HV00J" => SqlState::FDW_OPTION_NAME_NOT_FOUND,
336            "23P01" => SqlState::EXCLUSION_VIOLATION,
337            "39P03" => SqlState::E_R_I_E_EVENT_TRIGGER_PROTOCOL_VIOLATED,
338            "42P10" => SqlState::INVALID_COLUMN_REFERENCE,
339            "2202H" => SqlState::INVALID_TABLESAMPLE_ARGUMENT,
340            "55P04" => SqlState::UNSAFE_NEW_ENUM_VALUE_USAGE,
341            "P0000" => SqlState::PLPGSQL_ERROR,
342            "2F005" => SqlState::S_R_E_FUNCTION_EXECUTED_NO_RETURN_STATEMENT,
343            "HV00M" => SqlState::FDW_UNABLE_TO_CREATE_REPLY,
344            "0A000" => SqlState::FEATURE_NOT_SUPPORTED,
345            "24000" => SqlState::INVALID_CURSOR_STATE,
346            "25008" => SqlState::HELD_CURSOR_REQUIRES_SAME_ISOLATION_LEVEL,
347            "01003" => SqlState::WARNING_NULL_VALUE_ELIMINATED_IN_SET_FUNCTION,
348            "42712" => SqlState::DUPLICATE_ALIAS,
349            "HV014" => SqlState::FDW_TOO_MANY_HANDLES,
350            "58030" => SqlState::IO_ERROR,
351            "2201W" => SqlState::INVALID_ROW_COUNT_IN_LIMIT_CLAUSE,
352            "22033" => SqlState::INVALID_SQL_JSON_SUBSCRIPT,
353            "2BP01" => SqlState::DEPENDENT_OBJECTS_STILL_EXIST,
354            "HV005" => SqlState::FDW_COLUMN_NAME_NOT_FOUND,
355            "25004" => SqlState::INAPPROPRIATE_ISOLATION_LEVEL_FOR_BRANCH_TRANSACTION,
356            "54000" => SqlState::PROGRAM_LIMIT_EXCEEDED,
357            "20000" => SqlState::CASE_NOT_FOUND,
358            "2203G" => SqlState::SQL_JSON_ITEM_CANNOT_BE_CAST_TO_TARGET_TYPE,
359            "22038" => SqlState::SINGLETON_SQL_JSON_ITEM_REQUIRED,
360            "22007" => SqlState::INVALID_DATETIME_FORMAT,
361            "08004" => SqlState::SQLSERVER_REJECTED_ESTABLISHMENT_OF_SQLCONNECTION,
362            "2200H" => SqlState::SEQUENCE_GENERATOR_LIMIT_EXCEEDED,
363            "HV00D" => SqlState::FDW_INVALID_OPTION_NAME,
364            "P0004" => SqlState::ASSERT_FAILURE,
365            "22018" => SqlState::INVALID_CHARACTER_VALUE_FOR_CAST,
366            "0L000" => SqlState::INVALID_GRANTOR,
367            "22P04" => SqlState::BAD_COPY_FILE_FORMAT,
368            "22031" => SqlState::INVALID_ARGUMENT_FOR_SQL_JSON_DATETIME_FUNCTION,
369            "01P01" => SqlState::WARNING_DEPRECATED_FEATURE,
370            "0LP01" => SqlState::INVALID_GRANT_OPERATION,
371            "58P02" => SqlState::DUPLICATE_FILE,
372            "26000" => SqlState::INVALID_SQL_STATEMENT_NAME,
373            "54001" => SqlState::STATEMENT_TOO_COMPLEX,
374            "22010" => SqlState::INVALID_INDICATOR_PARAMETER_VALUE,
375            "HV00C" => SqlState::FDW_INVALID_OPTION_INDEX,
376            "22008" => SqlState::DATETIME_FIELD_OVERFLOW,
377            "42P06" => SqlState::DUPLICATE_SCHEMA,
378            "25007" => SqlState::SCHEMA_AND_DATA_STATEMENT_MIXING_NOT_SUPPORTED,
379            "42P20" => SqlState::WINDOWING_ERROR,
380            "HV091" => SqlState::FDW_INVALID_DESCRIPTOR_FIELD_IDENTIFIER,
381            "HV021" => SqlState::FDW_INCONSISTENT_DESCRIPTOR_INFORMATION,
382            "42702" => SqlState::AMBIGUOUS_COLUMN,
383            "02000" => SqlState::NO_DATA,
384            "54011" => SqlState::TOO_MANY_COLUMNS,
385            "HV004" => SqlState::FDW_INVALID_DATA_TYPE,
386            "01006" => SqlState::WARNING_PRIVILEGE_NOT_REVOKED,
387            "42701" => SqlState::DUPLICATE_COLUMN,
388            "08P01" => SqlState::PROTOCOL_VIOLATION,
389            "42622" => SqlState::NAME_TOO_LONG,
390            "P0003" => SqlState::TOO_MANY_ROWS,
391            "22003" => SqlState::NUMERIC_VALUE_OUT_OF_RANGE,
392            "42P03" => SqlState::DUPLICATE_CURSOR,
393            "23001" => SqlState::RESTRICT_VIOLATION,
394            "57000" => SqlState::OPERATOR_INTERVENTION,
395            "22027" => SqlState::TRIM_ERROR,
396            "42P12" => SqlState::INVALID_DATABASE_DEFINITION,
397            "3B000" => SqlState::SAVEPOINT_EXCEPTION,
398            "2201B" => SqlState::INVALID_REGULAR_EXPRESSION,
399            "22030" => SqlState::DUPLICATE_JSON_OBJECT_KEY_VALUE,
400            "2F004" => SqlState::S_R_E_READING_SQL_DATA_NOT_PERMITTED,
401            "428C9" => SqlState::GENERATED_ALWAYS,
402            "2200S" => SqlState::INVALID_XML_COMMENT,
403            "22039" => SqlState::SQL_JSON_ARRAY_NOT_FOUND,
404            "42809" => SqlState::WRONG_OBJECT_TYPE,
405            "2201X" => SqlState::INVALID_ROW_COUNT_IN_RESULT_OFFSET_CLAUSE,
406            "39001" => SqlState::E_R_I_E_INVALID_SQLSTATE_RETURNED,
407            "25P02" => SqlState::IN_FAILED_SQL_TRANSACTION,
408            "0P000" => SqlState::INVALID_ROLE_SPECIFICATION,
409            "HV00N" => SqlState::FDW_UNABLE_TO_ESTABLISH_CONNECTION,
410            "53100" => SqlState::DISK_FULL,
411            "42601" => SqlState::SYNTAX_ERROR,
412            "23000" => SqlState::INTEGRITY_CONSTRAINT_VIOLATION,
413            "HV006" => SqlState::FDW_INVALID_DATA_TYPE_DESCRIPTORS,
414            "HV00B" => SqlState::FDW_INVALID_HANDLE,
415            "HV00Q" => SqlState::FDW_SCHEMA_NOT_FOUND,
416            "01000" => SqlState::WARNING,
417            "42883" => SqlState::UNDEFINED_FUNCTION,
418            "57P01" => SqlState::ADMIN_SHUTDOWN,
419            "22037" => SqlState::NON_UNIQUE_KEYS_IN_A_JSON_OBJECT,
420            "00000" => SqlState::SUCCESSFUL_COMPLETION,
421            "55P03" => SqlState::LOCK_NOT_AVAILABLE,
422            "42P01" => SqlState::UNDEFINED_TABLE,
423            "42830" => SqlState::INVALID_FOREIGN_KEY,
424            "22005" => SqlState::ERROR_IN_ASSIGNMENT,
425            "22025" => SqlState::INVALID_ESCAPE_SEQUENCE,
426            "XX002" => SqlState::INDEX_CORRUPTED,
427            "42P16" => SqlState::INVALID_TABLE_DEFINITION,
428            "55P02" => SqlState::CANT_CHANGE_RUNTIME_PARAM,
429            "22019" => SqlState::INVALID_ESCAPE_CHARACTER,
430            "P0001" => SqlState::RAISE_EXCEPTION,
431            "72000" => SqlState::SNAPSHOT_TOO_OLD,
432            "42P11" => SqlState::INVALID_CURSOR_DEFINITION,
433            "40P01" => SqlState::T_R_DEADLOCK_DETECTED,
434            "57P02" => SqlState::CRASH_SHUTDOWN,
435            "HV00A" => SqlState::FDW_INVALID_STRING_FORMAT,
436            "2F002" => SqlState::S_R_E_MODIFYING_SQL_DATA_NOT_PERMITTED,
437            "23503" => SqlState::FOREIGN_KEY_VIOLATION,
438            "40000" => SqlState::TRANSACTION_ROLLBACK,
439            "22032" => SqlState::INVALID_JSON_TEXT,
440            "2202E" => SqlState::ARRAY_ELEMENT_ERROR,
441            "42P19" => SqlState::INVALID_RECURSION,
442            "42611" => SqlState::INVALID_COLUMN_DEFINITION,
443            "42P13" => SqlState::INVALID_FUNCTION_DEFINITION,
444            "25003" => SqlState::INAPPROPRIATE_ACCESS_MODE_FOR_BRANCH_TRANSACTION,
445            "39P02" => SqlState::E_R_I_E_SRF_PROTOCOL_VIOLATED,
446            "XX000" => SqlState::INTERNAL_ERROR,
447            "08006" => SqlState::CONNECTION_FAILURE,
448            "57P04" => SqlState::DATABASE_DROPPED,
449            "42P07" => SqlState::DUPLICATE_TABLE,
450            "22P03" => SqlState::INVALID_BINARY_REPRESENTATION,
451            "22035" => SqlState::NO_SQL_JSON_ITEM,
452            "42P14" => SqlState::INVALID_PSTATEMENT_DEFINITION,
453            "01007" => SqlState::WARNING_PRIVILEGE_NOT_GRANTED,
454            "38004" => SqlState::E_R_E_READING_SQL_DATA_NOT_PERMITTED,
455            "42P21" => SqlState::COLLATION_MISMATCH,
456            "0Z000" => SqlState::DIAGNOSTICS_EXCEPTION,
457            "HV001" => SqlState::FDW_OUT_OF_MEMORY,
458            "0F000" => SqlState::LOCATOR_EXCEPTION,
459            "22013" => SqlState::INVALID_PRECEDING_OR_FOLLOWING_SIZE,
460            "2201E" => SqlState::INVALID_ARGUMENT_FOR_LOG,
461            "22011" => SqlState::SUBSTRING_ERROR,
462            "42602" => SqlState::INVALID_NAME,
463            "01004" => SqlState::WARNING_STRING_DATA_RIGHT_TRUNCATION,
464            "42P02" => SqlState::UNDEFINED_PARAMETER,
465            "2203C" => SqlState::SQL_JSON_OBJECT_NOT_FOUND,
466            "HV002" => SqlState::FDW_DYNAMIC_PARAMETER_VALUE_NEEDED,
467            "0F001" => SqlState::L_E_INVALID_SPECIFICATION,
468            "58P01" => SqlState::UNDEFINED_FILE,
469            "38001" => SqlState::E_R_E_CONTAINING_SQL_NOT_PERMITTED,
470            "42703" => SqlState::UNDEFINED_COLUMN,
471            "57P05" => SqlState::IDLE_SESSION_TIMEOUT,
472            "57P03" => SqlState::CANNOT_CONNECT_NOW,
473            "HV007" => SqlState::FDW_INVALID_COLUMN_NAME,
474            "22014" => SqlState::INVALID_ARGUMENT_FOR_NTILE,
475            "22P06" => SqlState::NONSTANDARD_USE_OF_ESCAPE_CHARACTER,
476            "2203F" => SqlState::SQL_JSON_SCALAR_REQUIRED,
477            "2200F" => SqlState::ZERO_LENGTH_CHARACTER_STRING,
478            "09000" => SqlState::TRIGGERED_ACTION_EXCEPTION,
479            "2201F" => SqlState::INVALID_ARGUMENT_FOR_POWER_FUNCTION,
480            "08003" => SqlState::CONNECTION_DOES_NOT_EXIST,
481            "38002" => SqlState::E_R_E_MODIFYING_SQL_DATA_NOT_PERMITTED,
482            "F0001" => SqlState::LOCK_FILE_EXISTS,
483            "42P22" => SqlState::INDETERMINATE_COLLATION,
484            "2200C" => SqlState::INVALID_USE_OF_ESCAPE_CHARACTER,
485            "2203E" => SqlState::TOO_MANY_JSON_OBJECT_MEMBERS,
486            "23514" => SqlState::CHECK_VIOLATION,
487            "22P02" => SqlState::INVALID_TEXT_REPRESENTATION,
488            "54023" => SqlState::TOO_MANY_ARGUMENTS,
489            "2200T" => SqlState::INVALID_XML_PROCESSING_INSTRUCTION,
490            "22016" => SqlState::INVALID_ARGUMENT_FOR_NTH_VALUE,
491            "25P03" => SqlState::IDLE_IN_TRANSACTION_SESSION_TIMEOUT,
492            "3B001" => SqlState::S_E_INVALID_SPECIFICATION,
493            "08001" => SqlState::SQLCLIENT_UNABLE_TO_ESTABLISH_SQLCONNECTION,
494            "22036" => SqlState::NON_NUMERIC_SQL_JSON_ITEM,
495            "3F000" => SqlState::INVALID_SCHEMA_NAME,
496            "39P01" => SqlState::E_R_I_E_TRIGGER_PROTOCOL_VIOLATED,
497            "22026" => SqlState::STRING_DATA_LENGTH_MISMATCH,
498            "42P17" => SqlState::INVALID_OBJECT_DEFINITION,
499            "22034" => SqlState::MORE_THAN_ONE_SQL_JSON_ITEM,
500            "HV000" => SqlState::FDW_ERROR,
501            "2200B" => SqlState::ESCAPE_CHARACTER_CONFLICT,
502            "HV008" => SqlState::FDW_INVALID_COLUMN_NUMBER,
503            "34000" => SqlState::INVALID_CURSOR_NAME,
504            "2201G" => SqlState::INVALID_ARGUMENT_FOR_WIDTH_BUCKET_FUNCTION,
505            "44000" => SqlState::WITH_CHECK_OPTION_VIOLATION,
506            "HV010" => SqlState::FDW_FUNCTION_SEQUENCE_ERROR,
507            "39004" => SqlState::E_R_I_E_NULL_VALUE_NOT_ALLOWED,
508            "22001" => SqlState::STRING_DATA_RIGHT_TRUNCATION,
509            "3D000" => SqlState::INVALID_CATALOG_NAME,
510            "25005" => SqlState::NO_ACTIVE_SQL_TRANSACTION_FOR_BRANCH_TRANSACTION,
511            "2200L" => SqlState::NOT_AN_XML_DOCUMENT,
512            "27000" => SqlState::TRIGGERED_DATA_CHANGE_VIOLATION,
513            "HV090" => SqlState::FDW_INVALID_STRING_LENGTH_OR_BUFFER_LENGTH,
514            "42939" => SqlState::RESERVED_NAME,
515            "58000" => SqlState::SYSTEM_ERROR,
516            "2200M" => SqlState::INVALID_XML_DOCUMENT,
517            "HV00L" => SqlState::FDW_UNABLE_TO_CREATE_EXECUTION,
518            "57014" => SqlState::QUERY_CANCELED,
519            "23502" => SqlState::NOT_NULL_VIOLATION,
520            "22002" => SqlState::NULL_VALUE_NO_INDICATOR_PARAMETER,
521            "HV00R" => SqlState::FDW_TABLE_NOT_FOUND,
522            "HV00P" => SqlState::FDW_NO_SCHEMAS,
523            "38003" => SqlState::E_R_E_PROHIBITED_SQL_STATEMENT_ATTEMPTED,
524            "39000" => SqlState::EXTERNAL_ROUTINE_INVOCATION_EXCEPTION,
525            "22015" => SqlState::INTERVAL_FIELD_OVERFLOW,
526            "HV00K" => SqlState::FDW_REPLY_HANDLE,
527            "HV024" => SqlState::FDW_INVALID_ATTRIBUTE_VALUE,
528            "2200D" => SqlState::INVALID_ESCAPE_OCTET,
529            "08007" => SqlState::TRANSACTION_RESOLUTION_UNKNOWN,
530            "2F003" => SqlState::S_R_E_PROHIBITED_SQL_STATEMENT_ATTEMPTED,
531            "42725" => SqlState::AMBIGUOUS_FUNCTION,
532            "2203A" => SqlState::SQL_JSON_MEMBER_NOT_FOUND,
533            "42846" => SqlState::CANNOT_COERCE,
534            "42P04" => SqlState::DUPLICATE_DATABASE,
535            "42000" => SqlState::SYNTAX_ERROR_OR_ACCESS_RULE_VIOLATION,
536            "2203B" => SqlState::SQL_JSON_NUMBER_NOT_FOUND,
537            "42P05" => SqlState::DUPLICATE_PSTATEMENT,
538            "53300" => SqlState::TOO_MANY_CONNECTIONS,
539            "53400" => SqlState::CONFIGURATION_LIMIT_EXCEEDED,
540            "42704" => SqlState::UNDEFINED_OBJECT,
541            "2202G" => SqlState::INVALID_TABLESAMPLE_REPEAT,
542            "22023" => SqlState::INVALID_PARAMETER_VALUE,
543            "53000" => SqlState::INSUFFICIENT_RESOURCES,
544            _ => return None,
545        };
546
547        Some(key)
548    }
549
550    /// 00000
551    pub const SUCCESSFUL_COMPLETION: SqlState = SqlState(Inner::E00000);
552
553    /// 01000
554    pub const WARNING: SqlState = SqlState(Inner::E01000);
555
556    /// 0100C
557    pub const WARNING_DYNAMIC_RESULT_SETS_RETURNED: SqlState = SqlState(Inner::E0100C);
558
559    /// 01008
560    pub const WARNING_IMPLICIT_ZERO_BIT_PADDING: SqlState = SqlState(Inner::E01008);
561
562    /// 01003
563    pub const WARNING_NULL_VALUE_ELIMINATED_IN_SET_FUNCTION: SqlState = SqlState(Inner::E01003);
564
565    /// 01007
566    pub const WARNING_PRIVILEGE_NOT_GRANTED: SqlState = SqlState(Inner::E01007);
567
568    /// 01006
569    pub const WARNING_PRIVILEGE_NOT_REVOKED: SqlState = SqlState(Inner::E01006);
570
571    /// 01004
572    pub const WARNING_STRING_DATA_RIGHT_TRUNCATION: SqlState = SqlState(Inner::E01004);
573
574    /// 01P01
575    pub const WARNING_DEPRECATED_FEATURE: SqlState = SqlState(Inner::E01P01);
576
577    /// 02000
578    pub const NO_DATA: SqlState = SqlState(Inner::E02000);
579
580    /// 02001
581    pub const NO_ADDITIONAL_DYNAMIC_RESULT_SETS_RETURNED: SqlState = SqlState(Inner::E02001);
582
583    /// 03000
584    pub const SQL_STATEMENT_NOT_YET_COMPLETE: SqlState = SqlState(Inner::E03000);
585
586    /// 08000
587    pub const CONNECTION_EXCEPTION: SqlState = SqlState(Inner::E08000);
588
589    /// 08003
590    pub const CONNECTION_DOES_NOT_EXIST: SqlState = SqlState(Inner::E08003);
591
592    /// 08006
593    pub const CONNECTION_FAILURE: SqlState = SqlState(Inner::E08006);
594
595    /// 08001
596    pub const SQLCLIENT_UNABLE_TO_ESTABLISH_SQLCONNECTION: SqlState = SqlState(Inner::E08001);
597
598    /// 08004
599    pub const SQLSERVER_REJECTED_ESTABLISHMENT_OF_SQLCONNECTION: SqlState = SqlState(Inner::E08004);
600
601    /// 08007
602    pub const TRANSACTION_RESOLUTION_UNKNOWN: SqlState = SqlState(Inner::E08007);
603
604    /// 08P01
605    pub const PROTOCOL_VIOLATION: SqlState = SqlState(Inner::E08P01);
606
607    /// 09000
608    pub const TRIGGERED_ACTION_EXCEPTION: SqlState = SqlState(Inner::E09000);
609
610    /// 0A000
611    pub const FEATURE_NOT_SUPPORTED: SqlState = SqlState(Inner::E0A000);
612
613    /// 0B000
614    pub const INVALID_TRANSACTION_INITIATION: SqlState = SqlState(Inner::E0B000);
615
616    /// 0F000
617    pub const LOCATOR_EXCEPTION: SqlState = SqlState(Inner::E0F000);
618
619    /// 0F001
620    pub const L_E_INVALID_SPECIFICATION: SqlState = SqlState(Inner::E0F001);
621
622    /// 0L000
623    pub const INVALID_GRANTOR: SqlState = SqlState(Inner::E0L000);
624
625    /// 0LP01
626    pub const INVALID_GRANT_OPERATION: SqlState = SqlState(Inner::E0LP01);
627
628    /// 0P000
629    pub const INVALID_ROLE_SPECIFICATION: SqlState = SqlState(Inner::E0P000);
630
631    /// 0Z000
632    pub const DIAGNOSTICS_EXCEPTION: SqlState = SqlState(Inner::E0Z000);
633
634    /// 0Z002
635    pub const STACKED_DIAGNOSTICS_ACCESSED_WITHOUT_ACTIVE_HANDLER: SqlState = SqlState(Inner::E0Z002);
636
637    /// 20000
638    pub const CASE_NOT_FOUND: SqlState = SqlState(Inner::E20000);
639
640    /// 21000
641    pub const CARDINALITY_VIOLATION: SqlState = SqlState(Inner::E21000);
642
643    /// 22000
644    pub const DATA_EXCEPTION: SqlState = SqlState(Inner::E22000);
645
646    /// 2202E
647    pub const ARRAY_ELEMENT_ERROR: SqlState = SqlState(Inner::E2202E);
648
649    /// 2202E
650    pub const ARRAY_SUBSCRIPT_ERROR: SqlState = SqlState(Inner::E2202E);
651
652    /// 22021
653    pub const CHARACTER_NOT_IN_REPERTOIRE: SqlState = SqlState(Inner::E22021);
654
655    /// 22008
656    pub const DATETIME_FIELD_OVERFLOW: SqlState = SqlState(Inner::E22008);
657
658    /// 22008
659    pub const DATETIME_VALUE_OUT_OF_RANGE: SqlState = SqlState(Inner::E22008);
660
661    /// 22012
662    pub const DIVISION_BY_ZERO: SqlState = SqlState(Inner::E22012);
663
664    /// 22005
665    pub const ERROR_IN_ASSIGNMENT: SqlState = SqlState(Inner::E22005);
666
667    /// 2200B
668    pub const ESCAPE_CHARACTER_CONFLICT: SqlState = SqlState(Inner::E2200B);
669
670    /// 22022
671    pub const INDICATOR_OVERFLOW: SqlState = SqlState(Inner::E22022);
672
673    /// 22015
674    pub const INTERVAL_FIELD_OVERFLOW: SqlState = SqlState(Inner::E22015);
675
676    /// 2201E
677    pub const INVALID_ARGUMENT_FOR_LOG: SqlState = SqlState(Inner::E2201E);
678
679    /// 22014
680    pub const INVALID_ARGUMENT_FOR_NTILE: SqlState = SqlState(Inner::E22014);
681
682    /// 22016
683    pub const INVALID_ARGUMENT_FOR_NTH_VALUE: SqlState = SqlState(Inner::E22016);
684
685    /// 2201F
686    pub const INVALID_ARGUMENT_FOR_POWER_FUNCTION: SqlState = SqlState(Inner::E2201F);
687
688    /// 2201G
689    pub const INVALID_ARGUMENT_FOR_WIDTH_BUCKET_FUNCTION: SqlState = SqlState(Inner::E2201G);
690
691    /// 22018
692    pub const INVALID_CHARACTER_VALUE_FOR_CAST: SqlState = SqlState(Inner::E22018);
693
694    /// 22007
695    pub const INVALID_DATETIME_FORMAT: SqlState = SqlState(Inner::E22007);
696
697    /// 22019
698    pub const INVALID_ESCAPE_CHARACTER: SqlState = SqlState(Inner::E22019);
699
700    /// 2200D
701    pub const INVALID_ESCAPE_OCTET: SqlState = SqlState(Inner::E2200D);
702
703    /// 22025
704    pub const INVALID_ESCAPE_SEQUENCE: SqlState = SqlState(Inner::E22025);
705
706    /// 22P06
707    pub const NONSTANDARD_USE_OF_ESCAPE_CHARACTER: SqlState = SqlState(Inner::E22P06);
708
709    /// 22010
710    pub const INVALID_INDICATOR_PARAMETER_VALUE: SqlState = SqlState(Inner::E22010);
711
712    /// 22023
713    pub const INVALID_PARAMETER_VALUE: SqlState = SqlState(Inner::E22023);
714
715    /// 22013
716    pub const INVALID_PRECEDING_OR_FOLLOWING_SIZE: SqlState = SqlState(Inner::E22013);
717
718    /// 2201B
719    pub const INVALID_REGULAR_EXPRESSION: SqlState = SqlState(Inner::E2201B);
720
721    /// 2201W
722    pub const INVALID_ROW_COUNT_IN_LIMIT_CLAUSE: SqlState = SqlState(Inner::E2201W);
723
724    /// 2201X
725    pub const INVALID_ROW_COUNT_IN_RESULT_OFFSET_CLAUSE: SqlState = SqlState(Inner::E2201X);
726
727    /// 2202H
728    pub const INVALID_TABLESAMPLE_ARGUMENT: SqlState = SqlState(Inner::E2202H);
729
730    /// 2202G
731    pub const INVALID_TABLESAMPLE_REPEAT: SqlState = SqlState(Inner::E2202G);
732
733    /// 22009
734    pub const INVALID_TIME_ZONE_DISPLACEMENT_VALUE: SqlState = SqlState(Inner::E22009);
735
736    /// 2200C
737    pub const INVALID_USE_OF_ESCAPE_CHARACTER: SqlState = SqlState(Inner::E2200C);
738
739    /// 2200G
740    pub const MOST_SPECIFIC_TYPE_MISMATCH: SqlState = SqlState(Inner::E2200G);
741
742    /// 22004
743    pub const NULL_VALUE_NOT_ALLOWED: SqlState = SqlState(Inner::E22004);
744
745    /// 22002
746    pub const NULL_VALUE_NO_INDICATOR_PARAMETER: SqlState = SqlState(Inner::E22002);
747
748    /// 22003
749    pub const NUMERIC_VALUE_OUT_OF_RANGE: SqlState = SqlState(Inner::E22003);
750
751    /// 2200H
752    pub const SEQUENCE_GENERATOR_LIMIT_EXCEEDED: SqlState = SqlState(Inner::E2200H);
753
754    /// 22026
755    pub const STRING_DATA_LENGTH_MISMATCH: SqlState = SqlState(Inner::E22026);
756
757    /// 22001
758    pub const STRING_DATA_RIGHT_TRUNCATION: SqlState = SqlState(Inner::E22001);
759
760    /// 22011
761    pub const SUBSTRING_ERROR: SqlState = SqlState(Inner::E22011);
762
763    /// 22027
764    pub const TRIM_ERROR: SqlState = SqlState(Inner::E22027);
765
766    /// 22024
767    pub const UNTERMINATED_C_STRING: SqlState = SqlState(Inner::E22024);
768
769    /// 2200F
770    pub const ZERO_LENGTH_CHARACTER_STRING: SqlState = SqlState(Inner::E2200F);
771
772    /// 22P01
773    pub const FLOATING_POINT_EXCEPTION: SqlState = SqlState(Inner::E22P01);
774
775    /// 22P02
776    pub const INVALID_TEXT_REPRESENTATION: SqlState = SqlState(Inner::E22P02);
777
778    /// 22P03
779    pub const INVALID_BINARY_REPRESENTATION: SqlState = SqlState(Inner::E22P03);
780
781    /// 22P04
782    pub const BAD_COPY_FILE_FORMAT: SqlState = SqlState(Inner::E22P04);
783
784    /// 22P05
785    pub const UNTRANSLATABLE_CHARACTER: SqlState = SqlState(Inner::E22P05);
786
787    /// 2200L
788    pub const NOT_AN_XML_DOCUMENT: SqlState = SqlState(Inner::E2200L);
789
790    /// 2200M
791    pub const INVALID_XML_DOCUMENT: SqlState = SqlState(Inner::E2200M);
792
793    /// 2200N
794    pub const INVALID_XML_CONTENT: SqlState = SqlState(Inner::E2200N);
795
796    /// 2200S
797    pub const INVALID_XML_COMMENT: SqlState = SqlState(Inner::E2200S);
798
799    /// 2200T
800    pub const INVALID_XML_PROCESSING_INSTRUCTION: SqlState = SqlState(Inner::E2200T);
801
802    /// 22030
803    pub const DUPLICATE_JSON_OBJECT_KEY_VALUE: SqlState = SqlState(Inner::E22030);
804
805    /// 22031
806    pub const INVALID_ARGUMENT_FOR_SQL_JSON_DATETIME_FUNCTION: SqlState = SqlState(Inner::E22031);
807
808    /// 22032
809    pub const INVALID_JSON_TEXT: SqlState = SqlState(Inner::E22032);
810
811    /// 22033
812    pub const INVALID_SQL_JSON_SUBSCRIPT: SqlState = SqlState(Inner::E22033);
813
814    /// 22034
815    pub const MORE_THAN_ONE_SQL_JSON_ITEM: SqlState = SqlState(Inner::E22034);
816
817    /// 22035
818    pub const NO_SQL_JSON_ITEM: SqlState = SqlState(Inner::E22035);
819
820    /// 22036
821    pub const NON_NUMERIC_SQL_JSON_ITEM: SqlState = SqlState(Inner::E22036);
822
823    /// 22037
824    pub const NON_UNIQUE_KEYS_IN_A_JSON_OBJECT: SqlState = SqlState(Inner::E22037);
825
826    /// 22038
827    pub const SINGLETON_SQL_JSON_ITEM_REQUIRED: SqlState = SqlState(Inner::E22038);
828
829    /// 22039
830    pub const SQL_JSON_ARRAY_NOT_FOUND: SqlState = SqlState(Inner::E22039);
831
832    /// 2203A
833    pub const SQL_JSON_MEMBER_NOT_FOUND: SqlState = SqlState(Inner::E2203A);
834
835    /// 2203B
836    pub const SQL_JSON_NUMBER_NOT_FOUND: SqlState = SqlState(Inner::E2203B);
837
838    /// 2203C
839    pub const SQL_JSON_OBJECT_NOT_FOUND: SqlState = SqlState(Inner::E2203C);
840
841    /// 2203D
842    pub const TOO_MANY_JSON_ARRAY_ELEMENTS: SqlState = SqlState(Inner::E2203D);
843
844    /// 2203E
845    pub const TOO_MANY_JSON_OBJECT_MEMBERS: SqlState = SqlState(Inner::E2203E);
846
847    /// 2203F
848    pub const SQL_JSON_SCALAR_REQUIRED: SqlState = SqlState(Inner::E2203F);
849
850    /// 2203G
851    pub const SQL_JSON_ITEM_CANNOT_BE_CAST_TO_TARGET_TYPE: SqlState = SqlState(Inner::E2203G);
852
853    /// 23000
854    pub const INTEGRITY_CONSTRAINT_VIOLATION: SqlState = SqlState(Inner::E23000);
855
856    /// 23001
857    pub const RESTRICT_VIOLATION: SqlState = SqlState(Inner::E23001);
858
859    /// 23502
860    pub const NOT_NULL_VIOLATION: SqlState = SqlState(Inner::E23502);
861
862    /// 23503
863    pub const FOREIGN_KEY_VIOLATION: SqlState = SqlState(Inner::E23503);
864
865    /// 23505
866    pub const UNIQUE_VIOLATION: SqlState = SqlState(Inner::E23505);
867
868    /// 23514
869    pub const CHECK_VIOLATION: SqlState = SqlState(Inner::E23514);
870
871    /// 23P01
872    pub const EXCLUSION_VIOLATION: SqlState = SqlState(Inner::E23P01);
873
874    /// 24000
875    pub const INVALID_CURSOR_STATE: SqlState = SqlState(Inner::E24000);
876
877    /// 25000
878    pub const INVALID_TRANSACTION_STATE: SqlState = SqlState(Inner::E25000);
879
880    /// 25001
881    pub const ACTIVE_SQL_TRANSACTION: SqlState = SqlState(Inner::E25001);
882
883    /// 25002
884    pub const BRANCH_TRANSACTION_ALREADY_ACTIVE: SqlState = SqlState(Inner::E25002);
885
886    /// 25008
887    pub const HELD_CURSOR_REQUIRES_SAME_ISOLATION_LEVEL: SqlState = SqlState(Inner::E25008);
888
889    /// 25003
890    pub const INAPPROPRIATE_ACCESS_MODE_FOR_BRANCH_TRANSACTION: SqlState = SqlState(Inner::E25003);
891
892    /// 25004
893    pub const INAPPROPRIATE_ISOLATION_LEVEL_FOR_BRANCH_TRANSACTION: SqlState = SqlState(Inner::E25004);
894
895    /// 25005
896    pub const NO_ACTIVE_SQL_TRANSACTION_FOR_BRANCH_TRANSACTION: SqlState = SqlState(Inner::E25005);
897
898    /// 25006
899    pub const READ_ONLY_SQL_TRANSACTION: SqlState = SqlState(Inner::E25006);
900
901    /// 25007
902    pub const SCHEMA_AND_DATA_STATEMENT_MIXING_NOT_SUPPORTED: SqlState = SqlState(Inner::E25007);
903
904    /// 25P01
905    pub const NO_ACTIVE_SQL_TRANSACTION: SqlState = SqlState(Inner::E25P01);
906
907    /// 25P02
908    pub const IN_FAILED_SQL_TRANSACTION: SqlState = SqlState(Inner::E25P02);
909
910    /// 25P03
911    pub const IDLE_IN_TRANSACTION_SESSION_TIMEOUT: SqlState = SqlState(Inner::E25P03);
912
913    /// 26000
914    pub const INVALID_SQL_STATEMENT_NAME: SqlState = SqlState(Inner::E26000);
915
916    /// 26000
917    pub const UNDEFINED_PSTATEMENT: SqlState = SqlState(Inner::E26000);
918
919    /// 27000
920    pub const TRIGGERED_DATA_CHANGE_VIOLATION: SqlState = SqlState(Inner::E27000);
921
922    /// 28000
923    pub const INVALID_AUTHORIZATION_SPECIFICATION: SqlState = SqlState(Inner::E28000);
924
925    /// 28P01
926    pub const INVALID_PASSWORD: SqlState = SqlState(Inner::E28P01);
927
928    /// 2B000
929    pub const DEPENDENT_PRIVILEGE_DESCRIPTORS_STILL_EXIST: SqlState = SqlState(Inner::E2B000);
930
931    /// 2BP01
932    pub const DEPENDENT_OBJECTS_STILL_EXIST: SqlState = SqlState(Inner::E2BP01);
933
934    /// 2D000
935    pub const INVALID_TRANSACTION_TERMINATION: SqlState = SqlState(Inner::E2D000);
936
937    /// 2F000
938    pub const SQL_ROUTINE_EXCEPTION: SqlState = SqlState(Inner::E2F000);
939
940    /// 2F005
941    pub const S_R_E_FUNCTION_EXECUTED_NO_RETURN_STATEMENT: SqlState = SqlState(Inner::E2F005);
942
943    /// 2F002
944    pub const S_R_E_MODIFYING_SQL_DATA_NOT_PERMITTED: SqlState = SqlState(Inner::E2F002);
945
946    /// 2F003
947    pub const S_R_E_PROHIBITED_SQL_STATEMENT_ATTEMPTED: SqlState = SqlState(Inner::E2F003);
948
949    /// 2F004
950    pub const S_R_E_READING_SQL_DATA_NOT_PERMITTED: SqlState = SqlState(Inner::E2F004);
951
952    /// 34000
953    pub const INVALID_CURSOR_NAME: SqlState = SqlState(Inner::E34000);
954
955    /// 34000
956    pub const UNDEFINED_CURSOR: SqlState = SqlState(Inner::E34000);
957
958    /// 38000
959    pub const EXTERNAL_ROUTINE_EXCEPTION: SqlState = SqlState(Inner::E38000);
960
961    /// 38001
962    pub const E_R_E_CONTAINING_SQL_NOT_PERMITTED: SqlState = SqlState(Inner::E38001);
963
964    /// 38002
965    pub const E_R_E_MODIFYING_SQL_DATA_NOT_PERMITTED: SqlState = SqlState(Inner::E38002);
966
967    /// 38003
968    pub const E_R_E_PROHIBITED_SQL_STATEMENT_ATTEMPTED: SqlState = SqlState(Inner::E38003);
969
970    /// 38004
971    pub const E_R_E_READING_SQL_DATA_NOT_PERMITTED: SqlState = SqlState(Inner::E38004);
972
973    /// 39000
974    pub const EXTERNAL_ROUTINE_INVOCATION_EXCEPTION: SqlState = SqlState(Inner::E39000);
975
976    /// 39001
977    pub const E_R_I_E_INVALID_SQLSTATE_RETURNED: SqlState = SqlState(Inner::E39001);
978
979    /// 39004
980    pub const E_R_I_E_NULL_VALUE_NOT_ALLOWED: SqlState = SqlState(Inner::E39004);
981
982    /// 39P01
983    pub const E_R_I_E_TRIGGER_PROTOCOL_VIOLATED: SqlState = SqlState(Inner::E39P01);
984
985    /// 39P02
986    pub const E_R_I_E_SRF_PROTOCOL_VIOLATED: SqlState = SqlState(Inner::E39P02);
987
988    /// 39P03
989    pub const E_R_I_E_EVENT_TRIGGER_PROTOCOL_VIOLATED: SqlState = SqlState(Inner::E39P03);
990
991    /// 3B000
992    pub const SAVEPOINT_EXCEPTION: SqlState = SqlState(Inner::E3B000);
993
994    /// 3B001
995    pub const S_E_INVALID_SPECIFICATION: SqlState = SqlState(Inner::E3B001);
996
997    /// 3D000
998    pub const INVALID_CATALOG_NAME: SqlState = SqlState(Inner::E3D000);
999
1000    /// 3D000
1001    pub const UNDEFINED_DATABASE: SqlState = SqlState(Inner::E3D000);
1002
1003    /// 3F000
1004    pub const INVALID_SCHEMA_NAME: SqlState = SqlState(Inner::E3F000);
1005
1006    /// 3F000
1007    pub const UNDEFINED_SCHEMA: SqlState = SqlState(Inner::E3F000);
1008
1009    /// 40000
1010    pub const TRANSACTION_ROLLBACK: SqlState = SqlState(Inner::E40000);
1011
1012    /// 40002
1013    pub const T_R_INTEGRITY_CONSTRAINT_VIOLATION: SqlState = SqlState(Inner::E40002);
1014
1015    /// 40001
1016    pub const T_R_SERIALIZATION_FAILURE: SqlState = SqlState(Inner::E40001);
1017
1018    /// 40003
1019    pub const T_R_STATEMENT_COMPLETION_UNKNOWN: SqlState = SqlState(Inner::E40003);
1020
1021    /// 40P01
1022    pub const T_R_DEADLOCK_DETECTED: SqlState = SqlState(Inner::E40P01);
1023
1024    /// 42000
1025    pub const SYNTAX_ERROR_OR_ACCESS_RULE_VIOLATION: SqlState = SqlState(Inner::E42000);
1026
1027    /// 42601
1028    pub const SYNTAX_ERROR: SqlState = SqlState(Inner::E42601);
1029
1030    /// 42501
1031    pub const INSUFFICIENT_PRIVILEGE: SqlState = SqlState(Inner::E42501);
1032
1033    /// 42846
1034    pub const CANNOT_COERCE: SqlState = SqlState(Inner::E42846);
1035
1036    /// 42803
1037    pub const GROUPING_ERROR: SqlState = SqlState(Inner::E42803);
1038
1039    /// 42P20
1040    pub const WINDOWING_ERROR: SqlState = SqlState(Inner::E42P20);
1041
1042    /// 42P19
1043    pub const INVALID_RECURSION: SqlState = SqlState(Inner::E42P19);
1044
1045    /// 42830
1046    pub const INVALID_FOREIGN_KEY: SqlState = SqlState(Inner::E42830);
1047
1048    /// 42602
1049    pub const INVALID_NAME: SqlState = SqlState(Inner::E42602);
1050
1051    /// 42622
1052    pub const NAME_TOO_LONG: SqlState = SqlState(Inner::E42622);
1053
1054    /// 42939
1055    pub const RESERVED_NAME: SqlState = SqlState(Inner::E42939);
1056
1057    /// 42804
1058    pub const DATATYPE_MISMATCH: SqlState = SqlState(Inner::E42804);
1059
1060    /// 42P18
1061    pub const INDETERMINATE_DATATYPE: SqlState = SqlState(Inner::E42P18);
1062
1063    /// 42P21
1064    pub const COLLATION_MISMATCH: SqlState = SqlState(Inner::E42P21);
1065
1066    /// 42P22
1067    pub const INDETERMINATE_COLLATION: SqlState = SqlState(Inner::E42P22);
1068
1069    /// 42809
1070    pub const WRONG_OBJECT_TYPE: SqlState = SqlState(Inner::E42809);
1071
1072    /// 428C9
1073    pub const GENERATED_ALWAYS: SqlState = SqlState(Inner::E428C9);
1074
1075    /// 42703
1076    pub const UNDEFINED_COLUMN: SqlState = SqlState(Inner::E42703);
1077
1078    /// 42883
1079    pub const UNDEFINED_FUNCTION: SqlState = SqlState(Inner::E42883);
1080
1081    /// 42P01
1082    pub const UNDEFINED_TABLE: SqlState = SqlState(Inner::E42P01);
1083
1084    /// 42P02
1085    pub const UNDEFINED_PARAMETER: SqlState = SqlState(Inner::E42P02);
1086
1087    /// 42704
1088    pub const UNDEFINED_OBJECT: SqlState = SqlState(Inner::E42704);
1089
1090    /// 42701
1091    pub const DUPLICATE_COLUMN: SqlState = SqlState(Inner::E42701);
1092
1093    /// 42P03
1094    pub const DUPLICATE_CURSOR: SqlState = SqlState(Inner::E42P03);
1095
1096    /// 42P04
1097    pub const DUPLICATE_DATABASE: SqlState = SqlState(Inner::E42P04);
1098
1099    /// 42723
1100    pub const DUPLICATE_FUNCTION: SqlState = SqlState(Inner::E42723);
1101
1102    /// 42P05
1103    pub const DUPLICATE_PSTATEMENT: SqlState = SqlState(Inner::E42P05);
1104
1105    /// 42P06
1106    pub const DUPLICATE_SCHEMA: SqlState = SqlState(Inner::E42P06);
1107
1108    /// 42P07
1109    pub const DUPLICATE_TABLE: SqlState = SqlState(Inner::E42P07);
1110
1111    /// 42712
1112    pub const DUPLICATE_ALIAS: SqlState = SqlState(Inner::E42712);
1113
1114    /// 42710
1115    pub const DUPLICATE_OBJECT: SqlState = SqlState(Inner::E42710);
1116
1117    /// 42702
1118    pub const AMBIGUOUS_COLUMN: SqlState = SqlState(Inner::E42702);
1119
1120    /// 42725
1121    pub const AMBIGUOUS_FUNCTION: SqlState = SqlState(Inner::E42725);
1122
1123    /// 42P08
1124    pub const AMBIGUOUS_PARAMETER: SqlState = SqlState(Inner::E42P08);
1125
1126    /// 42P09
1127    pub const AMBIGUOUS_ALIAS: SqlState = SqlState(Inner::E42P09);
1128
1129    /// 42P10
1130    pub const INVALID_COLUMN_REFERENCE: SqlState = SqlState(Inner::E42P10);
1131
1132    /// 42611
1133    pub const INVALID_COLUMN_DEFINITION: SqlState = SqlState(Inner::E42611);
1134
1135    /// 42P11
1136    pub const INVALID_CURSOR_DEFINITION: SqlState = SqlState(Inner::E42P11);
1137
1138    /// 42P12
1139    pub const INVALID_DATABASE_DEFINITION: SqlState = SqlState(Inner::E42P12);
1140
1141    /// 42P13
1142    pub const INVALID_FUNCTION_DEFINITION: SqlState = SqlState(Inner::E42P13);
1143
1144    /// 42P14
1145    pub const INVALID_PSTATEMENT_DEFINITION: SqlState = SqlState(Inner::E42P14);
1146
1147    /// 42P15
1148    pub const INVALID_SCHEMA_DEFINITION: SqlState = SqlState(Inner::E42P15);
1149
1150    /// 42P16
1151    pub const INVALID_TABLE_DEFINITION: SqlState = SqlState(Inner::E42P16);
1152
1153    /// 42P17
1154    pub const INVALID_OBJECT_DEFINITION: SqlState = SqlState(Inner::E42P17);
1155
1156    /// 44000
1157    pub const WITH_CHECK_OPTION_VIOLATION: SqlState = SqlState(Inner::E44000);
1158
1159    /// 53000
1160    pub const INSUFFICIENT_RESOURCES: SqlState = SqlState(Inner::E53000);
1161
1162    /// 53100
1163    pub const DISK_FULL: SqlState = SqlState(Inner::E53100);
1164
1165    /// 53200
1166    pub const OUT_OF_MEMORY: SqlState = SqlState(Inner::E53200);
1167
1168    /// 53300
1169    pub const TOO_MANY_CONNECTIONS: SqlState = SqlState(Inner::E53300);
1170
1171    /// 53400
1172    pub const CONFIGURATION_LIMIT_EXCEEDED: SqlState = SqlState(Inner::E53400);
1173
1174    /// 54000
1175    pub const PROGRAM_LIMIT_EXCEEDED: SqlState = SqlState(Inner::E54000);
1176
1177    /// 54001
1178    pub const STATEMENT_TOO_COMPLEX: SqlState = SqlState(Inner::E54001);
1179
1180    /// 54011
1181    pub const TOO_MANY_COLUMNS: SqlState = SqlState(Inner::E54011);
1182
1183    /// 54023
1184    pub const TOO_MANY_ARGUMENTS: SqlState = SqlState(Inner::E54023);
1185
1186    /// 55000
1187    pub const OBJECT_NOT_IN_PREREQUISITE_STATE: SqlState = SqlState(Inner::E55000);
1188
1189    /// 55006
1190    pub const OBJECT_IN_USE: SqlState = SqlState(Inner::E55006);
1191
1192    /// 55P02
1193    pub const CANT_CHANGE_RUNTIME_PARAM: SqlState = SqlState(Inner::E55P02);
1194
1195    /// 55P03
1196    pub const LOCK_NOT_AVAILABLE: SqlState = SqlState(Inner::E55P03);
1197
1198    /// 55P04
1199    pub const UNSAFE_NEW_ENUM_VALUE_USAGE: SqlState = SqlState(Inner::E55P04);
1200
1201    /// 57000
1202    pub const OPERATOR_INTERVENTION: SqlState = SqlState(Inner::E57000);
1203
1204    /// 57014
1205    pub const QUERY_CANCELED: SqlState = SqlState(Inner::E57014);
1206
1207    /// 57P01
1208    pub const ADMIN_SHUTDOWN: SqlState = SqlState(Inner::E57P01);
1209
1210    /// 57P02
1211    pub const CRASH_SHUTDOWN: SqlState = SqlState(Inner::E57P02);
1212
1213    /// 57P03
1214    pub const CANNOT_CONNECT_NOW: SqlState = SqlState(Inner::E57P03);
1215
1216    /// 57P04
1217    pub const DATABASE_DROPPED: SqlState = SqlState(Inner::E57P04);
1218
1219    /// 57P05
1220    pub const IDLE_SESSION_TIMEOUT: SqlState = SqlState(Inner::E57P05);
1221
1222    /// 58000
1223    pub const SYSTEM_ERROR: SqlState = SqlState(Inner::E58000);
1224
1225    /// 58030
1226    pub const IO_ERROR: SqlState = SqlState(Inner::E58030);
1227
1228    /// 58P01
1229    pub const UNDEFINED_FILE: SqlState = SqlState(Inner::E58P01);
1230
1231    /// 58P02
1232    pub const DUPLICATE_FILE: SqlState = SqlState(Inner::E58P02);
1233
1234    /// 72000
1235    pub const SNAPSHOT_TOO_OLD: SqlState = SqlState(Inner::E72000);
1236
1237    /// F0000
1238    pub const CONFIG_FILE_ERROR: SqlState = SqlState(Inner::EF0000);
1239
1240    /// F0001
1241    pub const LOCK_FILE_EXISTS: SqlState = SqlState(Inner::EF0001);
1242
1243    /// HV000
1244    pub const FDW_ERROR: SqlState = SqlState(Inner::EHV000);
1245
1246    /// HV005
1247    pub const FDW_COLUMN_NAME_NOT_FOUND: SqlState = SqlState(Inner::EHV005);
1248
1249    /// HV002
1250    pub const FDW_DYNAMIC_PARAMETER_VALUE_NEEDED: SqlState = SqlState(Inner::EHV002);
1251
1252    /// HV010
1253    pub const FDW_FUNCTION_SEQUENCE_ERROR: SqlState = SqlState(Inner::EHV010);
1254
1255    /// HV021
1256    pub const FDW_INCONSISTENT_DESCRIPTOR_INFORMATION: SqlState = SqlState(Inner::EHV021);
1257
1258    /// HV024
1259    pub const FDW_INVALID_ATTRIBUTE_VALUE: SqlState = SqlState(Inner::EHV024);
1260
1261    /// HV007
1262    pub const FDW_INVALID_COLUMN_NAME: SqlState = SqlState(Inner::EHV007);
1263
1264    /// HV008
1265    pub const FDW_INVALID_COLUMN_NUMBER: SqlState = SqlState(Inner::EHV008);
1266
1267    /// HV004
1268    pub const FDW_INVALID_DATA_TYPE: SqlState = SqlState(Inner::EHV004);
1269
1270    /// HV006
1271    pub const FDW_INVALID_DATA_TYPE_DESCRIPTORS: SqlState = SqlState(Inner::EHV006);
1272
1273    /// HV091
1274    pub const FDW_INVALID_DESCRIPTOR_FIELD_IDENTIFIER: SqlState = SqlState(Inner::EHV091);
1275
1276    /// HV00B
1277    pub const FDW_INVALID_HANDLE: SqlState = SqlState(Inner::EHV00B);
1278
1279    /// HV00C
1280    pub const FDW_INVALID_OPTION_INDEX: SqlState = SqlState(Inner::EHV00C);
1281
1282    /// HV00D
1283    pub const FDW_INVALID_OPTION_NAME: SqlState = SqlState(Inner::EHV00D);
1284
1285    /// HV090
1286    pub const FDW_INVALID_STRING_LENGTH_OR_BUFFER_LENGTH: SqlState = SqlState(Inner::EHV090);
1287
1288    /// HV00A
1289    pub const FDW_INVALID_STRING_FORMAT: SqlState = SqlState(Inner::EHV00A);
1290
1291    /// HV009
1292    pub const FDW_INVALID_USE_OF_NULL_POINTER: SqlState = SqlState(Inner::EHV009);
1293
1294    /// HV014
1295    pub const FDW_TOO_MANY_HANDLES: SqlState = SqlState(Inner::EHV014);
1296
1297    /// HV001
1298    pub const FDW_OUT_OF_MEMORY: SqlState = SqlState(Inner::EHV001);
1299
1300    /// HV00P
1301    pub const FDW_NO_SCHEMAS: SqlState = SqlState(Inner::EHV00P);
1302
1303    /// HV00J
1304    pub const FDW_OPTION_NAME_NOT_FOUND: SqlState = SqlState(Inner::EHV00J);
1305
1306    /// HV00K
1307    pub const FDW_REPLY_HANDLE: SqlState = SqlState(Inner::EHV00K);
1308
1309    /// HV00Q
1310    pub const FDW_SCHEMA_NOT_FOUND: SqlState = SqlState(Inner::EHV00Q);
1311
1312    /// HV00R
1313    pub const FDW_TABLE_NOT_FOUND: SqlState = SqlState(Inner::EHV00R);
1314
1315    /// HV00L
1316    pub const FDW_UNABLE_TO_CREATE_EXECUTION: SqlState = SqlState(Inner::EHV00L);
1317
1318    /// HV00M
1319    pub const FDW_UNABLE_TO_CREATE_REPLY: SqlState = SqlState(Inner::EHV00M);
1320
1321    /// HV00N
1322    pub const FDW_UNABLE_TO_ESTABLISH_CONNECTION: SqlState = SqlState(Inner::EHV00N);
1323
1324    /// P0000
1325    pub const PLPGSQL_ERROR: SqlState = SqlState(Inner::EP0000);
1326
1327    /// P0001
1328    pub const RAISE_EXCEPTION: SqlState = SqlState(Inner::EP0001);
1329
1330    /// P0002
1331    pub const NO_DATA_FOUND: SqlState = SqlState(Inner::EP0002);
1332
1333    /// P0003
1334    pub const TOO_MANY_ROWS: SqlState = SqlState(Inner::EP0003);
1335
1336    /// P0004
1337    pub const ASSERT_FAILURE: SqlState = SqlState(Inner::EP0004);
1338
1339    /// XX000
1340    pub const INTERNAL_ERROR: SqlState = SqlState(Inner::EXX000);
1341
1342    /// XX001
1343    pub const DATA_CORRUPTED: SqlState = SqlState(Inner::EXX001);
1344
1345    /// XX002
1346    pub const INDEX_CORRUPTED: SqlState = SqlState(Inner::EXX002);
1347}
1348
1349#[derive(PartialEq, Eq, Clone, Debug)]
1350#[allow(clippy::upper_case_acronyms)]
1351enum Inner {
1352    E00000,
1353    E01000,
1354    E0100C,
1355    E01008,
1356    E01003,
1357    E01007,
1358    E01006,
1359    E01004,
1360    E01P01,
1361    E02000,
1362    E02001,
1363    E03000,
1364    E08000,
1365    E08003,
1366    E08006,
1367    E08001,
1368    E08004,
1369    E08007,
1370    E08P01,
1371    E09000,
1372    E0A000,
1373    E0B000,
1374    E0F000,
1375    E0F001,
1376    E0L000,
1377    E0LP01,
1378    E0P000,
1379    E0Z000,
1380    E0Z002,
1381    E20000,
1382    E21000,
1383    E22000,
1384    E2202E,
1385    E22021,
1386    E22008,
1387    E22012,
1388    E22005,
1389    E2200B,
1390    E22022,
1391    E22015,
1392    E2201E,
1393    E22014,
1394    E22016,
1395    E2201F,
1396    E2201G,
1397    E22018,
1398    E22007,
1399    E22019,
1400    E2200D,
1401    E22025,
1402    E22P06,
1403    E22010,
1404    E22023,
1405    E22013,
1406    E2201B,
1407    E2201W,
1408    E2201X,
1409    E2202H,
1410    E2202G,
1411    E22009,
1412    E2200C,
1413    E2200G,
1414    E22004,
1415    E22002,
1416    E22003,
1417    E2200H,
1418    E22026,
1419    E22001,
1420    E22011,
1421    E22027,
1422    E22024,
1423    E2200F,
1424    E22P01,
1425    E22P02,
1426    E22P03,
1427    E22P04,
1428    E22P05,
1429    E2200L,
1430    E2200M,
1431    E2200N,
1432    E2200S,
1433    E2200T,
1434    E22030,
1435    E22031,
1436    E22032,
1437    E22033,
1438    E22034,
1439    E22035,
1440    E22036,
1441    E22037,
1442    E22038,
1443    E22039,
1444    E2203A,
1445    E2203B,
1446    E2203C,
1447    E2203D,
1448    E2203E,
1449    E2203F,
1450    E2203G,
1451    E23000,
1452    E23001,
1453    E23502,
1454    E23503,
1455    E23505,
1456    E23514,
1457    E23P01,
1458    E24000,
1459    E25000,
1460    E25001,
1461    E25002,
1462    E25008,
1463    E25003,
1464    E25004,
1465    E25005,
1466    E25006,
1467    E25007,
1468    E25P01,
1469    E25P02,
1470    E25P03,
1471    E26000,
1472    E27000,
1473    E28000,
1474    E28P01,
1475    E2B000,
1476    E2BP01,
1477    E2D000,
1478    E2F000,
1479    E2F005,
1480    E2F002,
1481    E2F003,
1482    E2F004,
1483    E34000,
1484    E38000,
1485    E38001,
1486    E38002,
1487    E38003,
1488    E38004,
1489    E39000,
1490    E39001,
1491    E39004,
1492    E39P01,
1493    E39P02,
1494    E39P03,
1495    E3B000,
1496    E3B001,
1497    E3D000,
1498    E3F000,
1499    E40000,
1500    E40002,
1501    E40001,
1502    E40003,
1503    E40P01,
1504    E42000,
1505    E42601,
1506    E42501,
1507    E42846,
1508    E42803,
1509    E42P20,
1510    E42P19,
1511    E42830,
1512    E42602,
1513    E42622,
1514    E42939,
1515    E42804,
1516    E42P18,
1517    E42P21,
1518    E42P22,
1519    E42809,
1520    E428C9,
1521    E42703,
1522    E42883,
1523    E42P01,
1524    E42P02,
1525    E42704,
1526    E42701,
1527    E42P03,
1528    E42P04,
1529    E42723,
1530    E42P05,
1531    E42P06,
1532    E42P07,
1533    E42712,
1534    E42710,
1535    E42702,
1536    E42725,
1537    E42P08,
1538    E42P09,
1539    E42P10,
1540    E42611,
1541    E42P11,
1542    E42P12,
1543    E42P13,
1544    E42P14,
1545    E42P15,
1546    E42P16,
1547    E42P17,
1548    E44000,
1549    E53000,
1550    E53100,
1551    E53200,
1552    E53300,
1553    E53400,
1554    E54000,
1555    E54001,
1556    E54011,
1557    E54023,
1558    E55000,
1559    E55006,
1560    E55P02,
1561    E55P03,
1562    E55P04,
1563    E57000,
1564    E57014,
1565    E57P01,
1566    E57P02,
1567    E57P03,
1568    E57P04,
1569    E57P05,
1570    E58000,
1571    E58030,
1572    E58P01,
1573    E58P02,
1574    E72000,
1575    EF0000,
1576    EF0001,
1577    EHV000,
1578    EHV005,
1579    EHV002,
1580    EHV010,
1581    EHV021,
1582    EHV024,
1583    EHV007,
1584    EHV008,
1585    EHV004,
1586    EHV006,
1587    EHV091,
1588    EHV00B,
1589    EHV00C,
1590    EHV00D,
1591    EHV090,
1592    EHV00A,
1593    EHV009,
1594    EHV014,
1595    EHV001,
1596    EHV00P,
1597    EHV00J,
1598    EHV00K,
1599    EHV00Q,
1600    EHV00R,
1601    EHV00L,
1602    EHV00M,
1603    EHV00N,
1604    EP0000,
1605    EP0001,
1606    EP0002,
1607    EP0003,
1608    EP0004,
1609    EXX000,
1610    EXX001,
1611    EXX002,
1612    Other(Box<str>),
1613}