#ifndef SHAPITO_ERROR_H #define SHAPITO_ERROR_H /* * Shapito. * * Protocol-level PostgreSQL client library. */ /* Based on PostgreSQL 9.6 error codes * src/backend/errorcodes.txt */ /* Class 00 - Successful Completion */ #define SO_ERROR_SUCCESSFUL_COMPLETION "00000" /* Class 01 - Warning */ #define SO_ERROR_WARNING "01000" #define SO_ERROR_WARNING_DYNAMIC_RESULT_SETS_RETURNED "0100C" #define SO_ERROR_WARNING_IMPLICIT_ZERO_BIT_PADDING "01008" #define SO_ERROR_WARNING_NULL_VALUE_ELIMINATED_IN_SET_FUNCTION "01003" #define SO_ERROR_WARNING_PRIVILEGE_NOT_GRANTED "01007" #define SO_ERROR_WARNING_PRIVILEGE_NOT_REVOKED "01006" #define SO_ERROR_WARNING_STRING_DATA_RIGHT_TRUNCATION "01004" #define SO_ERROR_WARNING_DEPRECATED_FEATURE "01P01" /* Class 02 - No Data "this is also a warning class per the SQL standard" */ #define SO_ERROR_NO_DATA "02000" #define SO_ERROR_NO_ADDITIONAL_DYNAMIC_RESULT_SETS_RETURNED "02001" /* Class 03 - SQL Statement Not Yet Complete */ #define SO_ERROR_SQL_STATEMENT_NOT_YET_COMPLETE "03000" /* Class 08 - Connection Exception */ #define SO_ERROR_CONNECTION_EXCEPTION "08000" #define SO_ERROR_CONNECTION_DOES_NOT_EXIST "08003" #define SO_ERROR_CONNECTION_FAILURE "08006" #define SO_ERROR_SQLCLIENT_UNABLE_TO_ESTABLISH_SQLCONNECTION "08001" #define SO_ERROR_SQLSERVER_REJECTED_ESTABLISHMENT_OF_SQLCONNECTION "08004" #define SO_ERROR_TRANSACTION_RESOLUTION_UNKNOWN "08007" #define SO_ERROR_PROTOCOL_VIOLATION "08P01" /* Class 09 - Triggered Action Exception */ #define SO_ERROR_TRIGGERED_ACTION_EXCEPTION "09000" /* Class 0A - Feature Not Supported */ #define SO_ERROR_FEATURE_NOT_SUPPORTED "0A000" /* Class 0B - Invalid Transaction Initiation */ #define SO_ERROR_INVALID_TRANSACTION_INITIATION "0B000" /* Class 0F - Locator Exception */ #define SO_ERROR_LOCATOR_EXCEPTION "0F000" #define SO_ERROR_L_E_INVALID_SPECIFICATION "0F001" /* Class 0L - Invalid Grantor */ #define SO_ERROR_INVALID_GRANTOR "0L000" #define SO_ERROR_INVALID_GRANT_OPERATION "0LP01" /* Class 0P - Invalid Role Specification */ #define SO_ERROR_INVALID_ROLE_SPECIFICATION "0P000" /* Class 0Z - Diagnostics Exception */ #define SO_ERROR_DIAGNOSTICS_EXCEPTION "0Z000" #define SO_ERROR_STACKED_DIAGNOSTICS_ACCESSED_WITHOUT_ACTIVE_HANDLER "0Z002" /* Class 20 - Case Not Found */ #define SO_ERROR_CASE_NOT_FOUND "20000" /* Class 21 - Cardinality Violation */ #define SO_ERROR_CARDINALITY_VIOLATION "21000" /* Class 22 - Data Exception */ #define SO_ERROR_DATA_EXCEPTION "22000" #define SO_ERROR_ARRAY_ELEMENT_ERROR "2202E" #define SO_ERROR_ARRAY_SUBSCRIPT_ERROR "2202E" #define SO_ERROR_CHARACTER_NOT_IN_REPERTOIRE "22021" #define SO_ERROR_DATETIME_FIELD_OVERFLOW "22008" #define SO_ERROR_DATETIME_VALUE_OUT_OF_RANGE "22008" #define SO_ERROR_DIVISION_BY_ZERO "22012" #define SO_ERROR_ERROR_IN_ASSIGNMENT "22005" #define SO_ERROR_ESCAPE_CHARACTER_CONFLICT "2200B" #define SO_ERROR_INDICATOR_OVERFLOW "22022" #define SO_ERROR_INTERVAL_FIELD_OVERFLOW "22015" #define SO_ERROR_INVALID_ARGUMENT_FOR_LOG "2201E" #define SO_ERROR_INVALID_ARGUMENT_FOR_NTILE "22014" #define SO_ERROR_INVALID_ARGUMENT_FOR_NTH_VALUE "22016" #define SO_ERROR_INVALID_ARGUMENT_FOR_POWER_FUNCTION "2201F" #define SO_ERROR_INVALID_ARGUMENT_FOR_WIDTH_BUCKET_FUNCTION "2201G" #define SO_ERROR_INVALID_CHARACTER_VALUE_FOR_CAST "22018" #define SO_ERROR_INVALID_DATETIME_FORMAT "22007" #define SO_ERROR_INVALID_ESCAPE_CHARACTER "22019" #define SO_ERROR_INVALID_ESCAPE_OCTET "2200D" #define SO_ERROR_INVALID_ESCAPE_SEQUENCE "22025" #define SO_ERROR_NONSTANDARD_USE_OF_ESCAPE_CHARACTER "22P06" #define SO_ERROR_INVALID_INDICATOR_PARAMETER_VALUE "22010" #define SO_ERROR_INVALID_PARAMETER_VALUE "22023" #define SO_ERROR_INVALID_REGULAR_EXPRESSION "2201B" #define SO_ERROR_INVALID_ROW_COUNT_IN_LIMIT_CLAUSE "2201W" #define SO_ERROR_INVALID_ROW_COUNT_IN_RESULT_OFFSET_CLAUSE "2201X" #define SO_ERROR_INVALID_TABLESAMPLE_ARGUMENT "2202H" #define SO_ERROR_INVALID_TABLESAMPLE_REPEAT "2202G" #define SO_ERROR_INVALID_TIME_ZONE_DISPLACEMENT_VALUE "22009" #define SO_ERROR_INVALID_USE_OF_ESCAPE_CHARACTER "2200C" #define SO_ERROR_MOST_SPECIFIC_TYPE_MISMATCH "2200G" #define SO_ERROR_NULL_VALUE_NOT_ALLOWED "22004" #define SO_ERROR_NULL_VALUE_NO_INDICATOR_PARAMETER "22002" #define SO_ERROR_NUMERIC_VALUE_OUT_OF_RANGE "22003" #define SO_ERROR_STRING_DATA_LENGTH_MISMATCH "22026" #define SO_ERROR_STRING_DATA_RIGHT_TRUNCATION "22001" #define SO_ERROR_SUBSTRING_ERROR "22011" #define SO_ERROR_TRIM_ERROR "22027" #define SO_ERROR_UNTERMINATED_C_STRING "22024" #define SO_ERROR_ZERO_LENGTH_CHARACTER_STRING "2200F" #define SO_ERROR_FLOATING_POINT_EXCEPTION "22P01" #define SO_ERROR_INVALID_TEXT_REPRESENTATION "22P02" #define SO_ERROR_INVALID_BINARY_REPRESENTATION "22P03" #define SO_ERROR_BAD_COPY_FILE_FORMAT "22P04" #define SO_ERROR_UNTRANSLATABLE_CHARACTER "22P05" #define SO_ERROR_NOT_AN_XML_DOCUMENT "2200L" #define SO_ERROR_INVALID_XML_DOCUMENT "2200M" #define SO_ERROR_INVALID_XML_CONTENT "2200N" #define SO_ERROR_INVALID_XML_COMMENT "2200S" #define SO_ERROR_INVALID_XML_PROCESSING_INSTRUCTION "2200T" /* Class 23 - Integrity Constraint Violation */ #define SO_ERROR_INTEGRITY_CONSTRAINT_VIOLATION "23000" #define SO_ERROR_RESTRICT_VIOLATION "23001" #define SO_ERROR_NOT_NULL_VIOLATION "23502" #define SO_ERROR_FOREIGN_KEY_VIOLATION "23503" #define SO_ERROR_UNIQUE_VIOLATION "23505" #define SO_ERROR_CHECK_VIOLATION "23514" #define SO_ERROR_EXCLUSION_VIOLATION "23P01" /* Class 24 - Invalid Cursor State */ #define SO_ERROR_INVALID_CURSOR_STATE "24000" /* Class 25 - Invalid Transaction State */ #define SO_ERROR_INVALID_TRANSACTION_STATE "25000" #define SO_ERROR_ACTIVE_SQL_TRANSACTION "25001" #define SO_ERROR_BRANCH_TRANSACTION_ALREADY_ACTIVE "25002" #define SO_ERROR_HELD_CURSOR_REQUIRES_SAME_ISOLATION_LEVEL "25008" #define SO_ERROR_INAPPROPRIATE_ACCESS_MODE_FOR_BRANCH_TRANSACTION "25003" #define SO_ERROR_INAPPROPRIATE_ISOLATION_LEVEL_FOR_BRANCH_TRANSACTION "25004" #define SO_ERROR_NO_ACTIVE_SQL_TRANSACTION_FOR_BRANCH_TRANSACTION "25005" #define SO_ERROR_READ_ONLY_SQL_TRANSACTION "25006" #define SO_ERROR_SCHEMA_AND_DATA_STATEMENT_MIXING_NOT_SUPPORTED "25007" #define SO_ERROR_NO_ACTIVE_SQL_TRANSACTION "25P01" #define SO_ERROR_IN_FAILED_SQL_TRANSACTION "25P02" #define SO_ERROR_IDLE_IN_TRANSACTION_SESSION_TIMEOUT "25P03" /* Class 26 - Invalid SQL Statement Name */ #define SO_ERROR_INVALID_SQL_STATEMENT_NAME "26000" /* Class 27 - Triggered Data Change Violation */ #define SO_ERROR_TRIGGERED_DATA_CHANGE_VIOLATION "27000" /* Class 28 - Invalid Authorization Specification */ #define SO_ERROR_INVALID_AUTHORIZATION_SPECIFICATION "28000" #define SO_ERROR_INVALID_PASSWORD "28P01" /* Class 2B - Dependent Privilege Descriptors Still Exist */ #define SO_ERROR_DEPENDENT_PRIVILEGE_DESCRIPTORS_STILL_EXIST "2B000" #define SO_ERROR_DEPENDENT_OBJECTS_STILL_EXIST "2BP01" /* Class 2D - Invalid Transaction Termination */ #define SO_ERROR_INVALID_TRANSACTION_TERMINATION "2D000" /* Class 2F - SQL Routine Exception */ #define SO_ERROR_SQL_ROUTINE_EXCEPTION "2F000" #define SO_ERROR_S_R_E_FUNCTION_EXECUTED_NO_RETURN_STATEMENT "2F005" #define SO_ERROR_S_R_E_MODIFYING_SQL_DATA_NOT_PERMITTED "2F002" #define SO_ERROR_S_R_E_PROHIBITED_SQL_STATEMENT_ATTEMPTED "2F003" #define SO_ERROR_S_R_E_READING_SQL_DATA_NOT_PERMITTED "2F004" /* Class 34 - Invalid Cursor Name */ #define SO_ERROR_INVALID_CURSOR_NAME "34000" /* Class 38 - External Routine Exception */ #define SO_ERROR_EXTERNAL_ROUTINE_EXCEPTION "38000" #define SO_ERROR_E_R_E_CONTAINING_SQL_NOT_PERMITTED "38001" #define SO_ERROR_E_R_E_MODIFYING_SQL_DATA_NOT_PERMITTED "38002" #define SO_ERROR_E_R_E_PROHIBITED_SQL_STATEMENT_ATTEMPTED "38003" #define SO_ERROR_E_R_E_READING_SQL_DATA_NOT_PERMITTED "38004" /* Class 39 - External Routine Invocation Exception */ #define SO_ERROR_EXTERNAL_ROUTINE_INVOCATION_EXCEPTION "39000" #define SO_ERROR_E_R_I_E_INVALID_SQLSTATE_RETURNED "39001" #define SO_ERROR_E_R_I_E_NULL_VALUE_NOT_ALLOWED "39004" #define SO_ERROR_E_R_I_E_TRIGGER_PROTOCOL_VIOLATED "39P01" #define SO_ERROR_E_R_I_E_SRF_PROTOCOL_VIOLATED "39P02" #define SO_ERROR_E_R_I_E_EVENT_TRIGGER_PROTOCOL_VIOLATED "39P03" /* Class 3B - Savepoint Exception */ #define SO_ERROR_SAVEPOINT_EXCEPTION "3B000" #define SO_ERROR_S_E_INVALID_SPECIFICATION "3B001" /* Class 3D - Invalid Catalog Name */ #define SO_ERROR_INVALID_CATALOG_NAME "3D000" /* Class 3F - Invalid Schema Name */ #define SO_ERROR_INVALID_SCHEMA_NAME "3F000" /* Class 40 - Transaction Rollback */ #define SO_ERROR_TRANSACTION_ROLLBACK "40000" #define SO_ERROR_T_R_INTEGRITY_CONSTRAINT_VIOLATION "40002" #define SO_ERROR_T_R_SERIALIZATION_FAILURE "40001" #define SO_ERROR_T_R_STATEMENT_COMPLETION_UNKNOWN "40003" #define SO_ERROR_T_R_DEADLOCK_DETECTED "40P01" /* Class 42 - Syntax Error or Access Rule Violation */ #define SO_ERROR_SYNTAX_ERROR_OR_ACCESS_RULE_VIOLATION "42000" #define SO_ERROR_SYNTAX_ERROR "42601" #define SO_ERROR_INSUFFICIENT_PRIVILEGE "42501" #define SO_ERROR_CANNOT_COERCE "42846" #define SO_ERROR_GROUPING_ERROR "42803" #define SO_ERROR_WINDOWING_ERROR "42P20" #define SO_ERROR_INVALID_RECURSION "42P19" #define SO_ERROR_INVALID_FOREIGN_KEY "42830" #define SO_ERROR_INVALID_NAME "42602" #define SO_ERROR_NAME_TOO_LONG "42622" #define SO_ERROR_RESERVED_NAME "42939" #define SO_ERROR_DATATYPE_MISMATCH "42804" #define SO_ERROR_INDETERMINATE_DATATYPE "42P18" #define SO_ERROR_COLLATION_MISMATCH "42P21" #define SO_ERROR_INDETERMINATE_COLLATION "42P22" #define SO_ERROR_WRONG_OBJECT_TYPE "42809" #define SO_ERROR_UNDEFINED_COLUMN "42703" #define SO_ERROR_UNDEFINED_CURSOR "34000" #define SO_ERROR_UNDEFINED_DATABASE "3D000" #define SO_ERROR_UNDEFINED_FUNCTION "42883" #define SO_ERROR_UNDEFINED_PSTATEMENT "26000" #define SO_ERROR_UNDEFINED_SCHEMA "3F000" #define SO_ERROR_UNDEFINED_TABLE "42P01" #define SO_ERROR_UNDEFINED_PARAMETER "42P02" #define SO_ERROR_UNDEFINED_OBJECT "42704" #define SO_ERROR_DUPLICATE_COLUMN "42701" #define SO_ERROR_DUPLICATE_CURSOR "42P03" #define SO_ERROR_DUPLICATE_DATABASE "42P04" #define SO_ERROR_DUPLICATE_FUNCTION "42723" #define SO_ERROR_DUPLICATE_PSTATEMENT "42P05" #define SO_ERROR_DUPLICATE_SCHEMA "42P06" #define SO_ERROR_DUPLICATE_TABLE "42P07" #define SO_ERROR_DUPLICATE_ALIAS "42712" #define SO_ERROR_DUPLICATE_OBJECT "42710" #define SO_ERROR_AMBIGUOUS_COLUMN "42702" #define SO_ERROR_AMBIGUOUS_FUNCTION "42725" #define SO_ERROR_AMBIGUOUS_PARAMETER "42P08" #define SO_ERROR_AMBIGUOUS_ALIAS "42P09" #define SO_ERROR_INVALID_COLUMN_REFERENCE "42P10" #define SO_ERROR_INVALID_COLUMN_DEFINITION "42611" #define SO_ERROR_INVALID_CURSOR_DEFINITION "42P11" #define SO_ERROR_INVALID_DATABASE_DEFINITION "42P12" #define SO_ERROR_INVALID_FUNCTION_DEFINITION "42P13" #define SO_ERROR_INVALID_PSTATEMENT_DEFINITION "42P14" #define SO_ERROR_INVALID_SCHEMA_DEFINITION "42P15" #define SO_ERROR_INVALID_TABLE_DEFINITION "42P16" #define SO_ERROR_INVALID_OBJECT_DEFINITION "42P17" /* Class 44 - WITH CHECK OPTION Violation */ #define SO_ERROR_WITH_CHECK_OPTION_VIOLATION "44000" /* Class 53 - Insufficient Resources */ #define SO_ERROR_INSUFFICIENT_RESOURCES "53000" #define SO_ERROR_DISK_FULL "53100" #define SO_ERROR_OUT_OF_MEMORY "53200" #define SO_ERROR_TOO_MANY_CONNECTIONS "53300" #define SO_ERROR_CONFIGURATION_LIMIT_EXCEEDED "53400" /* Class 54 - Program Limit Exceeded */ #define SO_ERROR_PROGRAM_LIMIT_EXCEEDED "54000" #define SO_ERROR_STATEMENT_TOO_COMPLEX "54001" #define SO_ERROR_TOO_MANY_COLUMNS "54011" #define SO_ERROR_TOO_MANY_ARGUMENTS "54023" /* Class 55 - Object Not In Prerequisite State */ #define SO_ERROR_OBJECT_NOT_IN_PREREQUISITE_STATE "55000" #define SO_ERROR_OBJECT_IN_USE "55006" #define SO_ERROR_CANT_CHANGE_RUNTIME_PARAM "55P02" #define SO_ERROR_LOCK_NOT_AVAILABLE "55P03" /* Class 57 - Operator Intervention */ #define SO_ERROR_OPERATOR_INTERVENTION "57000" #define SO_ERROR_QUERY_CANCELED "57014" #define SO_ERROR_ADMIN_SHUTDOWN "57P01" #define SO_ERROR_CRASH_SHUTDOWN "57P02" #define SO_ERROR_CANNOT_CONNECT_NOW "57P03" #define SO_ERROR_DATABASE_DROPPED "57P04" /* Class 58 - System Error "errors external to PostgreSQL itself" */ #define SO_ERROR_SYSTEM_ERROR "58000" #define SO_ERROR_IO_ERROR "58030" #define SO_ERROR_UNDEFINED_FILE "58P01" #define SO_ERROR_DUPLICATE_FILE "58P02" /* Class 72 - Snapshot Failure */ #define SO_ERROR_SNAPSHOT_TOO_OLD "72000" /* Class F0 - Configuration File Error */ #define SO_ERROR_CONFIG_FILE_ERROR "F0000" #define SO_ERROR_LOCK_FILE_EXISTS "F0001" /* Class HV - Foreign Data Wrapper Error "SQL/MED" */ #define SO_ERROR_FDW_ERROR "HV000" #define SO_ERROR_FDW_COLUMN_NAME_NOT_FOUND "HV005" #define SO_ERROR_FDW_DYNAMIC_PARAMETER_VALUE_NEEDED "HV002" #define SO_ERROR_FDW_FUNCTION_SEQUENCE_ERROR "HV010" #define SO_ERROR_FDW_INCONSISTENT_DESCRIPTOR_INFORMATION "HV021" #define SO_ERROR_FDW_INVALID_ATTRIBUTE_VALUE "HV024" #define SO_ERROR_FDW_INVALID_COLUMN_NAME "HV007" #define SO_ERROR_FDW_INVALID_COLUMN_NUMBER "HV008" #define SO_ERROR_FDW_INVALID_DATA_TYPE "HV004" #define SO_ERROR_FDW_INVALID_DATA_TYPE_DESCRIPTORS "HV006" #define SO_ERROR_FDW_INVALID_DESCRIPTOR_FIELD_IDENTIFIER "HV091" #define SO_ERROR_FDW_INVALID_HANDLE "HV00B" #define SO_ERROR_FDW_INVALID_OPTION_INDEX "HV00C" #define SO_ERROR_FDW_INVALID_OPTION_NAME "HV00D" #define SO_ERROR_FDW_INVALID_STRING_LENGTH_OR_BUFFER_LENGTH "HV090" #define SO_ERROR_FDW_INVALID_STRING_FORMAT "HV00A" #define SO_ERROR_FDW_INVALID_USE_OF_NULL_POINTER "HV009" #define SO_ERROR_FDW_TOO_MANY_HANDLES "HV014" #define SO_ERROR_FDW_OUT_OF_MEMORY "HV001" #define SO_ERROR_FDW_NO_SCHEMAS "HV00P" #define SO_ERROR_FDW_OPTION_NAME_NOT_FOUND "HV00J" #define SO_ERROR_FDW_REPLY_HANDLE "HV00K" #define SO_ERROR_FDW_SCHEMA_NOT_FOUND "HV00Q" #define SO_ERROR_FDW_TABLE_NOT_FOUND "HV00R" #define SO_ERROR_FDW_UNABLE_TO_CREATE_EXECUTION "HV00L" #define SO_ERROR_FDW_UNABLE_TO_CREATE_REPLY "HV00M" #define SO_ERROR_FDW_UNABLE_TO_ESTABLISH_CONNECTION "HV00N" /* Class P0 - PL/pgSQL Error */ #define SO_ERROR_PLPGSQL_ERROR "P0000" #define SO_ERROR_RAISE_EXCEPTION "P0001" #define SO_ERROR_NO_DATA_FOUND "P0002" #define SO_ERROR_TOO_MANY_ROWS "P0003" #define SO_ERROR_ASSERT_FAILURE "P0004" /* Class XX - Internal Error */ #define SO_ERROR_INTERNAL_ERROR "XX000" #define SO_ERROR_DATA_CORRUPTED "XX001" #define SO_ERROR_INDEX_CORRUPTED "XX002" #endif /* SHAPITO_ERROR_H */