|
4 | 4 |
|
5 | 5 | class PostgresError |
6 | 6 | { |
7 | | - // Class 00 - Successful Completion |
8 | | - const SUCCESSFUL_COMPLETION = '00000'; |
9 | 7 |
|
10 | | - // Class 01 - Warning |
11 | | - const WARNING = '01000'; |
12 | | - const DYNAMIC_RESULT_SETS_RETURNED = '0100C'; |
13 | | - const IMPLICIT_ZERO_BIT_PADDING = '01008'; |
14 | | - const NULL_VALUE_ELIMINATED_IN_SET_FUNCTION = '01003'; |
15 | | - const PRIVILEGE_NOT_GRANTED = '01007'; |
16 | | - const PRIVILEGE_NOT_REVOKED = '01006'; |
17 | | - const STRING_DATA_RIGHT_TRUNCATION = '01004'; |
18 | | - const DEPRECATED_FEATURE = '01P01'; |
19 | | - |
20 | | - // Class 02 - No Data (this is also a warning class per the SQL standard) |
21 | | - const NO_DATA = '02000'; |
22 | | - const NO_ADDITIONAL_DYNAMIC_RESULT_SETS_RETURNED = '02001'; |
23 | | - |
24 | | - // Class 03 - SQL Statement Not Yet Complete |
25 | | - const SQL_STATEMENT_NOT_YET_COMPLETE = '03000'; |
26 | | - |
27 | | - // Class 08 - Connection Exception |
28 | | - const CONNECTION_EXCEPTION = '08000'; |
29 | | - const CONNECTION_DOES_NOT_EXIST = '08003'; |
30 | | - const CONNECTION_FAILURE = '08006'; |
31 | | - const SQLCLIENT_UNABLE_TO_ESTABLISH_SQLCONNECTION = '08001'; |
32 | | - const SQLSERVER_REJECTED_ESTABLISHMENT_OF_SQLCONNECTION = '08004'; |
33 | | - const TRANSACTION_RESOLUTION_UNKNOWN = '08007'; |
34 | | - const PROTOCOL_VIOLATION = '08P01'; |
35 | | - |
36 | | - // Class 09 - Triggered Action Exception |
37 | | - const TRIGGERED_ACTION_EXCEPTION = '09000'; |
38 | | - |
39 | | - // Class 0A - Feature Not Supported |
40 | | - const FEATURE_NOT_SUPPORTED = '0A000'; |
41 | | - |
42 | | - // Class 0B - Invalid Transaction Initiation |
43 | | - const INVALID_TRANSACTION_INITIATION = '0B000'; |
44 | | - |
45 | | - // Class 0F - Locator Exception |
46 | | - const LOCATOR_EXCEPTION = '0F000'; |
47 | | - const INVALID_LOCATOR_SPECIFICATION = '0F001'; |
48 | | - |
49 | | - // Class 0L - Invalid Grantor |
50 | | - const INVALID_GRANTOR = '0L000'; |
51 | | - const INVALID_GRANT_OPERATION = '0LP01'; |
52 | | - |
53 | | - // Class 0P - Invalid Role Specification |
54 | | - const INVALID_ROLE_SPECIFICATION = '0P000'; |
55 | | - |
56 | | - // Class 0Z - Diagnostics Exception |
57 | | - const DIAGNOSTICS_EXCEPTION = '0Z000'; |
58 | | - const STACKED_DIAGNOSTICS_ACCESSED_WITHOUT_ACTIVE_HANDLER = '0Z002'; |
59 | | - |
60 | | - // Class 20 - Case Not Found |
61 | | - const CASE_NOT_FOUND = '20000'; |
62 | | - |
63 | | - // Class 21 - Cardinality Violation |
64 | | - const CARDINALITY_VIOLATION = '21000'; |
65 | | - |
66 | | - // Class 22 - Data Exception |
67 | | - const DATA_EXCEPTION = '22000'; |
68 | | - const ARRAY_SUBSCRIPT_ERROR = '2202E'; |
69 | | - const CHARACTER_NOT_IN_REPERTOIRE = '22021'; |
70 | | - const DATETIME_FIELD_OVERFLOW = '22008'; |
71 | | - const DIVISION_BY_ZERO = '22012'; |
72 | | - const ERROR_IN_ASSIGNMENT = '22005'; |
73 | | - const ESCAPE_CHARACTER_CONFLICT = '2200B'; |
74 | | - const INDICATOR_OVERFLOW = '22022'; |
75 | | - const INTERVAL_FIELD_OVERFLOW = '22015'; |
76 | | - const INVALID_ARGUMENT_FOR_LOGARITHM = '2201E'; |
77 | | - const INVALID_ARGUMENT_FOR_NTILE_FUNCTION = '22014'; |
78 | | - const INVALID_ARGUMENT_FOR_NTH_VALUE_FUNCTION = '22016'; |
79 | | - const INVALID_ARGUMENT_FOR_POWER_FUNCTION = '2201F'; |
80 | | - const INVALID_ARGUMENT_FOR_WIDTH_BUCKET_FUNCTION = '2201G'; |
81 | | - const INVALID_CHARACTER_VALUE_FOR_CAST = '22018'; |
82 | | - const INVALID_DATETIME_FORMAT = '22007'; |
83 | | - const INVALID_ESCAPE_CHARACTER = '22019'; |
84 | | - const INVALID_ESCAPE_OCTET = '2200D'; |
85 | | - const INVALID_ESCAPE_SEQUENCE = '22025'; |
86 | | - const NONSTANDARD_USE_OF_ESCAPE_CHARACTER = '22P06'; |
87 | | - const INVALID_INDICATOR_PARAMETER_VALUE = '22010'; |
88 | | - const INVALID_PARAMETER_VALUE = '22023'; |
89 | | - const INVALID_PRECEDING_OR_FOLLOWING_SIZE = '22013'; |
90 | | - const INVALID_REGULAR_EXPRESSION = '2201B'; |
91 | | - const INVALID_ROW_COUNT_IN_LIMIT_CLAUSE = '2201W'; |
92 | | - const INVALID_ROW_COUNT_IN_RESULT_OFFSET_CLAUSE = '2201X'; |
93 | | - const INVALID_TABLESAMPLE_ARGUMENT = '2202H'; |
94 | | - const INVALID_TABLESAMPLE_REPEAT = '2202G'; |
95 | | - const INVALID_TIME_ZONE_DISPLACEMENT_VALUE = '22009'; |
96 | | - const INVALID_USE_OF_ESCAPE_CHARACTER = '2200C'; |
97 | | - const MOST_SPECIFIC_TYPE_MISMATCH = '2200G'; |
98 | | - const NULL_VALUE_NOT_ALLOWED = '22004'; |
99 | | - const NULL_VALUE_NO_INDICATOR_PARAMETER = '22002'; |
100 | | - const NUMERIC_VALUE_OUT_OF_RANGE = '22003'; |
101 | | - const SEQUENCE_GENERATOR_LIMIT_EXCEEDED = '2200H'; |
102 | | - const STRING_DATA_LENGTH_MISMATCH = '22026'; |
103 | | - const STRING_DATA_RIGHT_TRUNCATION_EXCEPTION = '22001'; |
104 | | - const SUBSTRING_ERROR = '22011'; |
105 | | - const TRIM_ERROR = '22027'; |
106 | | - const UNTERMINATED_C_STRING = '22024'; |
107 | | - const ZERO_LENGTH_CHARACTER_STRING = '2200F'; |
108 | | - const FLOATING_POINT_EXCEPTION = '22P01'; |
109 | | - const INVALID_TEXT_REPRESENTATION = '22P02'; |
110 | | - const INVALID_BINARY_REPRESENTATION = '22P03'; |
111 | | - const BAD_COPY_FILE_FORMAT = '22P04'; |
112 | | - const UNTRANSLATABLE_CHARACTER = '22P05'; |
113 | | - const NOT_AN_XML_DOCUMENT = '2200L'; |
114 | | - const INVALID_XML_DOCUMENT = '2200M'; |
115 | | - const INVALID_XML_CONTENT = '2200N'; |
116 | | - const INVALID_XML_COMMENT = '2200S'; |
117 | | - const INVALID_XML_PROCESSING_INSTRUCTION = '2200T'; |
118 | | - const DUPLICATE_JSON_OBJECT_KEY_VALUE = '22030'; |
119 | | - const INVALID_ARGUMENT_FOR_SQL_JSON_DATETIME_FUNCTION = '22031'; |
120 | | - const INVALID_JSON_TEXT = '22032'; |
121 | | - const INVALID_SQL_JSON_SUBSCRIPT = '22033'; |
122 | | - const MORE_THAN_ONE_SQL_JSON_ITEM = '22034'; |
123 | | - const NO_SQL_JSON_ITEM = '22035'; |
124 | | - const NON_NUMERIC_SQL_JSON_ITEM = '22036'; |
125 | | - const NON_UNIQUE_KEYS_IN_A_JSON_OBJECT = '22037'; |
126 | | - const SINGLETON_SQL_JSON_ITEM_REQUIRED = '22038'; |
127 | | - const SQL_JSON_ARRAY_NOT_FOUND = '22039'; |
128 | | - const SQL_JSON_MEMBER_NOT_FOUND = '2203A'; |
129 | | - const SQL_JSON_NUMBER_NOT_FOUND = '2203B'; |
130 | | - const SQL_JSON_OBJECT_NOT_FOUND = '2203C'; |
131 | | - const TOO_MANY_JSON_ARRAY_ELEMENTS = '2203D'; |
132 | | - const TOO_MANY_JSON_OBJECT_MEMBERS = '2203E'; |
133 | | - const SQL_JSON_SCALAR_REQUIRED = '2203F'; |
134 | | - const SQL_JSON_ITEM_CANNOT_BE_CAST_TO_TARGET_TYPE = '2203G'; |
135 | | - |
136 | | - // Class 23 - Integrity Constraint Violation |
137 | | - const INTEGRITY_CONSTRAINT_VIOLATION = '23000'; |
138 | | - const RESTRICT_VIOLATION = '23001'; |
139 | | - const NOT_NULL_VIOLATION = '23502'; |
140 | | - const FOREIGN_KEY_VIOLATION = '23503'; |
141 | | - const UNIQUE_VIOLATION = '23505'; |
142 | | - const CHECK_VIOLATION = '23514'; |
143 | | - const EXCLUSION_VIOLATION = '23P01'; |
144 | | - |
145 | | - // Class 24 - Invalid Cursor State |
146 | | - const INVALID_CURSOR_STATE = '24000'; |
147 | | - |
148 | | - // Class 25 - Invalid Transaction State |
149 | | - const INVALID_TRANSACTION_STATE = '25000'; |
150 | | - const ACTIVE_SQL_TRANSACTION = '25001'; |
151 | | - const BRANCH_TRANSACTION_ALREADY_ACTIVE = '25002'; |
152 | | - const HELD_CURSOR_REQUIRES_SAME_ISOLATION_LEVEL = '25008'; |
153 | | - const INAPPROPRIATE_ACCESS_MODE_FOR_BRANCH_TRANSACTION = '25003'; |
154 | | - const INAPPROPRIATE_ISOLATION_LEVEL_FOR_BRANCH_TRANSACTION = '25004'; |
155 | | - const NO_ACTIVE_SQL_TRANSACTION_FOR_BRANCH_TRANSACTION = '25005'; |
156 | | - const READ_ONLY_SQL_TRANSACTION = '25006'; |
157 | | - const SCHEMA_AND_DATA_STATEMENT_MIXING_NOT_SUPPORTED = '25007'; |
158 | | - const NO_ACTIVE_SQL_TRANSACTION = '25P01'; |
159 | | - const IN_FAILED_SQL_TRANSACTION = '25P02'; |
160 | | - const IDLE_IN_TRANSACTION_SESSION_TIMEOUT = '25P03'; |
161 | | - |
162 | | - // Class 26 - Invalid SQL Statement Name |
163 | | - const INVALID_SQL_STATEMENT_NAME = '26000'; |
164 | | - |
165 | | - // Class 27 - Triggered Data Change Violation |
166 | | - const TRIGGERED_DATA_CHANGE_VIOLATION = '27000'; |
167 | | - |
168 | | - // Class 28 - Invalid Authorization Specification |
169 | | - const INVALID_AUTHORIZATION_SPECIFICATION = '28000'; |
170 | | - const INVALID_PASSWORD = '28P01'; |
171 | | - |
172 | | - // Class 2B - Dependent Privilege Descriptors Still Exist |
173 | | - const DEPENDENT_PRIVILEGE_DESCRIPTORS_STILL_EXIST = '2B000'; |
174 | | - const DEPENDENT_OBJECTS_STILL_EXIST = '2BP01'; |
175 | | - |
176 | | - // Class 2D - Invalid Transaction Termination |
177 | | - const INVALID_TRANSACTION_TERMINATION = '2D000'; |
178 | | - |
179 | | - // Class 2F - SQL Routine Exception |
180 | | - const SQL_ROUTINE_EXCEPTION = '2F000'; |
181 | | - const FUNCTION_EXECUTED_NO_RETURN_STATEMENT = '2F005'; |
182 | | - const MODIFYING_SQL_DATA_NOT_PERMITTED = '2F002'; |
183 | | - const PROHIBITED_SQL_STATEMENT_ATTEMPTED = '2F003'; |
184 | | - const READING_SQL_DATA_NOT_PERMITTED = '2F004'; |
185 | | - |
186 | | - // Class 34 - Invalid Cursor Name |
187 | | - const INVALID_CURSOR_NAME = '34000'; |
188 | | - |
189 | | - // Class 38 - External Routine Exception |
190 | | - const EXTERNAL_ROUTINE_EXCEPTION = '38000'; |
191 | | - const CONTAINING_SQL_NOT_PERMITTED = '38001'; |
192 | | - const MODIFYING_SQL_DATA_NOT_PERMITTED_EXCEPTION = '38002'; |
193 | | - const PROHIBITED_SQL_STATEMENT_ATTEMPTED_EXCEPTION = '38003'; |
194 | | - const READING_SQL_DATA_NOT_PERMITTED_EXCEPTION = '38004'; |
195 | | - |
196 | | - // Class 39 - External Routine Invocation Exception |
197 | | - const EXTERNAL_ROUTINE_INVOCATION_EXCEPTION = '39000'; |
198 | | - const INVALID_SQLSTATE_RETURNED = '39001'; |
199 | | - const NULL_VALUE_NOT_ALLOWED_EXCEPTION = '39004'; |
200 | | - const TRIGGER_PROTOCOL_VIOLATED = '39P01'; |
201 | | - const SRF_PROTOCOL_VIOLATED = '39P02'; |
202 | | - const EVENT_TRIGGER_PROTOCOL_VIOLATED = '39P03'; |
203 | | - |
204 | | - // Class 3B - Savepoint Exception |
205 | | - const SAVEPOINT_EXCEPTION = '3B000'; |
206 | | - const INVALID_SAVEPOINT_SPECIFICATION = '3B001'; |
207 | | - |
208 | | - // Class 3D - Invalid Catalog Name |
209 | | - const INVALID_CATALOG_NAME = '3D000'; |
210 | | - |
211 | | - // Class 3F - Invalid Schema Name |
212 | | - const INVALID_SCHEMA_NAME = '3F000'; |
213 | | - |
214 | | - // Class 40 - Transaction Rollback |
215 | | - const TRANSACTION_ROLLBACK = '40000'; |
216 | | - const TRANSACTION_INTEGRITY_CONSTRAINT_VIOLATION = '40002'; |
217 | | - const SERIALIZATION_FAILURE = '40001'; |
218 | | - const STATEMENT_COMPLETION_UNKNOWN = '40003'; |
219 | | - const DEADLOCK_DETECTED = '40P01'; |
220 | | - |
221 | | - // Class 42 - Syntax Error or Access Rule Violation |
222 | | - const SYNTAX_ERROR_OR_ACCESS_RULE_VIOLATION = '42000'; |
223 | | - const SYNTAX_ERROR = '42601'; |
224 | | - const INSUFFICIENT_PRIVILEGE = '42501'; |
225 | | - const CANNOT_COERCE = '42846'; |
226 | | - const GROUPING_ERROR = '42803'; |
227 | | - const WINDOWING_ERROR = '42P20'; |
228 | | - const INVALID_RECURSION = '42P19'; |
229 | | - const INVALID_FOREIGN_KEY = '42830'; |
230 | | - const INVALID_NAME = '42602'; |
231 | | - const NAME_TOO_LONG = '42622'; |
232 | | - const RESERVED_NAME = '42939'; |
233 | | - const DATATYPE_MISMATCH = '42804'; |
234 | | - const INDETERMINATE_DATATYPE = '42P18'; |
235 | | - const COLLATION_MISMATCH = '42P21'; |
236 | | - const INDETERMINATE_COLLATION = '42P22'; |
237 | | - const WRONG_OBJECT_TYPE = '42809'; |
238 | | - const GENERATED_ALWAYS = '428C9'; |
239 | | - const UNDEFINED_COLUMN = '42703'; |
240 | | - const UNDEFINED_FUNCTION = '42883'; |
241 | | - const UNDEFINED_TABLE = '42P01'; |
242 | | - const UNDEFINED_PARAMETER = '42P02'; |
243 | | - const UNDEFINED_OBJECT = '42704'; |
244 | | - const DUPLICATE_COLUMN = '42701'; |
245 | | - const DUPLICATE_CURSOR = '42P03'; |
246 | | - const DUPLICATE_DATABASE = '42P04'; |
247 | | - const DUPLICATE_FUNCTION = '42723'; |
248 | | - const DUPLICATE_PREPARED_STATEMENT = '42P05'; |
249 | | - const DUPLICATE_SCHEMA = '42P06'; |
250 | | - const DUPLICATE_TABLE = '42P07'; |
251 | | - const DUPLICATE_ALIAS = '42712'; |
252 | | - const DUPLICATE_OBJECT = '42710'; |
253 | | - const AMBIGUOUS_COLUMN = '42702'; |
254 | | - const AMBIGUOUS_FUNCTION = '42725'; |
255 | | - const AMBIGUOUS_PARAMETER = '42P08'; |
256 | | - const AMBIGUOUS_ALIAS = '42P09'; |
257 | | - const INVALID_COLUMN_REFERENCE = '42P10'; |
258 | | - const INVALID_COLUMN_DEFINITION = '42611'; |
259 | | - const INVALID_CURSOR_DEFINITION = '42P11'; |
260 | | - const INVALID_DATABASE_DEFINITION = '42P12'; |
261 | | - const INVALID_FUNCTION_DEFINITION = '42P13'; |
262 | | - const INVALID_PREPARED_STATEMENT_DEFINITION = '42P14'; |
263 | | - const INVALID_SCHEMA_DEFINITION = '42P15'; |
264 | | - const INVALID_TABLE_DEFINITION = '42P16'; |
265 | | - const INVALID_OBJECT_DEFINITION = '42P17'; |
266 | | - |
267 | | - // Class 44 - WITH CHECK OPTION Violation |
268 | | - const WITH_CHECK_OPTION_VIOLATION = '44000'; |
269 | | - |
270 | | - // Class 53 - Insufficient Resources |
271 | | - const INSUFFICIENT_RESOURCES = '53000'; |
272 | | - const DISK_FULL = '53100'; |
273 | | - const OUT_OF_MEMORY = '53200'; |
274 | | - const TOO_MANY_CONNECTIONS = '53300'; |
275 | | - const CONFIGURATION_LIMIT_EXCEEDED = '53400'; |
276 | | - |
277 | | - // Class 54 - Program Limit Exceeded |
278 | | - const PROGRAM_LIMIT_EXCEEDED = '54000'; |
279 | | - const STATEMENT_TOO_COMPLEX = '54001'; |
280 | | - const TOO_MANY_COLUMNS = '54011'; |
281 | | - const TOO_MANY_ARGUMENTS = '54023'; |
282 | | - |
283 | | - // Class 55 - Object Not In Prerequisite State |
284 | | - const OBJECT_NOT_IN_PREREQUISITE_STATE = '55000'; |
285 | | - const OBJECT_IN_USE = '55006'; |
286 | | - const CANT_CHANGE_RUNTIME_PARAM = '55P02'; |
287 | | - const LOCK_NOT_AVAILABLE = '55P03'; |
288 | | - const UNSAFE_NEW_ENUM_VALUE_USAGE = '55P04'; |
289 | | - |
290 | | - // Class 57 - Operator Intervention |
291 | | - const OPERATOR_INTERVENTION = '57000'; |
292 | | - const QUERY_CANCELED = '57014'; |
293 | | - const ADMIN_SHUTDOWN = '57P01'; |
294 | | - const CRASH_SHUTDOWN = '57P02'; |
295 | | - const CANNOT_CONNECT_NOW = '57P03'; |
296 | | - const DATABASE_DROPPED = '57P04'; |
297 | | - const IDLE_SESSION_TIMEOUT = '57P05'; |
298 | | - |
299 | | - // Class 58 - System Error (errors external to PostgreSQL itself) |
300 | | - const SYSTEM_ERROR = '58000'; |
301 | | - const IO_ERROR = '58030'; |
302 | | - const UNDEFINED_FILE = '58P01'; |
303 | | - const DUPLICATE_FILE = '58P02'; |
304 | | - |
305 | | - // Class 72 - Snapshot Failure |
306 | | - const SNAPSHOT_TOO_OLD = '72000'; |
307 | | - |
308 | | - // Class F0 - Configuration File Error |
309 | | - const CONFIG_FILE_ERROR = 'F0000'; |
310 | | - const LOCK_FILE_EXISTS = 'F0001'; |
311 | | - |
312 | | - // Class HV - Foreign Data Wrapper Error (SQL/MED) |
313 | | - const FDW_ERROR = 'HV000'; |
314 | | - const FDW_COLUMN_NAME_NOT_FOUND = 'HV005'; |
315 | | - const FDW_DYNAMIC_PARAMETER_VALUE_NEEDED = 'HV002'; |
316 | | - const FDW_FUNCTION_SEQUENCE_ERROR = 'HV010'; |
317 | | - const FDW_INCONSISTENT_DESCRIPTOR_INFORMATION = 'HV021'; |
318 | | - const FDW_INVALID_ATTRIBUTE_VALUE = 'HV024'; |
319 | | - const FDW_INVALID_COLUMN_NAME = 'HV007'; |
320 | | - const FDW_INVALID_COLUMN_NUMBER = 'HV008'; |
321 | | - const FDW_INVALID_DATA_TYPE = 'HV004'; |
322 | | - const FDW_INVALID_DATA_TYPE_DESCRIPTORS = 'HV006'; |
323 | | - const FDW_INVALID_DESCRIPTOR_FIELD_IDENTIFIER = 'HV091'; |
324 | | - const FDW_INVALID_HANDLE = 'HV00B'; |
325 | | - const FDW_INVALID_OPTION_INDEX = 'HV00C'; |
326 | | - const FDW_INVALID_OPTION_NAME = 'HV00D'; |
327 | | - const FDW_INVALID_STRING_LENGTH_OR_BUFFER_LENGTH = 'HV090'; |
328 | | - const FDW_INVALID_STRING_FORMAT = 'HV00A'; |
329 | | - const FDW_INVALID_USE_OF_NULL_POINTER = 'HV009'; |
330 | | - const FDW_TOO_MANY_HANDLES = 'HV014'; |
331 | | - const FDW_OUT_OF_MEMORY = 'HV001'; |
332 | | - const FDW_NO_SCHEMAS = 'HV00P'; |
333 | | - const FDW_OPTION_NAME_NOT_FOUND = 'HV00J'; |
334 | | - const FDW_REPLY_HANDLE = 'HV00K'; |
335 | | - const FDW_SCHEMA_NOT_FOUND = 'HV00Q'; |
336 | | - const FDW_TABLE_NOT_FOUND = 'HV00R'; |
337 | | - const FDW_UNABLE_TO_CREATE_EXECUTION = 'HV00L'; |
338 | | - const FDW_UNABLE_TO_CREATE_REPLY = 'HV00M'; |
339 | | - const FDW_UNABLE_TO_ESTABLISH_CONNECTION = 'HV00N'; |
340 | | - |
341 | | - // Class P0 - PL/pgSQL Error |
342 | | - const PLPGSQL_ERROR = 'P0000'; |
343 | | - const RAISE_EXCEPTION = 'P0001'; |
344 | | - const NO_DATA_FOUND = 'P0002'; |
345 | | - const TOO_MANY_ROWS = 'P0003'; |
346 | | - const ASSERT_FAILURE = 'P0004'; |
347 | | - |
348 | | - // Class XX - Internal Error |
349 | | - const INTERNAL_ERROR = 'XX000'; |
350 | | - const DATA_CORRUPTED = 'XX001'; |
351 | | - const INDEX_CORRUPTED = 'XX002'; |
352 | 8 | } |
0 commit comments