summaryrefslogtreecommitdiff
path: root/src/backend
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2011-07-18 14:46:27 -0400
committerTom Lane <tgl@sss.pgh.pa.us>2011-07-18 14:47:18 -0400
commit3d4890c0c5d27dfdf7d1a8816d7bdcdba3c39d21 (patch)
treef8dafdd9d9ae54c076d5e79319b90812cc58f9d0 /src/backend
parent3406dd22fdd794d90c75a1272a57db8faa7c826d (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.txt55
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