diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2011-07-18 14:46:27 -0400 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2011-07-18 14:47:18 -0400 |
commit | 3d4890c0c5d27dfdf7d1a8816d7bdcdba3c39d21 (patch) | |
tree | f8dafdd9d9ae54c076d5e79319b90812cc58f9d0 /src/backend | |
parent | 3406dd22fdd794d90c75a1272a57db8faa7c826d (diff) |
Add GET STACKED DIAGNOSTICS plpgsql command to retrieve exception info.
This is more SQL-spec-compliant, more easily extensible, and better
performing than the old method of inventing special variables.
Pavel Stehule, reviewed by Shigeru Hanada and David Wheeler
Diffstat (limited to 'src/backend')
-rw-r--r-- | src/backend/utils/errcodes.txt | 55 |
1 files changed, 31 insertions, 24 deletions
diff --git a/src/backend/utils/errcodes.txt b/src/backend/utils/errcodes.txt index d27fe2c3d90..c7d5b2a638d 100644 --- a/src/backend/utils/errcodes.txt +++ b/src/backend/utils/errcodes.txt @@ -51,7 +51,8 @@ # class (the first two characters of the code value identify the class). # The listing is organized by class to make this prominent. # -# The generic '000' subclass code should be used for an error only +# Each class should have a generic '000' subclass. However, +# the generic '000' subclass code should be used for an error only # when there is not a more-specific subclass code defined. # # The SQL spec requires that all the elements of a SQLSTATE code be @@ -132,6 +133,11 @@ Section: Class 0P - Invalid Role Specification 0P000 E ERRCODE_INVALID_ROLE_SPECIFICATION invalid_role_specification +Section: Class 0Z - Diagnostics Exception + +0Z000 E ERRCODE_DIAGNOSTICS_EXCEPTION diagnostics_exception +0Z002 E ERRCODE_STACKED_DIAGNOSTICS_ACCESSED_WITHOUT_ACTIVE_HANDLER stacked_diagnostics_accessed_without_active_handler + Section: Class 20 - Case Not Found 20000 E ERRCODE_CASE_NOT_FOUND case_not_found @@ -399,6 +405,7 @@ Section: Class 57 - Operator Intervention Section: Class 58 - System Error (errors external to PostgreSQL itself) # (class borrowed from DB2) +58000 E ERRCODE_SYSTEM_ERROR system_error 58030 E ERRCODE_IO_ERROR io_error 58P01 E ERRCODE_UNDEFINED_FILE undefined_file 58P02 E ERRCODE_DUPLICATE_FILE duplicate_file @@ -415,30 +422,30 @@ Section: Class HV - Foreign Data Wrapper Error (SQL/MED) HV000 E ERRCODE_FDW_ERROR fdw_error HV005 E ERRCODE_FDW_COLUMN_NAME_NOT_FOUND fdw_column_name_not_found HV002 E ERRCODE_FDW_DYNAMIC_PARAMETER_VALUE_NEEDED fdw_dynamic_parameter_value_needed -HV010 E ERRCODE_FDW_FUNCTION_SEQUENCE_ERROR fdw_function_sequence_error +HV010 E ERRCODE_FDW_FUNCTION_SEQUENCE_ERROR fdw_function_sequence_error HV021 E ERRCODE_FDW_INCONSISTENT_DESCRIPTOR_INFORMATION fdw_inconsistent_descriptor_information -HV024 E ERRCODE_FDW_INVALID_ATTRIBUTE_VALUE fdw_invalid_attribute_value -HV007 E ERRCODE_FDW_INVALID_COLUMN_NAME fdw_invalid_column_name -HV008 E ERRCODE_FDW_INVALID_COLUMN_NUMBER fdw_invalid_column_number -HV004 E ERRCODE_FDW_INVALID_DATA_TYPE fdw_invalid_data_type -HV006 E ERRCODE_FDW_INVALID_DATA_TYPE_DESCRIPTORS fdw_invalid_data_type_descriptors -HV091 E ERRCODE_FDW_INVALID_DESCRIPTOR_FIELD_IDENTIFIER fdw_invalid_descriptor_field_identifier -HV00B E ERRCODE_FDW_INVALID_HANDLE fdw_invalid_handle -HV00C E ERRCODE_FDW_INVALID_OPTION_INDEX fdw_invalid_option_index -HV00D E ERRCODE_FDW_INVALID_OPTION_NAME fdw_invalid_option_name -HV090 E ERRCODE_FDW_INVALID_STRING_LENGTH_OR_BUFFER_LENGTH fdw_invalid_string_length_or_buffer_length -HV00A E ERRCODE_FDW_INVALID_STRING_FORMAT fdw_invalid_string_format -HV009 E ERRCODE_FDW_INVALID_USE_OF_NULL_POINTER fdw_invalid_use_of_null_pointer -HV014 E ERRCODE_FDW_TOO_MANY_HANDLES fdw_too_many_handles -HV001 E ERRCODE_FDW_OUT_OF_MEMORY fdw_out_of_memory -HV00P E ERRCODE_FDW_NO_SCHEMAS fdw_no_schemas -HV00J E ERRCODE_FDW_OPTION_NAME_NOT_FOUND fdw_option_name_not_found -HV00K E ERRCODE_FDW_REPLY_HANDLE fdw_reply_handle -HV00Q E ERRCODE_FDW_SCHEMA_NOT_FOUND fdw_schema_not_found -HV00R E ERRCODE_FDW_TABLE_NOT_FOUND fdw_table_not_found -HV00L E ERRCODE_FDW_UNABLE_TO_CREATE_EXECUTION fdw_unable_to_create_execution -HV00M E ERRCODE_FDW_UNABLE_TO_CREATE_REPLY fdw_unable_to_create_reply -HV00N E ERRCODE_FDW_UNABLE_TO_ESTABLISH_CONNECTION fdw_unable_to_establish_connection +HV024 E ERRCODE_FDW_INVALID_ATTRIBUTE_VALUE fdw_invalid_attribute_value +HV007 E ERRCODE_FDW_INVALID_COLUMN_NAME fdw_invalid_column_name +HV008 E ERRCODE_FDW_INVALID_COLUMN_NUMBER fdw_invalid_column_number +HV004 E ERRCODE_FDW_INVALID_DATA_TYPE fdw_invalid_data_type +HV006 E ERRCODE_FDW_INVALID_DATA_TYPE_DESCRIPTORS fdw_invalid_data_type_descriptors +HV091 E ERRCODE_FDW_INVALID_DESCRIPTOR_FIELD_IDENTIFIER fdw_invalid_descriptor_field_identifier +HV00B E ERRCODE_FDW_INVALID_HANDLE fdw_invalid_handle +HV00C E ERRCODE_FDW_INVALID_OPTION_INDEX fdw_invalid_option_index +HV00D E ERRCODE_FDW_INVALID_OPTION_NAME fdw_invalid_option_name +HV090 E ERRCODE_FDW_INVALID_STRING_LENGTH_OR_BUFFER_LENGTH fdw_invalid_string_length_or_buffer_length +HV00A E ERRCODE_FDW_INVALID_STRING_FORMAT fdw_invalid_string_format +HV009 E ERRCODE_FDW_INVALID_USE_OF_NULL_POINTER fdw_invalid_use_of_null_pointer +HV014 E ERRCODE_FDW_TOO_MANY_HANDLES fdw_too_many_handles +HV001 E ERRCODE_FDW_OUT_OF_MEMORY fdw_out_of_memory +HV00P E ERRCODE_FDW_NO_SCHEMAS fdw_no_schemas +HV00J E ERRCODE_FDW_OPTION_NAME_NOT_FOUND fdw_option_name_not_found +HV00K E ERRCODE_FDW_REPLY_HANDLE fdw_reply_handle +HV00Q E ERRCODE_FDW_SCHEMA_NOT_FOUND fdw_schema_not_found +HV00R E ERRCODE_FDW_TABLE_NOT_FOUND fdw_table_not_found +HV00L E ERRCODE_FDW_UNABLE_TO_CREATE_EXECUTION fdw_unable_to_create_execution +HV00M E ERRCODE_FDW_UNABLE_TO_CREATE_REPLY fdw_unable_to_create_reply +HV00N E ERRCODE_FDW_UNABLE_TO_ESTABLISH_CONNECTION fdw_unable_to_establish_connection Section: Class P0 - PL/pgSQL Error |