8000 Merge pull request #2 from sunaoka/create-pull-request/patch · sunaoka/php-postgresql-errors@bef5193 · GitHub
[go: up one dir, main page]

Skip to content
Sign in

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit bef5193

Browse files
authored
Merge pull request #2 from sunaoka/create-pull-request/patch
Update Error Code
2 parents 9ccc3a8 + 80aa182 commit bef5193

File tree

1 file changed

+85
-0
lines changed

1 file changed

+85
-0
lines changed

src/PostgresError.php

+85
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,10 @@
44

55
class PostgresError
66
{
7+
// Class 00 - Successful Completion
78
const SUCCESSFUL_COMPLETION = '00000';
9+
10+
// Class 01 - Warning
811
const WARNING = '01000';
912
const DYNAMIC_RESULT_SETS_RETURNED = '0100C';
1013
const IMPLICIT_ZERO_BIT_PADDING = '01008';
@@ -13,28 +16,54 @@ class PostgresError
1316
const PRIVILEGE_NOT_REVOKED = '01006';
1417
const STRING_DATA_RIGHT_TRUNCATION = '01004';
1518
const DEPRECATED_FEATURE = '01P01';
19+
20+
// Class 02 - No Data (this is also a warning class per the SQL standard)
1621
const NO_DATA = '02000';
1722
const NO_ADDITIONAL_DYNAMIC_RESULT_SETS_RETURNED = '02001';
23+
24+
// Class 03 - SQL Statement Not Yet Complete
1825
const SQL_STATEMENT_NOT_YET_COMPLETE = '03000';
26+
27+
// Class 08 - Connection Exception
1928
const CONNECTION_EXCEPTION = '08000';
2029
const CONNECTION_DOES_NOT_EXIST = '08003';
2130
const CONNECTION_FAILURE = '08006';
2231
const SQLCLIENT_UNABLE_TO_ESTABLISH_SQLCONNECTION = '08001';
2332
const SQLSERVER_REJECTED_ESTABLISHMENT_OF_SQLCONNECTION = '08004';
2433
const TRANSACTION_RESOLUTION_UNKNOWN = '08007';
2534
const PROTOCOL_VIOLATION = '08P01';
35+
36+
// Class 09 - Triggered Action Exception
2637
const TRIGGERED_ACTION_EXCEPTION = '09000';
38+
39+
// Class 0A - Feature Not Supported
2740
const FEATURE_NOT_SUPPORTED = '0A000';
41+
42+
// Class 0B - Invalid Transaction Initiation
2843
const INVALID_TRANSACTION_INITIATION = '0B000';
44+
45+
// Class 0F - Locator Exception
2946
const LOCATOR_EXCEPTION = '0F000';
3047
const INVALID_LOCATOR_SPECIFICATION = '0F001';
48+
49+
// Class 0L - Invalid Grantor
3150
const INVALID_GRANTOR = '0L000';
3251
const INVALID_GRANT_OPERATION = '0LP01';
52+
53+
// Class 0P - Invalid Role Specification
3354
const INVALID_ROLE_SPECIFICATION = '0P000';
55+
56+
// Class 0Z - Diagnostics Exception
3457
const DIAGNOSTICS_EXCEPTION = '0Z000';
3558
const STACKED_DIAGNOSTICS_ACCESSED_WITHOUT_ACTIVE_HANDLER = '0Z002';
59+
60+
// Class 20 - Case Not Found
3661
const CASE_NOT_FOUND = '20000';
62+
63+
// Class 21 - Cardinality Violation
3764
const CARDINALITY_VIOLATION = '21000';
65+
66+
// Class 22 - Data Exception
3867
const DATA_EXCEPTION = '22000';
3968
const ARRAY_SUBSCRIPT_ERROR = '2202E';
4069
const CHARACTER_NOT_IN_REPERTOIRE = '22021';
@@ -102,14 +131,20 @@ class PostgresError
102131
const TOO_MANY_JSON_ARRAY_ELEMENTS = '2203D';
103132
const TOO_MANY_JSON_OBJECT_MEMBERS = '2203E';
104133
const SQL_JSON_SCALAR_REQUIRED = '2203F';
134+
135+
// Class 23 - Integrity Constraint Violation
105136
const INTEGRITY_CONSTRAINT_VIOLATION = '23000';
106137
const RESTRICT_VIOLATION = '23001';
107138
const NOT_NULL_VIOLATION = '23502';
108139
const FOREIGN_KEY_VIOLATION = '23503';
109140
const UNIQUE_VIOLATION = '23505';
110141
const CHECK_VIOLATION = '23514';
111142
const EXCLUSION_VIOLATION = '23P01';
143+
144+
// Class 24 - Invalid Cursor State
112145
const INVALID_CURSOR_STATE = '24000';
146+
147+
// Class 25 - Invalid Transaction State
113148
const INVALID_TRANSACTION_STATE = '25000';
114149
const ACTIVE_SQL_TRANSACTION = '25001';
115150
const BRANCH_TRANSACTION_ALREADY_ACTIVE = '25002';
@@ -122,39 +157,67 @@ class PostgresError
122157
const NO_ACTIVE_SQL_TRANSACTION = '25P01';
123158
const IN_FAILED_SQL_TRANSACTION = '25P02';
124159
const IDLE_IN_TRANSACTION_SESSION_TIMEOUT = '25P03';
160+
161+
// Class 26 - Invalid SQL Statement Name
125162
const INVALID_SQL_STATEMENT_NAME = '26000';
163+
164+
// Class 27 - Triggered Data Change Violation
126165
const TRIGGERED_DATA_CHANGE_VIOLATION = '27000';
166+
167+
// Class 28 - Invalid Authorization Specification
127168
const INVALID_AUTHORIZATION_SPECIFICATION = '28000';
128169
const INVALID_PASSWORD = '28P01';
170+
171+
// Class 2B - Dependent Privilege Descriptors Still Exist
129172
const DEPENDENT_PRIVILEGE_DESCRIPTORS_STILL_EXIST = '2B000';
130173
const DEPENDENT_OBJECTS_STILL_EXIST = '2BP01';
174+
175+
// Class 2D - Invalid Transaction Termination
131176
const INVALID_TRANSACTION_TERMINATION = '2D000';
177+
178+
// Class 2F - SQL Routine Exception
132179
const SQL_ROUTINE_EXCEPTION = '2F000';
133180
const FUNCTION_EXECUTED_NO_RETURN_STATEMENT = '2F005';
134181
const MODIFYING_SQL_DATA_NOT_PERMITTED = '2F002';
135182
const PROHIBITED_SQL_STATEMENT_ATTEMPTED = '2F003';
136183
const READING_SQL_DATA_NOT_PERMITTED = '2F004';
184+
185+
// Class 34 - Invalid Cursor Name
137186< F438 /code>
const INVALID_CURSOR_NAME = '34000';
187+
188+
// Class 38 - External Routine Exception
138189
const EXTERNAL_ROUTINE_EXCEPTION = '38000';
139190
const CONTAINING_SQL_NOT_PERMITTED = '38001';
140191
const MODIFYING_SQL_DATA_NOT_PERMITTED_EXCEPTION = '38002';
141192
const PROHIBITED_SQL_STATEMENT_ATTEMPTED_EXCEPTION = '38003';
142193
const READING_SQL_DATA_NOT_PERMITTED_EXCEPTION = '38004';
194+
195+
// Class 39 - External Routine Invocation Exception
143196
const EXTERNAL_ROUTINE_INVOCATION_EXCEPTION = '39000';
144197
const INVALID_SQLSTATE_RETURNED = '39001';
145198
const NULL_VALUE_NOT_ALLOWED_EXCEPTION = '39004';
146199
const TRIGGER_PROTOCOL_VIOLATED = '39P01';
147200
const SRF_PROTOCOL_VIOLATED = '39P02';
148201
const EVENT_TRIGGER_PROTOCOL_VIOLATED = '39P03';
202+
203+
// Class 3B - Savepoint Exception
149204
const SAVEPOINT_EXCEPTION = '3B000';
150205
const INVALID_SAVEPOINT_SPECIFICATION = '3B001';
206+
207+
// Class 3D - Invalid Catalog Name
151208
const INVALID_CATALOG_NAME = '3D000';
209+
210+
// Class 3F - Invalid Schema Name
152211
const INVALID_SCHEMA_NAME = '3F000';
212+
213+
// Class 40 - Transaction Rollback
153214
const TRANSACTION_ROLLBACK = '40000';
154215
const TRANSACTION_INTEGRITY_CONSTRAINT_VIOLATION = '40002';
155216
const SERIALIZATION_FAILURE = '40001';
156217
const STATEMENT_COMPLETION_UNKNOWN = '40003';
157218
const DEADLOCK_DETECTED = '40P01';
219+
220+
// Class 42 - Syntax Error or Access Rule Violation
158221
const SYNTAX_ERROR_OR_ACCESS_RULE_VIOLATION = '42000';
159222
const SYNTAX_ERROR = '42601';
160223
const INSUFFICIENT_PRIVILEGE = '42501';
@@ -199,35 +262,53 @@ class PostgresError
199262
const INVALID_SCHEMA_DEFINITION = '42P15';
200263
const INVALID_TABLE_DEFINITION = '42P16';
201264
const INVALID_OBJECT_DEFINITION = '42P17';
265+
266+
// Class 44 - WITH CHECK OPTION Violation
202267
const WITH_CHECK_OPTION_VIOLATION = '44000';
268+
269+
// Class 53 - Insufficient Resources
203270
const INSUFFICIENT_RESOURCES = '53000';
204271
const DISK_FULL = '53100';
205272
const OUT_OF_MEMORY = '53200';
206273
const TOO_MANY_CONNECTIONS = '53300';
207274
const CONFIGURATION_LIMIT_EXCEEDED = '53400';
275+
276+
// Class 54 - Program Limit Exceeded
208277
const PROGRAM_LIMIT_EXCEEDED = '54000';
209278
const STATEMENT_TOO_COMPLEX = '54001';
210279
const TOO_MANY_COLUMNS = '54011';
211280
const TOO_MANY_ARGUMENTS = '54023';
281+
282+
// Class 55 - Object Not In Prerequisite State
212283
const OBJECT_NOT_IN_PREREQUISITE_STATE = '55000';
213284
const OBJECT_IN_USE = '55006';
214285
const CANT_CHANGE_RUNTIME_PARAM = '55P02';
215286
const LOCK_NOT_AVAILABLE = '55P03';
216287
const UNSAFE_NEW_ENUM_VALUE_USAGE = '55P04';
288+
289+
// Class 57 - Operator Intervention
217290
const OPERATOR_INTERVENTION = '57000';
218291
const QUERY_CANCELED = '57014';
219292
const ADMIN_SHUTDOWN = '57P01';
220293
const CRASH_SHUTDOWN = '57P02';
221294
const CANNOT_CONNECT_NOW = '57P03';
222295
const DATABASE_DROPPED = '57P04';
223296
const IDLE_SESSION_TIMEOUT = '57P05';
297+
298+
// Class 58 - System Error (errors external to PostgreSQL itself)
224299
const SYSTEM_ERROR = '58000';
225300
const IO_ERROR = '58030';
226301
const UNDEFINED_FILE = '58P01';
227302
const DUPLICATE_FILE = '58P02';
303+
304+
// Class 72 - Snapshot Failure
228305
const SNAPSHOT_TOO_OLD = '72000';
306+
307+
// Class F0 - Configuration File Error
229308
const CONFIG_FILE_ERROR = 'F0000';
230309
const LOCK_FILE_EXISTS = 'F0001';
310+
311+
// Class HV - Foreign Data Wrapper Error (SQL/MED)
231312
const FDW_ERROR = 'HV000';
232313
const FDW_COLUMN_NAME_NOT_FOUND = 'HV005';
233314
const FDW_DYNAMIC_PARAMETER_VALUE_NEEDED = 'HV002';
@@ -255,11 +336,15 @@ class PostgresError
255336
const FDW_UNABLE_TO_CREATE_EXECUTION = 'HV00L';
256337
const FDW_UNABLE_TO_CREATE_REPLY = 'HV00M';
257338
const FDW_UNABLE_TO_ESTABLISH_CONNECTION = 'HV00N';
339+
340+
// Class P0 - PL/pgSQL Error
258341
const PLPGSQL_ERROR = 'P0000';
259342
const RAISE_EXCEPTION = 'P0001';
260343
const NO_DATA_FOUND = 'P0002';
261344
const TOO_MANY_ROWS = 'P0003';
262345
const ASSERT_FAILURE = 'P0004';
346+
347+
// Class XX - Internal Error
263348
const INTERNAL_ERROR = 'XX000';
264349
const DATA_CORRUPTED = 'XX001';
265350
const INDEX_CORRUPTED = 'XX002';

0 commit comments

Comments
 (0)
0