PostgresError.class.php

Go to the documentation of this file.
00001 <?php
00002 /***************************************************************************
00003  *   Copyright (C) 2006-2007 by Konstantin V. Arkhipov                     *
00004  *                                                                         *
00005  *   This program is free software; you can redistribute it and/or modify  *
00006  *   it under the terms of the GNU Lesser General Public License as        *
00007  *   published by the Free Software Foundation; either version 3 of the    *
00008  *   License, or (at your option) any later version.                       *
00009  *                                                                         *
00010  ***************************************************************************/
00011 /* $Id: PostgresError.class.php 4687 2007-12-09 18:57:18Z voxus $ */
00012 
00020     final class PostgresError extends Enumeration
00021     {
00022         // Class 00 - Successful Completion
00023         const SUCCESSFUL_COMPLETION                                 = '00000';
00024         
00025         // Class 01 - Warning
00026         const WARNING                                               = '01000';
00027         const DYNAMIC_RESULT_SETS_RETURNED                          = '0100C';
00028         const IMPLICIT_ZERO_BIT_PADDING                             = '01008';
00029         const NULL_VALUE_ELIMINATED_IN_SET_FUNCTION                 = '01003';
00030         const PRIVILEGE_NOT_GRANTED                                 = '01007';
00031         const PRIVILEGE_NOT_REVOKED                                 = '01006';
00032         
00033         // name changed due to collision with 22001
00034         const STRING_DATA_RIGHT_TRUNCATION_WARNING                  = '01004';
00035         const DEPRECATED_FEATURE                                    = '01P01';
00036         
00037         // Class 02 - No Data (this is also a warning class per the SQL standard)
00038         const NO_DATA                                               = '02000';
00039         const NO_ADDITIONAL_DYNAMIC_RESULT_SETS_RETURNED            = '02001';
00040         
00041         // Class 03 - SQL Statement Not Yet Complete
00042         const SQL_STATEMENT_NOT_YET_COMPLETE                        = '03000';
00043         
00044         // Class 08 - Connection Exception
00045         const CONNECTION_EXCEPTION                                  = '08000';
00046         const CONNECTION_DOES_NOT_EXIST                             = '08003';
00047         const CONNECTION_FAILURE                                    = '08006';
00048         const SQLCLIENT_UNABLE_TO_ESTABLISH_SQLCONNECTION           = '08001';
00049         const SQLSERVER_REJECTED_ESTABLISHMENT_OF_SQLCONNECTION     = '08004';
00050         const TRANSACTION_RESOLUTION_UNKNOWN                        = '08007';
00051         const PROTOCOL_VIOLATION                                    = '08P01';
00052         
00053         // Class 09 - Triggered Action Exception
00054         const TRIGGERED_ACTION_EXCEPTION                            = '09000';
00055         
00056         // Class 0A - Feature Not Supported
00057         const FEATURE_NOT_SUPPORTED                                 = '0A000';
00058         
00059         // Class 0B - Invalid Transaction Initiation
00060         const INVALID_TRANSACTION_INITIATION                        = '0B000';
00061         
00062         // Class 0F - Locator Exception
00063         const LOCATOR_EXCEPTION                                     = '0F000';
00064         const INVALID_LOCATOR_SPECIFICATION                         = '0F001';
00065         
00066         // Class 0L - Invalid Grantor
00067         const INVALID_GRANTOR                                       = '0L000';
00068         const INVALID_GRANT_OPERATION                               = '0LP01';
00069         
00070         // Class 0P - Invalid Role Specification
00071         const INVALID_ROLE_SPECIFICATION                            = '0P000';
00072         
00073         // Class 21 - Cardinality Violation
00074         const CARDINALITY_VIOLATION                                 = '21000';
00075         
00076         // Class 22 - Data Exception
00077         const DATA_EXCEPTION                                        = '22000';
00078         const ARRAY_SUBSCRIPT_ERROR                                 = '2202E';
00079         const CHARACTER_NOT_IN_REPERTOIRE                           = '22021';
00080         const DATETIME_FIELD_OVERFLOW                               = '22008';
00081         const DIVISION_BY_ZERO                                      = '22012';
00082         const ERROR_IN_ASSIGNMENT                                   = '22005';
00083         const ESCAPE_CHARACTER_CONFLICT                             = '2200B';
00084         const INDICATOR_OVERFLOW                                    = '22022';
00085         const INTERVAL_FIELD_OVERFLOW                               = '22015';
00086         const INVALID_ARGUMENT_FOR_LOGARITHM                        = '2201E';
00087         const INVALID_ARGUMENT_FOR_POWER_FUNCTION                   = '2201F';
00088         const INVALID_ARGUMENT_FOR_WIDTH_BUCKET_FUNCTION            = '2201G';
00089         const INVALID_CHARACTER_VALUE_FOR_CAST                      = '22018';
00090         const INVALID_DATETIME_FORMAT                               = '22007';
00091         const INVALID_ESCAPE_CHARACTER                              = '22019';
00092         const INVALID_ESCAPE_OCTET                                  = '2200D';
00093         const INVALID_ESCAPE_SEQUENCE                               = '22025';
00094         const NONSTANDARD_USE_OF_ESCAPE_CHARACTER                   = '22P06';
00095         const INVALID_INDICATOR_PARAMETER_VALUE                     = '22010';
00096         const INVALID_LIMIT_VALUE                                   = '22020';
00097         const INVALID_PARAMETER_VALUE                               = '22023';
00098         const INVALID_REGULAR_EXPRESSION                            = '2201B';
00099         const INVALID_TIME_ZONE_DISPLACEMENT_VALUE                  = '22009';
00100         const INVALID_USE_OF_ESCAPE_CHARACTER                       = '2200C';
00101         const MOST_SPECIFIC_TYPE_MISMATCH                           = '2200G';
00102         const NULL_VALUE_NOT_ALLOWED                                = '22004';
00103         const NULL_VALUE_NO_INDICATOR_PARAMETER                     = '22002';
00104         const NUMERIC_VALUE_OUT_OF_RANGE                            = '22003';
00105         const STRING_DATA_LENGTH_MISMATCH                           = '22026';
00106         const STRING_DATA_RIGHT_TRUNCATION                          = '22001';
00107         const SUBSTRING_ERROR                                       = '22011';
00108         const TRIM_ERROR                                            = '22027';
00109         const UNTERMINATED_C_STRING                                 = '22024';
00110         const ZERO_LENGTH_CHARACTER_STRING                          = '2200F';
00111         const FLOATING_POINT_EXCEPTION                              = '22P01';
00112         const INVALID_TEXT_REPRESENTATION                           = '22P02';
00113         const INVALID_BINARY_REPRESENTATION                         = '22P03';
00114         const BAD_COPY_FILE_FORMAT                                  = '22P04';
00115         const UNTRANSLATABLE_CHARACTER                              = '22P05';
00116         
00117         // Class 23 - Integrity Constraint Violation
00118         const INTEGRITY_CONSTRAINT_VIOLATION                        = '23000';
00119         const RESTRICT_VIOLATION                                    = '23001';
00120         const NOT_NULL_VIOLATION                                    = '23502';
00121         const FOREIGN_KEY_VIOLATION                                 = '23503';
00122         const UNIQUE_VIOLATION                                      = '23505';
00123         const CHECK_VIOLATION                                       = '23514';
00124         
00125         // Class 24 - Invalid Cursor State
00126         const INVALID_CURSOR_STATE                                  = '24000';
00127         
00128         // Class 25 - Invalid Transaction State
00129         const INVALID_TRANSACTION_STATE                             = '25000';
00130         const ACTIVE_SQL_TRANSACTION                                = '25001';
00131         const BRANCH_TRANSACTION_ALREADY_ACTIVE                     = '25002';
00132         const HELD_CURSOR_REQUIRES_SAME_ISOLATION_LEVEL             = '25008';
00133         const INAPPROPRIATE_ACCESS_MODE_FOR_BRANCH_TRANSACTION      = '25003';
00134         const INAPPROPRIATE_ISOLATION_LEVEL_FOR_BRANCH_TRANSACTION  = '25004';
00135         const NO_ACTIVE_SQL_TRANSACTION_FOR_BRANCH_TRANSACTION      = '25005';
00136         const READ_ONLY_SQL_TRANSACTION                             = '25006';
00137         const SCHEMA_AND_DATA_STATEMENT_MIXING_NOT_SUPPORTED        = '25007';
00138         const NO_ACTIVE_SQL_TRANSACTION                             = '25P01';
00139         const IN_FAILED_SQL_TRANSACTION                             = '25P02';
00140         
00141         // Class 26 - Invalid SQL Statement Name
00142         const INVALID_SQL_STATEMENT_NAME                            = '26000';
00143         
00144         // Class 27 - Triggered Data Change Violation
00145         const TRIGGERED_DATA_CHANGE_VIOLATION                       = '27000';
00146         
00147         // Class 28 - Invalid Authorization Specification
00148         const INVALID_AUTHORIZATION_SPECIFICATION                   = '28000';
00149         
00150         // Class 2B - Dependent Privilege Descriptors Still Exist
00151         const DEPENDENT_PRIVILEGE_DESCRIPTORS_STILL_EXIST           = '2B000';
00152         const DEPENDENT_OBJECTS_STILL_EXIST                         = '2BP01';
00153         
00154         // Class 2D - Invalid Transaction Termination
00155         const INVALID_TRANSACTION_TERMINATION                       = '2D000';
00156         
00157         // Class 2F - SQL Routine Exception
00158         const SQL_ROUTINE_EXCEPTION                                 = '2F000';
00159         const FUNCTION_EXECUTED_NO_RETURN_STATEMENT                 = '2F005';
00160         const MODIFYING_SQL_DATA_NOT_PERMITTED                      = '2F002';
00161         
00162         // name changed due to collision with 38003
00163         const PROHIBITED_SQL_STATEMENT_ATTEMPTED_EXCEPTION          = '2F003';
00164         
00165         // name changed due to collision with 38004
00166         const READING_SQL_DATA_NOT_PERMITTED_EXCEPTION              = '2F004';
00167         
00168         // Class 34 - Invalid Cursor Name
00169         const INVALID_CURSOR_NAME                                   = '34000';
00170         
00171         // Class 38 - External Routine Exception
00172         const EXTERNAL_ROUTINE_EXCEPTION                            = '38000';
00173         const CONTAINING_SQL_NOT_PERMITTED                          = '38001';
00174         
00175         // name changed due to collision with 2F002
00176         const MODIFYING_SQL_DATA_NOT_PERMITTED_EXTERNAL             = '38002';
00177         const PROHIBITED_SQL_STATEMENT_ATTEMPTED                    = '38003';
00178         const READING_SQL_DATA_NOT_PERMITTED                        = '38004';
00179         
00180         // Class 39 - External Routine Invocation Exception
00181         const EXTERNAL_ROUTINE_INVOCATION_EXCEPTION                 = '39000';
00182         const INVALID_SQLSTATE_RETURNED                             = '39001';
00183         
00184         // name changed due to collision with 22004
00185         const NULL_VALUE_NOT_ALLOWED_EXTERNAL                       = '39004';
00186         const TRIGGER_PROTOCOL_VIOLATED                             = '39P01';
00187         const SRF_PROTOCOL_VIOLATED                                 = '39P02';
00188         
00189         // Class 3B - Savepoint Exception
00190         const SAVEPOINT_EXCEPTION                                   = '3B000';
00191         const INVALID_SAVEPOINT_SPECIFICATION                       = '3B001';
00192         
00193         // Class 3D - Invalid Catalog Name
00194         const INVALID_CATALOG_NAME                                  = '3D000';
00195         
00196         // Class 3F - Invalid Schema Name
00197         const INVALID_SCHEMA_NAME                                   = '3F000';
00198         
00199         // Class 40 - Transaction Rollback
00200         const TRANSACTION_ROLLBACK                                  = '40000';
00201         const TRANSACTION_INTEGRITY_CONSTRAINT_VIOLATION            = '40002';
00202         const SERIALIZATION_FAILURE                                 = '40001';
00203         const STATEMENT_COMPLETION_UNKNOWN                          = '40003';
00204         const DEADLOCK_DETECTED                                     = '40P01';
00205         
00206         // Class 42 - Syntax Error or Access Rule Violation
00207         const SYNTAX_ERROR_OR_ACCESS_RULE_VIOLATION                 = '42000';
00208         const SYNTAX_ERROR                                          = '42601';
00209         const INSUFFICIENT_PRIVILEGE                                = '42501';
00210         const CANNOT_COERCE                                         = '42846';
00211         const GROUPING_ERROR                                        = '42803';
00212         const INVALID_FOREIGN_KEY                                   = '42830';
00213         const INVALID_NAME                                          = '42602';
00214         const NAME_TOO_LONG                                         = '42622';
00215         const RESERVED_NAME                                         = '42939';
00216         const DATATYPE_MISMATCH                                     = '42804';
00217         const INDETERMINATE_DATATYPE                                = '42P18';
00218         const WRONG_OBJECT_TYPE                                     = '42809';
00219         const UNDEFINED_COLUMN                                      = '42703';
00220         const UNDEFINED_FUNCTION                                    = '42883';
00221         const UNDEFINED_TABLE                                       = '42P01';
00222         const UNDEFINED_PARAMETER                                   = '42P02';
00223         const UNDEFINED_OBJECT                                      = '42704';
00224         const DUPLICATE_COLUMN                                      = '42701';
00225         const DUPLICATE_CURSOR                                      = '42P03';
00226         const DUPLICATE_DATABASE                                    = '42P04';
00227         const DUPLICATE_FUNCTION                                    = '42723';
00228         const DUPLICATE_PREPARED_STATEMENT                          = '42P05';
00229         const DUPLICATE_SCHEMA                                      = '42P06';
00230         const DUPLICATE_TABLE                                       = '42P07';
00231         const DUPLICATE_ALIAS                                       = '42712';
00232         const DUPLICATE_OBJECT                                      = '42710';
00233         const AMBIGUOUS_COLUMN                                      = '42702';
00234         const AMBIGUOUS_FUNCTION                                    = '42725';
00235         const AMBIGUOUS_PARAMETER                                   = '42P08';
00236         const AMBIGUOUS_ALIAS                                       = '42P09';
00237         const INVALID_COLUMN_REFERENCE                              = '42P10';
00238         const INVALID_COLUMN_DEFINITION                             = '42611';
00239         const INVALID_CURSOR_DEFINITION                             = '42P11';
00240         const INVALID_DATABASE_DEFINITION                           = '42P12';
00241         const INVALID_FUNCTION_DEFINITION                           = '42P13';
00242         const INVALID_PREPARED_STATEMENT_DEFINITION                 = '42P14';
00243         const INVALID_SCHEMA_DEFINITION                             = '42P15';
00244         const INVALID_TABLE_DEFINITION                              = '42P16';
00245         const INVALID_OBJECT_DEFINITION                             = '42P17';
00246         
00247         // Class 44 - WITH CHECK OPTION Violation
00248         const WITH_CHECK_OPTION_VIOLATION                           = '44000';
00249         
00250         // Class 53 - Insufficient Resources
00251         const INSUFFICIENT_RESOURCES                                = '53000';
00252         const DISK_FULL                                             = '53100';
00253         const OUT_OF_MEMORY                                         = '53200';
00254         const TOO_MANY_CONNECTIONS                                  = '53300';
00255         
00256         // Class 54 - Program Limit Exceeded
00257         const PROGRAM_LIMIT_EXCEEDED                                = '54000';
00258         const STATEMENT_TOO_COMPLEX                                 = '54001';
00259         const TOO_MANY_COLUMNS                                      = '54011';
00260         const TOO_MANY_ARGUMENTS                                    = '54023';
00261         
00262         // Class 55 - Object Not In Prerequisite State
00263         const OBJECT_NOT_IN_PREREQUISITE_STATE                      = '55000';
00264         const OBJECT_IN_USE                                         = '55006';
00265         const CANT_CHANGE_RUNTIME_PARAM                             = '55P02';
00266         const LOCK_NOT_AVAILABLE                                    = '55P03';
00267         
00268         // Class 57 - Operator Intervention
00269         const OPERATOR_INTERVENTION                                 = '57000';
00270         const QUERY_CANCELED                                        = '57014';
00271         const ADMIN_SHUTDOWN                                        = '57P01';
00272         const CRASH_SHUTDOWN                                        = '57P02';
00273         const CANNOT_CONNECT_NOW                                    = '57P03';
00274         
00275         // Class 58 - System Error (errors external to PostgreSQL itself)
00276         const IO_ERROR                                              = '58030';
00277         const UNDEFINED_FILE                                        = '58P01';
00278         const DUPLICATE_FILE                                        = '58P02';
00279         
00280         // Class F0 - Configuration File Error
00281         const CONFIG_FILE_ERROR                                     = 'F0000';
00282         const LOCK_FILE_EXISTS                                      = 'F0001';
00283         
00284         // Class P0 - PL/pgSQL Error
00285         const PLPGSQL_ERROR                                         = 'P0000';
00286         const RAISE_EXCEPTION                                       = 'P0001';
00287         
00288         // Class XX - Internal Error
00289         const INTERNAL_ERROR                                        = 'XX000';
00290         const DATA_CORRUPTED                                        = 'XX001';
00291         const INDEX_CORRUPTED                                       = 'XX002';
00292         
00293         protected $names = array(
00294             // Class 00 - Successful Completion
00295             '00000' => 'SUCCESSFUL COMPLETION',
00296             
00297             // Class 01 - Warning
00298             '01000' => 'WARNING',
00299             '0100C' => 'DYNAMIC RESULT SETS RETURNED',
00300             '01008' => 'IMPLICIT ZERO BIT PADDING',
00301             '01003' => 'NULL VALUE ELIMINATED IN SET FUNCTION',
00302             '01007' => 'PRIVILEGE NOT GRANTED',
00303             '01006' => 'PRIVILEGE NOT REVOKED',
00304             '01004' => 'STRING DATA RIGHT TRUNCATION',
00305             '01P01' => 'DEPRECATED FEATURE',
00306             
00307             // Class 02 - No Data (this is also a warning class per the SQL standard)
00308             '02000' => 'NO DATA',
00309             '02001' => 'NO ADDITIONAL DYNAMIC RESULT SETS RETURNED',
00310             
00311             // Class 03 - SQL Statement Not Yet Complete
00312             '03000' => 'SQL STATEMENT NOT YET COMPLETE',
00313             
00314             // Class 08 - Connection Exception
00315             '08000' => 'CONNECTION EXCEPTION',
00316             '08003' => 'CONNECTION DOES NOT EXIST',
00317             '08006' => 'CONNECTION FAILURE',
00318             '08001' => 'SQLCLIENT UNABLE TO ESTABLISH SQLCONNECTION',
00319             '08004' => 'SQLSERVER REJECTED ESTABLISHMENT OF SQLCONNECTION',
00320             '08007' => 'TRANSACTION RESOLUTION UNKNOWN',
00321             '08P01' => 'PROTOCOL VIOLATION',
00322             
00323             // Class 09 - Triggered Action Exception
00324             '09000' => 'TRIGGERED ACTION EXCEPTION',
00325             
00326             // Class 0A - Feature Not Supported
00327             '0A000' => 'FEATURE NOT SUPPORTED',
00328             
00329             // Class 0B - Invalid Transaction Initiation
00330             '0B000' => 'INVALID TRANSACTION INITIATION',
00331             
00332             // Class 0F - Locator Exception
00333             '0F000' => 'LOCATOR EXCEPTION',
00334             '0F001' => 'INVALID LOCATOR SPECIFICATION',
00335             
00336             // Class 0L - Invalid Grantor
00337             '0L000' => 'INVALID GRANTOR',
00338             '0LP01' => 'INVALID GRANT OPERATION',
00339             
00340             // Class 0P - Invalid Role Specification
00341             '0P000' => 'INVALID ROLE SPECIFICATION',
00342             
00343             // Class 21 - Cardinality Violation
00344             '21000' => 'CARDINALITY VIOLATION',
00345             
00346             // Class 22 - Data Exception
00347             '22000' => 'DATA EXCEPTION',
00348             '2202E' => 'ARRAY SUBSCRIPT ERROR',
00349             '22021' => 'CHARACTER NOT IN REPERTOIRE',
00350             '22008' => 'DATETIME FIELD OVERFLOW',
00351             '22012' => 'DIVISION BY ZERO',
00352             '22005' => 'ERROR IN ASSIGNMENT',
00353             '2200B' => 'ESCAPE CHARACTER CONFLICT',
00354             '22022' => 'INDICATOR OVERFLOW',
00355             '22015' => 'INTERVAL FIELD OVERFLOW',
00356             '2201E' => 'INVALID ARGUMENT FOR LOGARITHM',
00357             '2201F' => 'INVALID ARGUMENT FOR POWER FUNCTION',
00358             '2201G' => 'INVALID ARGUMENT FOR WIDTH BUCKET FUNCTION',
00359             '22018' => 'INVALID CHARACTER VALUE FOR CAST',
00360             '22007' => 'INVALID DATETIME FORMAT',
00361             '22019' => 'INVALID ESCAPE CHARACTER',
00362             '2200D' => 'INVALID ESCAPE OCTET',
00363             '22025' => 'INVALID ESCAPE SEQUENCE',
00364             '22P06' => 'NONSTANDARD USE OF ESCAPE CHARACTER',
00365             '22010' => 'INVALID INDICATOR PARAMETER VALUE',
00366             '22020' => 'INVALID LIMIT VALUE',
00367             '22023' => 'INVALID PARAMETER VALUE',
00368             '2201B' => 'INVALID REGULAR EXPRESSION',
00369             '22009' => 'INVALID TIME ZONE DISPLACEMENT VALUE',
00370             '2200C' => 'INVALID USE OF ESCAPE CHARACTER',
00371             '2200G' => 'MOST SPECIFIC TYPE MISMATCH',
00372             '22004' => 'NULL VALUE NOT ALLOWED',
00373             '22002' => 'NULL VALUE NO INDICATOR PARAMETER',
00374             '22003' => 'NUMERIC VALUE OUT OF RANGE',
00375             '22026' => 'STRING DATA LENGTH MISMATCH',
00376             '22001' => 'STRING DATA RIGHT TRUNCATION',
00377             '22011' => 'SUBSTRING ERROR',
00378             '22027' => 'TRIM ERROR',
00379             '22024' => 'UNTERMINATED C STRING',
00380             '2200F' => 'ZERO LENGTH CHARACTER STRING',
00381             '22P01' => 'FLOATING POINT EXCEPTION',
00382             '22P02' => 'INVALID TEXT REPRESENTATION',
00383             '22P03' => 'INVALID BINARY REPRESENTATION',
00384             '22P04' => 'BAD COPY FILE FORMAT',
00385             '22P05' => 'UNTRANSLATABLE CHARACTER',
00386             
00387             // Class 23 - Integrity Constraint Violation
00388             '23000' => 'INTEGRITY CONSTRAINT VIOLATION',
00389             '23001' => 'RESTRICT VIOLATION',
00390             '23502' => 'NOT NULL VIOLATION',
00391             '23503' => 'FOREIGN KEY VIOLATION',
00392             '23505' => 'UNIQUE VIOLATION',
00393             '23514' => 'CHECK VIOLATION',
00394             
00395             // Class 24 - Invalid Cursor State
00396             '24000' => 'INVALID CURSOR STATE',
00397             
00398             // Class 25 - Invalid Transaction State
00399             '25000' => 'INVALID TRANSACTION STATE',
00400             '25001' => 'ACTIVE SQL TRANSACTION',
00401             '25002' => 'BRANCH TRANSACTION ALREADY ACTIVE',
00402             '25008' => 'HELD CURSOR REQUIRES SAME ISOLATION LEVEL',
00403             '25003' => 'INAPPROPRIATE ACCESS MODE FOR BRANCH TRANSACTION',
00404             '25004' => 'INAPPROPRIATE ISOLATION LEVEL FOR BRANCH TRANSACTION',
00405             '25005' => 'NO ACTIVE SQL TRANSACTION FOR BRANCH TRANSACTION',
00406             '25006' => 'READ ONLY SQL TRANSACTION',
00407             '25007' => 'SCHEMA AND DATA STATEMENT MIXING NOT SUPPORTED',
00408             '25P01' => 'NO ACTIVE SQL TRANSACTION',
00409             '25P02' => 'IN FAILED SQL TRANSACTION',
00410             
00411             // Class 26 - Invalid SQL Statement Name
00412             '26000' => 'INVALID SQL STATEMENT NAME',
00413             
00414             // Class 27 - Triggered Data Change Violation
00415             '27000' => 'TRIGGERED DATA CHANGE VIOLATION',
00416             
00417             // Class 28 - Invalid Authorization Specification
00418             '28000' => 'INVALID AUTHORIZATION SPECIFICATION',
00419             
00420             // Class 2B - Dependent Privilege Descriptors Still Exist
00421             '2B000' => 'DEPENDENT PRIVILEGE DESCRIPTORS STILL EXIST',
00422             '2BP01' => 'DEPENDENT OBJECTS STILL EXIST',
00423             
00424             // Class 2D - Invalid Transaction Termination
00425             '2D000' => 'INVALID TRANSACTION TERMINATION',
00426             
00427             // Class 2F - SQL Routine Exception
00428             '2F000' => 'SQL ROUTINE EXCEPTION',
00429             '2F005' => 'FUNCTION EXECUTED NO RETURN STATEMENT',
00430             '2F002' => 'MODIFYING SQL DATA NOT PERMITTED',
00431             '2F003' => 'PROHIBITED SQL STATEMENT ATTEMPTED',
00432             '2F004' => 'READING SQL DATA NOT PERMITTED',
00433             
00434             // Class 34 - Invalid Cursor Name
00435             '34000' => 'INVALID CURSOR NAME',
00436             
00437             // Class 38 - External Routine Exception
00438             '38000' => 'EXTERNAL ROUTINE EXCEPTION',
00439             '38001' => 'CONTAINING SQL NOT PERMITTED',
00440             '38002' => 'MODIFYING SQL DATA NOT PERMITTED',
00441             '38003' => 'PROHIBITED SQL STATEMENT ATTEMPTED',
00442             '38004' => 'READING SQL DATA NOT PERMITTED',
00443             
00444             // Class 39 - External Routine Invocation Exception
00445             '39000' => 'EXTERNAL ROUTINE INVOCATION EXCEPTION',
00446             '39001' => 'INVALID SQLSTATE RETURNED',
00447             '39004' => 'NULL VALUE NOT ALLOWED',
00448             '39P01' => 'TRIGGER PROTOCOL VIOLATED',
00449             '39P02' => 'SRF PROTOCOL VIOLATED',
00450             
00451             // Class 3B - Savepoint Exception
00452             '3B000' => 'SAVEPOINT EXCEPTION',
00453             '3B001' => 'INVALID SAVEPOINT SPECIFICATION',
00454             
00455             // Class 3D - Invalid Catalog Name
00456             '3D000' => 'INVALID CATALOG NAME',
00457             
00458             // Class 3F - Invalid Schema Name
00459             '3F000' => 'INVALID SCHEMA NAME',
00460             
00461             // Class 40 - Transaction Rollback
00462             '40000' => 'TRANSACTION ROLLBACK',
00463             '40002' => 'TRANSACTION INTEGRITY CONSTRAINT VIOLATION',
00464             '40001' => 'SERIALIZATION FAILURE',
00465             '40003' => 'STATEMENT COMPLETION UNKNOWN',
00466             '40P01' => 'DEADLOCK DETECTED',
00467             
00468             // Class 42 - Syntax Error or Access Rule Violation
00469             '42000' => 'SYNTAX ERROR OR ACCESS RULE VIOLATION',
00470             '42601' => 'SYNTAX ERROR',
00471             '42501' => 'INSUFFICIENT PRIVILEGE',
00472             '42846' => 'CANNOT COERCE',
00473             '42803' => 'GROUPING ERROR',
00474             '42830' => 'INVALID FOREIGN KEY',
00475             '42602' => 'INVALID NAME',
00476             '42622' => 'NAME TOO LONG',
00477             '42939' => 'RESERVED NAME',
00478             '42804' => 'DATATYPE MISMATCH',
00479             '42P18' => 'INDETERMINATE DATATYPE',
00480             '42809' => 'WRONG OBJECT TYPE',
00481             '42703' => 'UNDEFINED COLUMN',
00482             '42883' => 'UNDEFINED FUNCTION',
00483             '42P01' => 'UNDEFINED TABLE',
00484             '42P02' => 'UNDEFINED PARAMETER',
00485             '42704' => 'UNDEFINED OBJECT',
00486             '42701' => 'DUPLICATE COLUMN',
00487             '42P03' => 'DUPLICATE CURSOR',
00488             '42P04' => 'DUPLICATE DATABASE',
00489             '42723' => 'DUPLICATE FUNCTION',
00490             '42P05' => 'DUPLICATE PREPARED STATEMENT',
00491             '42P06' => 'DUPLICATE SCHEMA',
00492             '42P07' => 'DUPLICATE TABLE',
00493             '42712' => 'DUPLICATE ALIAS',
00494             '42710' => 'DUPLICATE OBJECT',
00495             '42702' => 'AMBIGUOUS COLUMN',
00496             '42725' => 'AMBIGUOUS FUNCTION',
00497             '42P08' => 'AMBIGUOUS PARAMETER',
00498             '42P09' => 'AMBIGUOUS ALIAS',
00499             '42P10' => 'INVALID COLUMN REFERENCE',
00500             '42611' => 'INVALID COLUMN DEFINITION',
00501             '42P11' => 'INVALID CURSOR DEFINITION',
00502             '42P12' => 'INVALID DATABASE DEFINITION',
00503             '42P13' => 'INVALID FUNCTION DEFINITION',
00504             '42P14' => 'INVALID PREPARED STATEMENT DEFINITION',
00505             '42P15' => 'INVALID SCHEMA DEFINITION',
00506             '42P16' => 'INVALID TABLE DEFINITION',
00507             '42P17' => 'INVALID OBJECT DEFINITION',
00508             
00509             // Class 44 - WITH CHECK OPTION Violation
00510             '44000' => 'WITH CHECK OPTION VIOLATION',
00511             
00512             // Class 53 - Insufficient Resources
00513             '53000' => 'INSUFFICIENT RESOURCES',
00514             '53100' => 'DISK FULL',
00515             '53200' => 'OUT OF MEMORY',
00516             '53300' => 'TOO MANY CONNECTIONS',
00517             
00518             // Class 54 - Program Limit Exceeded
00519             '54000' => 'PROGRAM LIMIT EXCEEDED',
00520             '54001' => 'STATEMENT TOO COMPLEX',
00521             '54011' => 'TOO MANY COLUMNS',
00522             '54023' => 'TOO MANY ARGUMENTS',
00523             
00524             // Class 55 - Object Not In Prerequisite State
00525             '55000' => 'OBJECT NOT IN PREREQUISITE STATE',
00526             '55006' => 'OBJECT IN USE',
00527             '55P02' => 'CANT CHANGE RUNTIME PARAM',
00528             '55P03' => 'LOCK NOT AVAILABLE',
00529             
00530             // Class 57 - Operator Intervention
00531             '57000' => 'OPERATOR INTERVENTION',
00532             '57014' => 'QUERY CANCELED',
00533             '57P01' => 'ADMIN SHUTDOWN',
00534             '57P02' => 'CRASH SHUTDOWN',
00535             '57P03' => 'CANNOT CONNECT NOW',
00536             
00537             // Class 58 - System Error (errors external to PostgreSQL itself)
00538             '58030' => 'IO ERROR',
00539             '58P01' => 'UNDEFINED FILE',
00540             '58P02' => 'DUPLICATE FILE',
00541             
00542             // Class F0 - Configuration File Error
00543             'F0000' => 'CONFIG FILE ERROR',
00544             'F0001' => 'LOCK FILE EXISTS',
00545             
00546             // Class P0 - PL/pgSQL Error
00547             'P0000' => 'PLPGSQL ERROR',
00548             'P0001' => 'RAISE EXCEPTION',
00549             
00550             // Class XX - Internal Error
00551             'XX000' => 'INTERNAL ERROR',
00552             'XX001' => 'DATA CORRUPTED',
00553             'XX002' => 'INDEX CORRUPTED'
00554         );
00555         
00556         public static function getAnyId()
00557         {
00558             return self::SUCCESSFUL_COMPLETION;
00559         }
00560     }
00561 ?>

Generated on Sun Dec 9 21:56:23 2007 for onPHP by  doxygen 1.5.4