Skip to content

Commit b93a081

Browse files
committed
🎉 Add initial implementation
1 parent 72f1a1f commit b93a081

File tree

2 files changed

+658
-0
lines changed

2 files changed

+658
-0
lines changed

‎index.js

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

0 commit comments

Comments
 (0)