Skip to main content

rupg_common/generated/
sqlstate.rs

1//! The SQLSTATE codes of PostgreSQL, one constant for each code line of `errcodes.txt`.
2//!
3//! `cargo xtask errcodes` makes this file from `vendor/postgres-19/src/backend/utils/errcodes.txt`. Do not edit it.
4
5use crate::sqlstate::{Category, SqlState};
6
7impl SqlState {
8    /// `00000`, condition `successful_completion`.
9    pub const SUCCESSFUL_COMPLETION: Self = Self::from_bytes(*b"00000");
10    /// `01000`, condition `warning`.
11    pub const WARNING: Self = Self::from_bytes(*b"01000");
12    /// `0100C`, condition `dynamic_result_sets_returned`.
13    pub const WARNING_DYNAMIC_RESULT_SETS_RETURNED: Self = Self::from_bytes(*b"0100C");
14    /// `01008`, condition `implicit_zero_bit_padding`.
15    pub const WARNING_IMPLICIT_ZERO_BIT_PADDING: Self = Self::from_bytes(*b"01008");
16    /// `01003`, condition `null_value_eliminated_in_set_function`.
17    pub const WARNING_NULL_VALUE_ELIMINATED_IN_SET_FUNCTION: Self = Self::from_bytes(*b"01003");
18    /// `01007`, condition `privilege_not_granted`.
19    pub const WARNING_PRIVILEGE_NOT_GRANTED: Self = Self::from_bytes(*b"01007");
20    /// `01006`, condition `privilege_not_revoked`.
21    pub const WARNING_PRIVILEGE_NOT_REVOKED: Self = Self::from_bytes(*b"01006");
22    /// `01004`, condition `string_data_right_truncation`.
23    pub const WARNING_STRING_DATA_RIGHT_TRUNCATION: Self = Self::from_bytes(*b"01004");
24    /// `01P01`, condition `deprecated_feature`.
25    pub const WARNING_DEPRECATED_FEATURE: Self = Self::from_bytes(*b"01P01");
26    /// `02000`, condition `no_data`.
27    pub const NO_DATA: Self = Self::from_bytes(*b"02000");
28    /// `02001`, condition `no_additional_dynamic_result_sets_returned`.
29    pub const NO_ADDITIONAL_DYNAMIC_RESULT_SETS_RETURNED: Self = Self::from_bytes(*b"02001");
30    /// `03000`, condition `sql_statement_not_yet_complete`.
31    pub const SQL_STATEMENT_NOT_YET_COMPLETE: Self = Self::from_bytes(*b"03000");
32    /// `08000`, condition `connection_exception`.
33    pub const CONNECTION_EXCEPTION: Self = Self::from_bytes(*b"08000");
34    /// `08003`, condition `connection_does_not_exist`.
35    pub const CONNECTION_DOES_NOT_EXIST: Self = Self::from_bytes(*b"08003");
36    /// `08006`, condition `connection_failure`.
37    pub const CONNECTION_FAILURE: Self = Self::from_bytes(*b"08006");
38    /// `08001`, condition `sqlclient_unable_to_establish_sqlconnection`.
39    pub const SQLCLIENT_UNABLE_TO_ESTABLISH_SQLCONNECTION: Self = Self::from_bytes(*b"08001");
40    /// `08004`, condition `sqlserver_rejected_establishment_of_sqlconnection`.
41    pub const SQLSERVER_REJECTED_ESTABLISHMENT_OF_SQLCONNECTION: Self = Self::from_bytes(*b"08004");
42    /// `08007`, condition `transaction_resolution_unknown`.
43    pub const TRANSACTION_RESOLUTION_UNKNOWN: Self = Self::from_bytes(*b"08007");
44    /// `08P01`, condition `protocol_violation`.
45    pub const PROTOCOL_VIOLATION: Self = Self::from_bytes(*b"08P01");
46    /// `09000`, condition `triggered_action_exception`.
47    pub const TRIGGERED_ACTION_EXCEPTION: Self = Self::from_bytes(*b"09000");
48    /// `0A000`, condition `feature_not_supported`.
49    pub const FEATURE_NOT_SUPPORTED: Self = Self::from_bytes(*b"0A000");
50    /// `0B000`, condition `invalid_transaction_initiation`.
51    pub const INVALID_TRANSACTION_INITIATION: Self = Self::from_bytes(*b"0B000");
52    /// `0F000`, condition `locator_exception`.
53    pub const LOCATOR_EXCEPTION: Self = Self::from_bytes(*b"0F000");
54    /// `0F001`, condition `invalid_locator_specification`.
55    pub const L_E_INVALID_SPECIFICATION: Self = Self::from_bytes(*b"0F001");
56    /// `0L000`, condition `invalid_grantor`.
57    pub const INVALID_GRANTOR: Self = Self::from_bytes(*b"0L000");
58    /// `0LP01`, condition `invalid_grant_operation`.
59    pub const INVALID_GRANT_OPERATION: Self = Self::from_bytes(*b"0LP01");
60    /// `0P000`, condition `invalid_role_specification`.
61    pub const INVALID_ROLE_SPECIFICATION: Self = Self::from_bytes(*b"0P000");
62    /// `0Z000`, condition `diagnostics_exception`.
63    pub const DIAGNOSTICS_EXCEPTION: Self = Self::from_bytes(*b"0Z000");
64    /// `0Z002`, condition `stacked_diagnostics_accessed_without_active_handler`.
65    pub const STACKED_DIAGNOSTICS_ACCESSED_WITHOUT_ACTIVE_HANDLER: Self = Self::from_bytes(*b"0Z002");
66    /// `10608`, condition `invalid_argument_for_xquery`.
67    pub const INVALID_ARGUMENT_FOR_XQUERY: Self = Self::from_bytes(*b"10608");
68    /// `20000`, condition `case_not_found`.
69    pub const CASE_NOT_FOUND: Self = Self::from_bytes(*b"20000");
70    /// `21000`, condition `cardinality_violation`.
71    pub const CARDINALITY_VIOLATION: Self = Self::from_bytes(*b"21000");
72    /// `22000`, condition `data_exception`.
73    pub const DATA_EXCEPTION: Self = Self::from_bytes(*b"22000");
74    /// `2202E`, a second name for this code.
75    pub const ARRAY_ELEMENT_ERROR: Self = Self::from_bytes(*b"2202E");
76    /// `2202E`, condition `array_subscript_error`.
77    pub const ARRAY_SUBSCRIPT_ERROR: Self = Self::from_bytes(*b"2202E");
78    /// `22021`, condition `character_not_in_repertoire`.
79    pub const CHARACTER_NOT_IN_REPERTOIRE: Self = Self::from_bytes(*b"22021");
80    /// `22008`, condition `datetime_field_overflow`.
81    pub const DATETIME_FIELD_OVERFLOW: Self = Self::from_bytes(*b"22008");
82    /// `22008`, a second name for this code.
83    pub const DATETIME_VALUE_OUT_OF_RANGE: Self = Self::from_bytes(*b"22008");
84    /// `22012`, condition `division_by_zero`.
85    pub const DIVISION_BY_ZERO: Self = Self::from_bytes(*b"22012");
86    /// `22005`, condition `error_in_assignment`.
87    pub const ERROR_IN_ASSIGNMENT: Self = Self::from_bytes(*b"22005");
88    /// `2200B`, condition `escape_character_conflict`.
89    pub const ESCAPE_CHARACTER_CONFLICT: Self = Self::from_bytes(*b"2200B");
90    /// `22022`, condition `indicator_overflow`.
91    pub const INDICATOR_OVERFLOW: Self = Self::from_bytes(*b"22022");
92    /// `22015`, condition `interval_field_overflow`.
93    pub const INTERVAL_FIELD_OVERFLOW: Self = Self::from_bytes(*b"22015");
94    /// `2201E`, condition `invalid_argument_for_logarithm`.
95    pub const INVALID_ARGUMENT_FOR_LOG: Self = Self::from_bytes(*b"2201E");
96    /// `22014`, condition `invalid_argument_for_ntile_function`.
97    pub const INVALID_ARGUMENT_FOR_NTILE: Self = Self::from_bytes(*b"22014");
98    /// `22016`, condition `invalid_argument_for_nth_value_function`.
99    pub const INVALID_ARGUMENT_FOR_NTH_VALUE: Self = Self::from_bytes(*b"22016");
100    /// `2201F`, condition `invalid_argument_for_power_function`.
101    pub const INVALID_ARGUMENT_FOR_POWER_FUNCTION: Self = Self::from_bytes(*b"2201F");
102    /// `2201G`, condition `invalid_argument_for_width_bucket_function`.
103    pub const INVALID_ARGUMENT_FOR_WIDTH_BUCKET_FUNCTION: Self = Self::from_bytes(*b"2201G");
104    /// `22018`, condition `invalid_character_value_for_cast`.
105    pub const INVALID_CHARACTER_VALUE_FOR_CAST: Self = Self::from_bytes(*b"22018");
106    /// `22007`, condition `invalid_datetime_format`.
107    pub const INVALID_DATETIME_FORMAT: Self = Self::from_bytes(*b"22007");
108    /// `22019`, condition `invalid_escape_character`.
109    pub const INVALID_ESCAPE_CHARACTER: Self = Self::from_bytes(*b"22019");
110    /// `2200D`, condition `invalid_escape_octet`.
111    pub const INVALID_ESCAPE_OCTET: Self = Self::from_bytes(*b"2200D");
112    /// `22025`, condition `invalid_escape_sequence`.
113    pub const INVALID_ESCAPE_SEQUENCE: Self = Self::from_bytes(*b"22025");
114    /// `22P06`, condition `nonstandard_use_of_escape_character`.
115    pub const NONSTANDARD_USE_OF_ESCAPE_CHARACTER: Self = Self::from_bytes(*b"22P06");
116    /// `22010`, condition `invalid_indicator_parameter_value`.
117    pub const INVALID_INDICATOR_PARAMETER_VALUE: Self = Self::from_bytes(*b"22010");
118    /// `22023`, condition `invalid_parameter_value`.
119    pub const INVALID_PARAMETER_VALUE: Self = Self::from_bytes(*b"22023");
120    /// `22013`, condition `invalid_preceding_or_following_size`.
121    pub const INVALID_PRECEDING_OR_FOLLOWING_SIZE: Self = Self::from_bytes(*b"22013");
122    /// `2201B`, condition `invalid_regular_expression`.
123    pub const INVALID_REGULAR_EXPRESSION: Self = Self::from_bytes(*b"2201B");
124    /// `2201W`, condition `invalid_row_count_in_limit_clause`.
125    pub const INVALID_ROW_COUNT_IN_LIMIT_CLAUSE: Self = Self::from_bytes(*b"2201W");
126    /// `2201X`, condition `invalid_row_count_in_result_offset_clause`.
127    pub const INVALID_ROW_COUNT_IN_RESULT_OFFSET_CLAUSE: Self = Self::from_bytes(*b"2201X");
128    /// `2202H`, condition `invalid_tablesample_argument`.
129    pub const INVALID_TABLESAMPLE_ARGUMENT: Self = Self::from_bytes(*b"2202H");
130    /// `2202G`, condition `invalid_tablesample_repeat`.
131    pub const INVALID_TABLESAMPLE_REPEAT: Self = Self::from_bytes(*b"2202G");
132    /// `22009`, condition `invalid_time_zone_displacement_value`.
133    pub const INVALID_TIME_ZONE_DISPLACEMENT_VALUE: Self = Self::from_bytes(*b"22009");
134    /// `2200C`, condition `invalid_use_of_escape_character`.
135    pub const INVALID_USE_OF_ESCAPE_CHARACTER: Self = Self::from_bytes(*b"2200C");
136    /// `2200G`, condition `most_specific_type_mismatch`.
137    pub const MOST_SPECIFIC_TYPE_MISMATCH: Self = Self::from_bytes(*b"2200G");
138    /// `22004`, condition `null_value_not_allowed`.
139    pub const NULL_VALUE_NOT_ALLOWED: Self = Self::from_bytes(*b"22004");
140    /// `22002`, condition `null_value_no_indicator_parameter`.
141    pub const NULL_VALUE_NO_INDICATOR_PARAMETER: Self = Self::from_bytes(*b"22002");
142    /// `22003`, condition `numeric_value_out_of_range`.
143    pub const NUMERIC_VALUE_OUT_OF_RANGE: Self = Self::from_bytes(*b"22003");
144    /// `2200H`, condition `sequence_generator_limit_exceeded`.
145    pub const SEQUENCE_GENERATOR_LIMIT_EXCEEDED: Self = Self::from_bytes(*b"2200H");
146    /// `22026`, condition `string_data_length_mismatch`.
147    pub const STRING_DATA_LENGTH_MISMATCH: Self = Self::from_bytes(*b"22026");
148    /// `22001`, condition `string_data_right_truncation`.
149    pub const STRING_DATA_RIGHT_TRUNCATION: Self = Self::from_bytes(*b"22001");
150    /// `22011`, condition `substring_error`.
151    pub const SUBSTRING_ERROR: Self = Self::from_bytes(*b"22011");
152    /// `22027`, condition `trim_error`.
153    pub const TRIM_ERROR: Self = Self::from_bytes(*b"22027");
154    /// `22024`, condition `unterminated_c_string`.
155    pub const UNTERMINATED_C_STRING: Self = Self::from_bytes(*b"22024");
156    /// `2200F`, condition `zero_length_character_string`.
157    pub const ZERO_LENGTH_CHARACTER_STRING: Self = Self::from_bytes(*b"2200F");
158    /// `22P01`, condition `floating_point_exception`.
159    pub const FLOATING_POINT_EXCEPTION: Self = Self::from_bytes(*b"22P01");
160    /// `22P02`, condition `invalid_text_representation`.
161    pub const INVALID_TEXT_REPRESENTATION: Self = Self::from_bytes(*b"22P02");
162    /// `22P03`, condition `invalid_binary_representation`.
163    pub const INVALID_BINARY_REPRESENTATION: Self = Self::from_bytes(*b"22P03");
164    /// `22P04`, condition `bad_copy_file_format`.
165    pub const BAD_COPY_FILE_FORMAT: Self = Self::from_bytes(*b"22P04");
166    /// `22P05`, condition `untranslatable_character`.
167    pub const UNTRANSLATABLE_CHARACTER: Self = Self::from_bytes(*b"22P05");
168    /// `2200L`, condition `not_an_xml_document`.
169    pub const NOT_AN_XML_DOCUMENT: Self = Self::from_bytes(*b"2200L");
170    /// `2200M`, condition `invalid_xml_document`.
171    pub const INVALID_XML_DOCUMENT: Self = Self::from_bytes(*b"2200M");
172    /// `2200N`, condition `invalid_xml_content`.
173    pub const INVALID_XML_CONTENT: Self = Self::from_bytes(*b"2200N");
174    /// `2200S`, condition `invalid_xml_comment`.
175    pub const INVALID_XML_COMMENT: Self = Self::from_bytes(*b"2200S");
176    /// `2200T`, condition `invalid_xml_processing_instruction`.
177    pub const INVALID_XML_PROCESSING_INSTRUCTION: Self = Self::from_bytes(*b"2200T");
178    /// `22030`, condition `duplicate_json_object_key_value`.
179    pub const DUPLICATE_JSON_OBJECT_KEY_VALUE: Self = Self::from_bytes(*b"22030");
180    /// `22031`, condition `invalid_argument_for_sql_json_datetime_function`.
181    pub const INVALID_ARGUMENT_FOR_SQL_JSON_DATETIME_FUNCTION: Self = Self::from_bytes(*b"22031");
182    /// `22032`, condition `invalid_json_text`.
183    pub const INVALID_JSON_TEXT: Self = Self::from_bytes(*b"22032");
184    /// `22033`, condition `invalid_sql_json_subscript`.
185    pub const INVALID_SQL_JSON_SUBSCRIPT: Self = Self::from_bytes(*b"22033");
186    /// `22034`, condition `more_than_one_sql_json_item`.
187    pub const MORE_THAN_ONE_SQL_JSON_ITEM: Self = Self::from_bytes(*b"22034");
188    /// `22035`, condition `no_sql_json_item`.
189    pub const NO_SQL_JSON_ITEM: Self = Self::from_bytes(*b"22035");
190    /// `22036`, condition `non_numeric_sql_json_item`.
191    pub const NON_NUMERIC_SQL_JSON_ITEM: Self = Self::from_bytes(*b"22036");
192    /// `22037`, condition `non_unique_keys_in_a_json_object`.
193    pub const NON_UNIQUE_KEYS_IN_A_JSON_OBJECT: Self = Self::from_bytes(*b"22037");
194    /// `22038`, condition `singleton_sql_json_item_required`.
195    pub const SINGLETON_SQL_JSON_ITEM_REQUIRED: Self = Self::from_bytes(*b"22038");
196    /// `22039`, condition `sql_json_array_not_found`.
197    pub const SQL_JSON_ARRAY_NOT_FOUND: Self = Self::from_bytes(*b"22039");
198    /// `2203A`, condition `sql_json_member_not_found`.
199    pub const SQL_JSON_MEMBER_NOT_FOUND: Self = Self::from_bytes(*b"2203A");
200    /// `2203B`, condition `sql_json_number_not_found`.
201    pub const SQL_JSON_NUMBER_NOT_FOUND: Self = Self::from_bytes(*b"2203B");
202    /// `2203C`, condition `sql_json_object_not_found`.
203    pub const SQL_JSON_OBJECT_NOT_FOUND: Self = Self::from_bytes(*b"2203C");
204    /// `2203D`, condition `too_many_json_array_elements`.
205    pub const TOO_MANY_JSON_ARRAY_ELEMENTS: Self = Self::from_bytes(*b"2203D");
206    /// `2203E`, condition `too_many_json_object_members`.
207    pub const TOO_MANY_JSON_OBJECT_MEMBERS: Self = Self::from_bytes(*b"2203E");
208    /// `2203F`, condition `sql_json_scalar_required`.
209    pub const SQL_JSON_SCALAR_REQUIRED: Self = Self::from_bytes(*b"2203F");
210    /// `2203G`, condition `sql_json_item_cannot_be_cast_to_target_type`.
211    pub const SQL_JSON_ITEM_CANNOT_BE_CAST_TO_TARGET_TYPE: Self = Self::from_bytes(*b"2203G");
212    /// `23000`, condition `integrity_constraint_violation`.
213    pub const INTEGRITY_CONSTRAINT_VIOLATION: Self = Self::from_bytes(*b"23000");
214    /// `23001`, condition `restrict_violation`.
215    pub const RESTRICT_VIOLATION: Self = Self::from_bytes(*b"23001");
216    /// `23502`, condition `not_null_violation`.
217    pub const NOT_NULL_VIOLATION: Self = Self::from_bytes(*b"23502");
218    /// `23503`, condition `foreign_key_violation`.
219    pub const FOREIGN_KEY_VIOLATION: Self = Self::from_bytes(*b"23503");
220    /// `23505`, condition `unique_violation`.
221    pub const UNIQUE_VIOLATION: Self = Self::from_bytes(*b"23505");
222    /// `23514`, condition `check_violation`.
223    pub const CHECK_VIOLATION: Self = Self::from_bytes(*b"23514");
224    /// `23P01`, condition `exclusion_violation`.
225    pub const EXCLUSION_VIOLATION: Self = Self::from_bytes(*b"23P01");
226    /// `24000`, condition `invalid_cursor_state`.
227    pub const INVALID_CURSOR_STATE: Self = Self::from_bytes(*b"24000");
228    /// `25000`, condition `invalid_transaction_state`.
229    pub const INVALID_TRANSACTION_STATE: Self = Self::from_bytes(*b"25000");
230    /// `25001`, condition `active_sql_transaction`.
231    pub const ACTIVE_SQL_TRANSACTION: Self = Self::from_bytes(*b"25001");
232    /// `25002`, condition `branch_transaction_already_active`.
233    pub const BRANCH_TRANSACTION_ALREADY_ACTIVE: Self = Self::from_bytes(*b"25002");
234    /// `25008`, condition `held_cursor_requires_same_isolation_level`.
235    pub const HELD_CURSOR_REQUIRES_SAME_ISOLATION_LEVEL: Self = Self::from_bytes(*b"25008");
236    /// `25003`, condition `inappropriate_access_mode_for_branch_transaction`.
237    pub const INAPPROPRIATE_ACCESS_MODE_FOR_BRANCH_TRANSACTION: Self = Self::from_bytes(*b"25003");
238    /// `25004`, condition `inappropriate_isolation_level_for_branch_transaction`.
239    pub const INAPPROPRIATE_ISOLATION_LEVEL_FOR_BRANCH_TRANSACTION: Self = Self::from_bytes(*b"25004");
240    /// `25005`, condition `no_active_sql_transaction_for_branch_transaction`.
241    pub const NO_ACTIVE_SQL_TRANSACTION_FOR_BRANCH_TRANSACTION: Self = Self::from_bytes(*b"25005");
242    /// `25006`, condition `read_only_sql_transaction`.
243    pub const READ_ONLY_SQL_TRANSACTION: Self = Self::from_bytes(*b"25006");
244    /// `25007`, condition `schema_and_data_statement_mixing_not_supported`.
245    pub const SCHEMA_AND_DATA_STATEMENT_MIXING_NOT_SUPPORTED: Self = Self::from_bytes(*b"25007");
246    /// `25P01`, condition `no_active_sql_transaction`.
247    pub const NO_ACTIVE_SQL_TRANSACTION: Self = Self::from_bytes(*b"25P01");
248    /// `25P02`, condition `in_failed_sql_transaction`.
249    pub const IN_FAILED_SQL_TRANSACTION: Self = Self::from_bytes(*b"25P02");
250    /// `25P03`, condition `idle_in_transaction_session_timeout`.
251    pub const IDLE_IN_TRANSACTION_SESSION_TIMEOUT: Self = Self::from_bytes(*b"25P03");
252    /// `25P04`, condition `transaction_timeout`.
253    pub const TRANSACTION_TIMEOUT: Self = Self::from_bytes(*b"25P04");
254    /// `26000`, condition `invalid_sql_statement_name`.
255    pub const INVALID_SQL_STATEMENT_NAME: Self = Self::from_bytes(*b"26000");
256    /// `27000`, condition `triggered_data_change_violation`.
257    pub const TRIGGERED_DATA_CHANGE_VIOLATION: Self = Self::from_bytes(*b"27000");
258    /// `28000`, condition `invalid_authorization_specification`.
259    pub const INVALID_AUTHORIZATION_SPECIFICATION: Self = Self::from_bytes(*b"28000");
260    /// `28P01`, condition `invalid_password`.
261    pub const INVALID_PASSWORD: Self = Self::from_bytes(*b"28P01");
262    /// `2B000`, condition `dependent_privilege_descriptors_still_exist`.
263    pub const DEPENDENT_PRIVILEGE_DESCRIPTORS_STILL_EXIST: Self = Self::from_bytes(*b"2B000");
264    /// `2BP01`, condition `dependent_objects_still_exist`.
265    pub const DEPENDENT_OBJECTS_STILL_EXIST: Self = Self::from_bytes(*b"2BP01");
266    /// `2D000`, condition `invalid_transaction_termination`.
267    pub const INVALID_TRANSACTION_TERMINATION: Self = Self::from_bytes(*b"2D000");
268    /// `2F000`, condition `sql_routine_exception`.
269    pub const SQL_ROUTINE_EXCEPTION: Self = Self::from_bytes(*b"2F000");
270    /// `2F005`, condition `function_executed_no_return_statement`.
271    pub const S_R_E_FUNCTION_EXECUTED_NO_RETURN_STATEMENT: Self = Self::from_bytes(*b"2F005");
272    /// `2F002`, condition `modifying_sql_data_not_permitted`.
273    pub const S_R_E_MODIFYING_SQL_DATA_NOT_PERMITTED: Self = Self::from_bytes(*b"2F002");
274    /// `2F003`, condition `prohibited_sql_statement_attempted`.
275    pub const S_R_E_PROHIBITED_SQL_STATEMENT_ATTEMPTED: Self = Self::from_bytes(*b"2F003");
276    /// `2F004`, condition `reading_sql_data_not_permitted`.
277    pub const S_R_E_READING_SQL_DATA_NOT_PERMITTED: Self = Self::from_bytes(*b"2F004");
278    /// `34000`, condition `invalid_cursor_name`.
279    pub const INVALID_CURSOR_NAME: Self = Self::from_bytes(*b"34000");
280    /// `38000`, condition `external_routine_exception`.
281    pub const EXTERNAL_ROUTINE_EXCEPTION: Self = Self::from_bytes(*b"38000");
282    /// `38001`, condition `containing_sql_not_permitted`.
283    pub const E_R_E_CONTAINING_SQL_NOT_PERMITTED: Self = Self::from_bytes(*b"38001");
284    /// `38002`, condition `modifying_sql_data_not_permitted`.
285    pub const E_R_E_MODIFYING_SQL_DATA_NOT_PERMITTED: Self = Self::from_bytes(*b"38002");
286    /// `38003`, condition `prohibited_sql_statement_attempted`.
287    pub const E_R_E_PROHIBITED_SQL_STATEMENT_ATTEMPTED: Self = Self::from_bytes(*b"38003");
288    /// `38004`, condition `reading_sql_data_not_permitted`.
289    pub const E_R_E_READING_SQL_DATA_NOT_PERMITTED: Self = Self::from_bytes(*b"38004");
290    /// `39000`, condition `external_routine_invocation_exception`.
291    pub const EXTERNAL_ROUTINE_INVOCATION_EXCEPTION: Self = Self::from_bytes(*b"39000");
292    /// `39001`, condition `invalid_sqlstate_returned`.
293    pub const E_R_I_E_INVALID_SQLSTATE_RETURNED: Self = Self::from_bytes(*b"39001");
294    /// `39004`, condition `null_value_not_allowed`.
295    pub const E_R_I_E_NULL_VALUE_NOT_ALLOWED: Self = Self::from_bytes(*b"39004");
296    /// `39P01`, condition `trigger_protocol_violated`.
297    pub const E_R_I_E_TRIGGER_PROTOCOL_VIOLATED: Self = Self::from_bytes(*b"39P01");
298    /// `39P02`, condition `srf_protocol_violated`.
299    pub const E_R_I_E_SRF_PROTOCOL_VIOLATED: Self = Self::from_bytes(*b"39P02");
300    /// `39P03`, condition `event_trigger_protocol_violated`.
301    pub const E_R_I_E_EVENT_TRIGGER_PROTOCOL_VIOLATED: Self = Self::from_bytes(*b"39P03");
302    /// `3B000`, condition `savepoint_exception`.
303    pub const SAVEPOINT_EXCEPTION: Self = Self::from_bytes(*b"3B000");
304    /// `3B001`, condition `invalid_savepoint_specification`.
305    pub const S_E_INVALID_SPECIFICATION: Self = Self::from_bytes(*b"3B001");
306    /// `3D000`, condition `invalid_catalog_name`.
307    pub const INVALID_CATALOG_NAME: Self = Self::from_bytes(*b"3D000");
308    /// `3F000`, condition `invalid_schema_name`.
309    pub const INVALID_SCHEMA_NAME: Self = Self::from_bytes(*b"3F000");
310    /// `40000`, condition `transaction_rollback`.
311    pub const TRANSACTION_ROLLBACK: Self = Self::from_bytes(*b"40000");
312    /// `40002`, condition `transaction_integrity_constraint_violation`.
313    pub const T_R_INTEGRITY_CONSTRAINT_VIOLATION: Self = Self::from_bytes(*b"40002");
314    /// `40001`, condition `serialization_failure`.
315    pub const T_R_SERIALIZATION_FAILURE: Self = Self::from_bytes(*b"40001");
316    /// `40003`, condition `statement_completion_unknown`.
317    pub const T_R_STATEMENT_COMPLETION_UNKNOWN: Self = Self::from_bytes(*b"40003");
318    /// `40P01`, condition `deadlock_detected`.
319    pub const T_R_DEADLOCK_DETECTED: Self = Self::from_bytes(*b"40P01");
320    /// `42000`, condition `syntax_error_or_access_rule_violation`.
321    pub const SYNTAX_ERROR_OR_ACCESS_RULE_VIOLATION: Self = Self::from_bytes(*b"42000");
322    /// `42601`, condition `syntax_error`.
323    pub const SYNTAX_ERROR: Self = Self::from_bytes(*b"42601");
324    /// `42501`, condition `insufficient_privilege`.
325    pub const INSUFFICIENT_PRIVILEGE: Self = Self::from_bytes(*b"42501");
326    /// `42846`, condition `cannot_coerce`.
327    pub const CANNOT_COERCE: Self = Self::from_bytes(*b"42846");
328    /// `42803`, condition `grouping_error`.
329    pub const GROUPING_ERROR: Self = Self::from_bytes(*b"42803");
330    /// `42P20`, condition `windowing_error`.
331    pub const WINDOWING_ERROR: Self = Self::from_bytes(*b"42P20");
332    /// `42P19`, condition `invalid_recursion`.
333    pub const INVALID_RECURSION: Self = Self::from_bytes(*b"42P19");
334    /// `42830`, condition `invalid_foreign_key`.
335    pub const INVALID_FOREIGN_KEY: Self = Self::from_bytes(*b"42830");
336    /// `42602`, condition `invalid_name`.
337    pub const INVALID_NAME: Self = Self::from_bytes(*b"42602");
338    /// `42622`, condition `name_too_long`.
339    pub const NAME_TOO_LONG: Self = Self::from_bytes(*b"42622");
340    /// `42939`, condition `reserved_name`.
341    pub const RESERVED_NAME: Self = Self::from_bytes(*b"42939");
342    /// `42804`, condition `datatype_mismatch`.
343    pub const DATATYPE_MISMATCH: Self = Self::from_bytes(*b"42804");
344    /// `42P18`, condition `indeterminate_datatype`.
345    pub const INDETERMINATE_DATATYPE: Self = Self::from_bytes(*b"42P18");
346    /// `42P21`, condition `collation_mismatch`.
347    pub const COLLATION_MISMATCH: Self = Self::from_bytes(*b"42P21");
348    /// `42P22`, condition `indeterminate_collation`.
349    pub const INDETERMINATE_COLLATION: Self = Self::from_bytes(*b"42P22");
350    /// `42809`, condition `wrong_object_type`.
351    pub const WRONG_OBJECT_TYPE: Self = Self::from_bytes(*b"42809");
352    /// `428C9`, condition `generated_always`.
353    pub const GENERATED_ALWAYS: Self = Self::from_bytes(*b"428C9");
354    /// `42703`, condition `undefined_column`.
355    pub const UNDEFINED_COLUMN: Self = Self::from_bytes(*b"42703");
356    /// `34000`, a second name for this code.
357    pub const UNDEFINED_CURSOR: Self = Self::from_bytes(*b"34000");
358    /// `3D000`, a second name for this code.
359    pub const UNDEFINED_DATABASE: Self = Self::from_bytes(*b"3D000");
360    /// `42883`, condition `undefined_function`.
361    pub const UNDEFINED_FUNCTION: Self = Self::from_bytes(*b"42883");
362    /// `26000`, a second name for this code.
363    pub const UNDEFINED_PSTATEMENT: Self = Self::from_bytes(*b"26000");
364    /// `3F000`, a second name for this code.
365    pub const UNDEFINED_SCHEMA: Self = Self::from_bytes(*b"3F000");
366    /// `42P01`, condition `undefined_table`.
367    pub const UNDEFINED_TABLE: Self = Self::from_bytes(*b"42P01");
368    /// `42P02`, condition `undefined_parameter`.
369    pub const UNDEFINED_PARAMETER: Self = Self::from_bytes(*b"42P02");
370    /// `42704`, condition `undefined_object`.
371    pub const UNDEFINED_OBJECT: Self = Self::from_bytes(*b"42704");
372    /// `42701`, condition `duplicate_column`.
373    pub const DUPLICATE_COLUMN: Self = Self::from_bytes(*b"42701");
374    /// `42P03`, condition `duplicate_cursor`.
375    pub const DUPLICATE_CURSOR: Self = Self::from_bytes(*b"42P03");
376    /// `42P04`, condition `duplicate_database`.
377    pub const DUPLICATE_DATABASE: Self = Self::from_bytes(*b"42P04");
378    /// `42723`, condition `duplicate_function`.
379    pub const DUPLICATE_FUNCTION: Self = Self::from_bytes(*b"42723");
380    /// `42P05`, condition `duplicate_prepared_statement`.
381    pub const DUPLICATE_PSTATEMENT: Self = Self::from_bytes(*b"42P05");
382    /// `42P06`, condition `duplicate_schema`.
383    pub const DUPLICATE_SCHEMA: Self = Self::from_bytes(*b"42P06");
384    /// `42P07`, condition `duplicate_table`.
385    pub const DUPLICATE_TABLE: Self = Self::from_bytes(*b"42P07");
386    /// `42712`, condition `duplicate_alias`.
387    pub const DUPLICATE_ALIAS: Self = Self::from_bytes(*b"42712");
388    /// `42710`, condition `duplicate_object`.
389    pub const DUPLICATE_OBJECT: Self = Self::from_bytes(*b"42710");
390    /// `42702`, condition `ambiguous_column`.
391    pub const AMBIGUOUS_COLUMN: Self = Self::from_bytes(*b"42702");
392    /// `42725`, condition `ambiguous_function`.
393    pub const AMBIGUOUS_FUNCTION: Self = Self::from_bytes(*b"42725");
394    /// `42P08`, condition `ambiguous_parameter`.
395    pub const AMBIGUOUS_PARAMETER: Self = Self::from_bytes(*b"42P08");
396    /// `42P09`, condition `ambiguous_alias`.
397    pub const AMBIGUOUS_ALIAS: Self = Self::from_bytes(*b"42P09");
398    /// `42P10`, condition `invalid_column_reference`.
399    pub const INVALID_COLUMN_REFERENCE: Self = Self::from_bytes(*b"42P10");
400    /// `42611`, condition `invalid_column_definition`.
401    pub const INVALID_COLUMN_DEFINITION: Self = Self::from_bytes(*b"42611");
402    /// `42P11`, condition `invalid_cursor_definition`.
403    pub const INVALID_CURSOR_DEFINITION: Self = Self::from_bytes(*b"42P11");
404    /// `42P12`, condition `invalid_database_definition`.
405    pub const INVALID_DATABASE_DEFINITION: Self = Self::from_bytes(*b"42P12");
406    /// `42P13`, condition `invalid_function_definition`.
407    pub const INVALID_FUNCTION_DEFINITION: Self = Self::from_bytes(*b"42P13");
408    /// `42P14`, condition `invalid_prepared_statement_definition`.
409    pub const INVALID_PSTATEMENT_DEFINITION: Self = Self::from_bytes(*b"42P14");
410    /// `42P15`, condition `invalid_schema_definition`.
411    pub const INVALID_SCHEMA_DEFINITION: Self = Self::from_bytes(*b"42P15");
412    /// `42P16`, condition `invalid_table_definition`.
413    pub const INVALID_TABLE_DEFINITION: Self = Self::from_bytes(*b"42P16");
414    /// `42P17`, condition `invalid_object_definition`.
415    pub const INVALID_OBJECT_DEFINITION: Self = Self::from_bytes(*b"42P17");
416    /// `44000`, condition `with_check_option_violation`.
417    pub const WITH_CHECK_OPTION_VIOLATION: Self = Self::from_bytes(*b"44000");
418    /// `53000`, condition `insufficient_resources`.
419    pub const INSUFFICIENT_RESOURCES: Self = Self::from_bytes(*b"53000");
420    /// `53100`, condition `disk_full`.
421    pub const DISK_FULL: Self = Self::from_bytes(*b"53100");
422    /// `53200`, condition `out_of_memory`.
423    pub const OUT_OF_MEMORY: Self = Self::from_bytes(*b"53200");
424    /// `53300`, condition `too_many_connections`.
425    pub const TOO_MANY_CONNECTIONS: Self = Self::from_bytes(*b"53300");
426    /// `53400`, condition `configuration_limit_exceeded`.
427    pub const CONFIGURATION_LIMIT_EXCEEDED: Self = Self::from_bytes(*b"53400");
428    /// `54000`, condition `program_limit_exceeded`.
429    pub const PROGRAM_LIMIT_EXCEEDED: Self = Self::from_bytes(*b"54000");
430    /// `54001`, condition `statement_too_complex`.
431    pub const STATEMENT_TOO_COMPLEX: Self = Self::from_bytes(*b"54001");
432    /// `54011`, condition `too_many_columns`.
433    pub const TOO_MANY_COLUMNS: Self = Self::from_bytes(*b"54011");
434    /// `54023`, condition `too_many_arguments`.
435    pub const TOO_MANY_ARGUMENTS: Self = Self::from_bytes(*b"54023");
436    /// `55000`, condition `object_not_in_prerequisite_state`.
437    pub const OBJECT_NOT_IN_PREREQUISITE_STATE: Self = Self::from_bytes(*b"55000");
438    /// `55006`, condition `object_in_use`.
439    pub const OBJECT_IN_USE: Self = Self::from_bytes(*b"55006");
440    /// `55P02`, condition `cant_change_runtime_param`.
441    pub const CANT_CHANGE_RUNTIME_PARAM: Self = Self::from_bytes(*b"55P02");
442    /// `55P03`, condition `lock_not_available`.
443    pub const LOCK_NOT_AVAILABLE: Self = Self::from_bytes(*b"55P03");
444    /// `55P04`, condition `unsafe_new_enum_value_usage`.
445    pub const UNSAFE_NEW_ENUM_VALUE_USAGE: Self = Self::from_bytes(*b"55P04");
446    /// `57000`, condition `operator_intervention`.
447    pub const OPERATOR_INTERVENTION: Self = Self::from_bytes(*b"57000");
448    /// `57014`, condition `query_canceled`.
449    pub const QUERY_CANCELED: Self = Self::from_bytes(*b"57014");
450    /// `57P01`, condition `admin_shutdown`.
451    pub const ADMIN_SHUTDOWN: Self = Self::from_bytes(*b"57P01");
452    /// `57P02`, condition `crash_shutdown`.
453    pub const CRASH_SHUTDOWN: Self = Self::from_bytes(*b"57P02");
454    /// `57P03`, condition `cannot_connect_now`.
455    pub const CANNOT_CONNECT_NOW: Self = Self::from_bytes(*b"57P03");
456    /// `57P04`, condition `database_dropped`.
457    pub const DATABASE_DROPPED: Self = Self::from_bytes(*b"57P04");
458    /// `57P05`, condition `idle_session_timeout`.
459    pub const IDLE_SESSION_TIMEOUT: Self = Self::from_bytes(*b"57P05");
460    /// `58000`, condition `system_error`.
461    pub const SYSTEM_ERROR: Self = Self::from_bytes(*b"58000");
462    /// `58030`, condition `io_error`.
463    pub const IO_ERROR: Self = Self::from_bytes(*b"58030");
464    /// `58P01`, condition `undefined_file`.
465    pub const UNDEFINED_FILE: Self = Self::from_bytes(*b"58P01");
466    /// `58P02`, condition `duplicate_file`.
467    pub const DUPLICATE_FILE: Self = Self::from_bytes(*b"58P02");
468    /// `58P03`, condition `file_name_too_long`.
469    pub const FILE_NAME_TOO_LONG: Self = Self::from_bytes(*b"58P03");
470    /// `F0000`, condition `config_file_error`.
471    pub const CONFIG_FILE_ERROR: Self = Self::from_bytes(*b"F0000");
472    /// `F0001`, condition `lock_file_exists`.
473    pub const LOCK_FILE_EXISTS: Self = Self::from_bytes(*b"F0001");
474    /// `HV000`, condition `fdw_error`.
475    pub const FDW_ERROR: Self = Self::from_bytes(*b"HV000");
476    /// `HV005`, condition `fdw_column_name_not_found`.
477    pub const FDW_COLUMN_NAME_NOT_FOUND: Self = Self::from_bytes(*b"HV005");
478    /// `HV002`, condition `fdw_dynamic_parameter_value_needed`.
479    pub const FDW_DYNAMIC_PARAMETER_VALUE_NEEDED: Self = Self::from_bytes(*b"HV002");
480    /// `HV010`, condition `fdw_function_sequence_error`.
481    pub const FDW_FUNCTION_SEQUENCE_ERROR: Self = Self::from_bytes(*b"HV010");
482    /// `HV021`, condition `fdw_inconsistent_descriptor_information`.
483    pub const FDW_INCONSISTENT_DESCRIPTOR_INFORMATION: Self = Self::from_bytes(*b"HV021");
484    /// `HV024`, condition `fdw_invalid_attribute_value`.
485    pub const FDW_INVALID_ATTRIBUTE_VALUE: Self = Self::from_bytes(*b"HV024");
486    /// `HV007`, condition `fdw_invalid_column_name`.
487    pub const FDW_INVALID_COLUMN_NAME: Self = Self::from_bytes(*b"HV007");
488    /// `HV008`, condition `fdw_invalid_column_number`.
489    pub const FDW_INVALID_COLUMN_NUMBER: Self = Self::from_bytes(*b"HV008");
490    /// `HV004`, condition `fdw_invalid_data_type`.
491    pub const FDW_INVALID_DATA_TYPE: Self = Self::from_bytes(*b"HV004");
492    /// `HV006`, condition `fdw_invalid_data_type_descriptors`.
493    pub const FDW_INVALID_DATA_TYPE_DESCRIPTORS: Self = Self::from_bytes(*b"HV006");
494    /// `HV091`, condition `fdw_invalid_descriptor_field_identifier`.
495    pub const FDW_INVALID_DESCRIPTOR_FIELD_IDENTIFIER: Self = Self::from_bytes(*b"HV091");
496    /// `HV00B`, condition `fdw_invalid_handle`.
497    pub const FDW_INVALID_HANDLE: Self = Self::from_bytes(*b"HV00B");
498    /// `HV00C`, condition `fdw_invalid_option_index`.
499    pub const FDW_INVALID_OPTION_INDEX: Self = Self::from_bytes(*b"HV00C");
500    /// `HV00D`, condition `fdw_invalid_option_name`.
501    pub const FDW_INVALID_OPTION_NAME: Self = Self::from_bytes(*b"HV00D");
502    /// `HV090`, condition `fdw_invalid_string_length_or_buffer_length`.
503    pub const FDW_INVALID_STRING_LENGTH_OR_BUFFER_LENGTH: Self = Self::from_bytes(*b"HV090");
504    /// `HV00A`, condition `fdw_invalid_string_format`.
505    pub const FDW_INVALID_STRING_FORMAT: Self = Self::from_bytes(*b"HV00A");
506    /// `HV009`, condition `fdw_invalid_use_of_null_pointer`.
507    pub const FDW_INVALID_USE_OF_NULL_POINTER: Self = Self::from_bytes(*b"HV009");
508    /// `HV014`, condition `fdw_too_many_handles`.
509    pub const FDW_TOO_MANY_HANDLES: Self = Self::from_bytes(*b"HV014");
510    /// `HV001`, condition `fdw_out_of_memory`.
511    pub const FDW_OUT_OF_MEMORY: Self = Self::from_bytes(*b"HV001");
512    /// `HV00P`, condition `fdw_no_schemas`.
513    pub const FDW_NO_SCHEMAS: Self = Self::from_bytes(*b"HV00P");
514    /// `HV00J`, condition `fdw_option_name_not_found`.
515    pub const FDW_OPTION_NAME_NOT_FOUND: Self = Self::from_bytes(*b"HV00J");
516    /// `HV00K`, condition `fdw_reply_handle`.
517    pub const FDW_REPLY_HANDLE: Self = Self::from_bytes(*b"HV00K");
518    /// `HV00Q`, condition `fdw_schema_not_found`.
519    pub const FDW_SCHEMA_NOT_FOUND: Self = Self::from_bytes(*b"HV00Q");
520    /// `HV00R`, condition `fdw_table_not_found`.
521    pub const FDW_TABLE_NOT_FOUND: Self = Self::from_bytes(*b"HV00R");
522    /// `HV00L`, condition `fdw_unable_to_create_execution`.
523    pub const FDW_UNABLE_TO_CREATE_EXECUTION: Self = Self::from_bytes(*b"HV00L");
524    /// `HV00M`, condition `fdw_unable_to_create_reply`.
525    pub const FDW_UNABLE_TO_CREATE_REPLY: Self = Self::from_bytes(*b"HV00M");
526    /// `HV00N`, condition `fdw_unable_to_establish_connection`.
527    pub const FDW_UNABLE_TO_ESTABLISH_CONNECTION: Self = Self::from_bytes(*b"HV00N");
528    /// `P0000`, condition `plpgsql_error`.
529    pub const PLPGSQL_ERROR: Self = Self::from_bytes(*b"P0000");
530    /// `P0001`, condition `raise_exception`.
531    pub const RAISE_EXCEPTION: Self = Self::from_bytes(*b"P0001");
532    /// `P0002`, condition `no_data_found`.
533    pub const NO_DATA_FOUND: Self = Self::from_bytes(*b"P0002");
534    /// `P0003`, condition `too_many_rows`.
535    pub const TOO_MANY_ROWS: Self = Self::from_bytes(*b"P0003");
536    /// `P0004`, condition `assert_failure`.
537    pub const ASSERT_FAILURE: Self = Self::from_bytes(*b"P0004");
538    /// `XX000`, condition `internal_error`.
539    pub const INTERNAL_ERROR: Self = Self::from_bytes(*b"XX000");
540    /// `XX001`, condition `data_corrupted`.
541    pub const DATA_CORRUPTED: Self = Self::from_bytes(*b"XX001");
542    /// `XX002`, condition `index_corrupted`.
543    pub const INDEX_CORRUPTED: Self = Self::from_bytes(*b"XX002");
544}
545
546/// Every code line of the file, in file order: the code, the category, the name of the constant and the condition name. The condition name is empty for a second name.
547pub(crate) static CODES: [(SqlState, Category, &str, &str); 268] = [
548    (SqlState::SUCCESSFUL_COMPLETION, Category::Success, "SUCCESSFUL_COMPLETION", "successful_completion"),
549    (SqlState::WARNING, Category::Warning, "WARNING", "warning"),
550    (SqlState::WARNING_DYNAMIC_RESULT_SETS_RETURNED, Category::Warning, "WARNING_DYNAMIC_RESULT_SETS_RETURNED", "dynamic_result_sets_returned"),
551    (SqlState::WARNING_IMPLICIT_ZERO_BIT_PADDING, Category::Warning, "WARNING_IMPLICIT_ZERO_BIT_PADDING", "implicit_zero_bit_padding"),
552    (SqlState::WARNING_NULL_VALUE_ELIMINATED_IN_SET_FUNCTION, Category::Warning, "WARNING_NULL_VALUE_ELIMINATED_IN_SET_FUNCTION", "null_value_eliminated_in_set_function"),
553    (SqlState::WARNING_PRIVILEGE_NOT_GRANTED, Category::Warning, "WARNING_PRIVILEGE_NOT_GRANTED", "privilege_not_granted"),
554    (SqlState::WARNING_PRIVILEGE_NOT_REVOKED, Category::Warning, "WARNING_PRIVILEGE_NOT_REVOKED", "privilege_not_revoked"),
555    (SqlState::WARNING_STRING_DATA_RIGHT_TRUNCATION, Category::Warning, "WARNING_STRING_DATA_RIGHT_TRUNCATION", "string_data_right_truncation"),
556    (SqlState::WARNING_DEPRECATED_FEATURE, Category::Warning, "WARNING_DEPRECATED_FEATURE", "deprecated_feature"),
557    (SqlState::NO_DATA, Category::Warning, "NO_DATA", "no_data"),
558    (SqlState::NO_ADDITIONAL_DYNAMIC_RESULT_SETS_RETURNED, Category::Warning, "NO_ADDITIONAL_DYNAMIC_RESULT_SETS_RETURNED", "no_additional_dynamic_result_sets_returned"),
559    (SqlState::SQL_STATEMENT_NOT_YET_COMPLETE, Category::Error, "SQL_STATEMENT_NOT_YET_COMPLETE", "sql_statement_not_yet_complete"),
560    (SqlState::CONNECTION_EXCEPTION, Category::Error, "CONNECTION_EXCEPTION", "connection_exception"),
561    (SqlState::CONNECTION_DOES_NOT_EXIST, Category::Error, "CONNECTION_DOES_NOT_EXIST", "connection_does_not_exist"),
562    (SqlState::CONNECTION_FAILURE, Category::Error, "CONNECTION_FAILURE", "connection_failure"),
563    (SqlState::SQLCLIENT_UNABLE_TO_ESTABLISH_SQLCONNECTION, Category::Error, "SQLCLIENT_UNABLE_TO_ESTABLISH_SQLCONNECTION", "sqlclient_unable_to_establish_sqlconnection"),
564    (SqlState::SQLSERVER_REJECTED_ESTABLISHMENT_OF_SQLCONNECTION, Category::Error, "SQLSERVER_REJECTED_ESTABLISHMENT_OF_SQLCONNECTION", "sqlserver_rejected_establishment_of_sqlconnection"),
565    (SqlState::TRANSACTION_RESOLUTION_UNKNOWN, Category::Error, "TRANSACTION_RESOLUTION_UNKNOWN", "transaction_resolution_unknown"),
566    (SqlState::PROTOCOL_VIOLATION, Category::Error, "PROTOCOL_VIOLATION", "protocol_violation"),
567    (SqlState::TRIGGERED_ACTION_EXCEPTION, Category::Error, "TRIGGERED_ACTION_EXCEPTION", "triggered_action_exception"),
568    (SqlState::FEATURE_NOT_SUPPORTED, Category::Error, "FEATURE_NOT_SUPPORTED", "feature_not_supported"),
569    (SqlState::INVALID_TRANSACTION_INITIATION, Category::Error, "INVALID_TRANSACTION_INITIATION", "invalid_transaction_initiation"),
570    (SqlState::LOCATOR_EXCEPTION, Category::Error, "LOCATOR_EXCEPTION", "locator_exception"),
571    (SqlState::L_E_INVALID_SPECIFICATION, Category::Error, "L_E_INVALID_SPECIFICATION", "invalid_locator_specification"),
572    (SqlState::INVALID_GRANTOR, Category::Error, "INVALID_GRANTOR", "invalid_grantor"),
573    (SqlState::INVALID_GRANT_OPERATION, Category::Error, "INVALID_GRANT_OPERATION", "invalid_grant_operation"),
574    (SqlState::INVALID_ROLE_SPECIFICATION, Category::Error, "INVALID_ROLE_SPECIFICATION", "invalid_role_specification"),
575    (SqlState::DIAGNOSTICS_EXCEPTION, Category::Error, "DIAGNOSTICS_EXCEPTION", "diagnostics_exception"),
576    (SqlState::STACKED_DIAGNOSTICS_ACCESSED_WITHOUT_ACTIVE_HANDLER, Category::Error, "STACKED_DIAGNOSTICS_ACCESSED_WITHOUT_ACTIVE_HANDLER", "stacked_diagnostics_accessed_without_active_handler"),
577    (SqlState::INVALID_ARGUMENT_FOR_XQUERY, Category::Error, "INVALID_ARGUMENT_FOR_XQUERY", "invalid_argument_for_xquery"),
578    (SqlState::CASE_NOT_FOUND, Category::Error, "CASE_NOT_FOUND", "case_not_found"),
579    (SqlState::CARDINALITY_VIOLATION, Category::Error, "CARDINALITY_VIOLATION", "cardinality_violation"),
580    (SqlState::DATA_EXCEPTION, Category::Error, "DATA_EXCEPTION", "data_exception"),
581    (SqlState::ARRAY_ELEMENT_ERROR, Category::Error, "ARRAY_ELEMENT_ERROR", ""),
582    (SqlState::ARRAY_SUBSCRIPT_ERROR, Category::Error, "ARRAY_SUBSCRIPT_ERROR", "array_subscript_error"),
583    (SqlState::CHARACTER_NOT_IN_REPERTOIRE, Category::Error, "CHARACTER_NOT_IN_REPERTOIRE", "character_not_in_repertoire"),
584    (SqlState::DATETIME_FIELD_OVERFLOW, Category::Error, "DATETIME_FIELD_OVERFLOW", "datetime_field_overflow"),
585    (SqlState::DATETIME_VALUE_OUT_OF_RANGE, Category::Error, "DATETIME_VALUE_OUT_OF_RANGE", ""),
586    (SqlState::DIVISION_BY_ZERO, Category::Error, "DIVISION_BY_ZERO", "division_by_zero"),
587    (SqlState::ERROR_IN_ASSIGNMENT, Category::Error, "ERROR_IN_ASSIGNMENT", "error_in_assignment"),
588    (SqlState::ESCAPE_CHARACTER_CONFLICT, Category::Error, "ESCAPE_CHARACTER_CONFLICT", "escape_character_conflict"),
589    (SqlState::INDICATOR_OVERFLOW, Category::Error, "INDICATOR_OVERFLOW", "indicator_overflow"),
590    (SqlState::INTERVAL_FIELD_OVERFLOW, Category::Error, "INTERVAL_FIELD_OVERFLOW", "interval_field_overflow"),
591    (SqlState::INVALID_ARGUMENT_FOR_LOG, Category::Error, "INVALID_ARGUMENT_FOR_LOG", "invalid_argument_for_logarithm"),
592    (SqlState::INVALID_ARGUMENT_FOR_NTILE, Category::Error, "INVALID_ARGUMENT_FOR_NTILE", "invalid_argument_for_ntile_function"),
593    (SqlState::INVALID_ARGUMENT_FOR_NTH_VALUE, Category::Error, "INVALID_ARGUMENT_FOR_NTH_VALUE", "invalid_argument_for_nth_value_function"),
594    (SqlState::INVALID_ARGUMENT_FOR_POWER_FUNCTION, Category::Error, "INVALID_ARGUMENT_FOR_POWER_FUNCTION", "invalid_argument_for_power_function"),
595    (SqlState::INVALID_ARGUMENT_FOR_WIDTH_BUCKET_FUNCTION, Category::Error, "INVALID_ARGUMENT_FOR_WIDTH_BUCKET_FUNCTION", "invalid_argument_for_width_bucket_function"),
596    (SqlState::INVALID_CHARACTER_VALUE_FOR_CAST, Category::Error, "INVALID_CHARACTER_VALUE_FOR_CAST", "invalid_character_value_for_cast"),
597    (SqlState::INVALID_DATETIME_FORMAT, Category::Error, "INVALID_DATETIME_FORMAT", "invalid_datetime_format"),
598    (SqlState::INVALID_ESCAPE_CHARACTER, Category::Error, "INVALID_ESCAPE_CHARACTER", "invalid_escape_character"),
599    (SqlState::INVALID_ESCAPE_OCTET, Category::Error, "INVALID_ESCAPE_OCTET", "invalid_escape_octet"),
600    (SqlState::INVALID_ESCAPE_SEQUENCE, Category::Error, "INVALID_ESCAPE_SEQUENCE", "invalid_escape_sequence"),
601    (SqlState::NONSTANDARD_USE_OF_ESCAPE_CHARACTER, Category::Error, "NONSTANDARD_USE_OF_ESCAPE_CHARACTER", "nonstandard_use_of_escape_character"),
602    (SqlState::INVALID_INDICATOR_PARAMETER_VALUE, Category::Error, "INVALID_INDICATOR_PARAMETER_VALUE", "invalid_indicator_parameter_value"),
603    (SqlState::INVALID_PARAMETER_VALUE, Category::Error, "INVALID_PARAMETER_VALUE", "invalid_parameter_value"),
604    (SqlState::INVALID_PRECEDING_OR_FOLLOWING_SIZE, Category::Error, "INVALID_PRECEDING_OR_FOLLOWING_SIZE", "invalid_preceding_or_following_size"),
605    (SqlState::INVALID_REGULAR_EXPRESSION, Category::Error, "INVALID_REGULAR_EXPRESSION", "invalid_regular_expression"),
606    (SqlState::INVALID_ROW_COUNT_IN_LIMIT_CLAUSE, Category::Error, "INVALID_ROW_COUNT_IN_LIMIT_CLAUSE", "invalid_row_count_in_limit_clause"),
607    (SqlState::INVALID_ROW_COUNT_IN_RESULT_OFFSET_CLAUSE, Category::Error, "INVALID_ROW_COUNT_IN_RESULT_OFFSET_CLAUSE", "invalid_row_count_in_result_offset_clause"),
608    (SqlState::INVALID_TABLESAMPLE_ARGUMENT, Category::Error, "INVALID_TABLESAMPLE_ARGUMENT", "invalid_tablesample_argument"),
609    (SqlState::INVALID_TABLESAMPLE_REPEAT, Category::Error, "INVALID_TABLESAMPLE_REPEAT", "invalid_tablesample_repeat"),
610    (SqlState::INVALID_TIME_ZONE_DISPLACEMENT_VALUE, Category::Error, "INVALID_TIME_ZONE_DISPLACEMENT_VALUE", "invalid_time_zone_displacement_value"),
611    (SqlState::INVALID_USE_OF_ESCAPE_CHARACTER, Category::Error, "INVALID_USE_OF_ESCAPE_CHARACTER", "invalid_use_of_escape_character"),
612    (SqlState::MOST_SPECIFIC_TYPE_MISMATCH, Category::Error, "MOST_SPECIFIC_TYPE_MISMATCH", "most_specific_type_mismatch"),
613    (SqlState::NULL_VALUE_NOT_ALLOWED, Category::Error, "NULL_VALUE_NOT_ALLOWED", "null_value_not_allowed"),
614    (SqlState::NULL_VALUE_NO_INDICATOR_PARAMETER, Category::Error, "NULL_VALUE_NO_INDICATOR_PARAMETER", "null_value_no_indicator_parameter"),
615    (SqlState::NUMERIC_VALUE_OUT_OF_RANGE, Category::Error, "NUMERIC_VALUE_OUT_OF_RANGE", "numeric_value_out_of_range"),
616    (SqlState::SEQUENCE_GENERATOR_LIMIT_EXCEEDED, Category::Error, "SEQUENCE_GENERATOR_LIMIT_EXCEEDED", "sequence_generator_limit_exceeded"),
617    (SqlState::STRING_DATA_LENGTH_MISMATCH, Category::Error, "STRING_DATA_LENGTH_MISMATCH", "string_data_length_mismatch"),
618    (SqlState::STRING_DATA_RIGHT_TRUNCATION, Category::Error, "STRING_DATA_RIGHT_TRUNCATION", "string_data_right_truncation"),
619    (SqlState::SUBSTRING_ERROR, Category::Error, "SUBSTRING_ERROR", "substring_error"),
620    (SqlState::TRIM_ERROR, Category::Error, "TRIM_ERROR", "trim_error"),
621    (SqlState::UNTERMINATED_C_STRING, Category::Error, "UNTERMINATED_C_STRING", "unterminated_c_string"),
622    (SqlState::ZERO_LENGTH_CHARACTER_STRING, Category::Error, "ZERO_LENGTH_CHARACTER_STRING", "zero_length_character_string"),
623    (SqlState::FLOATING_POINT_EXCEPTION, Category::Error, "FLOATING_POINT_EXCEPTION", "floating_point_exception"),
624    (SqlState::INVALID_TEXT_REPRESENTATION, Category::Error, "INVALID_TEXT_REPRESENTATION", "invalid_text_representation"),
625    (SqlState::INVALID_BINARY_REPRESENTATION, Category::Error, "INVALID_BINARY_REPRESENTATION", "invalid_binary_representation"),
626    (SqlState::BAD_COPY_FILE_FORMAT, Category::Error, "BAD_COPY_FILE_FORMAT", "bad_copy_file_format"),
627    (SqlState::UNTRANSLATABLE_CHARACTER, Category::Error, "UNTRANSLATABLE_CHARACTER", "untranslatable_character"),
628    (SqlState::NOT_AN_XML_DOCUMENT, Category::Error, "NOT_AN_XML_DOCUMENT", "not_an_xml_document"),
629    (SqlState::INVALID_XML_DOCUMENT, Category::Error, "INVALID_XML_DOCUMENT", "invalid_xml_document"),
630    (SqlState::INVALID_XML_CONTENT, Category::Error, "INVALID_XML_CONTENT", "invalid_xml_content"),
631    (SqlState::INVALID_XML_COMMENT, Category::Error, "INVALID_XML_COMMENT", "invalid_xml_comment"),
632    (SqlState::INVALID_XML_PROCESSING_INSTRUCTION, Category::Error, "INVALID_XML_PROCESSING_INSTRUCTION", "invalid_xml_processing_instruction"),
633    (SqlState::DUPLICATE_JSON_OBJECT_KEY_VALUE, Category::Error, "DUPLICATE_JSON_OBJECT_KEY_VALUE", "duplicate_json_object_key_value"),
634    (SqlState::INVALID_ARGUMENT_FOR_SQL_JSON_DATETIME_FUNCTION, Category::Error, "INVALID_ARGUMENT_FOR_SQL_JSON_DATETIME_FUNCTION", "invalid_argument_for_sql_json_datetime_function"),
635    (SqlState::INVALID_JSON_TEXT, Category::Error, "INVALID_JSON_TEXT", "invalid_json_text"),
636    (SqlState::INVALID_SQL_JSON_SUBSCRIPT, Category::Error, "INVALID_SQL_JSON_SUBSCRIPT", "invalid_sql_json_subscript"),
637    (SqlState::MORE_THAN_ONE_SQL_JSON_ITEM, Category::Error, "MORE_THAN_ONE_SQL_JSON_ITEM", "more_than_one_sql_json_item"),
638    (SqlState::NO_SQL_JSON_ITEM, Category::Error, "NO_SQL_JSON_ITEM", "no_sql_json_item"),
639    (SqlState::NON_NUMERIC_SQL_JSON_ITEM, Category::Error, "NON_NUMERIC_SQL_JSON_ITEM", "non_numeric_sql_json_item"),
640    (SqlState::NON_UNIQUE_KEYS_IN_A_JSON_OBJECT, Category::Error, "NON_UNIQUE_KEYS_IN_A_JSON_OBJECT", "non_unique_keys_in_a_json_object"),
641    (SqlState::SINGLETON_SQL_JSON_ITEM_REQUIRED, Category::Error, "SINGLETON_SQL_JSON_ITEM_REQUIRED", "singleton_sql_json_item_required"),
642    (SqlState::SQL_JSON_ARRAY_NOT_FOUND, Category::Error, "SQL_JSON_ARRAY_NOT_FOUND", "sql_json_array_not_found"),
643    (SqlState::SQL_JSON_MEMBER_NOT_FOUND, Category::Error, "SQL_JSON_MEMBER_NOT_FOUND", "sql_json_member_not_found"),
644    (SqlState::SQL_JSON_NUMBER_NOT_FOUND, Category::Error, "SQL_JSON_NUMBER_NOT_FOUND", "sql_json_number_not_found"),
645    (SqlState::SQL_JSON_OBJECT_NOT_FOUND, Category::Error, "SQL_JSON_OBJECT_NOT_FOUND", "sql_json_object_not_found"),
646    (SqlState::TOO_MANY_JSON_ARRAY_ELEMENTS, Category::Error, "TOO_MANY_JSON_ARRAY_ELEMENTS", "too_many_json_array_elements"),
647    (SqlState::TOO_MANY_JSON_OBJECT_MEMBERS, Category::Error, "TOO_MANY_JSON_OBJECT_MEMBERS", "too_many_json_object_members"),
648    (SqlState::SQL_JSON_SCALAR_REQUIRED, Category::Error, "SQL_JSON_SCALAR_REQUIRED", "sql_json_scalar_required"),
649    (SqlState::SQL_JSON_ITEM_CANNOT_BE_CAST_TO_TARGET_TYPE, Category::Error, "SQL_JSON_ITEM_CANNOT_BE_CAST_TO_TARGET_TYPE", "sql_json_item_cannot_be_cast_to_target_type"),
650    (SqlState::INTEGRITY_CONSTRAINT_VIOLATION, Category::Error, "INTEGRITY_CONSTRAINT_VIOLATION", "integrity_constraint_violation"),
651    (SqlState::RESTRICT_VIOLATION, Category::Error, "RESTRICT_VIOLATION", "restrict_violation"),
652    (SqlState::NOT_NULL_VIOLATION, Category::Error, "NOT_NULL_VIOLATION", "not_null_violation"),
653    (SqlState::FOREIGN_KEY_VIOLATION, Category::Error, "FOREIGN_KEY_VIOLATION", "foreign_key_violation"),
654    (SqlState::UNIQUE_VIOLATION, Category::Error, "UNIQUE_VIOLATION", "unique_violation"),
655    (SqlState::CHECK_VIOLATION, Category::Error, "CHECK_VIOLATION", "check_violation"),
656    (SqlState::EXCLUSION_VIOLATION, Category::Error, "EXCLUSION_VIOLATION", "exclusion_violation"),
657    (SqlState::INVALID_CURSOR_STATE, Category::Error, "INVALID_CURSOR_STATE", "invalid_cursor_state"),
658    (SqlState::INVALID_TRANSACTION_STATE, Category::Error, "INVALID_TRANSACTION_STATE", "invalid_transaction_state"),
659    (SqlState::ACTIVE_SQL_TRANSACTION, Category::Error, "ACTIVE_SQL_TRANSACTION", "active_sql_transaction"),
660    (SqlState::BRANCH_TRANSACTION_ALREADY_ACTIVE, Category::Error, "BRANCH_TRANSACTION_ALREADY_ACTIVE", "branch_transaction_already_active"),
661    (SqlState::HELD_CURSOR_REQUIRES_SAME_ISOLATION_LEVEL, Category::Error, "HELD_CURSOR_REQUIRES_SAME_ISOLATION_LEVEL", "held_cursor_requires_same_isolation_level"),
662    (SqlState::INAPPROPRIATE_ACCESS_MODE_FOR_BRANCH_TRANSACTION, Category::Error, "INAPPROPRIATE_ACCESS_MODE_FOR_BRANCH_TRANSACTION", "inappropriate_access_mode_for_branch_transaction"),
663    (SqlState::INAPPROPRIATE_ISOLATION_LEVEL_FOR_BRANCH_TRANSACTION, Category::Error, "INAPPROPRIATE_ISOLATION_LEVEL_FOR_BRANCH_TRANSACTION", "inappropriate_isolation_level_for_branch_transaction"),
664    (SqlState::NO_ACTIVE_SQL_TRANSACTION_FOR_BRANCH_TRANSACTION, Category::Error, "NO_ACTIVE_SQL_TRANSACTION_FOR_BRANCH_TRANSACTION", "no_active_sql_transaction_for_branch_transaction"),
665    (SqlState::READ_ONLY_SQL_TRANSACTION, Category::Error, "READ_ONLY_SQL_TRANSACTION", "read_only_sql_transaction"),
666    (SqlState::SCHEMA_AND_DATA_STATEMENT_MIXING_NOT_SUPPORTED, Category::Error, "SCHEMA_AND_DATA_STATEMENT_MIXING_NOT_SUPPORTED", "schema_and_data_statement_mixing_not_supported"),
667    (SqlState::NO_ACTIVE_SQL_TRANSACTION, Category::Error, "NO_ACTIVE_SQL_TRANSACTION", "no_active_sql_transaction"),
668    (SqlState::IN_FAILED_SQL_TRANSACTION, Category::Error, "IN_FAILED_SQL_TRANSACTION", "in_failed_sql_transaction"),
669    (SqlState::IDLE_IN_TRANSACTION_SESSION_TIMEOUT, Category::Error, "IDLE_IN_TRANSACTION_SESSION_TIMEOUT", "idle_in_transaction_session_timeout"),
670    (SqlState::TRANSACTION_TIMEOUT, Category::Error, "TRANSACTION_TIMEOUT", "transaction_timeout"),
671    (SqlState::INVALID_SQL_STATEMENT_NAME, Category::Error, "INVALID_SQL_STATEMENT_NAME", "invalid_sql_statement_name"),
672    (SqlState::TRIGGERED_DATA_CHANGE_VIOLATION, Category::Error, "TRIGGERED_DATA_CHANGE_VIOLATION", "triggered_data_change_violation"),
673    (SqlState::INVALID_AUTHORIZATION_SPECIFICATION, Category::Error, "INVALID_AUTHORIZATION_SPECIFICATION", "invalid_authorization_specification"),
674    (SqlState::INVALID_PASSWORD, Category::Error, "INVALID_PASSWORD", "invalid_password"),
675    (SqlState::DEPENDENT_PRIVILEGE_DESCRIPTORS_STILL_EXIST, Category::Error, "DEPENDENT_PRIVILEGE_DESCRIPTORS_STILL_EXIST", "dependent_privilege_descriptors_still_exist"),
676    (SqlState::DEPENDENT_OBJECTS_STILL_EXIST, Category::Error, "DEPENDENT_OBJECTS_STILL_EXIST", "dependent_objects_still_exist"),
677    (SqlState::INVALID_TRANSACTION_TERMINATION, Category::Error, "INVALID_TRANSACTION_TERMINATION", "invalid_transaction_termination"),
678    (SqlState::SQL_ROUTINE_EXCEPTION, Category::Error, "SQL_ROUTINE_EXCEPTION", "sql_routine_exception"),
679    (SqlState::S_R_E_FUNCTION_EXECUTED_NO_RETURN_STATEMENT, Category::Error, "S_R_E_FUNCTION_EXECUTED_NO_RETURN_STATEMENT", "function_executed_no_return_statement"),
680    (SqlState::S_R_E_MODIFYING_SQL_DATA_NOT_PERMITTED, Category::Error, "S_R_E_MODIFYING_SQL_DATA_NOT_PERMITTED", "modifying_sql_data_not_permitted"),
681    (SqlState::S_R_E_PROHIBITED_SQL_STATEMENT_ATTEMPTED, Category::Error, "S_R_E_PROHIBITED_SQL_STATEMENT_ATTEMPTED", "prohibited_sql_statement_attempted"),
682    (SqlState::S_R_E_READING_SQL_DATA_NOT_PERMITTED, Category::Error, "S_R_E_READING_SQL_DATA_NOT_PERMITTED", "reading_sql_data_not_permitted"),
683    (SqlState::INVALID_CURSOR_NAME, Category::Error, "INVALID_CURSOR_NAME", "invalid_cursor_name"),
684    (SqlState::EXTERNAL_ROUTINE_EXCEPTION, Category::Error, "EXTERNAL_ROUTINE_EXCEPTION", "external_routine_exception"),
685    (SqlState::E_R_E_CONTAINING_SQL_NOT_PERMITTED, Category::Error, "E_R_E_CONTAINING_SQL_NOT_PERMITTED", "containing_sql_not_permitted"),
686    (SqlState::E_R_E_MODIFYING_SQL_DATA_NOT_PERMITTED, Category::Error, "E_R_E_MODIFYING_SQL_DATA_NOT_PERMITTED", "modifying_sql_data_not_permitted"),
687    (SqlState::E_R_E_PROHIBITED_SQL_STATEMENT_ATTEMPTED, Category::Error, "E_R_E_PROHIBITED_SQL_STATEMENT_ATTEMPTED", "prohibited_sql_statement_attempted"),
688    (SqlState::E_R_E_READING_SQL_DATA_NOT_PERMITTED, Category::Error, "E_R_E_READING_SQL_DATA_NOT_PERMITTED", "reading_sql_data_not_permitted"),
689    (SqlState::EXTERNAL_ROUTINE_INVOCATION_EXCEPTION, Category::Error, "EXTERNAL_ROUTINE_INVOCATION_EXCEPTION", "external_routine_invocation_exception"),
690    (SqlState::E_R_I_E_INVALID_SQLSTATE_RETURNED, Category::Error, "E_R_I_E_INVALID_SQLSTATE_RETURNED", "invalid_sqlstate_returned"),
691    (SqlState::E_R_I_E_NULL_VALUE_NOT_ALLOWED, Category::Error, "E_R_I_E_NULL_VALUE_NOT_ALLOWED", "null_value_not_allowed"),
692    (SqlState::E_R_I_E_TRIGGER_PROTOCOL_VIOLATED, Category::Error, "E_R_I_E_TRIGGER_PROTOCOL_VIOLATED", "trigger_protocol_violated"),
693    (SqlState::E_R_I_E_SRF_PROTOCOL_VIOLATED, Category::Error, "E_R_I_E_SRF_PROTOCOL_VIOLATED", "srf_protocol_violated"),
694    (SqlState::E_R_I_E_EVENT_TRIGGER_PROTOCOL_VIOLATED, Category::Error, "E_R_I_E_EVENT_TRIGGER_PROTOCOL_VIOLATED", "event_trigger_protocol_violated"),
695    (SqlState::SAVEPOINT_EXCEPTION, Category::Error, "SAVEPOINT_EXCEPTION", "savepoint_exception"),
696    (SqlState::S_E_INVALID_SPECIFICATION, Category::Error, "S_E_INVALID_SPECIFICATION", "invalid_savepoint_specification"),
697    (SqlState::INVALID_CATALOG_NAME, Category::Error, "INVALID_CATALOG_NAME", "invalid_catalog_name"),
698    (SqlState::INVALID_SCHEMA_NAME, Category::Error, "INVALID_SCHEMA_NAME", "invalid_schema_name"),
699    (SqlState::TRANSACTION_ROLLBACK, Category::Error, "TRANSACTION_ROLLBACK", "transaction_rollback"),
700    (SqlState::T_R_INTEGRITY_CONSTRAINT_VIOLATION, Category::Error, "T_R_INTEGRITY_CONSTRAINT_VIOLATION", "transaction_integrity_constraint_violation"),
701    (SqlState::T_R_SERIALIZATION_FAILURE, Category::Error, "T_R_SERIALIZATION_FAILURE", "serialization_failure"),
702    (SqlState::T_R_STATEMENT_COMPLETION_UNKNOWN, Category::Error, "T_R_STATEMENT_COMPLETION_UNKNOWN", "statement_completion_unknown"),
703    (SqlState::T_R_DEADLOCK_DETECTED, Category::Error, "T_R_DEADLOCK_DETECTED", "deadlock_detected"),
704    (SqlState::SYNTAX_ERROR_OR_ACCESS_RULE_VIOLATION, Category::Error, "SYNTAX_ERROR_OR_ACCESS_RULE_VIOLATION", "syntax_error_or_access_rule_violation"),
705    (SqlState::SYNTAX_ERROR, Category::Error, "SYNTAX_ERROR", "syntax_error"),
706    (SqlState::INSUFFICIENT_PRIVILEGE, Category::Error, "INSUFFICIENT_PRIVILEGE", "insufficient_privilege"),
707    (SqlState::CANNOT_COERCE, Category::Error, "CANNOT_COERCE", "cannot_coerce"),
708    (SqlState::GROUPING_ERROR, Category::Error, "GROUPING_ERROR", "grouping_error"),
709    (SqlState::WINDOWING_ERROR, Category::Error, "WINDOWING_ERROR", "windowing_error"),
710    (SqlState::INVALID_RECURSION, Category::Error, "INVALID_RECURSION", "invalid_recursion"),
711    (SqlState::INVALID_FOREIGN_KEY, Category::Error, "INVALID_FOREIGN_KEY", "invalid_foreign_key"),
712    (SqlState::INVALID_NAME, Category::Error, "INVALID_NAME", "invalid_name"),
713    (SqlState::NAME_TOO_LONG, Category::Error, "NAME_TOO_LONG", "name_too_long"),
714    (SqlState::RESERVED_NAME, Category::Error, "RESERVED_NAME", "reserved_name"),
715    (SqlState::DATATYPE_MISMATCH, Category::Error, "DATATYPE_MISMATCH", "datatype_mismatch"),
716    (SqlState::INDETERMINATE_DATATYPE, Category::Error, "INDETERMINATE_DATATYPE", "indeterminate_datatype"),
717    (SqlState::COLLATION_MISMATCH, Category::Error, "COLLATION_MISMATCH", "collation_mismatch"),
718    (SqlState::INDETERMINATE_COLLATION, Category::Error, "INDETERMINATE_COLLATION", "indeterminate_collation"),
719    (SqlState::WRONG_OBJECT_TYPE, Category::Error, "WRONG_OBJECT_TYPE", "wrong_object_type"),
720    (SqlState::GENERATED_ALWAYS, Category::Error, "GENERATED_ALWAYS", "generated_always"),
721    (SqlState::UNDEFINED_COLUMN, Category::Error, "UNDEFINED_COLUMN", "undefined_column"),
722    (SqlState::UNDEFINED_CURSOR, Category::Error, "UNDEFINED_CURSOR", ""),
723    (SqlState::UNDEFINED_DATABASE, Category::Error, "UNDEFINED_DATABASE", ""),
724    (SqlState::UNDEFINED_FUNCTION, Category::Error, "UNDEFINED_FUNCTION", "undefined_function"),
725    (SqlState::UNDEFINED_PSTATEMENT, Category::Error, "UNDEFINED_PSTATEMENT", ""),
726    (SqlState::UNDEFINED_SCHEMA, Category::Error, "UNDEFINED_SCHEMA", ""),
727    (SqlState::UNDEFINED_TABLE, Category::Error, "UNDEFINED_TABLE", "undefined_table"),
728    (SqlState::UNDEFINED_PARAMETER, Category::Error, "UNDEFINED_PARAMETER", "undefined_parameter"),
729    (SqlState::UNDEFINED_OBJECT, Category::Error, "UNDEFINED_OBJECT", "undefined_object"),
730    (SqlState::DUPLICATE_COLUMN, Category::Error, "DUPLICATE_COLUMN", "duplicate_column"),
731    (SqlState::DUPLICATE_CURSOR, Category::Error, "DUPLICATE_CURSOR", "duplicate_cursor"),
732    (SqlState::DUPLICATE_DATABASE, Category::Error, "DUPLICATE_DATABASE", "duplicate_database"),
733    (SqlState::DUPLICATE_FUNCTION, Category::Error, "DUPLICATE_FUNCTION", "duplicate_function"),
734    (SqlState::DUPLICATE_PSTATEMENT, Category::Error, "DUPLICATE_PSTATEMENT", "duplicate_prepared_statement"),
735    (SqlState::DUPLICATE_SCHEMA, Category::Error, "DUPLICATE_SCHEMA", "duplicate_schema"),
736    (SqlState::DUPLICATE_TABLE, Category::Error, "DUPLICATE_TABLE", "duplicate_table"),
737    (SqlState::DUPLICATE_ALIAS, Category::Error, "DUPLICATE_ALIAS", "duplicate_alias"),
738    (SqlState::DUPLICATE_OBJECT, Category::Error, "DUPLICATE_OBJECT", "duplicate_object"),
739    (SqlState::AMBIGUOUS_COLUMN, Category::Error, "AMBIGUOUS_COLUMN", "ambiguous_column"),
740    (SqlState::AMBIGUOUS_FUNCTION, Category::Error, "AMBIGUOUS_FUNCTION", "ambiguous_function"),
741    (SqlState::AMBIGUOUS_PARAMETER, Category::Error, "AMBIGUOUS_PARAMETER", "ambiguous_parameter"),
742    (SqlState::AMBIGUOUS_ALIAS, Category::Error, "AMBIGUOUS_ALIAS", "ambiguous_alias"),
743    (SqlState::INVALID_COLUMN_REFERENCE, Category::Error, "INVALID_COLUMN_REFERENCE", "invalid_column_reference"),
744    (SqlState::INVALID_COLUMN_DEFINITION, Category::Error, "INVALID_COLUMN_DEFINITION", "invalid_column_definition"),
745    (SqlState::INVALID_CURSOR_DEFINITION, Category::Error, "INVALID_CURSOR_DEFINITION", "invalid_cursor_definition"),
746    (SqlState::INVALID_DATABASE_DEFINITION, Category::Error, "INVALID_DATABASE_DEFINITION", "invalid_database_definition"),
747    (SqlState::INVALID_FUNCTION_DEFINITION, Category::Error, "INVALID_FUNCTION_DEFINITION", "invalid_function_definition"),
748    (SqlState::INVALID_PSTATEMENT_DEFINITION, Category::Error, "INVALID_PSTATEMENT_DEFINITION", "invalid_prepared_statement_definition"),
749    (SqlState::INVALID_SCHEMA_DEFINITION, Category::Error, "INVALID_SCHEMA_DEFINITION", "invalid_schema_definition"),
750    (SqlState::INVALID_TABLE_DEFINITION, Category::Error, "INVALID_TABLE_DEFINITION", "invalid_table_definition"),
751    (SqlState::INVALID_OBJECT_DEFINITION, Category::Error, "INVALID_OBJECT_DEFINITION", "invalid_object_definition"),
752    (SqlState::WITH_CHECK_OPTION_VIOLATION, Category::Error, "WITH_CHECK_OPTION_VIOLATION", "with_check_option_violation"),
753    (SqlState::INSUFFICIENT_RESOURCES, Category::Error, "INSUFFICIENT_RESOURCES", "insufficient_resources"),
754    (SqlState::DISK_FULL, Category::Error, "DISK_FULL", "disk_full"),
755    (SqlState::OUT_OF_MEMORY, Category::Error, "OUT_OF_MEMORY", "out_of_memory"),
756    (SqlState::TOO_MANY_CONNECTIONS, Category::Error, "TOO_MANY_CONNECTIONS", "too_many_connections"),
757    (SqlState::CONFIGURATION_LIMIT_EXCEEDED, Category::Error, "CONFIGURATION_LIMIT_EXCEEDED", "configuration_limit_exceeded"),
758    (SqlState::PROGRAM_LIMIT_EXCEEDED, Category::Error, "PROGRAM_LIMIT_EXCEEDED", "program_limit_exceeded"),
759    (SqlState::STATEMENT_TOO_COMPLEX, Category::Error, "STATEMENT_TOO_COMPLEX", "statement_too_complex"),
760    (SqlState::TOO_MANY_COLUMNS, Category::Error, "TOO_MANY_COLUMNS", "too_many_columns"),
761    (SqlState::TOO_MANY_ARGUMENTS, Category::Error, "TOO_MANY_ARGUMENTS", "too_many_arguments"),
762    (SqlState::OBJECT_NOT_IN_PREREQUISITE_STATE, Category::Error, "OBJECT_NOT_IN_PREREQUISITE_STATE", "object_not_in_prerequisite_state"),
763    (SqlState::OBJECT_IN_USE, Category::Error, "OBJECT_IN_USE", "object_in_use"),
764    (SqlState::CANT_CHANGE_RUNTIME_PARAM, Category::Error, "CANT_CHANGE_RUNTIME_PARAM", "cant_change_runtime_param"),
765    (SqlState::LOCK_NOT_AVAILABLE, Category::Error, "LOCK_NOT_AVAILABLE", "lock_not_available"),
766    (SqlState::UNSAFE_NEW_ENUM_VALUE_USAGE, Category::Error, "UNSAFE_NEW_ENUM_VALUE_USAGE", "unsafe_new_enum_value_usage"),
767    (SqlState::OPERATOR_INTERVENTION, Category::Error, "OPERATOR_INTERVENTION", "operator_intervention"),
768    (SqlState::QUERY_CANCELED, Category::Error, "QUERY_CANCELED", "query_canceled"),
769    (SqlState::ADMIN_SHUTDOWN, Category::Error, "ADMIN_SHUTDOWN", "admin_shutdown"),
770    (SqlState::CRASH_SHUTDOWN, Category::Error, "CRASH_SHUTDOWN", "crash_shutdown"),
771    (SqlState::CANNOT_CONNECT_NOW, Category::Error, "CANNOT_CONNECT_NOW", "cannot_connect_now"),
772    (SqlState::DATABASE_DROPPED, Category::Error, "DATABASE_DROPPED", "database_dropped"),
773    (SqlState::IDLE_SESSION_TIMEOUT, Category::Error, "IDLE_SESSION_TIMEOUT", "idle_session_timeout"),
774    (SqlState::SYSTEM_ERROR, Category::Error, "SYSTEM_ERROR", "system_error"),
775    (SqlState::IO_ERROR, Category::Error, "IO_ERROR", "io_error"),
776    (SqlState::UNDEFINED_FILE, Category::Error, "UNDEFINED_FILE", "undefined_file"),
777    (SqlState::DUPLICATE_FILE, Category::Error, "DUPLICATE_FILE", "duplicate_file"),
778    (SqlState::FILE_NAME_TOO_LONG, Category::Error, "FILE_NAME_TOO_LONG", "file_name_too_long"),
779    (SqlState::CONFIG_FILE_ERROR, Category::Error, "CONFIG_FILE_ERROR", "config_file_error"),
780    (SqlState::LOCK_FILE_EXISTS, Category::Error, "LOCK_FILE_EXISTS", "lock_file_exists"),
781    (SqlState::FDW_ERROR, Category::Error, "FDW_ERROR", "fdw_error"),
782    (SqlState::FDW_COLUMN_NAME_NOT_FOUND, Category::Error, "FDW_COLUMN_NAME_NOT_FOUND", "fdw_column_name_not_found"),
783    (SqlState::FDW_DYNAMIC_PARAMETER_VALUE_NEEDED, Category::Error, "FDW_DYNAMIC_PARAMETER_VALUE_NEEDED", "fdw_dynamic_parameter_value_needed"),
784    (SqlState::FDW_FUNCTION_SEQUENCE_ERROR, Category::Error, "FDW_FUNCTION_SEQUENCE_ERROR", "fdw_function_sequence_error"),
785    (SqlState::FDW_INCONSISTENT_DESCRIPTOR_INFORMATION, Category::Error, "FDW_INCONSISTENT_DESCRIPTOR_INFORMATION", "fdw_inconsistent_descriptor_information"),
786    (SqlState::FDW_INVALID_ATTRIBUTE_VALUE, Category::Error, "FDW_INVALID_ATTRIBUTE_VALUE", "fdw_invalid_attribute_value"),
787    (SqlState::FDW_INVALID_COLUMN_NAME, Category::Error, "FDW_INVALID_COLUMN_NAME", "fdw_invalid_column_name"),
788    (SqlState::FDW_INVALID_COLUMN_NUMBER, Category::Error, "FDW_INVALID_COLUMN_NUMBER", "fdw_invalid_column_number"),
789    (SqlState::FDW_INVALID_DATA_TYPE, Category::Error, "FDW_INVALID_DATA_TYPE", "fdw_invalid_data_type"),
790    (SqlState::FDW_INVALID_DATA_TYPE_DESCRIPTORS, Category::Error, "FDW_INVALID_DATA_TYPE_DESCRIPTORS", "fdw_invalid_data_type_descriptors"),
791    (SqlState::FDW_INVALID_DESCRIPTOR_FIELD_IDENTIFIER, Category::Error, "FDW_INVALID_DESCRIPTOR_FIELD_IDENTIFIER", "fdw_invalid_descriptor_field_identifier"),
792    (SqlState::FDW_INVALID_HANDLE, Category::Error, "FDW_INVALID_HANDLE", "fdw_invalid_handle"),
793    (SqlState::FDW_INVALID_OPTION_INDEX, Category::Error, "FDW_INVALID_OPTION_INDEX", "fdw_invalid_option_index"),
794    (SqlState::FDW_INVALID_OPTION_NAME, Category::Error, "FDW_INVALID_OPTION_NAME", "fdw_invalid_option_name"),
795    (SqlState::FDW_INVALID_STRING_LENGTH_OR_BUFFER_LENGTH, Category::Error, "FDW_INVALID_STRING_LENGTH_OR_BUFFER_LENGTH", "fdw_invalid_string_length_or_buffer_length"),
796    (SqlState::FDW_INVALID_STRING_FORMAT, Category::Error, "FDW_INVALID_STRING_FORMAT", "fdw_invalid_string_format"),
797    (SqlState::FDW_INVALID_USE_OF_NULL_POINTER, Category::Error, "FDW_INVALID_USE_OF_NULL_POINTER", "fdw_invalid_use_of_null_pointer"),
798    (SqlState::FDW_TOO_MANY_HANDLES, Category::Error, "FDW_TOO_MANY_HANDLES", "fdw_too_many_handles"),
799    (SqlState::FDW_OUT_OF_MEMORY, Category::Error, "FDW_OUT_OF_MEMORY", "fdw_out_of_memory"),
800    (SqlState::FDW_NO_SCHEMAS, Category::Error, "FDW_NO_SCHEMAS", "fdw_no_schemas"),
801    (SqlState::FDW_OPTION_NAME_NOT_FOUND, Category::Error, "FDW_OPTION_NAME_NOT_FOUND", "fdw_option_name_not_found"),
802    (SqlState::FDW_REPLY_HANDLE, Category::Error, "FDW_REPLY_HANDLE", "fdw_reply_handle"),
803    (SqlState::FDW_SCHEMA_NOT_FOUND, Category::Error, "FDW_SCHEMA_NOT_FOUND", "fdw_schema_not_found"),
804    (SqlState::FDW_TABLE_NOT_FOUND, Category::Error, "FDW_TABLE_NOT_FOUND", "fdw_table_not_found"),
805    (SqlState::FDW_UNABLE_TO_CREATE_EXECUTION, Category::Error, "FDW_UNABLE_TO_CREATE_EXECUTION", "fdw_unable_to_create_execution"),
806    (SqlState::FDW_UNABLE_TO_CREATE_REPLY, Category::Error, "FDW_UNABLE_TO_CREATE_REPLY", "fdw_unable_to_create_reply"),
807    (SqlState::FDW_UNABLE_TO_ESTABLISH_CONNECTION, Category::Error, "FDW_UNABLE_TO_ESTABLISH_CONNECTION", "fdw_unable_to_establish_connection"),
808    (SqlState::PLPGSQL_ERROR, Category::Error, "PLPGSQL_ERROR", "plpgsql_error"),
809    (SqlState::RAISE_EXCEPTION, Category::Error, "RAISE_EXCEPTION", "raise_exception"),
810    (SqlState::NO_DATA_FOUND, Category::Error, "NO_DATA_FOUND", "no_data_found"),
811    (SqlState::TOO_MANY_ROWS, Category::Error, "TOO_MANY_ROWS", "too_many_rows"),
812    (SqlState::ASSERT_FAILURE, Category::Error, "ASSERT_FAILURE", "assert_failure"),
813    (SqlState::INTERNAL_ERROR, Category::Error, "INTERNAL_ERROR", "internal_error"),
814    (SqlState::DATA_CORRUPTED, Category::Error, "DATA_CORRUPTED", "data_corrupted"),
815    (SqlState::INDEX_CORRUPTED, Category::Error, "INDEX_CORRUPTED", "index_corrupted"),
816];
817
818/// Every class, in file order: the first two characters of its codes and its title.
819pub(crate) static CLASSES: [(&str, &str); 43] = [
820    ("00", "Successful Completion"),
821    ("01", "Warning"),
822    ("02", "No Data (this is also a warning class per the SQL standard)"),
823    ("03", "SQL Statement Not Yet Complete"),
824    ("08", "Connection Exception"),
825    ("09", "Triggered Action Exception"),
826    ("0A", "Feature Not Supported"),
827    ("0B", "Invalid Transaction Initiation"),
828    ("0F", "Locator Exception"),
829    ("0L", "Invalid Grantor"),
830    ("0P", "Invalid Role Specification"),
831    ("0Z", "Diagnostics Exception"),
832    ("10", "XQuery Error"),
833    ("20", "Case Not Found"),
834    ("21", "Cardinality Violation"),
835    ("22", "Data Exception"),
836    ("23", "Integrity Constraint Violation"),
837    ("24", "Invalid Cursor State"),
838    ("25", "Invalid Transaction State"),
839    ("26", "Invalid SQL Statement Name"),
840    ("27", "Triggered Data Change Violation"),
841    ("28", "Invalid Authorization Specification"),
842    ("2B", "Dependent Privilege Descriptors Still Exist"),
843    ("2D", "Invalid Transaction Termination"),
844    ("2F", "SQL Routine Exception"),
845    ("34", "Invalid Cursor Name"),
846    ("38", "External Routine Exception"),
847    ("39", "External Routine Invocation Exception"),
848    ("3B", "Savepoint Exception"),
849    ("3D", "Invalid Catalog Name"),
850    ("3F", "Invalid Schema Name"),
851    ("40", "Transaction Rollback"),
852    ("42", "Syntax Error or Access Rule Violation"),
853    ("44", "WITH CHECK OPTION Violation"),
854    ("53", "Insufficient Resources"),
855    ("54", "Program Limit Exceeded"),
856    ("55", "Object Not In Prerequisite State"),
857    ("57", "Operator Intervention"),
858    ("58", "System Error (errors external to PostgreSQL itself)"),
859    ("F0", "Configuration File Error"),
860    ("HV", "Foreign Data Wrapper Error (SQL/MED)"),
861    ("P0", "PL/pgSQL Error"),
862    ("XX", "Internal Error"),
863];