4
4
5
5
class PostgresError
6
6
{
7
- // Class 00 — Successful Completion
8
7
const SUCCESSFUL_COMPLETION = '00000 ' ;
9
-
10
- // Class 01 — Warning
11
8
const WARNING = '01000 ' ;
12
9
const DYNAMIC_RESULT_SETS_RETURNED = '0100C ' ;
13
10
const IMPLICIT_ZERO_BIT_PADDING = '01008 ' ;
@@ -16,54 +13,28 @@ class PostgresError
16
13
const PRIVILEGE_NOT_REVOKED = '01006 ' ;
17
14
const STRING_DATA_RIGHT_TRUNCATION = '01004 ' ;
18
15
const DEPRECATED_FEATURE = '01P01 ' ;
19
-
20
- // Class 02 — No Data (this is also a warning class per the SQL standard)
21
16
const NO_DATA = '02000 ' ;
22
17
const NO_ADDITIONAL_DYNAMIC_RESULT_SETS_RETURNED = '02001 ' ;
23
-
24
- // Class 03 — SQL Statement Not Yet Complete
25
18
const SQL_STATEMENT_NOT_YET_COMPLETE = '03000 ' ;
26
-
27
- // Class 08 — Connection Exception
28
19
const CONNECTION_EXCEPTION = '08000 ' ;
29
20
const CONNECTION_DOES_NOT_EXIST = '08003 ' ;
30
21
const CONNECTION_FAILURE = '08006 ' ;
31
22
const SQLCLIENT_UNABLE_TO_ESTABLISH_SQLCONNECTION = '08001 ' ;
32
23
const SQLSERVER_REJECTED_ESTABLISHMENT_OF_SQLCONNECTION = '08004 ' ;
33
24
const TRANSACTION_RESOLUTION_UNKNOWN = '08007 ' ;
34
25
const PROTOCOL_VIOLATION = '08P01 ' ;
35
-
36
- // Class 09 — Triggered Action Exception
37
26
const TRIGGERED_ACTION_EXCEPTION = '09000 ' ;
38
-
39
- // Class 0A — Feature Not Supported
40
27
const FEATURE_NOT_SUPPORTED = '0A000 ' ;
41
-
42
- // Class 0B — Invalid Transaction Initiation
43
28
const INVALID_TRANSACTION_INITIATION = '0B000 ' ;
44
-
45
- // Class 0F — Locator Exception
46
29
const LOCATOR_EXCEPTION = '0F000 ' ;
47
30
const INVALID_LOCATOR_SPECIFICATION = '0F001 ' ;
48
-
49
- // Class 0L — Invalid Grantor
50
31
const INVALID_GRANTOR = '0L000 ' ;
51
32
const INVALID_GRANT_OPERATION = '0LP01 ' ;
52
-
53
- // Class 0P — Invalid Role Specification
54
33
const INVALID_ROLE_SPECIFICATION = '0P000 ' ;
55
-
56
- // Class 0Z — Diagnostics Exception
57
34
const DIAGNOSTICS_EXCEPTION = '0Z000 ' ;
58
35
const STACKED_DIAGNOSTICS_ACCESSED_WITHOUT_ACTIVE_HANDLER = '0Z002 ' ;
59
-
60
- // Class 20 — Case Not Found
61
36
const CASE_NOT_FOUND = '20000 ' ;
62
-
63
- // Class 21 — Cardinality Violation
64
37
const CARDINALITY_VIOLATION = '21000 ' ;
65
-
66
- // Class 22 — Data Exception
67
38
const DATA_EXCEPTION = '22000 ' ;
68
39
const ARRAY_SUBSCRIPT_ERROR = '2202E ' ;
69
40
const CHARACTER_NOT_IN_REPERTOIRE = '22021 ' ;
@@ -131,20 +102,14 @@ class PostgresError
131
102
const TOO_MANY_JSON_ARRAY_ELEMENTS = '2203D ' ;
132
103
const TOO_MANY_JSON_OBJECT_MEMBERS = '2203E ' ;
133
104
const SQL_JSON_SCALAR_REQUIRED = '2203F ' ;
134
-
135
- // Class 23 — Integrity Constraint Violation
136
105
const INTEGRITY_CONSTRAINT_VIOLATION = '23000 ' ;
137
106
const RESTRICT_VIOLATION = '23001 ' ;
138
107
const NOT_NULL_VIOLATION = '23502 ' ;
139
108
const FOREIGN_KEY_VIOLATION = '23503 ' ;
140
109
const UNIQUE_VIOLATION = '23505 ' ;
141
110
const CHECK_VIOLATION = '23514 ' ;
142
111
const EXCLUSION_VIOLATION = '23P01 ' ;
143
-
144
- // Class 24 — Invalid Cursor State
145
112
const INVALID_CURSOR_STATE = '24000 ' ;
146
-
147
- // Class 25 — Invalid Transaction State
148
113
const INVALID_TRANSACTION_STATE = '25000 ' ;
149
114
const ACTIVE_SQL_TRANSACTION = '25001 ' ;
150
115
const BRANCH_TRANSACTION_ALREADY_ACTIVE = '25002 ' ;
@@ -157,67 +122,39 @@ class PostgresError
157
122
const NO_ACTIVE_SQL_TRANSACTION = '25P01 ' ;
158
123
const IN_FAILED_SQL_TRANSACTION = '25P02 ' ;
159
124
const IDLE_IN_TRANSACTION_SESSION_TIMEOUT = '25P03 ' ;
160
-
161
- // Class 26 — Invalid SQL Statement Name
162
125
const INVALID_SQL_STATEMENT_NAME = '26000 ' ;
163
-
164
- // Class 27 — Triggered Data Change Violation
165
126
const TRIGGERED_DATA_CHANGE_VIOLATION = '27000 ' ;
166
-
167
- // Class 28 — Invalid Authorization Specification
168
127
const INVALID_AUTHORIZATION_SPECIFICATION = '28000 ' ;
169
128
const INVALID_PASSWORD = '28P01 ' ;
170
-
171
- // Class 2B — Dependent Privilege Descriptors Still Exist
172
129
const DEPENDENT_PRIVILEGE_DESCRIPTORS_STILL_EXIST = '2B000 ' ;
173
130
const DEPENDENT_OBJECTS_STILL_EXIST = '2BP01 ' ;
174
-
175
- // Class 2D — Invalid Transaction Termination
176
131
const INVALID_TRANSACTION_TERMINATION = '2D000 ' ;
177
-
178
- // Class 2F — SQL Routine Exception
179
132
const SQL_ROUTINE_EXCEPTION = '2F000 ' ;
180
133
const FUNCTION_EXECUTED_NO_RETURN_STATEMENT = '2F005 ' ;
181
134
const MODIFYING_SQL_DATA_NOT_PERMITTED = '2F002 ' ;
182
135
const PROHIBITED_SQL_STATEMENT_ATTEMPTED = '2F003 ' ;
183
136
const READING_SQL_DATA_NOT_PERMITTED = '2F004 ' ;
184
-
185
- // Class 34 — Invalid Cursor Name
186
137
const INVALID_CURSOR_NAME = '34000 ' ;
187
-
188
- // Class 38 — External Routine Exception
189
138
const EXTERNAL_ROUTINE_EXCEPTION = '38000 ' ;
190
139
const CONTAINING_SQL_NOT_PERMITTED = '38001 ' ;
191
140
const MODIFYING_SQL_DATA_NOT_PERMITTED_EXCEPTION = '38002 ' ;
192
141
const PROHIBITED_SQL_STATEMENT_ATTEMPTED_EXCEPTION = '38003 ' ;
193
142
const READING_SQL_DATA_NOT_PERMITTED_EXCEPTION = '38004 ' ;
194
-
195
- // Class 39 — External Routine Invocation Exception
196
143
const EXTERNAL_ROUTINE_INVOCATION_EXCEPTION = '39000 ' ;
197
144
const INVALID_SQLSTATE_RETURNED = '39001 ' ;
198
145
const NULL_VALUE_NOT_ALLOWED_EXCEPTION = '39004 ' ;
199
146
const TRIGGER_PROTOCOL_VIOLATED = '39P01 ' ;
200
147
const SRF_PROTOCOL_VIOLATED = '39P02 ' ;
201
148
const EVENT_TRIGGER_PROTOCOL_VIOLATED = '39P03 ' ;
202
-
203
- // Class 3B — Savepoint Exception
204
149
const SAVEPOINT_EXCEPTION = '3B000 ' ;
205
150
const INVALID_SAVEPOINT_SPECIFICATION = '3B001 ' ;
206
-
207
- // Class 3D — Invalid Catalog Name
208
151
const INVALID_CATALOG_NAME = '3D000 ' ;
209
-
210
- // Class 3F — Invalid Schema Name
211
152
const INVALID_SCHEMA_NAME = '3F000 ' ;
212
-
213
- // Class 40 — Transaction Rollback
214
153
const TRANSACTION_ROLLBACK = '40000 ' ;
215
154
const TRANSACTION_INTEGRITY_CONSTRAINT_VIOLATION = '40002 ' ;
216
155
const SERIALIZATION_FAILURE = '40001 ' ;
217
156
const STATEMENT_COMPLETION_UNKNOWN = '40003 ' ;
218
157
const DEADLOCK_DETECTED = '40P01 ' ;
219
-
220
- // Class 42 — Syntax Error or Access Rule Violation
221
158
const SYNTAX_ERROR_OR_ACCESS_RULE_VIOLATION = '42000 ' ;
222
159
const SYNTAX_ERROR = '42601 ' ;
223
160
const INSUFFICIENT_PRIVILEGE = '42501 ' ;
@@ -262,52 +199,35 @@ class PostgresError
262
199
const INVALID_SCHEMA_DEFINITION = '42P15 ' ;
263
200
const INVALID_TABLE_DEFINITION = '42P16 ' ;
264
201
const INVALID_OBJECT_DEFINITION = '42P17 ' ;
265
-
266
- // Class 44 — WITH CHECK OPTION Violation
267
202
const WITH_CHECK_OPTION_VIOLATION = '44000 ' ;
268
-
269
- // Class 53 — Insufficient Resources
270
203
const INSUFFICIENT_RESOURCES = '53000 ' ;
271
204
const DISK_FULL = '53100 ' ;
272
205
const OUT_OF_MEMORY = '53200 ' ;
273
206
const TOO_MANY_CONNECTIONS = '53300 ' ;
274
207
const CONFIGURATION_LIMIT_EXCEEDED = '53400 ' ;
275
-
276
- // Class 54 — Program Limit Exceeded
277
208
const PROGRAM_LIMIT_EXCEEDED = '54000 ' ;
278
209
const STATEMENT_TOO_COMPLEX = '54001 ' ;
279
210
const TOO_MANY_COLUMNS = '54011 ' ;
280
211
const TOO_MANY_ARGUMENTS = '54023 ' ;
281
-
282
- // Class 55 — Object Not In Prerequisite State
283
212
const OBJECT_NOT_IN_PREREQUISITE_STATE = '55000 ' ;
284
213
const OBJECT_IN_USE = '55006 ' ;
285
214
const CANT_CHANGE_RUNTIME_PARAM = '55P02 ' ;
286
215
const LOCK_NOT_AVAILABLE = '55P03 ' ;
287
216
const UNSAFE_NEW_ENUM_VALUE_USAGE = '55P04 ' ;
288
-
289
- // Class 57 — Operator Intervention
290
217
const OPERATOR_INTERVENTION = '57000 ' ;
291
218
const QUERY_CANCELED = '57014 ' ;
292
219
const ADMIN_SHUTDOWN = '57P01 ' ;
293
220
const CRASH_SHUTDOWN = '57P02 ' ;
294
221
const CANNOT_CONNECT_NOW = '57P03 ' ;
295
222
const DATABASE_DROPPED = '57P04 ' ;
296
-
297
- // Class 58 — System Error (errors external to PostgreSQL itself)
223
+ const IDLE_SESSION_TIMEOUT = '57P05 ' ;
298
224
const SYSTEM_ERROR = '58000 ' ;
299
225
const IO_ERROR = '58030 ' ;
300
226
const UNDEFINED_FILE = '58P01 ' ;
301
227
const DUPLICATE_FILE = '58P02 ' ;
302
-
303
- // Class 72 — Snapshot Failure
304
228
const SNAPSHOT_TOO_OLD = '72000 ' ;
305
-
306
- // Class F0 — Configuration File Error
307
229
const CONFIG_FILE_ERROR = 'F0000 ' ;
308
230
const LOCK_FILE_EXISTS = 'F0001 ' ;
309
-
310
- // Class HV — Foreign Data Wrapper Error (SQL/MED)
311
231
const FDW_ERROR = 'HV000 ' ;
312
232
const FDW_COLUMN_NAME_NOT_FOUND = 'HV005 ' ;
313
233
const FDW_DYNAMIC_PARAMETER_VALUE_NEEDED = 'HV002 ' ;
@@ -335,15 +255,11 @@ class PostgresError
335
255
const FDW_UNABLE_TO_CREATE_EXECUTION = 'HV00L ' ;
336
256
const FDW_UNABLE_TO_CREATE_REPLY = 'HV00M ' ;
337
257
const FDW_UNABLE_TO_ESTABLISH_CONNECTION = 'HV00N ' ;
338
-
339
- // Class P0 — PL/pgSQL Error
340
258
const PLPGSQL_ERROR = 'P0000 ' ;
341
259
const RAISE_EXCEPTION = 'P0001 ' ;
342
260
const NO_DATA_FOUND = 'P0002 ' ;
343
261
const TOO_MANY_ROWS = 'P0003 ' ;
344
262
const ASSERT_FAILURE = 'P0004 ' ;
345
-
346
- // Class XX — Internal Error
347
263
const INTERNAL_ERROR = 'XX000 ' ;
348
264
const DATA_CORRUPTED = 'XX001 ' ;
349
265
const INDEX_CORRUPTED = 'XX002 ' ;
0 commit comments