On Sun, Dec 26, 2010 at 8:03 AM, Jan Urbański <wulc...@wulczer.org> wrote:
> See
> https://github.com/wulczer/postgres/commit/44fc42b7708f23483156e4e0e1e321e68b2a7e2d#diff-0
> for something that maybe could be used as a basis to autogenerate
> errcodes.sgml and plerrcodes.h.

Interesting.  It looks like this might be even easier with perl.  For
now I've just written a couple of throwaway scripts to do what I
needed.

Proposed patch attached.  This adds what I believe to be the correct
incantations to errcodes.sgml and plerrcodes.h, and also corrects a
typographical error in yesterday's commit which I failed to notice
while reviewing.

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
diff --git a/doc/src/sgml/errcodes.sgml b/doc/src/sgml/errcodes.sgml
index 3288687..3a1baf5 100644
--- a/doc/src/sgml/errcodes.sgml
+++ b/doc/src/sgml/errcodes.sgml
@@ -1411,6 +1411,173 @@
 
 
 <row>
+<entry spanname="span13"><emphasis role="bold">Class HV &mdash; Foreign Data Wrapper Error (SQL/MED)</></entry>
+</row>
+
+<row>
+<entry><literal>HV000</literal></entry>
+<entry>FDW ERROR</entry>
+<entry>fdw_error</entry>
+</row>
+
+<row>
+<entry><literal>HV005</literal></entry>
+<entry>FDW COLUMN NAME NOT FOUND</entry>
+<entry>fdw_column_name_not_found</entry>
+</row>
+
+<row>
+<entry><literal>HV002</literal></entry>
+<entry>FDW DYNAMIC PARAMETER VALUE NEEDED</entry>
+<entry>fdw_dynamic_parameter_value_needed</entry>
+</row>
+
+<row>
+<entry><literal>HV010</literal></entry>
+<entry>FDW FUNCTION SEQUENCE ERROR</entry>
+<entry>fdw_function_sequence_error</entry>
+</row>
+
+<row>
+<entry><literal>HV021</literal></entry>
+<entry>FDW INCONSISTENT DESCRIPTOR INFORMATION</entry>
+<entry>fdw_inconsistent_descriptor_information</entry>
+</row>
+
+<row>
+<entry><literal>HV024</literal></entry>
+<entry>FDW INVALID ATTRIBUTE VALUE</entry>
+<entry>fdw_invalid_attribute_value</entry>
+</row>
+
+<row>
+<entry><literal>HV007</literal></entry>
+<entry>FDW INVALID COLUMN NAME</entry>
+<entry>fdw_invalid_column_name</entry>
+</row>
+
+<row>
+<entry><literal>HV008</literal></entry>
+<entry>FDW INVALID COLUMN NUMBER</entry>
+<entry>fdw_invalid_column_number</entry>
+</row>
+
+<row>
+<entry><literal>HV004</literal></entry>
+<entry>FDW INVALID DATA TYPE</entry>
+<entry>fdw_invalid_data_type</entry>
+</row>
+
+<row>
+<entry><literal>HV006</literal></entry>
+<entry>FDW INVALID DATA TYPE DESCRIPTORS</entry>
+<entry>fdw_invalid_data_type_descriptors</entry>
+</row>
+
+<row>
+<entry><literal>HV091</literal></entry>
+<entry>FDW INVALID DESCRIPTOR FIELD IDENTIFIER</entry>
+<entry>fdw_invalid_descriptor_field_identifier</entry>
+</row>
+
+<row>
+<entry><literal>HV00B</literal></entry>
+<entry>FDW INVALID HANDLE</entry>
+<entry>fdw_invalid_handle</entry>
+</row>
+
+<row>
+<entry><literal>HV00C</literal></entry>
+<entry>FDW INVALID OPTION INDEX</entry>
+<entry>fdw_invalid_option_index</entry>
+</row>
+
+<row>
+<entry><literal>HV00D</literal></entry>
+<entry>FDW INVALID OPTION NAME</entry>
+<entry>fdw_invalid_option_name</entry>
+</row>
+
+<row>
+<entry><literal>HV090</literal></entry>
+<entry>FDW INVALID STRING LENGTH OR BUFFER LENGTH</entry>
+<entry>fdw_invalid_string_length_or_buffer_length</entry>
+</row>
+
+<row>
+<entry><literal>HV00A</literal></entry>
+<entry>FDW INVALID STRING FORMAT</entry>
+<entry>fdw_invalid_string_format</entry>
+</row>
+
+<row>
+<entry><literal>HV009</literal></entry>
+<entry>FDW INVALID USE OF NULL POINTER</entry>
+<entry>fdw_invalid_use_of_null_pointer</entry>
+</row>
+
+<row>
+<entry><literal>HV014</literal></entry>
+<entry>FDW TOO MANY HANDLES</entry>
+<entry>fdw_too_many_handles</entry>
+</row>
+
+<row>
+<entry><literal>HV001</literal></entry>
+<entry>FDW OUT OF MEMORY</entry>
+<entry>fdw_out_of_memory</entry>
+</row>
+
+<row>
+<entry><literal>HV00P</literal></entry>
+<entry>FDW NO SCHEMAS</entry>
+<entry>fdw_no_schemas</entry>
+</row>
+
+<row>
+<entry><literal>HV00J</literal></entry>
+<entry>FDW OPTION NAME NOT FOUND</entry>
+<entry>fdw_option_name_not_found</entry>
+</row>
+
+<row>
+<entry><literal>HV00K</literal></entry>
+<entry>FDW REPLY HANDLE</entry>
+<entry>fdw_reply_handle</entry>
+</row>
+
+<row>
+<entry><literal>HV00Q</literal></entry>
+<entry>FDW SCHEMA NOT FOUND</entry>
+<entry>fdw_schema_not_found</entry>
+</row>
+
+<row>
+<entry><literal>HV00R</literal></entry>
+<entry>FDW TABLE NOT FOUND</entry>
+<entry>fdw_table_not_found</entry>
+</row>
+
+<row>
+<entry><literal>HV00L</literal></entry>
+<entry>FDW UNABLE TO CREATE EXECUTION</entry>
+<entry>fdw_unable_to_create_execution</entry>
+</row>
+
+<row>
+<entry><literal>HV00M</literal></entry>
+<entry>FDW UNABLE TO CREATE REPLY</entry>
+<entry>fdw_unable_to_create_reply</entry>
+</row>
+
+<row>
+<entry><literal>HV00N</literal></entry>
+<entry>FDW UNABLE TO ESTABLISH CONNECTION</entry>
+<entry>fdw_unable_to_establish_connection</entry>
+</row>
+
+
+<row>
 <entry spanname="span13"><emphasis role="bold">Class P0 &mdash; PL/pgSQL Error</></entry>
 </row>
 
diff --git a/src/include/utils/errcodes.h b/src/include/utils/errcodes.h
index 3b332b6..80a4ca1 100644
--- a/src/include/utils/errcodes.h
+++ b/src/include/utils/errcodes.h
@@ -368,7 +368,7 @@
 #define ERRCODE_FDW_REPLY_HANDLE			MAKE_SQLSTATE('H','V', '0','0','K')
 #define ERRCODE_FDW_SCHEMA_NOT_FOUND		MAKE_SQLSTATE('H','V', '0','0','Q')
 #define ERRCODE_FDW_TABLE_NOT_FOUND			MAKE_SQLSTATE('H','V', '0','0','R')
-#define ERRCODE_FDW_UNALBE_TO_CREATE_EXECUTION	MAKE_SQLSTATE('H','V', '0','0','L')
+#define ERRCODE_FDW_UNABLE_TO_CREATE_EXECUTION	MAKE_SQLSTATE('H','V', '0','0','L')
 #define ERRCODE_FDW_UNABLE_TO_CREATE_REPLY	MAKE_SQLSTATE('H','V', '0','0','M')
 #define ERRCODE_FDW_UNABLE_TO_ESTABLISH_CONNECTION	MAKE_SQLSTATE('H','V', '0','0','N')
 
diff --git a/src/pl/plpgsql/src/plerrcodes.h b/src/pl/plpgsql/src/plerrcodes.h
index 30465de..1bcc4d6 100644
--- a/src/pl/plpgsql/src/plerrcodes.h
+++ b/src/pl/plpgsql/src/plerrcodes.h
@@ -760,6 +760,114 @@
 },
 
 {
+	"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
 },
 
-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to