Skip to main content

diesel/pg/
sql_state.rs

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