summaryrefslogtreecommitdiff
path: root/src/pl
diff options
context:
space:
mode:
Diffstat (limited to 'src/pl')
-rw-r--r--src/pl/plpgsql/src/.gitignore1
-rw-r--r--src/pl/plpgsql/src/Makefile12
-rw-r--r--src/pl/plpgsql/src/generate-plerrcodes.pl40
-rw-r--r--src/pl/plpgsql/src/plerrcodes.h896
4 files changed, 49 insertions, 900 deletions
diff --git a/src/pl/plpgsql/src/.gitignore b/src/pl/plpgsql/src/.gitignore
index 2eecb0f20de..92387fa3cb1 100644
--- a/src/pl/plpgsql/src/.gitignore
+++ b/src/pl/plpgsql/src/.gitignore
@@ -1,2 +1,3 @@
/pl_gram.c
/pl_gram.h
+/plerrcodes.h
diff --git a/src/pl/plpgsql/src/Makefile b/src/pl/plpgsql/src/Makefile
index 13d971f2674..2abe63b3ad4 100644
--- a/src/pl/plpgsql/src/Makefile
+++ b/src/pl/plpgsql/src/Makefile
@@ -33,7 +33,7 @@ uninstall: uninstall-lib
# Force these dependencies to be known even without dependency info built:
-pl_gram.o pl_handler.o pl_comp.o pl_exec.o pl_funcs.o pl_scanner.o: plpgsql.h pl_gram.h
+pl_gram.o pl_handler.o pl_comp.o pl_exec.o pl_funcs.o pl_scanner.o: plpgsql.h pl_gram.h plerrcodes.h
# See notes in src/backend/parser/Makefile about the following two rules
@@ -46,12 +46,16 @@ else
@$(missing) bison $< $@
endif
-distprep: pl_gram.h pl_gram.c
+# generate plerrcodes.h from src/backend/utils/errcodes.txt
+plerrcodes.h: $(top_srcdir)/src/backend/utils/errcodes.txt generate-plerrcodes.pl
+ $(PERL) generate-plerrcodes.pl $< > $@
-# pl_gram.c and pl_gram.h are in the distribution tarball,
+distprep: pl_gram.h pl_gram.c plerrcodes.h
+
+# pl_gram.c, pl_gram.h and plerrcodes.h are in the distribution tarball,
# so they are not cleaned here.
clean distclean: clean-lib
rm -f $(OBJS)
maintainer-clean: clean
- rm -f pl_gram.c pl_gram.h
+ rm -f pl_gram.c pl_gram.h plerrcodes.h
diff --git a/src/pl/plpgsql/src/generate-plerrcodes.pl b/src/pl/plpgsql/src/generate-plerrcodes.pl
new file mode 100644
index 00000000000..46d4b35af2b
--- /dev/null
+++ b/src/pl/plpgsql/src/generate-plerrcodes.pl
@@ -0,0 +1,40 @@
+#!/usr/bin/perl
+#
+# Generate the plerrcodes.h header from errcodes.txt
+# Copyright (c) 2000-2011, PostgreSQL Global Development Group
+
+use warnings;
+use strict;
+
+print "/* autogenerated from src/backend/utils/errcodes.txt, do not edit */\n";
+print "/* there is deliberately not an #ifndef PLERRCODES_H here */\n";
+
+open my $errcodes, $ARGV[0] or die;
+
+while (<$errcodes>) {
+ chomp;
+
+ # Skip comments
+ next if /^#/;
+ next if /^\s*$/;
+
+ # Skip section headers
+ next if /^Section:/;
+
+ die unless /^([^\s]{5})\s+([EWS])\s+([^\s]+)(?:\s+)?([^\s]+)?/;
+
+ (my $sqlstate,
+ my $type,
+ my $errcode_macro,
+ my $condition_name) = ($1, $2, $3, $4);
+
+ # Skip non-errors
+ next unless $type eq 'E';
+
+ # Skip lines without PL/pgSQL condition names
+ next unless defined($condition_name);
+
+ print "{\n\t\"$condition_name\", $errcode_macro\n},\n\n";
+}
+
+close $errcodes;
diff --git a/src/pl/plpgsql/src/plerrcodes.h b/src/pl/plpgsql/src/plerrcodes.h
deleted file mode 100644
index e18f3b05a3d..00000000000
--- a/src/pl/plpgsql/src/plerrcodes.h
+++ /dev/null
@@ -1,896 +0,0 @@
-/*-------------------------------------------------------------------------
- *
- * plerrcodes.h
- * PL/pgSQL error codes (mapping of exception labels to SQLSTATEs)
- *
- * Eventually this header file should be auto-generated from errcodes.h
- * with some sort of sed hackery, but no time for that now. It's likely
- * that an exact mapping will not be what's wanted anyhow ...
- *
- * Copyright (c) 2003-2011, PostgreSQL Global Development Group
- *
- * src/pl/plpgsql/src/plerrcodes.h
- *
- *-------------------------------------------------------------------------
- */
-
-/* Success and warnings can't be caught, so omit them from table */
-{
- "sql_statement_not_yet_complete", ERRCODE_SQL_STATEMENT_NOT_YET_COMPLETE
-},
-
-{
- "connection_exception", ERRCODE_CONNECTION_EXCEPTION
-},
-
-{
- "connection_does_not_exist", ERRCODE_CONNECTION_DOES_NOT_EXIST
-},
-
-{
- "connection_failure", ERRCODE_CONNECTION_FAILURE
-},
-
-{
- "sqlclient_unable_to_establish_sqlconnection", ERRCODE_SQLCLIENT_UNABLE_TO_ESTABLISH_SQLCONNECTION
-},
-
-{
- "sqlserver_rejected_establishment_of_sqlconnection", ERRCODE_SQLSERVER_REJECTED_ESTABLISHMENT_OF_SQLCONNECTION
-},
-
-{
- "transaction_resolution_unknown", ERRCODE_TRANSACTION_RESOLUTION_UNKNOWN
-},
-
-{
- "protocol_violation", ERRCODE_PROTOCOL_VIOLATION
-},
-
-{
- "triggered_action_exception", ERRCODE_TRIGGERED_ACTION_EXCEPTION
-},
-
-{
- "feature_not_supported", ERRCODE_FEATURE_NOT_SUPPORTED
-},
-
-{
- "invalid_transaction_initiation", ERRCODE_INVALID_TRANSACTION_INITIATION
-},
-
-{
- "locator_exception", ERRCODE_LOCATOR_EXCEPTION
-},
-
-{
- "invalid_locator_specification", ERRCODE_L_E_INVALID_SPECIFICATION
-},
-
-{
- "invalid_grantor", ERRCODE_INVALID_GRANTOR
-},
-
-{
- "invalid_grant_operation", ERRCODE_INVALID_GRANT_OPERATION
-},
-
-{
- "invalid_role_specification", ERRCODE_INVALID_ROLE_SPECIFICATION
-},
-
-{
- "case_not_found", ERRCODE_CASE_NOT_FOUND
-},
-
-{
- "cardinality_violation", ERRCODE_CARDINALITY_VIOLATION
-},
-
-{
- "data_exception", ERRCODE_DATA_EXCEPTION
-},
-
-{
- "array_element_error", ERRCODE_ARRAY_ELEMENT_ERROR
-},
-
-{
- "array_subscript_error", ERRCODE_ARRAY_SUBSCRIPT_ERROR
-},
-
-{
- "character_not_in_repertoire", ERRCODE_CHARACTER_NOT_IN_REPERTOIRE
-},
-
-{
- "datetime_field_overflow", ERRCODE_DATETIME_FIELD_OVERFLOW
-},
-
-{
- "datetime_value_out_of_range", ERRCODE_DATETIME_VALUE_OUT_OF_RANGE
-},
-
-{
- "division_by_zero", ERRCODE_DIVISION_BY_ZERO
-},
-
-{
- "error_in_assignment", ERRCODE_ERROR_IN_ASSIGNMENT
-},
-
-{
- "escape_character_conflict", ERRCODE_ESCAPE_CHARACTER_CONFLICT
-},
-
-{
- "indicator_overflow", ERRCODE_INDICATOR_OVERFLOW
-},
-
-{
- "interval_field_overflow", ERRCODE_INTERVAL_FIELD_OVERFLOW
-},
-
-{
- "invalid_argument_for_logarithm", ERRCODE_INVALID_ARGUMENT_FOR_LOG
-},
-
-{
- "invalid_argument_for_ntile_function", ERRCODE_INVALID_ARGUMENT_FOR_NTILE
-},
-
-{
- "invalid_argument_for_nth_value_function", ERRCODE_INVALID_ARGUMENT_FOR_NTH_VALUE
-},
-
-{
- "invalid_argument_for_power_function", ERRCODE_INVALID_ARGUMENT_FOR_POWER_FUNCTION
-},
-
-{
- "invalid_argument_for_width_bucket_function", ERRCODE_INVALID_ARGUMENT_FOR_WIDTH_BUCKET_FUNCTION
-},
-
-{
- "invalid_character_value_for_cast", ERRCODE_INVALID_CHARACTER_VALUE_FOR_CAST
-},
-
-{
- "invalid_datetime_format", ERRCODE_INVALID_DATETIME_FORMAT
-},
-
-{
- "invalid_escape_character", ERRCODE_INVALID_ESCAPE_CHARACTER
-},
-
-{
- "invalid_escape_octet", ERRCODE_INVALID_ESCAPE_OCTET
-},
-
-{
- "invalid_escape_sequence", ERRCODE_INVALID_ESCAPE_SEQUENCE
-},
-
-{
- "invalid_indicator_parameter_value", ERRCODE_INVALID_INDICATOR_PARAMETER_VALUE
-},
-
-{
- "invalid_parameter_value", ERRCODE_INVALID_PARAMETER_VALUE
-},
-
-{
- "invalid_regular_expression", ERRCODE_INVALID_REGULAR_EXPRESSION
-},
-
-{
- "invalid_row_count_in_limit_clause", ERRCODE_INVALID_ROW_COUNT_IN_LIMIT_CLAUSE
-},
-
-{
- "invalid_row_count_in_result_offset_clause", ERRCODE_INVALID_ROW_COUNT_IN_RESULT_OFFSET_CLAUSE
-},
-
-{
- "invalid_time_zone_displacement_value", ERRCODE_INVALID_TIME_ZONE_DISPLACEMENT_VALUE
-},
-
-{
- "invalid_use_of_escape_character", ERRCODE_INVALID_USE_OF_ESCAPE_CHARACTER
-},
-
-{
- "most_specific_type_mismatch", ERRCODE_MOST_SPECIFIC_TYPE_MISMATCH
-},
-
-{
- "null_value_not_allowed", ERRCODE_NULL_VALUE_NOT_ALLOWED
-},
-
-{
- "null_value_no_indicator_parameter", ERRCODE_NULL_VALUE_NO_INDICATOR_PARAMETER
-},
-
-{
- "numeric_value_out_of_range", ERRCODE_NUMERIC_VALUE_OUT_OF_RANGE
-},
-
-{
- "string_data_length_mismatch", ERRCODE_STRING_DATA_LENGTH_MISMATCH
-},
-
-{
- "string_data_right_truncation", ERRCODE_STRING_DATA_RIGHT_TRUNCATION
-},
-
-{
- "substring_error", ERRCODE_SUBSTRING_ERROR
-},
-
-{
- "trim_error", ERRCODE_TRIM_ERROR
-},
-
-{
- "unterminated_c_string", ERRCODE_UNTERMINATED_C_STRING
-},
-
-{
- "zero_length_character_string", ERRCODE_ZERO_LENGTH_CHARACTER_STRING
-},
-
-{
- "floating_point_exception", ERRCODE_FLOATING_POINT_EXCEPTION
-},
-
-{
- "invalid_text_representation", ERRCODE_INVALID_TEXT_REPRESENTATION
-},
-
-{
- "invalid_binary_representation", ERRCODE_INVALID_BINARY_REPRESENTATION
-},
-
-{
- "bad_copy_file_format", ERRCODE_BAD_COPY_FILE_FORMAT
-},
-
-{
- "untranslatable_character", ERRCODE_UNTRANSLATABLE_CHARACTER
-},
-
-{
- "not_an_xml_document", ERRCODE_NOT_AN_XML_DOCUMENT
-},
-
-{
- "invalid_xml_document", ERRCODE_INVALID_XML_DOCUMENT
-},
-
-{
- "invalid_xml_content", ERRCODE_INVALID_XML_CONTENT
-},
-
-{
- "invalid_xml_comment", ERRCODE_INVALID_XML_COMMENT
-},
-
-{
- "invalid_xml_processing_instruction", ERRCODE_INVALID_XML_PROCESSING_INSTRUCTION
-},
-
-{
- "integrity_constraint_violation", ERRCODE_INTEGRITY_CONSTRAINT_VIOLATION
-},
-
-{
- "restrict_violation", ERRCODE_RESTRICT_VIOLATION
-},
-
-{
- "not_null_violation", ERRCODE_NOT_NULL_VIOLATION
-},
-
-{
- "foreign_key_violation", ERRCODE_FOREIGN_KEY_VIOLATION
-},
-
-{
- "unique_violation", ERRCODE_UNIQUE_VIOLATION
-},
-
-{
- "check_violation", ERRCODE_CHECK_VIOLATION
-},
-
-{
- "exclusion_violation", ERRCODE_EXCLUSION_VIOLATION
-},
-
-{
- "invalid_cursor_state", ERRCODE_INVALID_CURSOR_STATE
-},
-
-{
- "invalid_transaction_state", ERRCODE_INVALID_TRANSACTION_STATE
-},
-
-{
- "active_sql_transaction", ERRCODE_ACTIVE_SQL_TRANSACTION
-},
-
-{
- "branch_transaction_already_active", ERRCODE_BRANCH_TRANSACTION_ALREADY_ACTIVE
-},
-
-{
- "held_cursor_requires_same_isolation_level", ERRCODE_HELD_CURSOR_REQUIRES_SAME_ISOLATION_LEVEL
-},
-
-{
- "inappropriate_access_mode_for_branch_transaction", ERRCODE_INAPPROPRIATE_ACCESS_MODE_FOR_BRANCH_TRANSACTION
-},
-
-{
- "inappropriate_isolation_level_for_branch_transaction", ERRCODE_INAPPROPRIATE_ISOLATION_LEVEL_FOR_BRANCH_TRANSACTION
-},
-
-{
- "no_active_sql_transaction_for_branch_transaction", ERRCODE_NO_ACTIVE_SQL_TRANSACTION_FOR_BRANCH_TRANSACTION
-},
-
-{
- "read_only_sql_transaction", ERRCODE_READ_ONLY_SQL_TRANSACTION
-},
-
-{
- "schema_and_data_statement_mixing_not_supported", ERRCODE_SCHEMA_AND_DATA_STATEMENT_MIXING_NOT_SUPPORTED
-},
-
-{
- "no_active_sql_transaction", ERRCODE_NO_ACTIVE_SQL_TRANSACTION
-},
-
-{
- "in_failed_sql_transaction", ERRCODE_IN_FAILED_SQL_TRANSACTION
-},
-
-{
- "invalid_sql_statement_name", ERRCODE_INVALID_SQL_STATEMENT_NAME
-},
-
-{
- "triggered_data_change_violation", ERRCODE_TRIGGERED_DATA_CHANGE_VIOLATION
-},
-
-{
- "invalid_authorization_specification", ERRCODE_INVALID_AUTHORIZATION_SPECIFICATION
-},
-
-{
- "invalid_password", ERRCODE_INVALID_PASSWORD
-},
-
-{
- "dependent_privilege_descriptors_still_exist", ERRCODE_DEPENDENT_PRIVILEGE_DESCRIPTORS_STILL_EXIST
-},
-
-{
- "dependent_objects_still_exist", ERRCODE_DEPENDENT_OBJECTS_STILL_EXIST
-},
-
-{
- "invalid_transaction_termination", ERRCODE_INVALID_TRANSACTION_TERMINATION
-},
-
-{
- "sql_routine_exception", ERRCODE_SQL_ROUTINE_EXCEPTION
-},
-
-{
- "function_executed_no_return_statement", ERRCODE_S_R_E_FUNCTION_EXECUTED_NO_RETURN_STATEMENT
-},
-
-{
- "modifying_sql_data_not_permitted", ERRCODE_S_R_E_MODIFYING_SQL_DATA_NOT_PERMITTED
-},
-
-{
- "prohibited_sql_statement_attempted", ERRCODE_S_R_E_PROHIBITED_SQL_STATEMENT_ATTEMPTED
-},
-
-{
- "reading_sql_data_not_permitted", ERRCODE_S_R_E_READING_SQL_DATA_NOT_PERMITTED
-},
-
-{
- "invalid_cursor_name", ERRCODE_INVALID_CURSOR_NAME
-},
-
-{
- "external_routine_exception", ERRCODE_EXTERNAL_ROUTINE_EXCEPTION
-},
-
-{
- "containing_sql_not_permitted", ERRCODE_E_R_E_CONTAINING_SQL_NOT_PERMITTED
-},
-
-{
- "modifying_sql_data_not_permitted", ERRCODE_E_R_E_MODIFYING_SQL_DATA_NOT_PERMITTED
-},
-
-{
- "prohibited_sql_statement_attempted", ERRCODE_E_R_E_PROHIBITED_SQL_STATEMENT_ATTEMPTED
-},
-
-{
- "reading_sql_data_not_permitted", ERRCODE_E_R_E_READING_SQL_DATA_NOT_PERMITTED
-},
-
-{
- "external_routine_invocation_exception", ERRCODE_EXTERNAL_ROUTINE_INVOCATION_EXCEPTION
-},
-
-{
- "invalid_sqlstate_returned", ERRCODE_E_R_I_E_INVALID_SQLSTATE_RETURNED
-},
-
-{
- "null_value_not_allowed", ERRCODE_E_R_I_E_NULL_VALUE_NOT_ALLOWED
-},
-
-{
- "trigger_protocol_violated", ERRCODE_E_R_I_E_TRIGGER_PROTOCOL_VIOLATED
-},
-
-{
- "srf_protocol_violated", ERRCODE_E_R_I_E_SRF_PROTOCOL_VIOLATED
-},
-
-{
- "savepoint_exception", ERRCODE_SAVEPOINT_EXCEPTION
-},
-
-{
- "invalid_savepoint_specification", ERRCODE_S_E_INVALID_SPECIFICATION
-},
-
-{
- "invalid_catalog_name", ERRCODE_INVALID_CATALOG_NAME
-},
-
-{
- "invalid_schema_name", ERRCODE_INVALID_SCHEMA_NAME
-},
-
-{
- "transaction_rollback", ERRCODE_TRANSACTION_ROLLBACK
-},
-
-{
- "transaction_integrity_constraint_violation", ERRCODE_T_R_INTEGRITY_CONSTRAINT_VIOLATION
-},
-
-{
- "serialization_failure", ERRCODE_T_R_SERIALIZATION_FAILURE
-},
-
-{
- "statement_completion_unknown", ERRCODE_T_R_STATEMENT_COMPLETION_UNKNOWN
-},
-
-{
- "deadlock_detected", ERRCODE_T_R_DEADLOCK_DETECTED
-},
-
-{
- "syntax_error_or_access_rule_violation", ERRCODE_SYNTAX_ERROR_OR_ACCESS_RULE_VIOLATION
-},
-
-{
- "syntax_error", ERRCODE_SYNTAX_ERROR
-},
-
-{
- "insufficient_privilege", ERRCODE_INSUFFICIENT_PRIVILEGE
-},
-
-{
- "cannot_coerce", ERRCODE_CANNOT_COERCE
-},
-
-{
- "grouping_error", ERRCODE_GROUPING_ERROR
-},
-
-{
- "windowing_error", ERRCODE_WINDOWING_ERROR
-},
-
-{
- "invalid_recursion", ERRCODE_INVALID_RECURSION
-},
-
-{
- "invalid_foreign_key", ERRCODE_INVALID_FOREIGN_KEY
-},
-
-{
- "invalid_name", ERRCODE_INVALID_NAME
-},
-
-{
- "name_too_long", ERRCODE_NAME_TOO_LONG
-},
-
-{
- "reserved_name", ERRCODE_RESERVED_NAME
-},
-
-{
- "datatype_mismatch", ERRCODE_DATATYPE_MISMATCH
-},
-
-{
- "indeterminate_datatype", ERRCODE_INDETERMINATE_DATATYPE
-},
-
-{
- "wrong_object_type", ERRCODE_WRONG_OBJECT_TYPE
-},
-
-{
- "undefined_column", ERRCODE_UNDEFINED_COLUMN
-},
-
-{
- "undefined_cursor", ERRCODE_UNDEFINED_CURSOR
-},
-
-{
- "undefined_database", ERRCODE_UNDEFINED_DATABASE
-},
-
-{
- "undefined_function", ERRCODE_UNDEFINED_FUNCTION
-},
-
-{
- "undefined_pstatement", ERRCODE_UNDEFINED_PSTATEMENT
-},
-
-{
- "undefined_schema", ERRCODE_UNDEFINED_SCHEMA
-},
-
-{
- "undefined_table", ERRCODE_UNDEFINED_TABLE
-},
-
-{
- "undefined_parameter", ERRCODE_UNDEFINED_PARAMETER
-},
-
-{
- "undefined_object", ERRCODE_UNDEFINED_OBJECT
-},
-
-{
- "duplicate_column", ERRCODE_DUPLICATE_COLUMN
-},
-
-{
- "duplicate_cursor", ERRCODE_DUPLICATE_CURSOR
-},
-
-{
- "duplicate_database", ERRCODE_DUPLICATE_DATABASE
-},
-
-{
- "duplicate_function", ERRCODE_DUPLICATE_FUNCTION
-},
-
-{
- "duplicate_prepared_statement", ERRCODE_DUPLICATE_PSTATEMENT
-},
-
-{
- "duplicate_schema", ERRCODE_DUPLICATE_SCHEMA
-},
-
-{
- "duplicate_table", ERRCODE_DUPLICATE_TABLE
-},
-
-{
- "duplicate_alias", ERRCODE_DUPLICATE_ALIAS
-},
-
-{
- "duplicate_object", ERRCODE_DUPLICATE_OBJECT
-},
-
-{
- "ambiguous_column", ERRCODE_AMBIGUOUS_COLUMN
-},
-
-{
- "ambiguous_function", ERRCODE_AMBIGUOUS_FUNCTION
-},
-
-{
- "ambiguous_parameter", ERRCODE_AMBIGUOUS_PARAMETER
-},
-
-{
- "ambiguous_alias", ERRCODE_AMBIGUOUS_ALIAS
-},
-
-{
- "invalid_column_reference", ERRCODE_INVALID_COLUMN_REFERENCE
-},
-
-{
- "invalid_column_definition", ERRCODE_INVALID_COLUMN_DEFINITION
-},
-
-{
- "invalid_cursor_definition", ERRCODE_INVALID_CURSOR_DEFINITION
-},
-
-{
- "invalid_database_definition", ERRCODE_INVALID_DATABASE_DEFINITION
-},
-
-{
- "invalid_function_definition", ERRCODE_INVALID_FUNCTION_DEFINITION
-},
-
-{
- "invalid_prepared_statement_definition", ERRCODE_INVALID_PSTATEMENT_DEFINITION
-},
-
-{
- "invalid_schema_definition", ERRCODE_INVALID_SCHEMA_DEFINITION
-},
-
-{
- "invalid_table_definition", ERRCODE_INVALID_TABLE_DEFINITION
-},
-
-{
- "invalid_object_definition", ERRCODE_INVALID_OBJECT_DEFINITION
-},
-
-{
- "with_check_option_violation", ERRCODE_WITH_CHECK_OPTION_VIOLATION
-},
-
-{
- "insufficient_resources", ERRCODE_INSUFFICIENT_RESOURCES
-},
-
-{
- "disk_full", ERRCODE_DISK_FULL
-},
-
-{
- "out_of_memory", ERRCODE_OUT_OF_MEMORY
-},
-
-{
- "too_many_connections", ERRCODE_TOO_MANY_CONNECTIONS
-},
-
-{
- "program_limit_exceeded", ERRCODE_PROGRAM_LIMIT_EXCEEDED
-},
-
-{
- "statement_too_complex", ERRCODE_STATEMENT_TOO_COMPLEX
-},
-
-{
- "too_many_columns", ERRCODE_TOO_MANY_COLUMNS
-},
-
-{
- "too_many_arguments", ERRCODE_TOO_MANY_ARGUMENTS
-},
-
-{
- "object_not_in_prerequisite_state", ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE
-},
-
-{
- "object_in_use", ERRCODE_OBJECT_IN_USE
-},
-
-{
- "cant_change_runtime_param", ERRCODE_CANT_CHANGE_RUNTIME_PARAM
-},
-
-{
- "lock_not_available", ERRCODE_LOCK_NOT_AVAILABLE
-},
-
-{
- "operator_intervention", ERRCODE_OPERATOR_INTERVENTION
-},
-
-{
- "query_canceled", ERRCODE_QUERY_CANCELED
-},
-
-{
- "admin_shutdown", ERRCODE_ADMIN_SHUTDOWN
-},
-
-{
- "crash_shutdown", ERRCODE_CRASH_SHUTDOWN
-},
-
-{
- "cannot_connect_now", ERRCODE_CANNOT_CONNECT_NOW
-},
-
-{
- "database_dropped", ERRCODE_DATABASE_DROPPED
-},
-
-{
- "io_error", ERRCODE_IO_ERROR
-},
-
-{
- "undefined_file", ERRCODE_UNDEFINED_FILE
-},
-
-{
- "duplicate_file", ERRCODE_DUPLICATE_FILE
-},
-
-{
- "config_file_error", ERRCODE_CONFIG_FILE_ERROR
-},
-
-{
- "lock_file_exists", ERRCODE_LOCK_FILE_EXISTS
-},
-
-{
- "plpgsql_error", ERRCODE_PLPGSQL_ERROR
-},
-
-{
- "fdw_error", ERRCODE_FDW_ERROR
-},
-
-{
- "fdw_column_name_not_found", ERRCODE_FDW_COLUMN_NAME_NOT_FOUND
-},
-
-{
- "fdw_dynamic_parameter_value_needed", ERRCODE_FDW_DYNAMIC_PARAMETER_VALUE_NEEDED
-},
-
-{
- "fdw_function_sequence_error", ERRCODE_FDW_FUNCTION_SEQUENCE_ERROR
-},
-
-{
- "fdw_inconsistent_descriptor_information", ERRCODE_FDW_INCONSISTENT_DESCRIPTOR_INFORMATION
-},
-
-{
- "fdw_invalid_attribute_value", ERRCODE_FDW_INVALID_ATTRIBUTE_VALUE
-},
-
-{
- "fdw_invalid_column_name", ERRCODE_FDW_INVALID_COLUMN_NAME
-},
-
-{
- "fdw_invalid_column_number", ERRCODE_FDW_INVALID_COLUMN_NUMBER
-},
-
-{
- "fdw_invalid_data_type", ERRCODE_FDW_INVALID_DATA_TYPE
-},
-
-{
- "fdw_invalid_data_type_descriptors", ERRCODE_FDW_INVALID_DATA_TYPE_DESCRIPTORS
-},
-
-{
- "fdw_invalid_descriptor_field_identifier", ERRCODE_FDW_INVALID_DESCRIPTOR_FIELD_IDENTIFIER
-},
-
-{
- "fdw_invalid_handle", ERRCODE_FDW_INVALID_HANDLE
-},
-
-{
- "fdw_invalid_option_index", ERRCODE_FDW_INVALID_OPTION_INDEX
-},
-
-{
- "fdw_invalid_option_name", ERRCODE_FDW_INVALID_OPTION_NAME
-},
-
-{
- "fdw_invalid_string_length_or_buffer_length", ERRCODE_FDW_INVALID_STRING_LENGTH_OR_BUFFER_LENGTH
-},
-
-{
- "fdw_invalid_string_format", ERRCODE_FDW_INVALID_STRING_FORMAT
-},
-
-{
- "fdw_invalid_use_of_null_pointer", ERRCODE_FDW_INVALID_USE_OF_NULL_POINTER
-},
-
-{
- "fdw_too_many_handles", ERRCODE_FDW_TOO_MANY_HANDLES
-},
-
-{
- "fdw_out_of_memory", ERRCODE_FDW_OUT_OF_MEMORY
-},
-
-{
- "fdw_no_schemas", ERRCODE_FDW_NO_SCHEMAS
-},
-
-{
- "fdw_option_name_not_found", ERRCODE_FDW_OPTION_NAME_NOT_FOUND
-},
-
-{
- "fdw_reply_handle", ERRCODE_FDW_REPLY_HANDLE
-},
-
-{
- "fdw_schema_not_found", ERRCODE_FDW_SCHEMA_NOT_FOUND
-},
-
-{
- "fdw_table_not_found", ERRCODE_FDW_TABLE_NOT_FOUND
-},
-
-{
- "fdw_unable_to_create_execution", ERRCODE_FDW_UNABLE_TO_CREATE_EXECUTION
-},
-
-{
- "fdw_unable_to_create_reply", ERRCODE_FDW_UNABLE_TO_CREATE_REPLY
-},
-
-{
- "fdw_unable_to_establish_connection", ERRCODE_FDW_UNABLE_TO_ESTABLISH_CONNECTION
-},
-
-{
- "raise_exception", ERRCODE_RAISE_EXCEPTION
-},
-
-{
- "no_data_found", ERRCODE_NO_DATA_FOUND
-},
-
-{
- "too_many_rows", ERRCODE_TOO_MANY_ROWS
-},
-
-{
- "internal_error", ERRCODE_INTERNAL_ERROR
-},
-
-{
- "data_corrupted", ERRCODE_DATA_CORRUPTED
-},
-
-{
- "index_corrupted", ERRCODE_INDEX_CORRUPTED
-},