odyssey/sources/error.h

345 lines
14 KiB
C

#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 */