From e5c2c97892e12a01be31ed0380e4b41101f13683 Mon Sep 17 00:00:00 2001 From: Tom Lane <tgl@sss.pgh.pa.us> Date: Fri, 17 Oct 2003 18:57:01 +0000 Subject: [PATCH] Add a listing of our SQLSTATE error codes to the documentation. Link to it from some appropriate places. --- doc/src/sgml/ecpg.sgml | 13 +- doc/src/sgml/errcodes.sgml | 1138 ++++++++++++++++++++++++++++++++++++ doc/src/sgml/filelist.sgml | 3 +- doc/src/sgml/libpq.sgml | 6 +- doc/src/sgml/postgres.sgml | 3 +- doc/src/sgml/protocol.sgml | 7 +- 6 files changed, 1155 insertions(+), 15 deletions(-) create mode 100644 doc/src/sgml/errcodes.sgml diff --git a/doc/src/sgml/ecpg.sgml b/doc/src/sgml/ecpg.sgml index 14dda019a62..08f22ab64e4 100644 --- a/doc/src/sgml/ecpg.sgml +++ b/doc/src/sgml/ecpg.sgml @@ -1,5 +1,5 @@ <!-- -$Header: /cvsroot/pgsql/doc/src/sgml/ecpg.sgml,v 1.52 2003/09/20 20:12:04 tgl Exp $ +$Header: /cvsroot/pgsql/doc/src/sgml/ecpg.sgml,v 1.53 2003/10/17 18:57:00 tgl Exp $ --> <chapter id="ecpg"> @@ -1151,13 +1151,13 @@ struct two characters indicate the general class of the condition, the last three characters indicate a subclass of the general condition. A successful state is indicated by the code - <literal>00000</literal>. Further information about the codes can - be found XXX. The <literal>SQLSTATE</literal> codes are for the - most part defined in the SQL standard. The + <literal>00000</literal>. The <literal>SQLSTATE</literal> codes are for + the most part defined in the SQL standard. The <productname>PostgreSQL</productname> server natively supports <literal>SQLSTATE</literal> error codes; therefore a high degree of consistency can be achieved by using this error code scheme - throughout all applications. + throughout all applications. For further information see + <xref linkend="errcodes-appendix">. </para> <para> @@ -1178,7 +1178,8 @@ struct <literal>SQLSTATE</literal> is also listed. There is, however, no one-to-one or one-to-many mapping between the two schemes (indeed it is many-to-many), so you should consult the global - <literal>SQLSTATE</literal> listing in XXX in each case. + <literal>SQLSTATE</literal> listing in <xref linkend="errcodes-appendix"> + in each case. </para> <para> diff --git a/doc/src/sgml/errcodes.sgml b/doc/src/sgml/errcodes.sgml new file mode 100644 index 00000000000..7850ad0c96b --- /dev/null +++ b/doc/src/sgml/errcodes.sgml @@ -0,0 +1,1138 @@ +<!-- $Header: /cvsroot/pgsql/doc/src/sgml/errcodes.sgml,v 1.1 2003/10/17 18:57:01 tgl Exp $ --> + +<appendix id="errcodes-appendix"> + <title><productname>PostgreSQL</productname> Error Codes</title> + + <indexterm zone="errcodes-appendix"> + <primary>error codes</primary> + <secondary>list of</secondary> + </indexterm> + + <para> + All messages emitted by the <productname>PostgreSQL</productname> server + are assigned five-character error codes that follow the SQL standard's + conventions for <quote>SQLSTATE</> codes. Applications that need to know + which error condition has occurred should usually test the error code, + rather than looking at the textual error message. The error codes are + less likely to change across <productname>PostgreSQL</productname> releases, + and also are not subject to change due to localization of error messages. + </para> + + <para> + According to the standard, the first two characters of an error code + denote a class of errors, while the last three characters indicate + a specific condition within that class. Thus, an application that + does not recognize the specific error code may still be able to infer + what to do from the error class. + </para> + + <para> + <xref linkend="errcodes-table"> lists all the error codes defined in + <productname>PostgreSQL</productname> &version;. (Some are not actually + used at present, but are defined by the SQL standard.) + The error classes are also shown. For each error class there is a + <quote>standard</> error code having the last three characters + <literal>000</>. This code is used only for error conditions that fall + within the class but do not have any more-specific code assigned. + </para> + + +<!-- + The following table should correspond to the contents of + src/include/utils/errcodes.h. +--> + +<table id="errcodes-table"> + <title><productname>PostgreSQL</productname> Error Codes</title> + + <tgroup cols="2"> + <thead> + <row> + <entry>Error Code</entry> + <entry>Meaning</entry> + </row> + </thead> + + <tbody> + +<row> +<entry>Class 00</entry> +<entry>Successful Completion</entry> +</row> + +<row> +<entry><literal>00000</literal></entry> +<entry>SUCCESSFUL COMPLETION</entry> +</row> + +<row> +<entry>Class 01</entry> +<entry>Warning</entry> +</row> + +<row> +<entry><literal>01000</literal></entry> +<entry>WARNING</entry> +</row> + +<row> +<entry><literal>0100C</literal></entry> +<entry>WARNING DYNAMIC RESULT SETS RETURNED</entry> +</row> + +<row> +<entry><literal>01008</literal></entry> +<entry>WARNING IMPLICIT ZERO BIT PADDING</entry> +</row> + +<row> +<entry><literal>01003</literal></entry> +<entry>WARNING NULL VALUE ELIMINATED IN SET FUNCTION</entry> +</row> + +<row> +<entry><literal>01004</literal></entry> +<entry>WARNING STRING DATA RIGHT TRUNCATION</entry> +</row> + + +<row> +<entry>Class 02</entry> +<entry>No Data --- this is also a warning class per SQL99</entry> +</row> + +<row> +<entry><literal>02000</literal></entry> +<entry>NO DATA</entry> +</row> + +<row> +<entry><literal>02001</literal></entry> +<entry>NO ADDITIONAL DYNAMIC RESULT SETS RETURNED</entry> +</row> + + +<row> +<entry>Class 03</entry> +<entry>SQL Statement Not Yet Complete</entry> +</row> + +<row> +<entry><literal>03000</literal></entry> +<entry>SQL STATEMENT NOT YET COMPLETE</entry> +</row> + + +<row> +<entry>Class 08</entry> +<entry>Connection Exception</entry> +</row> + +<row> +<entry><literal>08000</literal></entry> +<entry>CONNECTION EXCEPTION</entry> +</row> + +<row> +<entry><literal>08003</literal></entry> +<entry>CONNECTION DOES NOT EXIST</entry> +</row> + +<row> +<entry><literal>08006</literal></entry> +<entry>CONNECTION FAILURE</entry> +</row> + +<row> +<entry><literal>08001</literal></entry> +<entry>SQLCLIENT UNABLE TO ESTABLISH SQLCONNECTION</entry> +</row> + +<row> +<entry><literal>08004</literal></entry> +<entry>SQLSERVER REJECTED ESTABLISHMENT OF SQLCONNECTION</entry> +</row> + +<row> +<entry><literal>08007</literal></entry> +<entry>TRANSACTION RESOLUTION UNKNOWN</entry> +</row> + +<row> +<entry><literal>08P01</literal></entry> +<entry>PROTOCOL VIOLATION</entry> +</row> + + +<row> +<entry>Class 09</entry> +<entry>Triggered Action Exception</entry> +</row> + +<row> +<entry><literal>09000</literal></entry> +<entry>TRIGGERED ACTION EXCEPTION</entry> +</row> + + +<row> +<entry>Class 0A</entry> +<entry>Feature Not Supported</entry> +</row> + +<row> +<entry><literal>0A000</literal></entry> +<entry>FEATURE NOT SUPPORTED</entry> +</row> + + +<row> +<entry>Class 0B</entry> +<entry>Invalid Transaction Initiation</entry> +</row> + +<row> +<entry><literal>0B000</literal></entry> +<entry>INVALID TRANSACTION INITIATION</entry> +</row> + + +<row> +<entry>Class 0F</entry> +<entry>Locator Exception</entry> +</row> + +<row> +<entry><literal>0F000</literal></entry> +<entry>LOCATOR EXCEPTION</entry> +</row> + +<row> +<entry><literal>0F001</literal></entry> +<entry>INVALID SPECIFICATION</entry> +</row> + + +<row> +<entry>Class 0L</entry> +<entry>Invalid Grantor</entry> +</row> + +<row> +<entry><literal>0L000</literal></entry> +<entry>INVALID GRANTOR</entry> +</row> + +<row> +<entry><literal>0LP01</literal></entry> +<entry>INVALID GRANT OPERATION</entry> +</row> + + +<row> +<entry>Class 0P</entry> +<entry>Invalid Role Specification</entry> +</row> + +<row> +<entry><literal>0P000</literal></entry> +<entry>INVALID ROLE SPECIFICATION</entry> +</row> + + +<row> +<entry>Class 21</entry> +<entry>Cardinality Violation</entry> +</row> + +<row> +<entry><literal>21000</literal></entry> +<entry>CARDINALITY VIOLATION</entry> +</row> + + +<row> +<entry>Class 22</entry> +<entry>Data Exception</entry> +</row> + +<row> +<entry><literal>22000</literal></entry> +<entry>DATA EXCEPTION</entry> +</row> + +<row> +<entry><literal>2202E</literal></entry> +<entry>ARRAY ELEMENT ERROR</entry> +</row> + +<row> +<entry><literal>22021</literal></entry> +<entry>CHARACTER NOT IN REPERTOIRE</entry> +</row> + +<row> +<entry><literal>22008</literal></entry> +<entry>DATETIME FIELD OVERFLOW</entry> +</row> + +<row> +<entry><literal>22012</literal></entry> +<entry>DIVISION BY ZERO</entry> +</row> + +<row> +<entry><literal>22005</literal></entry> +<entry>ERROR IN ASSIGNMENT</entry> +</row> + +<row> +<entry><literal>2200B</literal></entry> +<entry>ESCAPE CHARACTER CONFLICT</entry> +</row> + +<row> +<entry><literal>22022</literal></entry> +<entry>INDICATOR OVERFLOW</entry> +</row> + +<row> +<entry><literal>22015</literal></entry> +<entry>INTERVAL FIELD OVERFLOW</entry> +</row> + +<row> +<entry><literal>22018</literal></entry> +<entry>INVALID CHARACTER VALUE FOR CAST</entry> +</row> + +<row> +<entry><literal>22007</literal></entry> +<entry>INVALID DATETIME FORMAT</entry> +</row> + +<row> +<entry><literal>22019</literal></entry> +<entry>INVALID ESCAPE CHARACTER</entry> +</row> + +<row> +<entry><literal>2200D</literal></entry> +<entry>INVALID ESCAPE OCTET</entry> +</row> + +<row> +<entry><literal>22025</literal></entry> +<entry>INVALID ESCAPE SEQUENCE</entry> +</row> + +<row> +<entry><literal>22010</literal></entry> +<entry>INVALID INDICATOR PARAMETER VALUE</entry> +</row> + +<row> +<entry><literal>22020</literal></entry> +<entry>INVALID LIMIT VALUE</entry> +</row> + +<row> +<entry><literal>22023</literal></entry> +<entry>INVALID PARAMETER VALUE</entry> +</row> + +<row> +<entry><literal>2201B</literal></entry> +<entry>INVALID REGULAR EXPRESSION</entry> +</row> + +<row> +<entry><literal>22009</literal></entry> +<entry>INVALID TIME ZONE DISPLACEMENT VALUE</entry> +</row> + +<row> +<entry><literal>2200C</literal></entry> +<entry>INVALID USE OF ESCAPE CHARACTER</entry> +</row> + +<row> +<entry><literal>2200G</literal></entry> +<entry>MOST SPECIFIC TYPE MISMATCH</entry> +</row> + +<row> +<entry><literal>22004</literal></entry> +<entry>NULL VALUE NOT ALLOWED</entry> +</row> + +<row> +<entry><literal>22002</literal></entry> +<entry>NULL VALUE NO INDICATOR PARAMETER</entry> +</row> + +<row> +<entry><literal>22003</literal></entry> +<entry>NUMERIC VALUE OUT OF RANGE</entry> +</row> + +<row> +<entry><literal>22026</literal></entry> +<entry>STRING DATA LENGTH MISMATCH</entry> +</row> + +<row> +<entry><literal>22001</literal></entry> +<entry>STRING DATA RIGHT TRUNCATION</entry> +</row> + +<row> +<entry><literal>22011</literal></entry> +<entry>SUBSTRING ERROR</entry> +</row> + +<row> +<entry><literal>22027</literal></entry> +<entry>TRIM ERROR</entry> +</row> + +<row> +<entry><literal>22024</literal></entry> +<entry>UNTERMINATED C STRING</entry> +</row> + +<row> +<entry><literal>2200F</literal></entry> +<entry>ZERO LENGTH CHARACTER STRING</entry> +</row> + +<row> +<entry><literal>22P01</literal></entry> +<entry>FLOATING POINT EXCEPTION</entry> +</row> + +<row> +<entry><literal>22P02</literal></entry> +<entry>INVALID TEXT REPRESENTATION</entry> +</row> + +<row> +<entry><literal>22P03</literal></entry> +<entry>INVALID BINARY REPRESENTATION</entry> +</row> + +<row> +<entry><literal>22P04</literal></entry> +<entry>BAD COPY FILE FORMAT</entry> +</row> + +<row> +<entry><literal>22P05</literal></entry> +<entry>UNTRANSLATABLE CHARACTER</entry> +</row> + + +<row> +<entry>Class 23</entry> +<entry>Integrity Constraint Violation</entry> +</row> + +<row> +<entry><literal>23000</literal></entry> +<entry>INTEGRITY CONSTRAINT VIOLATION</entry> +</row> + +<row> +<entry><literal>23001</literal></entry> +<entry>RESTRICT VIOLATION</entry> +</row> + +<row> +<entry><literal>23502</literal></entry> +<entry>NOT NULL VIOLATION</entry> +</row> + +<row> +<entry><literal>23503</literal></entry> +<entry>FOREIGN KEY VIOLATION</entry> +</row> + +<row> +<entry><literal>23505</literal></entry> +<entry>UNIQUE VIOLATION</entry> +</row> + +<row> +<entry><literal>23514</literal></entry> +<entry>CHECK VIOLATION</entry> +</row> + + +<row> +<entry>Class 24</entry> +<entry>Invalid Cursor State</entry> +</row> + +<row> +<entry><literal>24000</literal></entry> +<entry>INVALID CURSOR STATE</entry> +</row> + + +<row> +<entry>Class 25</entry> +<entry>Invalid Transaction State</entry> +</row> + +<row> +<entry><literal>25000</literal></entry> +<entry>INVALID TRANSACTION STATE</entry> +</row> + +<row> +<entry><literal>25001</literal></entry> +<entry>ACTIVE SQL TRANSACTION</entry> +</row> + +<row> +<entry><literal>25002</literal></entry> +<entry>BRANCH TRANSACTION ALREADY ACTIVE</entry> +</row> + +<row> +<entry><literal>25008</literal></entry> +<entry>HELD CURSOR REQUIRES SAME ISOLATION LEVEL</entry> +</row> + +<row> +<entry><literal>25003</literal></entry> +<entry>INAPPROPRIATE ACCESS MODE FOR BRANCH TRANSACTION</entry> +</row> + +<row> +<entry><literal>25004</literal></entry> +<entry>INAPPROPRIATE ISOLATION LEVEL FOR BRANCH TRANSACTION</entry> +</row> + +<row> +<entry><literal>25005</literal></entry> +<entry>NO ACTIVE SQL TRANSACTION FOR BRANCH TRANSACTION</entry> +</row> + +<row> +<entry><literal>25006</literal></entry> +<entry>READ ONLY SQL TRANSACTION</entry> +</row> + +<row> +<entry><literal>25007</literal></entry> +<entry>SCHEMA AND DATA STATEMENT MIXING NOT SUPPORTED</entry> +</row> + +<row> +<entry><literal>25P01</literal></entry> +<entry>NO ACTIVE SQL TRANSACTION</entry> +</row> + +<row> +<entry><literal>25P02</literal></entry> +<entry>IN FAILED SQL TRANSACTION</entry> +</row> + + +<row> +<entry>Class 26</entry> +<entry>Invalid SQL Statement Name</entry> +</row> + +<row> +<entry><literal>26000</literal></entry> +<entry>INVALID SQL STATEMENT NAME</entry> +</row> + + +<row> +<entry>Class 27</entry> +<entry>Triggered Data Change Violation</entry> +</row> + +<row> +<entry><literal>27000</literal></entry> +<entry>TRIGGERED DATA CHANGE VIOLATION</entry> +</row> + + +<row> +<entry>Class 28</entry> +<entry>Invalid Authorization Specification</entry> +</row> + +<row> +<entry><literal>28000</literal></entry> +<entry>INVALID AUTHORIZATION SPECIFICATION</entry> +</row> + + +<row> +<entry>Class 2B</entry> +<entry>Dependent Privilege Descriptors Still Exist</entry> +</row> + +<row> +<entry><literal>2B000</literal></entry> +<entry>DEPENDENT PRIVILEGE DESCRIPTORS STILL EXIST</entry> +</row> + +<row> +<entry><literal>2BP01</literal></entry> +<entry>DEPENDENT OBJECTS STILL EXIST</entry> +</row> + + +<row> +<entry>Class 2D</entry> +<entry>Invalid Transaction Termination</entry> +</row> + +<row> +<entry><literal>2D000</literal></entry> +<entry>INVALID TRANSACTION TERMINATION</entry> +</row> + + +<row> +<entry>Class 2F</entry> +<entry>SQL Routine Exception</entry> +</row> + +<row> +<entry><literal>2F000</literal></entry> +<entry>SQL ROUTINE EXCEPTION</entry> +</row> + +<row> +<entry><literal>2F005</literal></entry> +<entry>FUNCTION EXECUTED NO RETURN STATEMENT</entry> +</row> + +<row> +<entry><literal>2F002</literal></entry> +<entry>MODIFYING SQL DATA NOT PERMITTED</entry> +</row> + +<row> +<entry><literal>2F003</literal></entry> +<entry>PROHIBITED SQL STATEMENT ATTEMPTED</entry> +</row> + +<row> +<entry><literal>2F004</literal></entry> +<entry>READING SQL DATA NOT PERMITTED</entry> +</row> + + +<row> +<entry>Class 34</entry> +<entry>Invalid Cursor Name</entry> +</row> + +<row> +<entry><literal>34000</literal></entry> +<entry>INVALID CURSOR NAME</entry> +</row> + + +<row> +<entry>Class 38</entry> +<entry>External Routine Exception</entry> +</row> + +<row> +<entry><literal>38000</literal></entry> +<entry>EXTERNAL ROUTINE EXCEPTION</entry> +</row> + +<row> +<entry><literal>38001</literal></entry> +<entry>CONTAINING SQL NOT PERMITTED</entry> +</row> + +<row> +<entry><literal>38002</literal></entry> +<entry>MODIFYING SQL DATA NOT PERMITTED</entry> +</row> + +<row> +<entry><literal>38003</literal></entry> +<entry>PROHIBITED SQL STATEMENT ATTEMPTED</entry> +</row> + +<row> +<entry><literal>38004</literal></entry> +<entry>READING SQL DATA NOT PERMITTED</entry> +</row> + + +<row> +<entry>Class 39</entry> +<entry>External Routine Invocation Exception</entry> +</row> + +<row> +<entry><literal>39000</literal></entry> +<entry>EXTERNAL ROUTINE INVOCATION EXCEPTION</entry> +</row> + +<row> +<entry><literal>39001</literal></entry> +<entry>INVALID SQLSTATE RETURNED</entry> +</row> + +<row> +<entry><literal>39004</literal></entry> +<entry>NULL VALUE NOT ALLOWED</entry> +</row> + +<row> +<entry><literal>39P01</literal></entry> +<entry>TRIGGER PROTOCOL VIOLATED</entry> +</row> + +<row> +<entry><literal>39P02</literal></entry> +<entry>SRF PROTOCOL VIOLATED</entry> +</row> + + +<row> +<entry>Class 3D</entry> +<entry>Invalid Catalog Name</entry> +</row> + +<row> +<entry><literal>3D000</literal></entry> +<entry>INVALID CATALOG NAME</entry> +</row> + + +<row> +<entry>Class 3F</entry> +<entry>Invalid Schema Name</entry> +</row> + +<row> +<entry><literal>3F000</literal></entry> +<entry>INVALID SCHEMA NAME</entry> +</row> + + +<row> +<entry>Class 40</entry> +<entry>Transaction Rollback</entry> +</row> + +<row> +<entry><literal>40000</literal></entry> +<entry>TRANSACTION ROLLBACK</entry> +</row> + +<row> +<entry><literal>40002</literal></entry> +<entry>INTEGRITY CONSTRAINT VIOLATION</entry> +</row> + +<row> +<entry><literal>40001</literal></entry> +<entry>SERIALIZATION FAILURE</entry> +</row> + +<row> +<entry><literal>40003</literal></entry> +<entry>STATEMENT COMPLETION UNKNOWN</entry> +</row> + +<row> +<entry><literal>40P01</literal></entry> +<entry>DEADLOCK DETECTED</entry> +</row> + + +<row> +<entry>Class 42</entry> +<entry>Syntax Error or Access Rule Violation</entry> +</row> + +<row> +<entry><literal>42000</literal></entry> +<entry>SYNTAX ERROR OR ACCESS RULE VIOLATION</entry> +</row> + +<row> +<entry><literal>42601</literal></entry> +<entry>SYNTAX ERROR</entry> +</row> + +<row> +<entry><literal>42501</literal></entry> +<entry>INSUFFICIENT PRIVILEGE</entry> +</row> + +<row> +<entry><literal>42846</literal></entry> +<entry>CANNOT COERCE</entry> +</row> + +<row> +<entry><literal>42803</literal></entry> +<entry>GROUPING ERROR</entry> +</row> + +<row> +<entry><literal>42830</literal></entry> +<entry>INVALID FOREIGN KEY</entry> +</row> + +<row> +<entry><literal>42602</literal></entry> +<entry>INVALID NAME</entry> +</row> + +<row> +<entry><literal>42622</literal></entry> +<entry>NAME TOO LONG</entry> +</row> + +<row> +<entry><literal>42939</literal></entry> +<entry>RESERVED NAME</entry> +</row> + +<row> +<entry><literal>42804</literal></entry> +<entry>DATATYPE MISMATCH</entry> +</row> + +<row> +<entry><literal>42P18</literal></entry> +<entry>INDETERMINATE DATATYPE</entry> +</row> + +<row> +<entry><literal>42809</literal></entry> +<entry>WRONG OBJECT TYPE</entry> +</row> + +<row> +<entry><literal>42703</literal></entry> +<entry>UNDEFINED COLUMN</entry> +</row> + +<row> +<entry><literal>42883</literal></entry> +<entry>UNDEFINED FUNCTION</entry> +</row> + +<row> +<entry><literal>42P01</literal></entry> +<entry>UNDEFINED TABLE</entry> +</row> + +<row> +<entry><literal>42P02</literal></entry> +<entry>UNDEFINED PARAMETER</entry> +</row> + +<row> +<entry><literal>42704</literal></entry> +<entry>UNDEFINED OBJECT</entry> +</row> + +<row> +<entry><literal>42701</literal></entry> +<entry>DUPLICATE COLUMN</entry> +</row> + +<row> +<entry><literal>42P03</literal></entry> +<entry>DUPLICATE CURSOR</entry> +</row> + +<row> +<entry><literal>42P04</literal></entry> +<entry>DUPLICATE DATABASE</entry> +</row> + +<row> +<entry><literal>42723</literal></entry> +<entry>DUPLICATE FUNCTION</entry> +</row> + +<row> +<entry><literal>42P05</literal></entry> +<entry>DUPLICATE PSTATEMENT</entry> +</row> + +<row> +<entry><literal>42P06</literal></entry> +<entry>DUPLICATE SCHEMA</entry> +</row> + +<row> +<entry><literal>42P07</literal></entry> +<entry>DUPLICATE TABLE</entry> +</row> + +<row> +<entry><literal>42712</literal></entry> +<entry>DUPLICATE ALIAS</entry> +</row> + +<row> +<entry><literal>42710</literal></entry> +<entry>DUPLICATE OBJECT</entry> +</row> + +<row> +<entry><literal>42702</literal></entry> +<entry>AMBIGUOUS COLUMN</entry> +</row> + +<row> +<entry><literal>42725</literal></entry> +<entry>AMBIGUOUS FUNCTION</entry> +</row> + +<row> +<entry><literal>42P08</literal></entry> +<entry>AMBIGUOUS PARAMETER</entry> +</row> + +<row> +<entry><literal>42P09</literal></entry> +<entry>AMBIGUOUS ALIAS</entry> +</row> + +<row> +<entry><literal>42P10</literal></entry> +<entry>INVALID COLUMN REFERENCE</entry> +</row> + +<row> +<entry><literal>42611</literal></entry> +<entry>INVALID COLUMN DEFINITION</entry> +</row> + +<row> +<entry><literal>42P11</literal></entry> +<entry>INVALID CURSOR DEFINITION</entry> +</row> + +<row> +<entry><literal>42P12</literal></entry> +<entry>INVALID DATABASE DEFINITION</entry> +</row> + +<row> +<entry><literal>42P13</literal></entry> +<entry>INVALID FUNCTION DEFINITION</entry> +</row> + +<row> +<entry><literal>42P14</literal></entry> +<entry>INVALID PSTATEMENT DEFINITION</entry> +</row> + +<row> +<entry><literal>42P15</literal></entry> +<entry>INVALID SCHEMA DEFINITION</entry> +</row> + +<row> +<entry><literal>42P16</literal></entry> +<entry>INVALID TABLE DEFINITION</entry> +</row> + +<row> +<entry><literal>42P17</literal></entry> +<entry>INVALID OBJECT DEFINITION</entry> +</row> + + +<row> +<entry>Class 44</entry> +<entry>WITH CHECK OPTION Violation</entry> +</row> + +<row> +<entry><literal>44000</literal></entry> +<entry>WITH CHECK OPTION VIOLATION</entry> +</row> + + +<row> +<entry>Class 53</entry> +<entry>Insufficient Resources</entry> +</row> + +<row> +<entry><literal>53000</literal></entry> +<entry>INSUFFICIENT RESOURCES</entry> +</row> + +<row> +<entry><literal>53100</literal></entry> +<entry>DISK FULL</entry> +</row> + +<row> +<entry><literal>53200</literal></entry> +<entry>OUT OF MEMORY</entry> +</row> + +<row> +<entry><literal>53300</literal></entry> +<entry>TOO MANY CONNECTIONS</entry> +</row> + + +<row> +<entry>Class 54</entry> +<entry>Program Limit Exceeded</entry> +</row> + +<row> +<entry><literal>54000</literal></entry> +<entry>PROGRAM LIMIT EXCEEDED</entry> +</row> + +<row> +<entry><literal>54001</literal></entry> +<entry>STATEMENT TOO COMPLEX</entry> +</row> + +<row> +<entry><literal>54011</literal></entry> +<entry>TOO MANY COLUMNS</entry> +</row> + +<row> +<entry><literal>54023</literal></entry> +<entry>TOO MANY ARGUMENTS</entry> +</row> + + +<row> +<entry>Class 55</entry> +<entry>Object Not In Prerequisite State</entry> +</row> + +<row> +<entry><literal>55000</literal></entry> +<entry>OBJECT NOT IN PREREQUISITE STATE</entry> +</row> + +<row> +<entry><literal>55006</literal></entry> +<entry>OBJECT IN USE</entry> +</row> + +<row> +<entry><literal>55P02</literal></entry> +<entry>CANT CHANGE RUNTIME PARAM</entry> +</row> + + +<row> +<entry>Class 57</entry> +<entry>Operator Intervention</entry> +</row> + +<row> +<entry><literal>57000</literal></entry> +<entry>OPERATOR INTERVENTION</entry> +</row> + +<row> +<entry><literal>57014</literal></entry> +<entry>QUERY CANCELED</entry> +</row> + +<row> +<entry><literal>57P01</literal></entry> +<entry>ADMIN SHUTDOWN</entry> +</row> + +<row> +<entry><literal>57P02</literal></entry> +<entry>CRASH SHUTDOWN</entry> +</row> + +<row> +<entry><literal>57P03</literal></entry> +<entry>CANNOT CONNECT NOW</entry> +</row> + + +<row> +<entry>Class 58</entry> +<entry>System Error (errors external to PostgreSQL itself)</entry> +</row> + +<row> +<entry><literal>58030</literal></entry> +<entry>IO ERROR</entry> +</row> + +<row> +<entry><literal>58P01</literal></entry> +<entry>UNDEFINED FILE</entry> +</row> + +<row> +<entry><literal>58P02</literal></entry> +<entry>DUPLICATE FILE</entry> +</row> + + +<row> +<entry>Class F0</entry> +<entry>Configuration File Error</entry> +</row> + +<row> +<entry><literal>F0000</literal></entry> +<entry>CONFIG FILE ERROR</entry> +</row> + +<row> +<entry><literal>F0001</literal></entry> +<entry>LOCK FILE EXISTS</entry> +</row> + + +<row> +<entry>Class XX</entry> +<entry>Internal Error</entry> +</row> + +<row> +<entry><literal>XX000</literal></entry> +<entry>INTERNAL ERROR</entry> +</row> + +<row> +<entry><literal>XX001</literal></entry> +<entry>DATA CORRUPTED</entry> +</row> + +<row> +<entry><literal>XX002</literal></entry> +<entry>INDEX CORRUPTED</entry> +</row> + + </tbody> + </tgroup> +</table> + + +</appendix> diff --git a/doc/src/sgml/filelist.sgml b/doc/src/sgml/filelist.sgml index d11804a063f..0333aaa6d58 100644 --- a/doc/src/sgml/filelist.sgml +++ b/doc/src/sgml/filelist.sgml @@ -1,4 +1,4 @@ -<!-- $Header: /cvsroot/pgsql/doc/src/sgml/filelist.sgml,v 1.30 2003/09/01 23:01:49 petere Exp $ --> +<!-- $Header: /cvsroot/pgsql/doc/src/sgml/filelist.sgml,v 1.31 2003/10/17 18:57:01 tgl Exp $ --> <!entity history SYSTEM "history.sgml"> <!entity info SYSTEM "info.sgml"> @@ -23,6 +23,7 @@ <!entity datetime SYSTEM "datetime.sgml"> <!entity ddl SYSTEM "ddl.sgml"> <!entity dml SYSTEM "dml.sgml"> +<!entity errcodes SYSTEM "errcodes.sgml"> <!entity features SYSTEM "features.sgml"> <!entity func SYSTEM "func.sgml"> <!entity indices SYSTEM "indices.sgml"> diff --git a/doc/src/sgml/libpq.sgml b/doc/src/sgml/libpq.sgml index 3bbad0c4599..1f81223b507 100644 --- a/doc/src/sgml/libpq.sgml +++ b/doc/src/sgml/libpq.sgml @@ -1,5 +1,5 @@ <!-- -$Header: /cvsroot/pgsql/doc/src/sgml/libpq.sgml,v 1.139 2003/10/04 21:05:20 tgl Exp $ +$Header: /cvsroot/pgsql/doc/src/sgml/libpq.sgml,v 1.140 2003/10/17 18:57:01 tgl Exp $ --> <chapter id="libpq"> @@ -1332,8 +1332,8 @@ localized translation of one of these. Always present. </term> <listitem> <para> -The SQLSTATE code for the error (a 5-character string following SQL -spec conventions). Not localizable. Always present. +The SQLSTATE code for the error (see <xref linkend="errcodes-appendix">). +Not localizable. Always present. </para> </listitem> </varlistentry> diff --git a/doc/src/sgml/postgres.sgml b/doc/src/sgml/postgres.sgml index 9c2cba1b1a6..7247c52de7c 100644 --- a/doc/src/sgml/postgres.sgml +++ b/doc/src/sgml/postgres.sgml @@ -1,5 +1,5 @@ <!-- -$Header: /cvsroot/pgsql/doc/src/sgml/postgres.sgml,v 1.56 2003/09/12 22:17:23 tgl Exp $ +$Header: /cvsroot/pgsql/doc/src/sgml/postgres.sgml,v 1.57 2003/10/17 18:57:01 tgl Exp $ --> <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook V3.1//EN" [ @@ -244,6 +244,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/postgres.sgml,v 1.56 2003/09/12 22:17:23 tg <part id="appendixes"> <title>Appendixes</title> + &errcodes; &datetime; &keywords; &features; diff --git a/doc/src/sgml/protocol.sgml b/doc/src/sgml/protocol.sgml index ba41fda7932..e3f7af31412 100644 --- a/doc/src/sgml/protocol.sgml +++ b/doc/src/sgml/protocol.sgml @@ -1,4 +1,4 @@ -<!-- $Header: /cvsroot/pgsql/doc/src/sgml/protocol.sgml,v 1.45 2003/09/20 20:12:05 tgl Exp $ --> +<!-- $Header: /cvsroot/pgsql/doc/src/sgml/protocol.sgml,v 1.46 2003/10/17 18:57:01 tgl Exp $ --> <chapter id="protocol"> <title>Frontend/Backend Protocol</title> @@ -3833,9 +3833,8 @@ message. </Term> <ListItem> <Para> - Code: the SQLSTATE code for the error (a 5-character - string following SQL spec conventions). Not localizable. - Always present. + Code: the SQLSTATE code for the error (see <xref + linkend="errcodes-appendix">). Not localizable. Always present. </Para> </ListItem> </VarListEntry> -- GitLab