Skip to main content

Module sql_state

Module sql_state 

Source
Available on crate features mariadb_backend or mysql_backend only.
Expand description

The SQLSTATE codes MySQL 8.4 and MariaDB 11.8 report, taken from messages_to_clients.txt and errmsg-utf8.txt.

use sqlstate::{SqlState, mysql_like};

let code: SqlState = "40001".parse().unwrap();
assert!(matches!(code, mysql_like::SERIALIZATION_FAILURE));

Constantsยง

ACTIVE_SQL_TRANSACTION
25001, active SQL transaction.
BASE_TABLE_OR_VIEW_ALREADY_EXISTS
42S01, base table or view already exists.
BASE_TABLE_OR_VIEW_NOT_FOUND
42S02, base table or view not found.
CANT_MODIFY_SRID_0
SR000, SRID 0 cannot be modified. MySQL only.
CANT_MODIFY_SRS_USED_BY_COLUMN
SR005, SRS used by a column. MySQL only.
CARDINALITY_VIOLATION
21000, cardinality violation.
CASE_NOT_FOUND
20000, case not found for case statement.
COLUMN_ALREADY_EXISTS
42S21, column already exists.
COLUMN_NOT_FOUND
42S22, column not found.
COMMUNICATION_LINK_FAILURE
08S01, communication link failure.
DATETIME_FIELD_OVERFLOW
22008, datetime field overflow.
DIVISION_BY_ZERO
22012, division by zero.
FEATURE_NOT_SUPPORTED
0A000, feature not supported.
FUNCTION_EXECUTED_NO_RETURN_STATEMENT
2F005, function executed no return statement.
GENERAL_ERROR
HY000, general error.
GIS_DIFFERENT_SRIDS_AGGREGATION
22S05, aggregate over different SRIDs. MySQL only.
INDEX_NOT_FOUND
42S12, index not found.
INSERT_VALUE_LIST_DOES_NOT_MATCH_COLUMN_LIST
21S01, insert value list does not match column list.
INTEGRITY_CONSTRAINT_VIOLATION
23000, integrity constraint violation.
INVALID_ARGUMENT_FOR_LOGARITHM
2201E, invalid argument for natural logarithm.
INVALID_AUTHORIZATION_SPECIFICATION
28000, invalid authorization specification.
INVALID_CAST_POLYGON_RING_DIRECTION
22S04, invalid polygon ring direction. MySQL only.
INVALID_CATALOG_NAME
3D000, invalid catalog name.
INVALID_CHARACTER_VALUE_FOR_CAST
22018, invalid character value for cast. MySQL only.
INVALID_CONDITION_NUMBER
35000, invalid condition number.
INVALID_CURSOR_STATE
24000, invalid cursor state.
INVALID_DATETIME_FORMAT
22007, invalid datetime format.
INVALID_GRANTOR
0L000, invalid grantor. MariaDB only.
INVALID_JSON_TEXT
22032, invalid JSON text. MySQL only.
INVALID_PARAMETER_VALUE
22023, invalid parameter value.
INVALID_ROLE
OP000, invalid role specification. MariaDB only.
INVALID_SRS_ATTRIBUTE
SR006, invalid SRS attribute. MySQL only.
INVALID_SRS_DEFINITION
SR002, invalid SRS definition. MySQL only.
INVALID_TABLESAMPLE_ARGUMENT
2202H, invalid tablesample argument. MySQL only.
INVALID_TRANSACTION_STATE
25000, invalid transaction state.
LATITUDE_OUT_OF_RANGE
22S03, latitude out of range. MySQL only.
LONGITUDE_OUT_OF_RANGE
22S02, longitude out of range. MySQL only.
MEMORY_ALLOCATION_ERROR
HY001, memory allocation error.
MORE_THAN_ONE_SQL_JSON_ITEM
22034, more than one SQL/JSON item. MySQL only.
NO_DATA
02000, no data.
NO_SQL_JSON_ITEM
22035, no SQL/JSON item. MySQL only.
NO_SUCH_DB
42Y07, unknown database. MySQL only.
NULL_VALUE_NOT_ALLOWED
22004, null value not allowed.
NUMERIC_VALUE_OUT_OF_RANGE
22003, numeric value out of range.
OPERATION_ABORTED
70100, operation aborted.
PROHIBITED_SQL_STATEMENT_ATTEMPTED
2F003, prohibited SQL statement attempted.
READ_ONLY_SQL_TRANSACTION
25006, read-only SQL transaction.
RESIGNAL_WHEN_HANDLER_NOT_ACTIVE
0K000, resignal when handler not active.
SERIALIZATION_FAILURE
40001, serialization failure.
SQLSERVER_REJECTED_ESTABLISHMENT_OF_SQLCONNECTION
08004, SQL server rejected establishment of SQL connection.
SQL_JSON_SCALAR_REQUIRED
2203F, SQL/JSON scalar required. MySQL only.
SRS_ID_ALREADY_EXISTS
SR004, SRS ID already exists. MySQL only.
SRS_NOT_FOUND
SR001, SRS not found. MySQL only.
SRS_NOT_SUPPORTED
22S00, unsupported SRS operation. MySQL only.
SRS_PROJ_PARAMETER_MISSING
SR003, missing SRS projection parameter. MySQL only.
STACKED_DIAGNOSTICS_ACCESSED_WITHOUT_ACTIVE_HANDLER
0Z002, stacked diagnostics accessed without active handler.
STRING_DATA_RIGHT_TRUNCATION
22001, string data, right truncation.
SYNTAX_ERROR_OR_ACCESS_RULE_VIOLATION
42000, syntax error or access rule violation.
TRANSACTION_ROLLBACK
40000, transaction rollback. MySQL only.
UNEXPECTED_GEOMETRY_TYPE
22S01, unexpected geometry type. MySQL only.
UNIT_NOT_FOUND
SU001, unknown unit. MySQL only.
WARNING
01000, warning.
WARN_RESERVED_SRID_RANGE
01S01, reserved SRID range warning. MySQL only.
WARN_SRS_ID_ALREADY_EXISTS
01S00, SRS ID already exists warning. MySQL only.
WITH_CHECK_OPTION_VIOLATION
44000, with check option violation. MariaDB only.
XAER_DUPID
XAE08, XID already exists.
XAER_INVAL
XAE05, invalid XA arguments.
XAER_NOTA
XAE04, unknown XID.
XAER_OUTSIDE
XAE09, work outside the XA transaction.
XAER_RMERR
XAE03, XA resource manager error.
XAER_RMFAIL
XAE07, XA command not allowed in this state.
XA_RBDEADLOCK
XA102, XA branch rolled back after a deadlock.
XA_RBROLLBACK
XA100, XA branch rolled back.
XA_RBTIMEOUT
XA106, XA branch rolled back after a timeout.