/Users/deen/code/yugabyte-db/src/yb/util/yb_pg_errcodes.h
Line | Count | Source |
1 | | // Copyright (c) YugaByte, Inc. |
2 | | // |
3 | | // Licensed under the Apache License, Version 2.0 (the "License"), you may not use this file except |
4 | | // in compliance with the License. You may obtain a copy of the License at |
5 | | // |
6 | | // http://www.apache.org/licenses/LICENSE-2.0 |
7 | | // |
8 | | // Unless required by applicable law or agreed to in writing, software distributed under the License |
9 | | // is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express |
10 | | // or implied. See the License for the specific language governing permissions and limitations |
11 | | // under the License. |
12 | | // |
13 | | // Portions Copyright (c) 1996-2018, PostgreSQL Global Development Group |
14 | | // Portions Copyright (c) 1994, Regents of the University of California |
15 | | |
16 | | #ifndef YB_UTIL_YB_PG_ERRCODES_H |
17 | | #define YB_UTIL_YB_PG_ERRCODES_H |
18 | | |
19 | | #include <string> |
20 | | |
21 | | /* These macro definitions have been taken from elog.h */ |
22 | | #define YB_PGSIXBIT(ch) (((ch) - '0') & 0x3F) |
23 | | |
24 | | #define YB_PG_MAKE_SQLSTATE(ch1, ch2, ch3, ch4, ch5) \ |
25 | | (YB_PGSIXBIT(ch1) + (YB_PGSIXBIT(ch2) << 6) + (YB_PGSIXBIT(ch3) << 12) + \ |
26 | | (YB_PGSIXBIT(ch4) << 18) + (YB_PGSIXBIT(ch5) << 24)) |
27 | | |
28 | | /* The actual PostgreSQL error codes have been taken from the generated errcodes.h file. */ |
29 | | namespace yb { |
30 | | |
31 | | enum class YBPgErrorCode : uint32_t { |
32 | | /* Class 00 - Successful Completion */ |
33 | | YB_PG_SUCCESSFUL_COMPLETION = YB_PG_MAKE_SQLSTATE('0', '0', '0', '0', '0'), |
34 | | |
35 | | /* Class 01 - Warning */ |
36 | | YB_PG_WARNING = YB_PG_MAKE_SQLSTATE('0', '1', '0', '0', '0'), |
37 | | YB_PG_WARNING_DYNAMIC_RESULT_SETS_RETURNED = YB_PG_MAKE_SQLSTATE('0', '1', '0', '0', 'C'), |
38 | | YB_PG_WARNING_IMPLICIT_ZERO_BIT_PADDING = YB_PG_MAKE_SQLSTATE('0', '1', '0', '0', '8'), |
39 | | YB_PG_WARNING_NULL_VALUE_ELIMINATED_IN_SET_FUNCTION = |
40 | | YB_PG_MAKE_SQLSTATE('0', '1', '0', '0', '3'), |
41 | | YB_PG_WARNING_PRIVILEGE_NOT_GRANTED = YB_PG_MAKE_SQLSTATE('0', '1', '0', '0', '7'), |
42 | | YB_PG_WARNING_PRIVILEGE_NOT_REVOKED = YB_PG_MAKE_SQLSTATE('0', '1', '0', '0', '6'), |
43 | | YB_PG_WARNING_STRING_DATA_RIGHT_TRUNCATION = YB_PG_MAKE_SQLSTATE('0', '1', '0', '0', '4'), |
44 | | YB_PG_WARNING_DEPRECATED_FEATURE = YB_PG_MAKE_SQLSTATE('0', '1', 'P', '0', '1'), |
45 | | |
46 | | /* Class 02 - No Data (this is also a warning class per the SQL standard) */ |
47 | | YB_PG_NO_DATA = YB_PG_MAKE_SQLSTATE('0', '2', '0', '0', '0'), |
48 | | YB_PG_NO_ADDITIONAL_DYNAMIC_RESULT_SETS_RETURNED = YB_PG_MAKE_SQLSTATE('0', '2', '0', '0', '1'), |
49 | | |
50 | | /* Class 03 - SQL Statement Not Yet Complete */ |
51 | | YB_PG_SQL_STATEMENT_NOT_YET_COMPLETE = YB_PG_MAKE_SQLSTATE('0', '3', '0', '0', '0'), |
52 | | |
53 | | /* Class 08 - Connection Exception */ |
54 | | YB_PG_CONNECTION_EXCEPTION = YB_PG_MAKE_SQLSTATE('0', '8', '0', '0', '0'), |
55 | | YB_PG_CONNECTION_DOES_NOT_EXIST = YB_PG_MAKE_SQLSTATE('0', '8', '0', '0', '3'), |
56 | | YB_PG_CONNECTION_FAILURE = YB_PG_MAKE_SQLSTATE('0', '8', '0', '0', '6'), |
57 | | YB_PG_SQLCLIENT_UNABLE_TO_ESTABLISH_SQLCONNECTION = |
58 | | YB_PG_MAKE_SQLSTATE('0', '8', '0', '0', '1'), |
59 | | YB_PG_SQLSERVER_REJECTED_ESTABLISHMENT_OF_SQLCONNECTION = |
60 | | YB_PG_MAKE_SQLSTATE('0', '8', '0', '0', '4'), |
61 | | YB_PG_TRANSACTION_RESOLUTION_UNKNOWN = YB_PG_MAKE_SQLSTATE('0', '8', '0', '0', '7'), |
62 | | YB_PG_PROTOCOL_VIOLATION = YB_PG_MAKE_SQLSTATE('0', '8', 'P', '0', '1'), |
63 | | |
64 | | /* Class 09 - Triggered Action Exception */ |
65 | | YB_PG_TRIGGERED_ACTION_EXCEPTION = YB_PG_MAKE_SQLSTATE('0', '9', '0', '0', '0'), |
66 | | |
67 | | /* Class 0A - Feature Not Supported */ |
68 | | YB_PG_FEATURE_NOT_SUPPORTED = YB_PG_MAKE_SQLSTATE('0', 'A', '0', '0', '0'), |
69 | | |
70 | | /* Class 0B - Invalid Transaction Initiation */ |
71 | | YB_PG_INVALID_TRANSACTION_INITIATION = YB_PG_MAKE_SQLSTATE('0', 'B', '0', '0', '0'), |
72 | | |
73 | | /* Class 0F - Locator Exception */ |
74 | | YB_PG_LOCATOR_EXCEPTION = YB_PG_MAKE_SQLSTATE('0', 'F', '0', '0', '0'), |
75 | | YB_PG_L_E_INVALID_SPECIFICATION = YB_PG_MAKE_SQLSTATE('0', 'F', '0', '0', '1'), |
76 | | |
77 | | /* Class 0L - Invalid Grantor */ |
78 | | YB_PG_INVALID_GRANTOR = YB_PG_MAKE_SQLSTATE('0', 'L', '0', '0', '0'), |
79 | | YB_PG_INVALID_GRANT_OPERATION = YB_PG_MAKE_SQLSTATE('0', 'L', 'P', '0', '1'), |
80 | | |
81 | | /* Class 0P - Invalid Role Specification */ |
82 | | YB_PG_INVALID_ROLE_SPECIFICATION = YB_PG_MAKE_SQLSTATE('0', 'P', '0', '0', '0'), |
83 | | |
84 | | /* Class 0Z - Diagnostics Exception */ |
85 | | YB_PG_DIAGNOSTICS_EXCEPTION = YB_PG_MAKE_SQLSTATE('0', 'Z', '0', '0', '0'), |
86 | | YB_PG_STACKED_DIAGNOSTICS_ACCESSED_WITHOUT_ACTIVE_HANDLER = |
87 | | YB_PG_MAKE_SQLSTATE('0', 'Z', '0', '0', '2'), |
88 | | |
89 | | /* Class 20 - Case Not Found */ |
90 | | YB_PG_CASE_NOT_FOUND = YB_PG_MAKE_SQLSTATE('2', '0', '0', '0', '0'), |
91 | | |
92 | | /* Class 21 - Cardinality Violation */ |
93 | | YB_PG_CARDINALITY_VIOLATION = YB_PG_MAKE_SQLSTATE('2', '1', '0', '0', '0'), |
94 | | |
95 | | /* Class 22 - Data Exception */ |
96 | | YB_PG_DATA_EXCEPTION = YB_PG_MAKE_SQLSTATE('2', '2', '0', '0', '0'), |
97 | | YB_PG_ARRAY_ELEMENT_ERROR = YB_PG_MAKE_SQLSTATE('2', '2', '0', '2', 'E'), |
98 | | YB_PG_ARRAY_SUBSCRIPT_ERROR = YB_PG_MAKE_SQLSTATE('2', '2', '0', '2', 'E'), |
99 | | YB_PG_CHARACTER_NOT_IN_REPERTOIRE = YB_PG_MAKE_SQLSTATE('2', '2', '0', '2', '1'), |
100 | | YB_PG_DATETIME_FIELD_OVERFLOW = YB_PG_MAKE_SQLSTATE('2', '2', '0', '0', '8'), |
101 | | YB_PG_DATETIME_VALUE_OUT_OF_RANGE = YB_PG_MAKE_SQLSTATE('2', '2', '0', '0', '8'), |
102 | | YB_PG_DIVISION_BY_ZERO = YB_PG_MAKE_SQLSTATE('2', '2', '0', '1', '2'), |
103 | | YB_PG_ERROR_IN_ASSIGNMENT = YB_PG_MAKE_SQLSTATE('2', '2', '0', '0', '5'), |
104 | | YB_PG_ESCAPE_CHARACTER_CONFLICT = YB_PG_MAKE_SQLSTATE('2', '2', '0', '0', 'B'), |
105 | | YB_PG_INDICATOR_OVERFLOW = YB_PG_MAKE_SQLSTATE('2', '2', '0', '2', '2'), |
106 | | YB_PG_INTERVAL_FIELD_OVERFLOW = YB_PG_MAKE_SQLSTATE('2', '2', '0', '1', '5'), |
107 | | YB_PG_INVALID_ARGUMENT_FOR_LOG = YB_PG_MAKE_SQLSTATE('2', '2', '0', '1', 'E'), |
108 | | YB_PG_INVALID_ARGUMENT_FOR_NTILE = YB_PG_MAKE_SQLSTATE('2', '2', '0', '1', '4'), |
109 | | YB_PG_INVALID_ARGUMENT_FOR_NTH_VALUE = YB_PG_MAKE_SQLSTATE('2', '2', '0', '1', '6'), |
110 | | YB_PG_INVALID_ARGUMENT_FOR_POWER_FUNCTION = YB_PG_MAKE_SQLSTATE('2', '2', '0', '1', 'F'), |
111 | | YB_PG_INVALID_ARGUMENT_FOR_WIDTH_BUCKET_FUNCTION = YB_PG_MAKE_SQLSTATE('2', '2', '0', '1', 'G'), |
112 | | YB_PG_INVALID_CHARACTER_VALUE_FOR_CAST = YB_PG_MAKE_SQLSTATE('2', '2', '0', '1', '8'), |
113 | | YB_PG_INVALID_DATETIME_FORMAT = YB_PG_MAKE_SQLSTATE('2', '2', '0', '0', '7'), |
114 | | YB_PG_INVALID_ESCAPE_CHARACTER = YB_PG_MAKE_SQLSTATE('2', '2', '0', '1', '9'), |
115 | | YB_PG_INVALID_ESCAPE_OCTET = YB_PG_MAKE_SQLSTATE('2', '2', '0', '0', 'D'), |
116 | | YB_PG_INVALID_ESCAPE_SEQUENCE = YB_PG_MAKE_SQLSTATE('2', '2', '0', '2', '5'), |
117 | | YB_PG_NONSTANDARD_USE_OF_ESCAPE_CHARACTER = YB_PG_MAKE_SQLSTATE('2', '2', 'P', '0', '6'), |
118 | | YB_PG_INVALID_INDICATOR_PARAMETER_VALUE = YB_PG_MAKE_SQLSTATE('2', '2', '0', '1', '0'), |
119 | | YB_PG_INVALID_PARAMETER_VALUE = YB_PG_MAKE_SQLSTATE('2', '2', '0', '2', '3'), |
120 | | YB_PG_INVALID_PRECEDING_OR_FOLLOWING_SIZE = YB_PG_MAKE_SQLSTATE('2', '2', '0', '1', '3'), |
121 | | YB_PG_INVALID_REGULAR_EXPRESSION = YB_PG_MAKE_SQLSTATE('2', '2', '0', '1', 'B'), |
122 | | YB_PG_INVALID_ROW_COUNT_IN_LIMIT_CLAUSE = YB_PG_MAKE_SQLSTATE('2', '2', '0', '1', 'W'), |
123 | | YB_PG_INVALID_ROW_COUNT_IN_RESULT_OFFSET_CLAUSE = YB_PG_MAKE_SQLSTATE('2', '2', '0', '1', 'X'), |
124 | | YB_PG_INVALID_TABLESAMPLE_ARGUMENT = YB_PG_MAKE_SQLSTATE('2', '2', '0', '2', 'H'), |
125 | | YB_PG_INVALID_TABLESAMPLE_REPEAT = YB_PG_MAKE_SQLSTATE('2', '2', '0', '2', 'G'), |
126 | | YB_PG_INVALID_TIME_ZONE_DISPLACEMENT_VALUE = YB_PG_MAKE_SQLSTATE('2', '2', '0', '0', '9'), |
127 | | YB_PG_INVALID_USE_OF_ESCAPE_CHARACTER = YB_PG_MAKE_SQLSTATE('2', '2', '0', '0', 'C'), |
128 | | YB_PG_MOST_SPECIFIC_TYPE_MISMATCH = YB_PG_MAKE_SQLSTATE('2', '2', '0', '0', 'G'), |
129 | | YB_PG_NULL_VALUE_NOT_ALLOWED = YB_PG_MAKE_SQLSTATE('2', '2', '0', '0', '4'), |
130 | | YB_PG_NULL_VALUE_NO_INDICATOR_PARAMETER = YB_PG_MAKE_SQLSTATE('2', '2', '0', '0', '2'), |
131 | | YB_PG_NUMERIC_VALUE_OUT_OF_RANGE = YB_PG_MAKE_SQLSTATE('2', '2', '0', '0', '3'), |
132 | | YB_PG_SEQUENCE_GENERATOR_LIMIT_EXCEEDED = YB_PG_MAKE_SQLSTATE('2', '2', '0', '0', 'H'), |
133 | | YB_PG_STRING_DATA_LENGTH_MISMATCH = YB_PG_MAKE_SQLSTATE('2', '2', '0', '2', '6'), |
134 | | YB_PG_STRING_DATA_RIGHT_TRUNCATION = YB_PG_MAKE_SQLSTATE('2', '2', '0', '0', '1'), |
135 | | YB_PG_SUBSTRING_ERROR = YB_PG_MAKE_SQLSTATE('2', '2', '0', '1', '1'), |
136 | | YB_PG_TRIM_ERROR = YB_PG_MAKE_SQLSTATE('2', '2', '0', '2', '7'), |
137 | | YB_PG_UNTERMINATED_C_STRING = YB_PG_MAKE_SQLSTATE('2', '2', '0', '2', '4'), |
138 | | YB_PG_ZERO_LENGTH_CHARACTER_STRING = YB_PG_MAKE_SQLSTATE('2', '2', '0', '0', 'F'), |
139 | | YB_PG_FLOATING_POINT_EXCEPTION = YB_PG_MAKE_SQLSTATE('2', '2', 'P', '0', '1'), |
140 | | YB_PG_INVALID_TEXT_REPRESENTATION = YB_PG_MAKE_SQLSTATE('2', '2', 'P', '0', '2'), |
141 | | YB_PG_INVALID_BINARY_REPRESENTATION = YB_PG_MAKE_SQLSTATE('2', '2', 'P', '0', '3'), |
142 | | YB_PG_BAD_COPY_FILE_FORMAT = YB_PG_MAKE_SQLSTATE('2', '2', 'P', '0', '4'), |
143 | | YB_PG_UNTRANSLATABLE_CHARACTER = YB_PG_MAKE_SQLSTATE('2', '2', 'P', '0', '5'), |
144 | | YB_PG_NOT_AN_XML_DOCUMENT = YB_PG_MAKE_SQLSTATE('2', '2', '0', '0', 'L'), |
145 | | YB_PG_INVALID_XML_DOCUMENT = YB_PG_MAKE_SQLSTATE('2', '2', '0', '0', 'M'), |
146 | | YB_PG_INVALID_XML_CONTENT = YB_PG_MAKE_SQLSTATE('2', '2', '0', '0', 'N'), |
147 | | YB_PG_INVALID_XML_COMMENT = YB_PG_MAKE_SQLSTATE('2', '2', '0', '0', 'S'), |
148 | | YB_PG_INVALID_XML_PROCESSING_INSTRUCTION = YB_PG_MAKE_SQLSTATE('2', '2', '0', '0', 'T'), |
149 | | |
150 | | /* Class 23 - Integrity Constraint Violation */ |
151 | | YB_PG_INTEGRITY_CONSTRAINT_VIOLATION = YB_PG_MAKE_SQLSTATE('2', '3', '0', '0', '0'), |
152 | | YB_PG_RESTRICT_VIOLATION = YB_PG_MAKE_SQLSTATE('2', '3', '0', '0', '1'), |
153 | | YB_PG_NOT_NULL_VIOLATION = YB_PG_MAKE_SQLSTATE('2', '3', '5', '0', '2'), |
154 | | YB_PG_FOREIGN_KEY_VIOLATION = YB_PG_MAKE_SQLSTATE('2', '3', '5', '0', '3'), |
155 | | YB_PG_UNIQUE_VIOLATION = YB_PG_MAKE_SQLSTATE('2', '3', '5', '0', '5'), |
156 | | YB_PG_CHECK_VIOLATION = YB_PG_MAKE_SQLSTATE('2', '3', '5', '1', '4'), |
157 | | YB_PG_EXCLUSION_VIOLATION = YB_PG_MAKE_SQLSTATE('2', '3', 'P', '0', '1'), |
158 | | |
159 | | /* Class 24 - Invalid Cursor State */ |
160 | | YB_PG_INVALID_CURSOR_STATE = YB_PG_MAKE_SQLSTATE('2', '4', '0', '0', '0'), |
161 | | |
162 | | /* Class 25 - Invalid Transaction State */ |
163 | | YB_PG_INVALID_TRANSACTION_STATE = YB_PG_MAKE_SQLSTATE('2', '5', '0', '0', '0'), |
164 | | YB_PG_ACTIVE_SQL_TRANSACTION = YB_PG_MAKE_SQLSTATE('2', '5', '0', '0', '1'), |
165 | | YB_PG_BRANCH_TRANSACTION_ALREADY_ACTIVE = YB_PG_MAKE_SQLSTATE('2', '5', '0', '0', '2'), |
166 | | YB_PG_HELD_CURSOR_REQUIRES_SAME_ISOLATION_LEVEL = |
167 | | YB_PG_MAKE_SQLSTATE('2', '5', '0', '0', '8'), |
168 | | YB_PG_INAPPROPRIATE_ACCESS_MODE_FOR_BRANCH_TRANSACTION = |
169 | | YB_PG_MAKE_SQLSTATE('2', '5', '0', '0', '3'), |
170 | | YB_PG_INAPPROPRIATE_ISOLATION_LEVEL_FOR_BRANCH_TRANSACTION = |
171 | | YB_PG_MAKE_SQLSTATE('2', '5', '0', '0', '4'), |
172 | | YB_PG_NO_ACTIVE_SQL_TRANSACTION_FOR_BRANCH_TRANSACTION = |
173 | | YB_PG_MAKE_SQLSTATE('2', '5', '0', '0', '5'), |
174 | | YB_PG_READ_ONLY_SQL_TRANSACTION = YB_PG_MAKE_SQLSTATE('2', '5', '0', '0', '6'), |
175 | | YB_PG_SCHEMA_AND_DATA_STATEMENT_MIXING_NOT_SUPPORTED = |
176 | | YB_PG_MAKE_SQLSTATE('2', '5', '0', '0', '7'), |
177 | | YB_PG_NO_ACTIVE_SQL_TRANSACTION = YB_PG_MAKE_SQLSTATE('2', '5', 'P', '0', '1'), |
178 | | YB_PG_IN_FAILED_SQL_TRANSACTION = YB_PG_MAKE_SQLSTATE('2', '5', 'P', '0', '2'), |
179 | | YB_PG_IDLE_IN_TRANSACTION_SESSION_TIMEOUT = YB_PG_MAKE_SQLSTATE('2', '5', 'P', '0', '3'), |
180 | | |
181 | | /* Class 26 - Invalid SQL Statement Name */ |
182 | | YB_PG_INVALID_SQL_STATEMENT_NAME = YB_PG_MAKE_SQLSTATE('2', '6', '0', '0', '0'), |
183 | | |
184 | | /* Class 27 - Triggered Data Change Violation */ |
185 | | YB_PG_TRIGGERED_DATA_CHANGE_VIOLATION = YB_PG_MAKE_SQLSTATE('2', '7', '0', '0', '0'), |
186 | | |
187 | | /* Class 28 - Invalid Authorization Specification */ |
188 | | YB_PG_INVALID_AUTHORIZATION_SPECIFICATION = YB_PG_MAKE_SQLSTATE('2', '8', '0', '0', '0'), |
189 | | YB_PG_INVALID_PASSWORD = YB_PG_MAKE_SQLSTATE('2', '8', 'P', '0', '1'), |
190 | | |
191 | | /* Class 2B - Dependent Privilege Descriptors Still Exist */ |
192 | | YB_PG_DEPENDENT_PRIVILEGE_DESCRIPTORS_STILL_EXIST = |
193 | | YB_PG_MAKE_SQLSTATE('2', 'B', '0', '0', '0'), |
194 | | YB_PG_DEPENDENT_OBJECTS_STILL_EXIST = YB_PG_MAKE_SQLSTATE('2', 'B', 'P', '0', '1'), |
195 | | |
196 | | /* Class 2D - Invalid Transaction Termination */ |
197 | | YB_PG_INVALID_TRANSACTION_TERMINATION = YB_PG_MAKE_SQLSTATE('2', 'D', '0', '0', '0'), |
198 | | |
199 | | /* Class 2F - SQL Routine Exception */ |
200 | | YB_PG_SQL_ROUTINE_EXCEPTION = YB_PG_MAKE_SQLSTATE('2', 'F', '0', '0', '0'), |
201 | | YB_PG_S_R_E_FUNCTION_EXECUTED_NO_RETURN_STATEMENT = |
202 | | YB_PG_MAKE_SQLSTATE('2', 'F', '0', '0', '5'), |
203 | | YB_PG_S_R_E_MODIFYING_SQL_DATA_NOT_PERMITTED = YB_PG_MAKE_SQLSTATE('2', 'F', '0', '0', '2'), |
204 | | YB_PG_S_R_E_PROHIBITED_SQL_STATEMENT_ATTEMPTED = YB_PG_MAKE_SQLSTATE('2', 'F', '0', '0', '3'), |
205 | | YB_PG_S_R_E_READING_SQL_DATA_NOT_PERMITTED = YB_PG_MAKE_SQLSTATE('2', 'F', '0', '0', '4'), |
206 | | |
207 | | /* Class 34 - Invalid Cursor Name */ |
208 | | YB_PG_INVALID_CURSOR_NAME = YB_PG_MAKE_SQLSTATE('3', '4', '0', '0', '0'), |
209 | | |
210 | | /* Class 38 - External Routine Exception */ |
211 | | YB_PG_EXTERNAL_ROUTINE_EXCEPTION = YB_PG_MAKE_SQLSTATE('3', '8', '0', '0', '0'), |
212 | | YB_PG_E_R_E_CONTAINING_SQL_NOT_PERMITTED = YB_PG_MAKE_SQLSTATE('3', '8', '0', '0', '1'), |
213 | | YB_PG_E_R_E_MODIFYING_SQL_DATA_NOT_PERMITTED = YB_PG_MAKE_SQLSTATE('3', '8', '0', '0', '2'), |
214 | | YB_PG_E_R_E_PROHIBITED_SQL_STATEMENT_ATTEMPTED = YB_PG_MAKE_SQLSTATE('3', '8', '0', '0', '3'), |
215 | | YB_PG_E_R_E_READING_SQL_DATA_NOT_PERMITTED = YB_PG_MAKE_SQLSTATE('3', '8', '0', '0', '4'), |
216 | | |
217 | | /* Class 39 - External Routine Invocation Exception */ |
218 | | YB_PG_EXTERNAL_ROUTINE_INVOCATION_EXCEPTION = YB_PG_MAKE_SQLSTATE('3', '9', '0', '0', '0'), |
219 | | YB_PG_E_R_I_E_INVALID_SQLSTATE_RETURNED = YB_PG_MAKE_SQLSTATE('3', '9', '0', '0', '1'), |
220 | | YB_PG_E_R_I_E_NULL_VALUE_NOT_ALLOWED = YB_PG_MAKE_SQLSTATE('3', '9', '0', '0', '4'), |
221 | | YB_PG_E_R_I_E_TRIGGER_PROTOCOL_VIOLATED = YB_PG_MAKE_SQLSTATE('3', '9', 'P', '0', '1'), |
222 | | YB_PG_E_R_I_E_SRF_PROTOCOL_VIOLATED = YB_PG_MAKE_SQLSTATE('3', '9', 'P', '0', '2'), |
223 | | YB_PG_E_R_I_E_EVENT_TRIGGER_PROTOCOL_VIOLATED = YB_PG_MAKE_SQLSTATE('3', '9', 'P', '0', '3'), |
224 | | |
225 | | /* Class 3B - Savepoint Exception */ |
226 | | YB_PG_SAVEPOINT_EXCEPTION = YB_PG_MAKE_SQLSTATE('3', 'B', '0', '0', '0'), |
227 | | YB_PG_S_E_INVALID_SPECIFICATION = YB_PG_MAKE_SQLSTATE('3', 'B', '0', '0', '1'), |
228 | | |
229 | | /* Class 3D - Invalid Catalog Name */ |
230 | | YB_PG_INVALID_CATALOG_NAME = YB_PG_MAKE_SQLSTATE('3', 'D', '0', '0', '0'), |
231 | | |
232 | | /* Class 3F - Invalid Schema Name */ |
233 | | YB_PG_INVALID_SCHEMA_NAME = YB_PG_MAKE_SQLSTATE('3', 'F', '0', '0', '0'), |
234 | | |
235 | | /* Class 40 - Transaction Rollback */ |
236 | | YB_PG_TRANSACTION_ROLLBACK = YB_PG_MAKE_SQLSTATE('4', '0', '0', '0', '0'), |
237 | | YB_PG_T_R_INTEGRITY_CONSTRAINT_VIOLATION = YB_PG_MAKE_SQLSTATE('4', '0', '0', '0', '2'), |
238 | | YB_PG_T_R_SERIALIZATION_FAILURE = YB_PG_MAKE_SQLSTATE('4', '0', '0', '0', '1'), |
239 | | YB_PG_T_R_STATEMENT_COMPLETION_UNKNOWN = YB_PG_MAKE_SQLSTATE('4', '0', '0', '0', '3'), |
240 | | YB_PG_T_R_DEADLOCK_DETECTED = YB_PG_MAKE_SQLSTATE('4', '0', 'P', '0', '1'), |
241 | | |
242 | | /* Class 42 - Syntax Error or Access Rule Violation */ |
243 | | YB_PG_SYNTAX_ERROR_OR_ACCESS_RULE_VIOLATION = YB_PG_MAKE_SQLSTATE('4', '2', '0', '0', '0'), |
244 | | YB_PG_SYNTAX_ERROR = YB_PG_MAKE_SQLSTATE('4', '2', '6', '0', '1'), |
245 | | YB_PG_INSUFFICIENT_PRIVILEGE = YB_PG_MAKE_SQLSTATE('4', '2', '5', '0', '1'), |
246 | | YB_PG_CANNOT_COERCE = YB_PG_MAKE_SQLSTATE('4', '2', '8', '4', '6'), |
247 | | YB_PG_GROUPING_ERROR = YB_PG_MAKE_SQLSTATE('4', '2', '8', '0', '3'), |
248 | | YB_PG_WINDOWING_ERROR = YB_PG_MAKE_SQLSTATE('4', '2', 'P', '2', '0'), |
249 | | YB_PG_INVALID_RECURSION = YB_PG_MAKE_SQLSTATE('4', '2', 'P', '1', '9'), |
250 | | YB_PG_INVALID_FOREIGN_KEY = YB_PG_MAKE_SQLSTATE('4', '2', '8', '3', '0'), |
251 | | YB_PG_INVALID_NAME = YB_PG_MAKE_SQLSTATE('4', '2', '6', '0', '2'), |
252 | | YB_PG_NAME_TOO_LONG = YB_PG_MAKE_SQLSTATE('4', '2', '6', '2', '2'), |
253 | | YB_PG_RESERVED_NAME = YB_PG_MAKE_SQLSTATE('4', '2', '9', '3', '9'), |
254 | | YB_PG_DATATYPE_MISMATCH = YB_PG_MAKE_SQLSTATE('4', '2', '8', '0', '4'), |
255 | | YB_PG_INDETERMINATE_DATATYPE = YB_PG_MAKE_SQLSTATE('4', '2', 'P', '1', '8'), |
256 | | YB_PG_COLLATION_MISMATCH = YB_PG_MAKE_SQLSTATE('4', '2', 'P', '2', '1'), |
257 | | YB_PG_INDETERMINATE_COLLATION = YB_PG_MAKE_SQLSTATE('4', '2', 'P', '2', '2'), |
258 | | YB_PG_WRONG_OBJECT_TYPE = YB_PG_MAKE_SQLSTATE('4', '2', '8', '0', '9'), |
259 | | YB_PG_GENERATED_ALWAYS = YB_PG_MAKE_SQLSTATE('4', '2', '8', 'C', '9'), |
260 | | YB_PG_UNDEFINED_COLUMN = YB_PG_MAKE_SQLSTATE('4', '2', '7', '0', '3'), |
261 | | YB_PG_UNDEFINED_CURSOR = YB_PG_MAKE_SQLSTATE('3', '4', '0', '0', '0'), |
262 | | YB_PG_UNDEFINED_DATABASE = YB_PG_MAKE_SQLSTATE('3', 'D', '0', '0', '0'), |
263 | | YB_PG_UNDEFINED_FUNCTION = YB_PG_MAKE_SQLSTATE('4', '2', '8', '8', '3'), |
264 | | YB_PG_UNDEFINED_PSTATEMENT = YB_PG_MAKE_SQLSTATE('2', '6', '0', '0', '0'), |
265 | | YB_PG_UNDEFINED_SCHEMA = YB_PG_MAKE_SQLSTATE('3', 'F', '0', '0', '0'), |
266 | | YB_PG_UNDEFINED_TABLE = YB_PG_MAKE_SQLSTATE('4', '2', 'P', '0', '1'), |
267 | | YB_PG_UNDEFINED_PARAMETER = YB_PG_MAKE_SQLSTATE('4', '2', 'P', '0', '2'), |
268 | | YB_PG_UNDEFINED_OBJECT = YB_PG_MAKE_SQLSTATE('4', '2', '7', '0', '4'), |
269 | | YB_PG_DUPLICATE_COLUMN = YB_PG_MAKE_SQLSTATE('4', '2', '7', '0', '1'), |
270 | | YB_PG_DUPLICATE_CURSOR = YB_PG_MAKE_SQLSTATE('4', '2', 'P', '0', '3'), |
271 | | YB_PG_DUPLICATE_DATABASE = YB_PG_MAKE_SQLSTATE('4', '2', 'P', '0', '4'), |
272 | | YB_PG_DUPLICATE_FUNCTION = YB_PG_MAKE_SQLSTATE('4', '2', '7', '2', '3'), |
273 | | YB_PG_DUPLICATE_PSTATEMENT = YB_PG_MAKE_SQLSTATE('4', '2', 'P', '0', '5'), |
274 | | YB_PG_DUPLICATE_SCHEMA = YB_PG_MAKE_SQLSTATE('4', '2', 'P', '0', '6'), |
275 | | YB_PG_DUPLICATE_TABLE = YB_PG_MAKE_SQLSTATE('4', '2', 'P', '0', '7'), |
276 | | YB_PG_DUPLICATE_ALIAS = YB_PG_MAKE_SQLSTATE('4', '2', '7', '1', '2'), |
277 | | YB_PG_DUPLICATE_OBJECT = YB_PG_MAKE_SQLSTATE('4', '2', '7', '1', '0'), |
278 | | YB_PG_AMBIGUOUS_COLUMN = YB_PG_MAKE_SQLSTATE('4', '2', '7', '0', '2'), |
279 | | YB_PG_AMBIGUOUS_FUNCTION = YB_PG_MAKE_SQLSTATE('4', '2', '7', '2', '5'), |
280 | | YB_PG_AMBIGUOUS_PARAMETER = YB_PG_MAKE_SQLSTATE('4', '2', 'P', '0', '8'), |
281 | | YB_PG_AMBIGUOUS_ALIAS = YB_PG_MAKE_SQLSTATE('4', '2', 'P', '0', '9'), |
282 | | YB_PG_INVALID_COLUMN_REFERENCE = YB_PG_MAKE_SQLSTATE('4', '2', 'P', '1', '0'), |
283 | | YB_PG_INVALID_COLUMN_DEFINITION = YB_PG_MAKE_SQLSTATE('4', '2', '6', '1', '1'), |
284 | | YB_PG_INVALID_CURSOR_DEFINITION = YB_PG_MAKE_SQLSTATE('4', '2', 'P', '1', '1'), |
285 | | YB_PG_INVALID_DATABASE_DEFINITION = YB_PG_MAKE_SQLSTATE('4', '2', 'P', '1', '2'), |
286 | | YB_PG_INVALID_FUNCTION_DEFINITION = YB_PG_MAKE_SQLSTATE('4', '2', 'P', '1', '3'), |
287 | | YB_PG_INVALID_PSTATEMENT_DEFINITION = YB_PG_MAKE_SQLSTATE('4', '2', 'P', '1', '4'), |
288 | | YB_PG_INVALID_SCHEMA_DEFINITION = YB_PG_MAKE_SQLSTATE('4', '2', 'P', '1', '5'), |
289 | | YB_PG_INVALID_TABLE_DEFINITION = YB_PG_MAKE_SQLSTATE('4', '2', 'P', '1', '6'), |
290 | | YB_PG_INVALID_OBJECT_DEFINITION = YB_PG_MAKE_SQLSTATE('4', '2', 'P', '1', '7'), |
291 | | |
292 | | /* Class 44 - WITH CHECK OPTION Violation */ |
293 | | YB_PG_WITH_CHECK_OPTION_VIOLATION = YB_PG_MAKE_SQLSTATE('4', '4', '0', '0', '0'), |
294 | | |
295 | | /* Class 53 - Insufficient Resources */ |
296 | | YB_PG_INSUFFICIENT_RESOURCES = YB_PG_MAKE_SQLSTATE('5', '3', '0', '0', '0'), |
297 | | YB_PG_DISK_FULL = YB_PG_MAKE_SQLSTATE('5', '3', '1', '0', '0'), |
298 | | YB_PG_OUT_OF_MEMORY = YB_PG_MAKE_SQLSTATE('5', '3', '2', '0', '0'), |
299 | | YB_PG_TOO_MANY_CONNECTIONS = YB_PG_MAKE_SQLSTATE('5', '3', '3', '0', '0'), |
300 | | YB_PG_CONFIGURATION_LIMIT_EXCEEDED = YB_PG_MAKE_SQLSTATE('5', '3', '4', '0', '0'), |
301 | | |
302 | | /* Class 54 - Program Limit Exceeded */ |
303 | | YB_PG_PROGRAM_LIMIT_EXCEEDED = YB_PG_MAKE_SQLSTATE('5', '4', '0', '0', '0'), |
304 | | YB_PG_STATEMENT_TOO_COMPLEX = YB_PG_MAKE_SQLSTATE('5', '4', '0', '0', '1'), |
305 | | YB_PG_TOO_MANY_COLUMNS = YB_PG_MAKE_SQLSTATE('5', '4', '0', '1', '1'), |
306 | | YB_PG_TOO_MANY_ARGUMENTS = YB_PG_MAKE_SQLSTATE('5', '4', '0', '2', '3'), |
307 | | |
308 | | /* Class 55 - Object Not In Prerequisite State */ |
309 | | YB_PG_OBJECT_NOT_IN_PREREQUISITE_STATE = YB_PG_MAKE_SQLSTATE('5', '5', '0', '0', '0'), |
310 | | YB_PG_OBJECT_IN_USE = YB_PG_MAKE_SQLSTATE('5', '5', '0', '0', '6'), |
311 | | YB_PG_CANT_CHANGE_RUNTIME_PARAM = YB_PG_MAKE_SQLSTATE('5', '5', 'P', '0', '2'), |
312 | | YB_PG_LOCK_NOT_AVAILABLE = YB_PG_MAKE_SQLSTATE('5', '5', 'P', '0', '3'), |
313 | | |
314 | | /* Class 57 - Operator Intervention */ |
315 | | YB_PG_OPERATOR_INTERVENTION = YB_PG_MAKE_SQLSTATE('5', '7', '0', '0', '0'), |
316 | | YB_PG_QUERY_CANCELED = YB_PG_MAKE_SQLSTATE('5', '7', '0', '1', '4'), |
317 | | YB_PG_ADMIN_SHUTDOWN = YB_PG_MAKE_SQLSTATE('5', '7', 'P', '0', '1'), |
318 | | YB_PG_CRASH_SHUTDOWN = YB_PG_MAKE_SQLSTATE('5', '7', 'P', '0', '2'), |
319 | | YB_PG_CANNOT_CONNECT_NOW = YB_PG_MAKE_SQLSTATE('5', '7', 'P', '0', '3'), |
320 | | YB_PG_DATABASE_DROPPED = YB_PG_MAKE_SQLSTATE('5', '7', 'P', '0', '4'), |
321 | | |
322 | | /* Class 58 - System Error (errors external to PostgreSQL itself) */ |
323 | | YB_PG_SYSTEM_ERROR = YB_PG_MAKE_SQLSTATE('5', '8', '0', '0', '0'), |
324 | | YB_PG_IO_ERROR = YB_PG_MAKE_SQLSTATE('5', '8', '0', '3', '0'), |
325 | | YB_PG_UNDEFINED_FILE = YB_PG_MAKE_SQLSTATE('5', '8', 'P', '0', '1'), |
326 | | YB_PG_DUPLICATE_FILE = YB_PG_MAKE_SQLSTATE('5', '8', 'P', '0', '2'), |
327 | | |
328 | | /* Class 72 - Snapshot Failure */ |
329 | | YB_PG_SNAPSHOT_TOO_OLD = YB_PG_MAKE_SQLSTATE('7', '2', '0', '0', '0'), |
330 | | |
331 | | /* Class F0 - Configuration File Error */ |
332 | | YB_PG_CONFIG_FILE_ERROR = YB_PG_MAKE_SQLSTATE('F', '0', '0', '0', '0'), |
333 | | YB_PG_LOCK_FILE_EXISTS = YB_PG_MAKE_SQLSTATE('F', '0', '0', '0', '1'), |
334 | | |
335 | | /* Class HV - Foreign Data Wrapper Error (SQL/MED) */ |
336 | | YB_PG_FDW_ERROR = YB_PG_MAKE_SQLSTATE('H', 'V', '0', '0', '0'), |
337 | | YB_PG_FDW_COLUMN_NAME_NOT_FOUND = YB_PG_MAKE_SQLSTATE('H', 'V', '0', '0', '5'), |
338 | | YB_PG_FDW_DYNAMIC_PARAMETER_VALUE_NEEDED = YB_PG_MAKE_SQLSTATE('H', 'V', '0', '0', '2'), |
339 | | YB_PG_FDW_FUNCTION_SEQUENCE_ERROR = YB_PG_MAKE_SQLSTATE('H', 'V', '0', '1', '0'), |
340 | | YB_PG_FDW_INCONSISTENT_DESCRIPTOR_INFORMATION = YB_PG_MAKE_SQLSTATE('H', 'V', '0', '2', '1'), |
341 | | YB_PG_FDW_INVALID_ATTRIBUTE_VALUE = YB_PG_MAKE_SQLSTATE('H', 'V', '0', '2', '4'), |
342 | | YB_PG_FDW_INVALID_COLUMN_NAME = YB_PG_MAKE_SQLSTATE('H', 'V', '0', '0', '7'), |
343 | | YB_PG_FDW_INVALID_COLUMN_NUMBER = YB_PG_MAKE_SQLSTATE('H', 'V', '0', '0', '8'), |
344 | | YB_PG_FDW_INVALID_DATA_TYPE = YB_PG_MAKE_SQLSTATE('H', 'V', '0', '0', '4'), |
345 | | YB_PG_FDW_INVALID_DATA_TYPE_DESCRIPTORS = YB_PG_MAKE_SQLSTATE('H', 'V', '0', '0', '6'), |
346 | | YB_PG_FDW_INVALID_DESCRIPTOR_FIELD_IDENTIFIER = YB_PG_MAKE_SQLSTATE('H', 'V', '0', '9', '1'), |
347 | | YB_PG_FDW_INVALID_HANDLE = YB_PG_MAKE_SQLSTATE('H', 'V', '0', '0', 'B'), |
348 | | YB_PG_FDW_INVALID_OPTION_INDEX = YB_PG_MAKE_SQLSTATE('H', 'V', '0', '0', 'C'), |
349 | | YB_PG_FDW_INVALID_OPTION_NAME = YB_PG_MAKE_SQLSTATE('H', 'V', '0', '0', 'D'), |
350 | | YB_PG_FDW_INVALID_STRING_LENGTH_OR_BUFFER_LENGTH = YB_PG_MAKE_SQLSTATE('H', 'V', '0', '9', '0'), |
351 | | YB_PG_FDW_INVALID_STRING_FORMAT = YB_PG_MAKE_SQLSTATE('H', 'V', '0', '0', 'A'), |
352 | | YB_PG_FDW_INVALID_USE_OF_NULL_POINTER = YB_PG_MAKE_SQLSTATE('H', 'V', '0', '0', '9'), |
353 | | YB_PG_FDW_TOO_MANY_HANDLES = YB_PG_MAKE_SQLSTATE('H', 'V', '0', '1', '4'), |
354 | | YB_PG_FDW_OUT_OF_MEMORY = YB_PG_MAKE_SQLSTATE('H', 'V', '0', '0', '1'), |
355 | | YB_PG_FDW_NO_SCHEMAS = YB_PG_MAKE_SQLSTATE('H', 'V', '0', '0', 'P'), |
356 | | YB_PG_FDW_OPTION_NAME_NOT_FOUND = YB_PG_MAKE_SQLSTATE('H', 'V', '0', '0', 'J'), |
357 | | YB_PG_FDW_REPLY_HANDLE = YB_PG_MAKE_SQLSTATE('H', 'V', '0', '0', 'K'), |
358 | | YB_PG_FDW_SCHEMA_NOT_FOUND = YB_PG_MAKE_SQLSTATE('H', 'V', '0', '0', 'Q'), |
359 | | YB_PG_FDW_TABLE_NOT_FOUND = YB_PG_MAKE_SQLSTATE('H', 'V', '0', '0', 'R'), |
360 | | YB_PG_FDW_UNABLE_TO_CREATE_EXECUTION = YB_PG_MAKE_SQLSTATE('H', 'V', '0', '0', 'L'), |
361 | | YB_PG_FDW_UNABLE_TO_CREATE_REPLY = YB_PG_MAKE_SQLSTATE('H', 'V', '0', '0', 'M'), |
362 | | YB_PG_FDW_UNABLE_TO_ESTABLISH_CONNECTION = YB_PG_MAKE_SQLSTATE('H', 'V', '0', '0', 'N'), |
363 | | |
364 | | /* Class P0 - PL/pgSQL Error */ |
365 | | YB_PG_PLPGSQL_ERROR = YB_PG_MAKE_SQLSTATE('P', '0', '0', '0', '0'), |
366 | | YB_PG_RAISE_EXCEPTION = YB_PG_MAKE_SQLSTATE('P', '0', '0', '0', '1'), |
367 | | YB_PG_NO_DATA_FOUND = YB_PG_MAKE_SQLSTATE('P', '0', '0', '0', '2'), |
368 | | YB_PG_TOO_MANY_ROWS = YB_PG_MAKE_SQLSTATE('P', '0', '0', '0', '3'), |
369 | | YB_PG_ASSERT_FAILURE = YB_PG_MAKE_SQLSTATE('P', '0', '0', '0', '4'), |
370 | | |
371 | | /* Class XX - Internal Error */ |
372 | | YB_PG_INTERNAL_ERROR = YB_PG_MAKE_SQLSTATE('X', 'X', '0', '0', '0'), |
373 | | YB_PG_DATA_CORRUPTED = YB_PG_MAKE_SQLSTATE('X', 'X', '0', '0', '1'), |
374 | | YB_PG_INDEX_CORRUPTED = YB_PG_MAKE_SQLSTATE('X', 'X', '0', '0', '2'), |
375 | | }; |
376 | | |
377 | | #undef YB_PG_MAKE_SQLSTATE |
378 | | #undef YB_PGSIXBIT |
379 | | |
380 | 323k | inline std::string ToString(YBPgErrorCode code) { |
381 | 323k | std::string result; |
382 | 323k | result.resize(5); |
383 | 323k | uint32_t u32_code = static_cast<uint32_t>(code); |
384 | 1.93M | for (int i = 0; i < 5; ++i) { |
385 | 1.61M | result[i] = '0' + ((u32_code >> (i * 6)) & 0x3f); |
386 | 1.61M | } |
387 | 323k | return result; |
388 | 323k | } |
389 | | |
390 | | } // namespace yb |
391 | | |
392 | | #endif // YB_UTIL_YB_PG_ERRCODES_H |