Expand description
SQLSTATE error code constants and helpers.
PostgreSQL uses five-character SQLSTATE codes defined by the SQL standard and extended by PostgreSQL. The first two characters identify the error class; the last three identify the specific condition within that class.
Reference: https://www.postgresql.org/docs/current/errcodes-appendix.html
§Example
ⓘ
use wasi_pg_client::error::sqlstate;
if e.code() == sqlstate::UNIQUE_VIOLATION {
println!("duplicate key!");
}Constants§
- ACTIVE_
SQL_ TRANSACTION - ADMIN_
SHUTDOWN - AMBIGUOUS_
COLUMN - AMBIGUOUS_
FUNCTION - AMBIGUOUS_
PARAMETER - ARRAY_
SUBSCRIPT_ ERROR - BAD_
COPY_ FILE_ FORMAT - BRANCH_
TRANSACTION_ ALREADY_ ACTIVE - CANNOT_
COERCE - CANNOT_
CONNECT_ NOW - CANT_
CHANGE_ RUNTIME_ PARAM - CHARACTER_
NOT_ IN_ REPERTOIRE - CHECK_
VIOLATION - CLASS_
CARDINALITY_ VIOLATION - Cardinality violation (class
21). - CLASS_
CASE_ NOT_ FOUND - Case not found (class
20). - CLASS_
CONFIGURATION_ FILE_ ERROR - Configuration file error (class
F0). - CLASS_
CONNECTION_ EXCEPTION - Connection exception (class
08). - CLASS_
DATA_ EXCEPTION - Data exception (class
22). - CLASS_
DEPENDENT_ PRIVILEGE_ DESCRIPTORS_ STILL_ EXIST - Dependent privilege descriptors still exist (class
2B). - CLASS_
DIAGNOSTICS_ EXCEPTION - Diagnostics exception (class
0Z). - CLASS_
EXTERNAL_ ROUTINE_ EXCEPTION - External routine exception (class
38). - CLASS_
EXTERNAL_ ROUTINE_ INVOCATION_ EXCEPTION - External routine invocation exception (class
39). - CLASS_
FDW_ ERROR - Foreign data wrapper error (class
HV). - CLASS_
FEATURE_ NOT_ SUPPORTED - Feature not supported (class
0A). - CLASS_
INSUFFICIENT_ RESOURCES - Insufficient resources (class
53). - CLASS_
INTEGRITY_ CONSTRAINT_ VIOLATION - Integrity constraint violation (class
23). - CLASS_
INTERNAL_ ERROR - Internal error (class
XX). - CLASS_
INVALID_ AUTHORIZATION_ SPECIFICATION - Invalid authorization specification (class
28). - CLASS_
INVALID_ CATALOG_ NAME - Invalid catalog name (class
3D). - CLASS_
INVALID_ CURSOR_ NAME - Invalid cursor name (class
34). - CLASS_
INVALID_ CURSOR_ STATE - Invalid cursor state (class
24). - CLASS_
INVALID_ GRANTOR - Invalid grantor (class
0L). - CLASS_
INVALID_ ROLE_ SPECIFICATION - Invalid role specification (class
0P). - CLASS_
INVALID_ SCHEMA_ NAME - Invalid schema name (class
3F). - CLASS_
INVALID_ SQL_ STATEMENT_ NAME - Invalid SQL statement name (class
26). - CLASS_
INVALID_ TRANSACTION_ INITIATION - Invalid transaction initiation (class
0B). - CLASS_
INVALID_ TRANSACTION_ STATE - Invalid transaction state (class
25). - CLASS_
INVALID_ TRANSACTION_ TERMINATION - Invalid transaction termination (class
2D). - CLASS_
LOCATOR_ EXCEPTION - Locator exception (class
0F). - CLASS_
NO_ DATA - No data (class
02). - CLASS_
OBJECT_ NOT_ IN_ PREREQUISITE_ STATE - Object not in prerequisite state (class
55). - CLASS_
OPERATOR_ INTERVENTION - Operator intervention (class
57). - CLASS_
PLPGSQL_ ERROR - PL/pgSQL error (class
P0). - CLASS_
PROGRAM_ LIMIT_ EXCEEDED - Program limit exceeded (class
54). - CLASS_
SAVEPOINT_ EXCEPTION - Savepoint exception (class
3B). - CLASS_
SQL_ ROUTINE_ EXCEPTION - SQL routine exception (class
2F). - CLASS_
SQL_ STATEMENT_ NOT_ YET_ COMPLETE - SQL statement not yet complete (class
03). - CLASS_
SUCCESSFUL_ COMPLETION - Successful completion (class
00). - CLASS_
SYNTAX_ ERROR_ OR_ ACCESS_ RULE_ VIOLATION - Syntax error or access rule violation (class
42). - CLASS_
SYSTEM_ ERROR - System error (class
58). - CLASS_
TRANSACTION_ ROLLBACK - Transaction rollback (class
40). - CLASS_
TRIGGERED_ ACTION_ EXCEPTION - Triggered action exception (class
09). - CLASS_
TRIGGERED_ DATA_ CHANGE_ VIOLATION - Triggered data change violation (class
27). - CLASS_
WARNING - Warning (class
01). - CLASS_
WITH_ CHECK_ OPTION_ VIOLATION - With check option violation (class
44). - CONFIGURATION_
LIMIT_ EXCEEDED - CONNECTION_
DOES_ NOT_ EXIST - CONNECTION_
FAILURE - CRASH_
SHUTDOWN - DATABASE_
DROPPED - DATA_
CORRUPTED - DATETIME_
FIELD_ OVERFLOW - DEADLOCK_
DETECTED - DISK_
FULL - DIVISION_
BY_ ZERO - DUPLICATE_
ALIAS - DUPLICATE_
COLUMN - DUPLICATE_
CURSOR - DUPLICATE_
DATABASE - DUPLICATE_
FILE - DUPLICATE_
FUNCTION - DUPLICATE_
OBJECT - DUPLICATE_
PREPARED_ STATEMENT - DUPLICATE_
SCHEMA - DUPLICATE_
TABLE - ERROR_
IN_ ASSIGNMENT - ESCAPE_
CHARACTER_ CONFLICT - EXCLUSION_
VIOLATION - FLOATING_
POINT_ EXCEPTION - FOREIGN_
KEY_ VIOLATION - GROUPING_
ERROR - HELD_
CURSOR_ REQUIRES_ SAME_ ISOLATION_ LEVEL - IDLE_
IN_ TRANSACTION_ SESSION_ TIMEOUT - IDLE_
SESSION_ TIMEOUT - INAPPROPRIATE_
ACCESS_ MODE_ FOR_ BRANCH_ TRANSACTION - INAPPROPRIATE_
ISOLATION_ LEVEL_ FOR_ BRANCH_ TRANSACTION - INDEX_
CORRUPTED - INDICATOR_
OVERFLOW - INSUFFICIENT_
PRIVILEGE - INTEGRITY_
CONSTRAINT_ VIOLATION - INTERNAL_
ERROR - INTERVAL_
FIELD_ OVERFLOW - INVALID_
ARGUMENT_ FOR_ LOGARITHM - INVALID_
ARGUMENT_ FOR_ NTH_ VALUE_ FUNCTION - INVALID_
ARGUMENT_ FOR_ NTILE_ FUNCTION - INVALID_
ARGUMENT_ FOR_ POWER_ FUNCTION - INVALID_
ARGUMENT_ FOR_ WIDTH_ BUCKET_ FUNCTION - INVALID_
BINARY_ REPRESENTATION - INVALID_
CHARACTER_ VALUE_ FOR_ CAST - INVALID_
DATETIME_ FORMAT - INVALID_
ESCAPE_ CHARACTER - INVALID_
ESCAPE_ OCTET - INVALID_
ESCAPE_ SEQUENCE - INVALID_
FOREIGN_ KEY - INVALID_
FUNCTION_ DEFINITION - INVALID_
INDICATOR_ PARAMETER_ VALUE - INVALID_
LIMIT_ VALUE - INVALID_
PARAMETER_ VALUE - INVALID_
PRECEDING_ OR_ FOLLOWING_ SIZE - INVALID_
RECURSION - INVALID_
REGULAR_ EXPRESSION - INVALID_
ROW_ COUNT_ IN_ LIMIT_ CLAUSE - INVALID_
ROW_ COUNT_ IN_ RESULT_ OFFSET_ CLAUSE - INVALID_
TABLESAMPLE_ ARGUMENT - INVALID_
TABLESAMPLE_ REPEAT - INVALID_
TEXT_ REPRESENTATION - INVALID_
TIME_ ZONE_ DISPLACEMENT_ VALUE - INVALID_
USE_ OF_ ESCAPE_ CHARACTER - INVALID_
XML_ COMMENT - INVALID_
XML_ CONTENT - INVALID_
XML_ DOCUMENT - INVALID_
XML_ PROCESSING_ INSTRUCTION - IN_
FAILED_ SQL_ TRANSACTION - IO_
ERROR - LOCK_
NOT_ AVAILABLE - MOST_
SPECIFIC_ TYPE_ MISMATCH - NAME_
TOO_ LONG - NOT_
AN_ XML_ DOCUMENT - NOT_
NULL_ VIOLATION - NO_
ACTIVE_ SQL_ TRANSACTION - NO_
ACTIVE_ SQL_ TRANSACTION_ FOR_ BRANCH_ TRANSACTION - NULL_
VALUE_ NOT_ ALLOWED - NULL_
VALUE_ NO_ INDICATOR_ PARAMETER - NUMERIC_
VALUE_ OUT_ OF_ RANGE - OBJECT_
IN_ USE - OUT_
OF_ MEMORY - PROTOCOL_
VIOLATION - QUERY_
CANCELED - READ_
ONLY_ SQL_ TRANSACTION - RESTRICT_
VIOLATION - SCHEMA_
AND_ DATA_ STATEMENT_ MIXING_ NOT_ SUPPORTED - SERIALIZATION_
FAILURE - SQLCLIENT_
UNABLE_ TO_ ESTABLISH_ SQLCONNECTION - SQLSERVER_
REJECTED_ ESTABLISHMENT_ OF_ SQLCONNECTION - STATEMENT_
COMPLETION_ UNKNOWN - STATEMENT_
TOO_ COMPLEX - STRING_
DATA_ LENGTH_ MISMATCH - STRING_
DATA_ RIGHT_ TRUNCATION - SUBSTRING_
ERROR - SYNTAX_
ERROR - TOO_
MANY_ ARGUMENTS - TOO_
MANY_ COLUMNS - TOO_
MANY_ CONNECTIONS - TRANSACTION_
INTEGRITY_ CONSTRAINT_ VIOLATION - TRANSACTION_
RESOLUTION_ UNKNOWN - TRIM_
ERROR - UNDEFINED_
COLUMN - UNDEFINED_
FILE - UNDEFINED_
FUNCTION - UNDEFINED_
OBJECT - UNDEFINED_
PARAMETER - UNDEFINED_
TABLE - UNIQUE_
VIOLATION - UNTERMINATED_
C_ STRING - UNTRANSLATABLE_
CHARACTER - WINDOWING_
ERROR - WRONG_
OBJECT_ TYPE - ZERO_
LENGTH_ CHARACTER_ STRING