Add a listing of our SQLSTATE error codes to the documentation.
authorTom Lane
Fri, 17 Oct 2003 18:57:01 +0000 (18:57 +0000)
committerTom Lane
Fri, 17 Oct 2003 18:57:01 +0000 (18:57 +0000)
Link to it from some appropriate places.

doc/src/sgml/ecpg.sgml
doc/src/sgml/errcodes.sgml [new file with mode: 0644]
doc/src/sgml/filelist.sgml
doc/src/sgml/libpq.sgml
doc/src/sgml/postgres.sgml
doc/src/sgml/protocol.sgml

index 14dda019a62d840c0f09437240166356edd625d2..08f22ab64e4184a778a72b73a578d76e6984f0ee 100644 (file)
@@ -1,5 +1,5 @@
 
 
 
@@ -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
-    00000.  Further information about the codes can
-    be found XXX.  The SQLSTATE codes are for the
-    most part defined in the SQL standard.  The
+    00000.  The SQLSTATE codes are for
+    the most part defined in the SQL standard.  The
     PostgreSQL server natively supports
     SQLSTATE 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
+    .
    
 
    
@@ -1178,7 +1178,8 @@ struct
     SQLSTATE 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
-    SQLSTATE listing in XXX in each case.
+    SQLSTATE listing in 
+    in each case.
    
 
    
diff --git a/doc/src/sgml/errcodes.sgml b/doc/src/sgml/errcodes.sgml
new file mode 100644 (file)
index 0000000..7850ad0
--- /dev/null
@@ -0,0 +1,1138 @@
+
+
+
<productname>PostgreSQL</productname> Error Codes
+
+  error codes
+  list of
+
+  All messages emitted by the PostgreSQL server
+  are assigned five-character error codes that follow the SQL standard's
+  conventions for 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 PostgreSQL releases,
+  and also are not subject to change due to localization of error messages.
+
+  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.
+
+   lists all the error codes defined in
+  PostgreSQL &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
+  standard error code having the last three characters
+  000.  This code is used only for error conditions that fall
+  within the class but do not have any more-specific code assigned.
+
+
+
+
+
<productname>PostgreSQL</productname> Error Codes
+
+  
+   
+    Error Code
+    Meaning
+   
+  
+
+  
+
+
+Class 00
+Successful Completion
+
+
+
+00000
+SUCCESSFUL COMPLETION
+
+
+
+Class 01
+Warning
+
+
+
+01000
+WARNING
+
+
+
+0100C
+WARNING DYNAMIC RESULT SETS RETURNED
+
+
+
+01008
+WARNING IMPLICIT ZERO BIT PADDING
+
+
+
+01003
+WARNING NULL VALUE ELIMINATED IN SET FUNCTION
+
+
+
+01004
+WARNING STRING DATA RIGHT TRUNCATION
+
+
+
+
+Class 02
+No Data --- this is also a warning class per SQL99
+
+
+
+02000
+NO DATA
+
+
+
+02001
+NO ADDITIONAL DYNAMIC RESULT SETS RETURNED
+
+
+
+
+Class 03
+SQL Statement Not Yet Complete
+
+
+
+03000
+SQL STATEMENT NOT YET COMPLETE
+
+
+
+
+Class 08
+Connection Exception
+
+
+
+08000
+CONNECTION EXCEPTION
+
+
+
+08003
+CONNECTION DOES NOT EXIST
+
+
+
+08006
+CONNECTION FAILURE
+
+
+
+08001
+SQLCLIENT UNABLE TO ESTABLISH SQLCONNECTION
+
+
+
+08004
+SQLSERVER REJECTED ESTABLISHMENT OF SQLCONNECTION
+
+
+
+08007
+TRANSACTION RESOLUTION UNKNOWN
+
+
+
+08P01
+PROTOCOL VIOLATION
+
+
+
+
+Class 09
+Triggered Action Exception
+
+
+
+09000
+TRIGGERED ACTION EXCEPTION
+
+
+
+
+Class 0A
+Feature Not Supported
+
+
+
+0A000
+FEATURE NOT SUPPORTED
+
+
+
+
+Class 0B
+Invalid Transaction Initiation
+
+
+
+0B000
+INVALID TRANSACTION INITIATION
+
+
+
+
+Class 0F
+Locator Exception
+
+
+
+0F000
+LOCATOR EXCEPTION
+
+
+
+0F001
+INVALID SPECIFICATION
+
+
+
+
+Class 0L
+Invalid Grantor
+
+
+
+0L000
+INVALID GRANTOR
+
+
+
+0LP01
+INVALID GRANT OPERATION
+
+
+
+
+Class 0P
+Invalid Role Specification
+
+
+
+0P000
+INVALID ROLE SPECIFICATION
+
+
+
+
+Class 21
+Cardinality Violation
+
+
+
+21000
+CARDINALITY VIOLATION
+
+
+
+
+Class 22
+Data Exception
+
+
+
+22000
+DATA EXCEPTION
+
+
+
+2202E
+ARRAY ELEMENT ERROR
+
+
+
+22021
+CHARACTER NOT IN REPERTOIRE
+
+
+
+22008
+DATETIME FIELD OVERFLOW
+
+
+
+22012
+DIVISION BY ZERO
+
+
+
+22005
+ERROR IN ASSIGNMENT
+
+
+
+2200B
+ESCAPE CHARACTER CONFLICT
+
+
+
+22022
+INDICATOR OVERFLOW
+
+
+
+22015
+INTERVAL FIELD OVERFLOW
+
+
+
+22018
+INVALID CHARACTER VALUE FOR CAST
+
+
+
+22007
+INVALID DATETIME FORMAT
+
+
+
+22019
+INVALID ESCAPE CHARACTER
+
+
+
+2200D
+INVALID ESCAPE OCTET
+
+
+
+22025
+INVALID ESCAPE SEQUENCE
+
+
+
+22010
+INVALID INDICATOR PARAMETER VALUE
+
+
+
+22020
+INVALID LIMIT VALUE
+
+
+
+22023
+INVALID PARAMETER VALUE
+
+
+
+2201B
+INVALID REGULAR EXPRESSION
+
+
+
+22009
+INVALID TIME ZONE DISPLACEMENT VALUE
+
+
+
+2200C
+INVALID USE OF ESCAPE CHARACTER
+
+
+
+2200G
+MOST SPECIFIC TYPE MISMATCH
+
+
+
+22004
+NULL VALUE NOT ALLOWED
+
+
+
+22002
+NULL VALUE NO INDICATOR PARAMETER
+
+
+
+22003
+NUMERIC VALUE OUT OF RANGE
+
+
+
+22026
+STRING DATA LENGTH MISMATCH
+
+
+
+22001
+STRING DATA RIGHT TRUNCATION
+
+
+
+22011
+SUBSTRING ERROR
+
+
+
+22027
+TRIM ERROR
+
+
+
+22024
+UNTERMINATED C STRING
+
+
+
+2200F
+ZERO LENGTH CHARACTER STRING
+
+
+
+22P01
+FLOATING POINT EXCEPTION
+
+
+
+22P02
+INVALID TEXT REPRESENTATION
+
+
+
+22P03
+INVALID BINARY REPRESENTATION
+
+
+
+22P04
+BAD COPY FILE FORMAT
+
+
+
+22P05
+UNTRANSLATABLE CHARACTER
+
+
+
+
+Class 23
+Integrity Constraint Violation
+
+
+
+23000
+INTEGRITY CONSTRAINT VIOLATION
+
+
+
+23001
+RESTRICT VIOLATION
+
+
+
+23502
+NOT NULL VIOLATION
+
+
+
+23503
+FOREIGN KEY VIOLATION
+
+
+
+23505
+UNIQUE VIOLATION
+
+
+
+23514
+CHECK VIOLATION
+
+
+
+
+Class 24
+Invalid Cursor State
+
+
+
+24000
+INVALID CURSOR STATE
+
+
+
+
+Class 25
+Invalid Transaction State
+
+
+
+25000
+INVALID TRANSACTION STATE
+
+
+
+25001
+ACTIVE SQL TRANSACTION
+
+
+
+25002
+BRANCH TRANSACTION ALREADY ACTIVE
+
+
+
+25008
+HELD CURSOR REQUIRES SAME ISOLATION LEVEL
+
+
+
+25003
+INAPPROPRIATE ACCESS MODE FOR BRANCH TRANSACTION
+
+
+
+25004
+INAPPROPRIATE ISOLATION LEVEL FOR BRANCH TRANSACTION
+
+
+
+25005
+NO ACTIVE SQL TRANSACTION FOR BRANCH TRANSACTION
+
+
+
+25006
+READ ONLY SQL TRANSACTION
+
+
+
+25007
+SCHEMA AND DATA STATEMENT MIXING NOT SUPPORTED
+
+
+
+25P01
+NO ACTIVE SQL TRANSACTION
+
+
+
+25P02
+IN FAILED SQL TRANSACTION
+
+
+
+
+Class 26
+Invalid SQL Statement Name
+
+
+
+26000
+INVALID SQL STATEMENT NAME
+
+
+
+
+Class 27
+Triggered Data Change Violation
+
+
+
+27000
+TRIGGERED DATA CHANGE VIOLATION
+
+
+
+
+Class 28
+Invalid Authorization Specification
+
+
+
+28000
+INVALID AUTHORIZATION SPECIFICATION
+
+
+
+
+Class 2B
+Dependent Privilege Descriptors Still Exist
+
+
+
+2B000
+DEPENDENT PRIVILEGE DESCRIPTORS STILL EXIST
+
+
+
+2BP01
+DEPENDENT OBJECTS STILL EXIST
+
+
+
+
+Class 2D
+Invalid Transaction Termination
+
+
+
+2D000
+INVALID TRANSACTION TERMINATION
+
+
+
+
+Class 2F
+SQL Routine Exception
+
+
+
+2F000
+SQL ROUTINE EXCEPTION
+
+
+
+2F005
+FUNCTION EXECUTED NO RETURN STATEMENT
+
+
+
+2F002
+MODIFYING SQL DATA NOT PERMITTED
+
+
+
+2F003
+PROHIBITED SQL STATEMENT ATTEMPTED
+
+
+
+2F004
+READING SQL DATA NOT PERMITTED
+
+
+
+
+Class 34
+Invalid Cursor Name
+
+
+
+34000
+INVALID CURSOR NAME
+
+
+
+
+Class 38
+External Routine Exception
+
+
+
+38000
+EXTERNAL ROUTINE EXCEPTION
+
+
+
+38001
+CONTAINING SQL NOT PERMITTED
+
+
+
+38002
+MODIFYING SQL DATA NOT PERMITTED
+
+
+
+38003
+PROHIBITED SQL STATEMENT ATTEMPTED
+
+
+
+38004
+READING SQL DATA NOT PERMITTED
+
+
+
+
+Class 39
+External Routine Invocation Exception
+
+
+
+39000
+EXTERNAL ROUTINE INVOCATION EXCEPTION
+
+
+
+39001
+INVALID SQLSTATE RETURNED
+
+
+
+39004
+NULL VALUE NOT ALLOWED
+
+
+
+39P01
+TRIGGER PROTOCOL VIOLATED
+
+
+
+39P02
+SRF PROTOCOL VIOLATED
+
+
+
+
+Class 3D
+Invalid Catalog Name
+
+
+
+3D000
+INVALID CATALOG NAME
+
+
+
+
+Class 3F
+Invalid Schema Name
+
+
+
+3F000
+INVALID SCHEMA NAME
+
+
+
+
+Class 40
+Transaction Rollback
+
+
+
+40000
+TRANSACTION ROLLBACK
+
+
+
+40002
+INTEGRITY CONSTRAINT VIOLATION
+
+
+
+40001
+SERIALIZATION FAILURE
+
+
+
+40003
+STATEMENT COMPLETION UNKNOWN
+
+
+
+40P01
+DEADLOCK DETECTED
+
+
+
+
+Class 42
+Syntax Error or Access Rule Violation
+
+
+
+42000
+SYNTAX ERROR OR ACCESS RULE VIOLATION
+
+
+
+42601
+SYNTAX ERROR
+
+
+
+42501
+INSUFFICIENT PRIVILEGE
+
+
+
+42846
+CANNOT COERCE
+
+
+
+42803
+GROUPING ERROR
+
+
+
+42830
+INVALID FOREIGN KEY
+
+
+
+42602
+INVALID NAME
+
+
+
+42622
+NAME TOO LONG
+
+
+
+42939
+RESERVED NAME
+
+
+
+42804
+DATATYPE MISMATCH
+
+
+
+42P18
+INDETERMINATE DATATYPE
+
+
+
+42809
+WRONG OBJECT TYPE
+
+
+
+42703
+UNDEFINED COLUMN
+
+
+
+42883
+UNDEFINED FUNCTION
+
+
+
+42P01
+UNDEFINED TABLE
+
+
+
+42P02
+UNDEFINED PARAMETER
+
+
+
+42704
+UNDEFINED OBJECT
+
+
+
+42701
+DUPLICATE COLUMN
+
+
+
+42P03
+DUPLICATE CURSOR
+
+
+
+42P04
+DUPLICATE DATABASE
+
+
+
+42723
+DUPLICATE FUNCTION
+
+
+
+42P05
+DUPLICATE PSTATEMENT
+
+
+
+42P06
+DUPLICATE SCHEMA
+
+
+
+42P07
+DUPLICATE TABLE
+
+
+
+42712
+DUPLICATE ALIAS
+
+
+
+42710
+DUPLICATE OBJECT
+
+
+
+42702
+AMBIGUOUS COLUMN
+
+
+
+42725
+AMBIGUOUS FUNCTION
+
+
+
+42P08
+AMBIGUOUS PARAMETER
+
+
+
+42P09
+AMBIGUOUS ALIAS
+
+
+
+42P10
+INVALID COLUMN REFERENCE
+
+
+
+42611
+INVALID COLUMN DEFINITION
+
+
+
+42P11
+INVALID CURSOR DEFINITION
+
+
+
+42P12
+INVALID DATABASE DEFINITION
+
+
+
+42P13
+INVALID FUNCTION DEFINITION
+
+
+
+42P14
+INVALID PSTATEMENT DEFINITION
+
+
+
+42P15
+INVALID SCHEMA DEFINITION
+
+
+
+42P16
+INVALID TABLE DEFINITION
+
+
+
+42P17
+INVALID OBJECT DEFINITION
+
+
+
+
+Class 44
+WITH CHECK OPTION Violation
+
+
+
+44000
+WITH CHECK OPTION VIOLATION
+
+
+
+
+Class 53
+Insufficient Resources
+
+
+
+53000
+INSUFFICIENT RESOURCES
+
+
+
+53100
+DISK FULL
+
+
+
+53200
+OUT OF MEMORY
+
+
+
+53300
+TOO MANY CONNECTIONS
+
+
+
+
+Class 54
+Program Limit Exceeded
+
+
+
+54000
+PROGRAM LIMIT EXCEEDED
+
+
+
+54001
+STATEMENT TOO COMPLEX
+
+
+
+54011
+TOO MANY COLUMNS
+
+
+
+54023
+TOO MANY ARGUMENTS
+
+
+
+
+Class 55
+Object Not In Prerequisite State
+
+
+
+55000
+OBJECT NOT IN PREREQUISITE STATE
+
+
+
+55006
+OBJECT IN USE
+
+
+
+55P02
+CANT CHANGE RUNTIME PARAM
+
+
+
+
+Class 57
+Operator Intervention
+
+
+
+57000
+OPERATOR INTERVENTION
+
+
+
+57014
+QUERY CANCELED
+
+
+
+57P01
+ADMIN SHUTDOWN
+
+
+
+57P02
+CRASH SHUTDOWN
+
+
+
+57P03
+CANNOT CONNECT NOW
+
+
+
+
+Class 58
+System Error (errors external to PostgreSQL itself)
+
+
+
+58030
+IO ERROR
+
+
+
+58P01
+UNDEFINED FILE
+
+
+
+58P02
+DUPLICATE FILE
+
+
+
+
+Class F0
+Configuration File Error
+
+
+
+F0000
+CONFIG FILE ERROR
+
+
+
+F0001
+LOCK FILE EXISTS
+
+
+
+
+Class XX
+Internal Error
+
+
+
+XX000
+INTERNAL ERROR
+
+
+
+XX001
+DATA CORRUPTED
+
+
+
+XX002
+INDEX CORRUPTED
+
+
+  
+
+
+
+
index d11804a063f4dd4c9dd1f9dc772bcac2821f4bad..0333aaa6d586e592da53addfa6f9d7390ab67987 100644 (file)
@@ -1,4 +1,4 @@
-
+
 
 
 
@@ -23,6 +23,7 @@
 
 
 
+
 
 
 
index 3bbad0c45999cfa2dc74ad9940001343a6eda9c2..1f81223b507d52e2612422c16863122b09d8dabe 100644 (file)
@@ -1,5 +1,5 @@
 
 
  
@@ -1332,8 +1332,8 @@ localized translation of one of these.  Always present.
 
 
 
-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 ).
+Not localizable.  Always present.
 
 
 
index 9c2cba1b1a6c9e63fea13282d21b5f0164220865..7247c52de7c4e83b4c36b4c2b2d1c80d2eb904f2 100644 (file)
@@ -1,5 +1,5 @@
 
 
 
@@ -244,6 +244,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/postgres.sgml,v 1.56 2003/09/12 22:17:23 tg
  
   Appendixes
 
+  &errcodes;
   &datetime;
   &keywords;
   &features;
index ba41fda7932efeea65d00bcebc6d0ed3b059cfd0..e3f7af31412d066a945ecba432c4a0cd610525c4 100644 (file)
@@ -1,4 +1,4 @@
-
+
 
 
  Frontend/Backend Protocol
@@ -3833,9 +3833,8 @@ message.
 
 
 
-        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 
+   linkend="errcodes-appendix">).  Not localizable.  Always present.