mysql/error/
mod.rs

1// Copyright (c) 2020 rust-mysql-simple contributors
2//
3// Licensed under the Apache License, Version 2.0
4// <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT
5// license <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
6// option. All files in the project carrying such notice may not be copied,
7// modified, or distributed except according to those terms.
8
9use mysql_common::{
10    named_params::MixedParamsError, packets, params::MissingNamedParameterError,
11    proto::codec::error::PacketCodecError, row::convert::FromRowError,
12    value::convert::FromValueError,
13};
14use url::ParseError;
15
16use std::{error, fmt, io, result, sync};
17
18use crate::{Row, Value};
19
20pub mod tls;
21
22impl<'a> From<packets::ServerError<'a>> for MySqlError {
23    fn from(x: packets::ServerError<'a>) -> MySqlError {
24        MySqlError {
25            state: x.sql_state_str().into_owned(),
26            code: x.error_code(),
27            message: x.message_str().into_owned(),
28        }
29    }
30}
31
32#[derive(Eq, PartialEq, Clone)]
33pub struct MySqlError {
34    pub state: String,
35    pub message: String,
36    pub code: u16,
37}
38
39impl fmt::Display for MySqlError {
40    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
41        write!(f, "ERROR {} ({}): {}", self.code, self.state, self.message)
42    }
43}
44
45impl fmt::Debug for MySqlError {
46    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
47        fmt::Display::fmt(self, f)
48    }
49}
50
51impl error::Error for MySqlError {
52    fn description(&self) -> &str {
53        "Error returned by a server"
54    }
55}
56
57pub enum Error {
58    IoError(io::Error),
59    CodecError(mysql_common::proto::codec::error::PacketCodecError),
60    MySqlError(MySqlError),
61    DriverError(DriverError),
62    UrlError(UrlError),
63    #[cfg(any(feature = "native-tls", feature = "rustls"))]
64    TlsError(tls::TlsError),
65    FromValueError(Value),
66    FromRowError(Row),
67}
68
69impl Error {
70    #[doc(hidden)]
71    pub fn is_connectivity_error(&self) -> bool {
72        match self {
73            #[cfg(any(feature = "native-tls", feature = "rustls"))]
74            Error::TlsError(_) => true,
75            Error::IoError(_) | Error::DriverError(_) | Error::CodecError(_) => true,
76            Error::MySqlError(_)
77            | Error::UrlError(_)
78            | Error::FromValueError(_)
79            | Error::FromRowError(_) => false,
80        }
81    }
82
83    #[doc(hidden)]
84    pub fn server_disconnected() -> Self {
85        Error::IoError(io::Error::new(
86            io::ErrorKind::BrokenPipe,
87            "server disconnected",
88        ))
89    }
90}
91
92impl error::Error for Error {
93    fn cause(&self) -> Option<&dyn error::Error> {
94        match *self {
95            Error::IoError(ref err) => Some(err),
96            Error::DriverError(ref err) => Some(err),
97            Error::MySqlError(ref err) => Some(err),
98            Error::UrlError(ref err) => Some(err),
99            #[cfg(any(feature = "native-tls", feature = "rustls"))]
100            Error::TlsError(ref err) => Some(err),
101            _ => None,
102        }
103    }
104}
105
106impl From<FromValueError> for Error {
107    fn from(FromValueError(value): FromValueError) -> Error {
108        Error::FromValueError(value)
109    }
110}
111
112impl From<FromRowError> for Error {
113    fn from(FromRowError(row): FromRowError) -> Error {
114        Error::FromRowError(row)
115    }
116}
117
118impl From<MissingNamedParameterError> for Error {
119    fn from(MissingNamedParameterError(name): MissingNamedParameterError) -> Error {
120        Error::DriverError(DriverError::MissingNamedParameter(
121            String::from_utf8_lossy(&name).into_owned(),
122        ))
123    }
124}
125
126impl From<MixedParamsError> for Error {
127    fn from(_: MixedParamsError) -> Error {
128        Error::DriverError(DriverError::MixedParams)
129    }
130}
131
132impl From<io::Error> for Error {
133    fn from(err: io::Error) -> Error {
134        Error::IoError(err)
135    }
136}
137
138impl From<DriverError> for Error {
139    fn from(err: DriverError) -> Error {
140        Error::DriverError(err)
141    }
142}
143
144impl From<MySqlError> for Error {
145    fn from(x: MySqlError) -> Error {
146        Error::MySqlError(x)
147    }
148}
149
150impl From<PacketCodecError> for Error {
151    fn from(err: PacketCodecError) -> Self {
152        Error::CodecError(err)
153    }
154}
155
156impl From<std::convert::Infallible> for Error {
157    fn from(err: std::convert::Infallible) -> Self {
158        match err {}
159    }
160}
161
162impl From<UrlError> for Error {
163    fn from(err: UrlError) -> Error {
164        Error::UrlError(err)
165    }
166}
167
168impl<T> From<sync::PoisonError<T>> for Error {
169    fn from(_: sync::PoisonError<T>) -> Error {
170        Error::DriverError(DriverError::PoisonedPoolMutex)
171    }
172}
173
174impl fmt::Display for Error {
175    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
176        match *self {
177            Error::IoError(ref err) => write!(f, "IoError {{ {} }}", err),
178            Error::CodecError(ref err) => write!(f, "CodecError {{ {} }}", err),
179            Error::MySqlError(ref err) => write!(f, "MySqlError {{ {} }}", err),
180            Error::DriverError(ref err) => write!(f, "DriverError {{ {} }}", err),
181            Error::UrlError(ref err) => write!(f, "UrlError {{ {} }}", err),
182            #[cfg(any(feature = "native-tls", feature = "rustls"))]
183            Error::TlsError(ref err) => write!(f, "TlsError {{ {} }}", err),
184            Error::FromRowError(_) => "from row conversion error".fmt(f),
185            Error::FromValueError(_) => "from value conversion error".fmt(f),
186        }
187    }
188}
189
190impl fmt::Debug for Error {
191    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
192        fmt::Display::fmt(self, f)
193    }
194}
195
196#[derive(Eq, PartialEq, Clone)]
197pub enum DriverError {
198    ConnectTimeout,
199    // (address, description)
200    CouldNotConnect(Option<(String, String, io::ErrorKind)>),
201    UnsupportedProtocol(u8),
202    PacketOutOfSync,
203    PacketTooLarge,
204    Protocol41NotSet,
205    UnexpectedPacket,
206    MismatchedStmtParams(u16, usize),
207    InvalidPoolConstraints,
208    SetupError,
209    TlsNotSupported,
210    CouldNotParseVersion,
211    ReadOnlyTransNotSupported,
212    PoisonedPoolMutex,
213    Timeout,
214    MissingNamedParameter(String),
215    NamedParamsForPositionalQuery,
216    MixedParams,
217    UnknownAuthPlugin(String),
218    OldMysqlPasswordDisabled,
219}
220
221impl error::Error for DriverError {
222    fn description(&self) -> &str {
223        "MySql driver error"
224    }
225}
226
227impl fmt::Display for DriverError {
228    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
229        match *self {
230            DriverError::ConnectTimeout => write!(f, "Could not connect: connection timeout"),
231            DriverError::CouldNotConnect(None) => {
232                write!(f, "Could not connect: address not specified")
233            }
234            DriverError::CouldNotConnect(Some((ref addr, ref desc, _))) => {
235                write!(f, "Could not connect to address `{}': {}", addr, desc)
236            }
237            DriverError::UnsupportedProtocol(proto_version) => {
238                write!(f, "Unsupported protocol version {}", proto_version)
239            }
240            DriverError::PacketOutOfSync => write!(f, "Packet out of sync"),
241            DriverError::PacketTooLarge => write!(f, "Packet too large"),
242            DriverError::Protocol41NotSet => write!(f, "Server must set CLIENT_PROTOCOL_41 flag"),
243            DriverError::UnexpectedPacket => write!(f, "Unexpected packet"),
244            DriverError::MismatchedStmtParams(exp, prov) => write!(
245                f,
246                "Statement takes {} parameters but {} was supplied",
247                exp, prov
248            ),
249            DriverError::InvalidPoolConstraints => write!(f, "Invalid pool constraints"),
250            DriverError::SetupError => write!(f, "Could not setup connection"),
251            DriverError::TlsNotSupported => write!(
252                f,
253                "Client requires secure connection but server \
254                 does not have this capability"
255            ),
256            DriverError::CouldNotParseVersion => write!(f, "Could not parse MySQL version"),
257            DriverError::ReadOnlyTransNotSupported => write!(
258                f,
259                "Read-only transactions does not supported in your MySQL version"
260            ),
261            DriverError::PoisonedPoolMutex => write!(f, "Poisoned pool mutex"),
262            DriverError::Timeout => write!(f, "Operation timed out"),
263            DriverError::MissingNamedParameter(ref name) => {
264                write!(f, "Missing named parameter `{}' for statement", name)
265            }
266            DriverError::NamedParamsForPositionalQuery => {
267                write!(f, "Can not pass named parameters to positional query")
268            }
269            DriverError::MixedParams => write!(
270                f,
271                "Can not mix named and positional parameters in one statement"
272            ),
273            DriverError::UnknownAuthPlugin(ref name) => {
274                write!(f, "Unknown authentication protocol: `{}`", name)
275            }
276            DriverError::OldMysqlPasswordDisabled => {
277                write!(
278                    f,
279                    "`old_mysql_password` plugin is insecure and disabled by default",
280                )
281            }
282        }
283    }
284}
285
286impl fmt::Debug for DriverError {
287    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
288        fmt::Display::fmt(self, f)
289    }
290}
291
292#[derive(Eq, PartialEq, Clone)]
293pub enum UrlError {
294    ParseError(ParseError),
295    UnsupportedScheme(String),
296    /// (feature_name, parameter_name)
297    FeatureRequired(String, String),
298    /// (feature_name, value)
299    InvalidValue(String, String),
300    UnknownParameter(String),
301    BadUrl,
302}
303
304impl error::Error for UrlError {
305    fn description(&self) -> &str {
306        "Database connection URL error"
307    }
308}
309
310impl fmt::Display for UrlError {
311    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
312        match *self {
313            UrlError::ParseError(ref err) => write!(f, "URL ParseError {{ {} }}", err),
314            UrlError::UnsupportedScheme(ref s) => write!(f, "URL scheme `{}' is not supported", s),
315            UrlError::FeatureRequired(ref feature, ref parameter) => write!(
316                f,
317                "Url parameter `{}' requires {} feature",
318                parameter, feature
319            ),
320            UrlError::InvalidValue(ref parameter, ref value) => write!(
321                f,
322                "Invalid value `{}' for URL parameter `{}'",
323                value, parameter
324            ),
325            UrlError::UnknownParameter(ref parameter) => {
326                write!(f, "Unknown URL parameter `{}'", parameter)
327            }
328            UrlError::BadUrl => write!(f, "Invalid or incomplete connection URL"),
329        }
330    }
331}
332
333impl fmt::Debug for UrlError {
334    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
335        fmt::Display::fmt(self, f)
336    }
337}
338
339impl From<ParseError> for UrlError {
340    fn from(x: ParseError) -> UrlError {
341        UrlError::ParseError(x)
342    }
343}
344
345pub type Result<T> = result::Result<T, Error>;
346
347/// Server error codes (u16)
348#[allow(non_camel_case_types)]
349#[derive(Clone, Eq, PartialEq, Debug, Copy)]
350#[repr(u16)]
351pub enum ServerError {
352    ER_HASHCHK = 1000u16,
353    ER_NISAMCHK = 1001u16,
354    ER_NO = 1002u16,
355    ER_YES = 1003u16,
356    ER_CANT_CREATE_FILE = 1004u16,
357    ER_CANT_CREATE_TABLE = 1005u16,
358    ER_CANT_CREATE_DB = 1006u16,
359    ER_DB_CREATE_EXISTS = 1007u16,
360    ER_DB_DROP_EXISTS = 1008u16,
361    ER_DB_DROP_DELETE = 1009u16,
362    ER_DB_DROP_RMDIR = 1010u16,
363    ER_CANT_DELETE_FILE = 1011u16,
364    ER_CANT_FIND_SYSTEM_REC = 1012u16,
365    ER_CANT_GET_STAT = 1013u16,
366    ER_CANT_GET_WD = 1014u16,
367    ER_CANT_LOCK = 1015u16,
368    ER_CANT_OPEN_FILE = 1016u16,
369    ER_FILE_NOT_FOUND = 1017u16,
370    ER_CANT_READ_DIR = 1018u16,
371    ER_CANT_SET_WD = 1019u16,
372    ER_CHECKREAD = 1020u16,
373    ER_DISK_FULL = 1021u16,
374    ER_DUP_KEY = 1022u16,
375    ER_ERROR_ON_CLOSE = 1023u16,
376    ER_ERROR_ON_READ = 1024u16,
377    ER_ERROR_ON_RENAME = 1025u16,
378    ER_ERROR_ON_WRITE = 1026u16,
379    ER_FILE_USED = 1027u16,
380    ER_FILSORT_ABORT = 1028u16,
381    ER_FORM_NOT_FOUND = 1029u16,
382    ER_GET_ERRNO = 1030u16,
383    ER_ILLEGAL_HA = 1031u16,
384    ER_KEY_NOT_FOUND = 1032u16,
385    ER_NOT_FORM_FILE = 1033u16,
386    ER_NOT_KEYFILE = 1034u16,
387    ER_OLD_KEYFILE = 1035u16,
388    ER_OPEN_AS_READONLY = 1036u16,
389    ER_OUTOFMEMORY = 1037u16,
390    ER_OUT_OF_SORTMEMORY = 1038u16,
391    ER_UNEXPECTED_EOF = 1039u16,
392    ER_CON_COUNT_ERROR = 1040u16,
393    ER_OUT_OF_RESOURCES = 1041u16,
394    ER_BAD_HOST_ERROR = 1042u16,
395    ER_HANDSHAKE_ERROR = 1043u16,
396    ER_DBACCESS_DENIED_ERROR = 1044u16,
397    ER_ACCESS_DENIED_ERROR = 1045u16,
398    ER_NO_DB_ERROR = 1046u16,
399    ER_UNKNOWN_COM_ERROR = 1047u16,
400    ER_BAD_NULL_ERROR = 1048u16,
401    ER_BAD_DB_ERROR = 1049u16,
402    ER_TABLE_EXISTS_ERROR = 1050u16,
403    ER_BAD_TABLE_ERROR = 1051u16,
404    ER_NON_UNIQ_ERROR = 1052u16,
405    ER_SERVER_SHUTDOWN = 1053u16,
406    ER_BAD_FIELD_ERROR = 1054u16,
407    ER_WRONG_FIELD_WITH_GROUP = 1055u16,
408    ER_WRONG_GROUP_FIELD = 1056u16,
409    ER_WRONG_SUM_SELECT = 1057u16,
410    ER_WRONG_VALUE_COUNT = 1058u16,
411    ER_TOO_LONG_IDENT = 1059u16,
412    ER_DUP_FIELDNAME = 1060u16,
413    ER_DUP_KEYNAME = 1061u16,
414    ER_DUP_ENTRY = 1062u16,
415    ER_WRONG_FIELD_SPEC = 1063u16,
416    ER_PARSE_ERROR = 1064u16,
417    ER_EMPTY_QUERY = 1065u16,
418    ER_NONUNIQ_TABLE = 1066u16,
419    ER_INVALID_DEFAULT = 1067u16,
420    ER_MULTIPLE_PRI_KEY = 1068u16,
421    ER_TOO_MANY_KEYS = 1069u16,
422    ER_TOO_MANY_KEY_PARTS = 1070u16,
423    ER_TOO_LONG_KEY = 1071u16,
424    ER_KEY_COLUMN_DOES_NOT_EXITS = 1072u16,
425    ER_BLOB_USED_AS_KEY = 1073u16,
426    ER_TOO_BIG_FIELDLENGTH = 1074u16,
427    ER_WRONG_AUTO_KEY = 1075u16,
428    ER_READY = 1076u16,
429    ER_NORMAL_SHUTDOWN = 1077u16,
430    ER_GOT_SIGNAL = 1078u16,
431    ER_SHUTDOWN_COMPLETE = 1079u16,
432    ER_FORCING_CLOSE = 1080u16,
433    ER_IPSOCK_ERROR = 1081u16,
434    ER_NO_SUCH_INDEX = 1082u16,
435    ER_WRONG_FIELD_TERMINATORS = 1083u16,
436    ER_BLOBS_AND_NO_TERMINATED = 1084u16,
437    ER_TEXTFILE_NOT_READABLE = 1085u16,
438    ER_FILE_EXISTS_ERROR = 1086u16,
439    ER_LOAD_INFO = 1087u16,
440    ER_ALTER_INFO = 1088u16,
441    ER_WRONG_SUB_KEY = 1089u16,
442    ER_CANT_REMOVE_ALL_FIELDS = 1090u16,
443    ER_CANT_DROP_FIELD_OR_KEY = 1091u16,
444    ER_INSERT_INFO = 1092u16,
445    ER_UPDATE_TABLE_USED = 1093u16,
446    ER_NO_SUCH_THREAD = 1094u16,
447    ER_KILL_DENIED_ERROR = 1095u16,
448    ER_NO_TABLES_USED = 1096u16,
449    ER_TOO_BIG_SET = 1097u16,
450    ER_NO_UNIQUE_LOGFILE = 1098u16,
451    ER_TABLE_NOT_LOCKED_FOR_WRITE = 1099u16,
452    ER_TABLE_NOT_LOCKED = 1100u16,
453    ER_BLOB_CANT_HAVE_DEFAULT = 1101u16,
454    ER_WRONG_DB_NAME = 1102u16,
455    ER_WRONG_TABLE_NAME = 1103u16,
456    ER_TOO_BIG_SELECT = 1104u16,
457    ER_UNKNOWN_ERROR = 1105u16,
458    ER_UNKNOWN_PROCEDURE = 1106u16,
459    ER_WRONG_PARAMCOUNT_TO_PROCEDURE = 1107u16,
460    ER_WRONG_PARAMETERS_TO_PROCEDURE = 1108u16,
461    ER_UNKNOWN_TABLE = 1109u16,
462    ER_FIELD_SPECIFIED_TWICE = 1110u16,
463    ER_INVALID_GROUP_FUNC_USE = 1111u16,
464    ER_UNSUPPORTED_EXTENSION = 1112u16,
465    ER_TABLE_MUST_HAVE_COLUMNS = 1113u16,
466    ER_RECORD_FILE_FULL = 1114u16,
467    ER_UNKNOWN_CHARACTER_SET = 1115u16,
468    ER_TOO_MANY_TABLES = 1116u16,
469    ER_TOO_MANY_FIELDS = 1117u16,
470    ER_TOO_BIG_ROWSIZE = 1118u16,
471    ER_STACK_OVERRUN = 1119u16,
472    ER_WRONG_OUTER_JOIN = 1120u16,
473    ER_NULL_COLUMN_IN_INDEX = 1121u16,
474    ER_CANT_FIND_UDF = 1122u16,
475    ER_CANT_INITIALIZE_UDF = 1123u16,
476    ER_UDF_NO_PATHS = 1124u16,
477    ER_UDF_EXISTS = 1125u16,
478    ER_CANT_OPEN_LIBRARY = 1126u16,
479    ER_CANT_FIND_DL_ENTRY = 1127u16,
480    ER_FUNCTION_NOT_DEFINED = 1128u16,
481    ER_HOST_IS_BLOCKED = 1129u16,
482    ER_HOST_NOT_PRIVILEGED = 1130u16,
483    ER_PASSWORD_ANONYMOUS_USER = 1131u16,
484    ER_PASSWORD_NOT_ALLOWED = 1132u16,
485    ER_PASSWORD_NO_MATCH = 1133u16,
486    ER_UPDATE_INFO = 1134u16,
487    ER_CANT_CREATE_THREAD = 1135u16,
488    ER_WRONG_VALUE_COUNT_ON_ROW = 1136u16,
489    ER_CANT_REOPEN_TABLE = 1137u16,
490    ER_INVALID_USE_OF_NULL = 1138u16,
491    ER_REGEXP_ERROR = 1139u16,
492    ER_MIX_OF_GROUP_FUNC_AND_FIELDS = 1140u16,
493    ER_NONEXISTING_GRANT = 1141u16,
494    ER_TABLEACCESS_DENIED_ERROR = 1142u16,
495    ER_COLUMNACCESS_DENIED_ERROR = 1143u16,
496    ER_ILLEGAL_GRANT_FOR_TABLE = 1144u16,
497    ER_GRANT_WRONG_HOST_OR_USER = 1145u16,
498    ER_NO_SUCH_TABLE = 1146u16,
499    ER_NONEXISTING_TABLE_GRANT = 1147u16,
500    ER_NOT_ALLOWED_COMMAND = 1148u16,
501    ER_SYNTAX_ERROR = 1149u16,
502    ER_DELAYED_CANT_CHANGE_LOCK = 1150u16,
503    ER_TOO_MANY_DELAYED_THREADS = 1151u16,
504    ER_ABORTING_CONNECTION = 1152u16,
505    ER_NET_PACKET_TOO_LARGE = 1153u16,
506    ER_NET_READ_ERROR_FROM_PIPE = 1154u16,
507    ER_NET_FCNTL_ERROR = 1155u16,
508    ER_NET_PACKETS_OUT_OF_ORDER = 1156u16,
509    ER_NET_UNCOMPRESS_ERROR = 1157u16,
510    ER_NET_READ_ERROR = 1158u16,
511    ER_NET_READ_INTERRUPTED = 1159u16,
512    ER_NET_ERROR_ON_WRITE = 1160u16,
513    ER_NET_WRITE_INTERRUPTED = 1161u16,
514    ER_TOO_LONG_STRING = 1162u16,
515    ER_TABLE_CANT_HANDLE_BLOB = 1163u16,
516    ER_TABLE_CANT_HANDLE_AUTO_INCREMENT = 1164u16,
517    ER_DELAYED_INSERT_TABLE_LOCKED = 1165u16,
518    ER_WRONG_COLUMN_NAME = 1166u16,
519    ER_WRONG_KEY_COLUMN = 1167u16,
520    ER_WRONG_MRG_TABLE = 1168u16,
521    ER_DUP_UNIQUE = 1169u16,
522    ER_BLOB_KEY_WITHOUT_LENGTH = 1170u16,
523    ER_PRIMARY_CANT_HAVE_NULL = 1171u16,
524    ER_TOO_MANY_ROWS = 1172u16,
525    ER_REQUIRES_PRIMARY_KEY = 1173u16,
526    ER_NO_RAID_COMPILED = 1174u16,
527    ER_UPDATE_WITHOUT_KEY_IN_SAFE_MODE = 1175u16,
528    ER_KEY_DOES_NOT_EXITS = 1176u16,
529    ER_CHECK_NO_SUCH_TABLE = 1177u16,
530    ER_CHECK_NOT_IMPLEMENTED = 1178u16,
531    ER_CANT_DO_THIS_DURING_AN_TRANSACTION = 1179u16,
532    ER_ERROR_DURING_COMMIT = 1180u16,
533    ER_ERROR_DURING_ROLLBACK = 1181u16,
534    ER_ERROR_DURING_FLUSH_LOGS = 1182u16,
535    ER_ERROR_DURING_CHECKPOINT = 1183u16,
536    ER_NEW_ABORTING_CONNECTION = 1184u16,
537    ER_DUMP_NOT_IMPLEMENTED = 1185u16,
538    ER_FLUSH_MASTER_BINLOG_CLOSED = 1186u16,
539    ER_INDEX_REBUILD = 1187u16,
540    ER_MASTER = 1188u16,
541    ER_MASTER_NET_READ = 1189u16,
542    ER_MASTER_NET_WRITE = 1190u16,
543    ER_FT_MATCHING_KEY_NOT_FOUND = 1191u16,
544    ER_LOCK_OR_ACTIVE_TRANSACTION = 1192u16,
545    ER_UNKNOWN_SYSTEM_VARIABLE = 1193u16,
546    ER_CRASHED_ON_USAGE = 1194u16,
547    ER_CRASHED_ON_REPAIR = 1195u16,
548    ER_WARNING_NOT_COMPLETE_ROLLBACK = 1196u16,
549    ER_TRANS_CACHE_FULL = 1197u16,
550    ER_SLAVE_MUST_STOP = 1198u16,
551    ER_SLAVE_NOT_RUNNING = 1199u16,
552    ER_BAD_SLAVE = 1200u16,
553    ER_MASTER_INFO = 1201u16,
554    ER_SLAVE_THREAD = 1202u16,
555    ER_TOO_MANY_USER_CONNECTIONS = 1203u16,
556    ER_SET_CONSTANTS_ONLY = 1204u16,
557    ER_LOCK_WAIT_TIMEOUT = 1205u16,
558    ER_LOCK_TABLE_FULL = 1206u16,
559    ER_READ_ONLY_TRANSACTION = 1207u16,
560    ER_DROP_DB_WITH_READ_LOCK = 1208u16,
561    ER_CREATE_DB_WITH_READ_LOCK = 1209u16,
562    ER_WRONG_ARGUMENTS = 1210u16,
563    ER_NO_PERMISSION_TO_CREATE_USER = 1211u16,
564    ER_UNION_TABLES_IN_DIFFERENT_DIR = 1212u16,
565    ER_LOCK_DEADLOCK = 1213u16,
566    ER_TABLE_CANT_HANDLE_FT = 1214u16,
567    ER_CANNOT_ADD_FOREIGN = 1215u16,
568    ER_NO_REFERENCED_ROW = 1216u16,
569    ER_ROW_IS_REFERENCED = 1217u16,
570    ER_CONNECT_TO_MASTER = 1218u16,
571    ER_QUERY_ON_MASTER = 1219u16,
572    ER_ERROR_WHEN_EXECUTING_COMMAND = 1220u16,
573    ER_WRONG_USAGE = 1221u16,
574    ER_WRONG_NUMBER_OF_COLUMNS_IN_SELECT = 1222u16,
575    ER_CANT_UPDATE_WITH_READLOCK = 1223u16,
576    ER_MIXING_NOT_ALLOWED = 1224u16,
577    ER_DUP_ARGUMENT = 1225u16,
578    ER_USER_LIMIT_REACHED = 1226u16,
579    ER_SPECIFIC_ACCESS_DENIED_ERROR = 1227u16,
580    ER_LOCAL_VARIABLE = 1228u16,
581    ER_GLOBAL_VARIABLE = 1229u16,
582    ER_NO_DEFAULT = 1230u16,
583    ER_WRONG_VALUE_FOR_VAR = 1231u16,
584    ER_WRONG_TYPE_FOR_VAR = 1232u16,
585    ER_VAR_CANT_BE_READ = 1233u16,
586    ER_CANT_USE_OPTION_HERE = 1234u16,
587    ER_NOT_SUPPORTED_YET = 1235u16,
588    ER_MASTER_FATAL_ERROR_READING_BINLOG = 1236u16,
589    ER_SLAVE_IGNORED_TABLE = 1237u16,
590    ER_INCORRECT_GLOBAL_LOCAL_VAR = 1238u16,
591    ER_WRONG_FK_DEF = 1239u16,
592    ER_KEY_REF_DO_NOT_MATCH_TABLE_REF = 1240u16,
593    ER_OPERAND_COLUMNS = 1241u16,
594    ER_SUBQUERY_NO_1_ROW = 1242u16,
595    ER_UNKNOWN_STMT_HANDLER = 1243u16,
596    ER_CORRUPT_HELP_DB = 1244u16,
597    ER_CYCLIC_REFERENCE = 1245u16,
598    ER_AUTO_CONVERT = 1246u16,
599    ER_ILLEGAL_REFERENCE = 1247u16,
600    ER_DERIVED_MUST_HAVE_ALIAS = 1248u16,
601    ER_SELECT_REDUCED = 1249u16,
602    ER_TABLENAME_NOT_ALLOWED_HERE = 1250u16,
603    ER_NOT_SUPPORTED_AUTH_MODE = 1251u16,
604    ER_SPATIAL_CANT_HAVE_NULL = 1252u16,
605    ER_COLLATION_CHARSET_MISMATCH = 1253u16,
606    ER_SLAVE_WAS_RUNNING = 1254u16,
607    ER_SLAVE_WAS_NOT_RUNNING = 1255u16,
608    ER_TOO_BIG_FOR_UNCOMPRESS = 1256u16,
609    ER_ZLIB_Z_MEM_ERROR = 1257u16,
610    ER_ZLIB_Z_BUF_ERROR = 1258u16,
611    ER_ZLIB_Z_DATA_ERROR = 1259u16,
612    ER_CUT_VALUE_GROUP_CONCAT = 1260u16,
613    ER_WARN_TOO_FEW_RECORDS = 1261u16,
614    ER_WARN_TOO_MANY_RECORDS = 1262u16,
615    ER_WARN_NULL_TO_NOTNULL = 1263u16,
616    ER_WARN_DATA_OUT_OF_RANGE = 1264u16,
617    WARN_DATA_TRUNCATED = 1265u16,
618    ER_WARN_USING_OTHER_HANDLER = 1266u16,
619    ER_CANT_AGGREGATE_2COLLATIONS = 1267u16,
620    ER_DROP_USER = 1268u16,
621    ER_REVOKE_GRANTS = 1269u16,
622    ER_CANT_AGGREGATE_3COLLATIONS = 1270u16,
623    ER_CANT_AGGREGATE_NCOLLATIONS = 1271u16,
624    ER_VARIABLE_IS_NOT_STRUCT = 1272u16,
625    ER_UNKNOWN_COLLATION = 1273u16,
626    ER_SLAVE_IGNORED_SSL_PARAMS = 1274u16,
627    ER_SERVER_IS_IN_SECURE_AUTH_MODE = 1275u16,
628    ER_WARN_FIELD_RESOLVED = 1276u16,
629    ER_BAD_SLAVE_UNTIL_COND = 1277u16,
630    ER_MISSING_SKIP_SLAVE = 1278u16,
631    ER_UNTIL_COND_IGNORED = 1279u16,
632    ER_WRONG_NAME_FOR_INDEX = 1280u16,
633    ER_WRONG_NAME_FOR_CATALOG = 1281u16,
634    ER_WARN_QC_RESIZE = 1282u16,
635    ER_BAD_FT_COLUMN = 1283u16,
636    ER_UNKNOWN_KEY_CACHE = 1284u16,
637    ER_WARN_HOSTNAME_WONT_WORK = 1285u16,
638    ER_UNKNOWN_STORAGE_ENGINE = 1286u16,
639    ER_WARN_DEPRECATED_SYNTAX = 1287u16,
640    ER_NON_UPDATABLE_TABLE = 1288u16,
641    ER_FEATURE_DISABLED = 1289u16,
642    ER_OPTION_PREVENTS_STATEMENT = 1290u16,
643    ER_DUPLICATED_VALUE_IN_TYPE = 1291u16,
644    ER_TRUNCATED_WRONG_VALUE = 1292u16,
645    ER_TOO_MUCH_AUTO_TIMESTAMP_COLS = 1293u16,
646    ER_INVALID_ON_UPDATE = 1294u16,
647    ER_UNSUPPORTED_PS = 1295u16,
648    ER_GET_ERRMSG = 1296u16,
649    ER_GET_TEMPORARY_ERRMSG = 1297u16,
650    ER_UNKNOWN_TIME_ZONE = 1298u16,
651    ER_WARN_INVALID_TIMESTAMP = 1299u16,
652    ER_INVALID_CHARACTER_STRING = 1300u16,
653    ER_WARN_ALLOWED_PACKET_OVERFLOWED = 1301u16,
654    ER_CONFLICTING_DECLARATIONS = 1302u16,
655    ER_SP_NO_RECURSIVE_CREATE = 1303u16,
656    ER_SP_ALREADY_EXISTS = 1304u16,
657    ER_SP_DOES_NOT_EXIST = 1305u16,
658    ER_SP_DROP_FAILED = 1306u16,
659    ER_SP_STORE_FAILED = 1307u16,
660    ER_SP_LILABEL_MISMATCH = 1308u16,
661    ER_SP_LABEL_REDEFINE = 1309u16,
662    ER_SP_LABEL_MISMATCH = 1310u16,
663    ER_SP_UNINIT_VAR = 1311u16,
664    ER_SP_BADSELECT = 1312u16,
665    ER_SP_BADRETURN = 1313u16,
666    ER_SP_BADSTATEMENT = 1314u16,
667    ER_UPDATE_LOG_DEPRECATED_IGNORED = 1315u16,
668    ER_UPDATE_LOG_DEPRECATED_TRANSLATED = 1316u16,
669    ER_QUERY_INTERRUPTED = 1317u16,
670    ER_SP_WRONG_NO_OF_ARGS = 1318u16,
671    ER_SP_COND_MISMATCH = 1319u16,
672    ER_SP_NORETURN = 1320u16,
673    ER_SP_NORETURNEND = 1321u16,
674    ER_SP_BAD_CURSOR_QUERY = 1322u16,
675    ER_SP_BAD_CURSOR_SELECT = 1323u16,
676    ER_SP_CURSOR_MISMATCH = 1324u16,
677    ER_SP_CURSOR_ALREADY_OPEN = 1325u16,
678    ER_SP_CURSOR_NOT_OPEN = 1326u16,
679    ER_SP_UNDECLARED_VAR = 1327u16,
680    ER_SP_WRONG_NO_OF_FETCH_ARGS = 1328u16,
681    ER_SP_FETCH_NO_DATA = 1329u16,
682    ER_SP_DUP_PARAM = 1330u16,
683    ER_SP_DUP_VAR = 1331u16,
684    ER_SP_DUP_COND = 1332u16,
685    ER_SP_DUP_CURS = 1333u16,
686    ER_SP_CANT_ALTER = 1334u16,
687    ER_SP_SUBSELECT_NYI = 1335u16,
688    ER_STMT_NOT_ALLOWED_IN_SF_OR_TRG = 1336u16,
689    ER_SP_VARCOND_AFTER_CURSHNDLR = 1337u16,
690    ER_SP_CURSOR_AFTER_HANDLER = 1338u16,
691    ER_SP_CASE_NOT_FOUND = 1339u16,
692    ER_FPARSER_TOO_BIG_FILE = 1340u16,
693    ER_FPARSER_BAD_HEADER = 1341u16,
694    ER_FPARSER_EOF_IN_COMMENT = 1342u16,
695    ER_FPARSER_ERROR_IN_PARAMETER = 1343u16,
696    ER_FPARSER_EOF_IN_UNKNOWN_PARAMETER = 1344u16,
697    ER_VIEW_NO_EXPLAIN = 1345u16,
698    ER_FRM_UNKNOWN_TYPE = 1346u16,
699    ER_WRONG_OBJECT = 1347u16,
700    ER_NONUPDATEABLE_COLUMN = 1348u16,
701    ER_VIEW_SELECT_DERIVED = 1349u16,
702    ER_VIEW_SELECT_CLAUSE = 1350u16,
703    ER_VIEW_SELECT_VARIABLE = 1351u16,
704    ER_VIEW_SELECT_TMPTABLE = 1352u16,
705    ER_VIEW_WRONG_LIST = 1353u16,
706    ER_WARN_VIEW_MERGE = 1354u16,
707    ER_WARN_VIEW_WITHOUT_KEY = 1355u16,
708    ER_VIEW_INVALID = 1356u16,
709    ER_SP_NO_DROP_SP = 1357u16,
710    ER_SP_GOTO_IN_HNDLR = 1358u16,
711    ER_TRG_ALREADY_EXISTS = 1359u16,
712    ER_TRG_DOES_NOT_EXIST = 1360u16,
713    ER_TRG_ON_VIEW_OR_TEMP_TABLE = 1361u16,
714    ER_TRG_CANT_CHANGE_ROW = 1362u16,
715    ER_TRG_NO_SUCH_ROW_IN_TRG = 1363u16,
716    ER_NO_DEFAULT_FOR_FIELD = 1364u16,
717    ER_DIVISION_BY_ZERO = 1365u16,
718    ER_TRUNCATED_WRONG_VALUE_FOR_FIELD = 1366u16,
719    ER_ILLEGAL_VALUE_FOR_TYPE = 1367u16,
720    ER_VIEW_NONUPD_CHECK = 1368u16,
721    ER_VIEW_CHECK_FAILED = 1369u16,
722    ER_PROCACCESS_DENIED_ERROR = 1370u16,
723    ER_RELAY_LOG_FAIL = 1371u16,
724    ER_PASSWD_LENGTH = 1372u16,
725    ER_UNKNOWN_TARGET_BINLOG = 1373u16,
726    ER_IO_ERR_LOG_INDEX_READ = 1374u16,
727    ER_BINLOG_PURGE_PROHIBITED = 1375u16,
728    ER_FSEEK_FAIL = 1376u16,
729    ER_BINLOG_PURGE_FATAL_ERR = 1377u16,
730    ER_LOG_IN_USE = 1378u16,
731    ER_LOG_PURGE_UNKNOWN_ERR = 1379u16,
732    ER_RELAY_LOG_INIT = 1380u16,
733    ER_NO_BINARY_LOGGING = 1381u16,
734    ER_RESERVED_SYNTAX = 1382u16,
735    ER_WSAS_FAILED = 1383u16,
736    ER_DIFF_GROUPS_PROC = 1384u16,
737    ER_NO_GROUP_FOR_PROC = 1385u16,
738    ER_ORDER_WITH_PROC = 1386u16,
739    ER_LOGGING_PROHIBIT_CHANGING_OF = 1387u16,
740    ER_NO_FILE_MAPPING = 1388u16,
741    ER_WRONG_MAGIC = 1389u16,
742    ER_PS_MANY_PARAM = 1390u16,
743    ER_KEY_PART_0 = 1391u16,
744    ER_VIEW_CHECKSUM = 1392u16,
745    ER_VIEW_MULTIUPDATE = 1393u16,
746    ER_VIEW_NO_INSERT_FIELD_LIST = 1394u16,
747    ER_VIEW_DELETE_MERGE_VIEW = 1395u16,
748    ER_CANNOT_USER = 1396u16,
749    ER_XAER_NOTA = 1397u16,
750    ER_XAER_INVAL = 1398u16,
751    ER_XAER_RMFAIL = 1399u16,
752    ER_XAER_OUTSIDE = 1400u16,
753    ER_XAER_RMERR = 1401u16,
754    ER_XA_RBROLLBACK = 1402u16,
755    ER_NONEXISTING_PROC_GRANT = 1403u16,
756    ER_PROC_AUTO_GRANT_FAIL = 1404u16,
757    ER_PROC_AUTO_REVOKE_FAIL = 1405u16,
758    ER_DATA_TOO_LONG = 1406u16,
759    ER_SP_BAD_SQLSTATE = 1407u16,
760    ER_STARTUP = 1408u16,
761    ER_LOAD_FROM_FIXED_SIZE_ROWS_TO_VAR = 1409u16,
762    ER_CANT_CREATE_USER_WITH_GRANT = 1410u16,
763    ER_WRONG_VALUE_FOR_TYPE = 1411u16,
764    ER_TABLE_DEF_CHANGED = 1412u16,
765    ER_SP_DUP_HANDLER = 1413u16,
766    ER_SP_NOT_VAR_ARG = 1414u16,
767    ER_SP_NO_RETSET = 1415u16,
768    ER_CANT_CREATE_GEOMETRY_OBJECT = 1416u16,
769    ER_FAILED_ROUTINE_BREAK_BINLOG = 1417u16,
770    ER_BINLOG_UNSAFE_ROUTINE = 1418u16,
771    ER_BINLOG_CREATE_ROUTINE_NEED_SUPER = 1419u16,
772    ER_EXEC_STMT_WITH_OPEN_CURSOR = 1420u16,
773    ER_STMT_HAS_NO_OPEN_CURSOR = 1421u16,
774    ER_COMMIT_NOT_ALLOWED_IN_SF_OR_TRG = 1422u16,
775    ER_NO_DEFAULT_FOR_VIEW_FIELD = 1423u16,
776    ER_SP_NO_RECURSION = 1424u16,
777    ER_TOO_BIG_SCALE = 1425u16,
778    ER_TOO_BIG_PRECISION = 1426u16,
779    ER_M_BIGGER_THAN_D = 1427u16,
780    ER_WRONG_LOCK_OF_SYSTEM_TABLE = 1428u16,
781    ER_CONNECT_TO_FOREIGN_DATA_SOURCE = 1429u16,
782    ER_QUERY_ON_FOREIGN_DATA_SOURCE = 1430u16,
783    ER_FOREIGN_DATA_SOURCE_DOESNT_EXIST = 1431u16,
784    ER_FOREIGN_DATA_STRING_INVALID_CANT_CREATE = 1432u16,
785    ER_FOREIGN_DATA_STRING_INVALID = 1433u16,
786    ER_CANT_CREATE_FEDERATED_TABLE = 1434u16,
787    ER_TRG_IN_WRONG_SCHEMA = 1435u16,
788    ER_STACK_OVERRUN_NEED_MORE = 1436u16,
789    ER_TOO_LONG_BODY = 1437u16,
790    ER_WARN_CANT_DROP_DEFAULT_KEYCACHE = 1438u16,
791    ER_TOO_BIG_DISPLAYWIDTH = 1439u16,
792    ER_XAER_DUPID = 1440u16,
793    ER_DATETIME_FUNCTION_OVERFLOW = 1441u16,
794    ER_CANT_UPDATE_USED_TABLE_IN_SF_OR_TRG = 1442u16,
795    ER_VIEW_PREVENT_UPDATE = 1443u16,
796    ER_PS_NO_RECURSION = 1444u16,
797    ER_SP_CANT_SET_AUTOCOMMIT = 1445u16,
798    ER_MALFORMED_DEFINER = 1446u16,
799    ER_VIEW_FRM_NO_USER = 1447u16,
800    ER_VIEW_OTHER_USER = 1448u16,
801    ER_NO_SUCH_USER = 1449u16,
802    ER_FORBID_SCHEMA_CHANGE = 1450u16,
803    ER_ROW_IS_REFERENCED_2 = 1451u16,
804    ER_NO_REFERENCED_ROW_2 = 1452u16,
805    ER_SP_BAD_VAR_SHADOW = 1453u16,
806    ER_TRG_NO_DEFINER = 1454u16,
807    ER_OLD_FILE_FORMAT = 1455u16,
808    ER_SP_RECURSION_LIMIT = 1456u16,
809    ER_SP_PROC_TABLE_CORRUPT = 1457u16,
810    ER_SP_WRONG_NAME = 1458u16,
811    ER_TABLE_NEEDS_UPGRADE = 1459u16,
812    ER_SP_NO_AGGREGATE = 1460u16,
813    ER_MAX_PREPARED_STMT_COUNT_REACHED = 1461u16,
814    ER_VIEW_RECURSIVE = 1462u16,
815    ER_NON_GROUPING_FIELD_USED = 1463u16,
816    ER_TABLE_CANT_HANDLE_SPKEYS = 1464u16,
817    ER_NO_TRIGGERS_ON_SYSTEM_SCHEMA = 1465u16,
818    ER_REMOVED_SPACES = 1466u16,
819    ER_AUTOINC_READ_FAILED = 1467u16,
820    ER_USERNAME = 1468u16,
821    ER_HOSTNAME = 1469u16,
822    ER_WRONG_STRING_LENGTH = 1470u16,
823    ER_NON_INSERTABLE_TABLE = 1471u16,
824    ER_ADMIN_WRONG_MRG_TABLE = 1472u16,
825    ER_TOO_HIGH_LEVEL_OF_NESTING_FOR_SELECT = 1473u16,
826    ER_NAME_BECOMES_EMPTY = 1474u16,
827    ER_AMBIGUOUS_FIELD_TERM = 1475u16,
828    ER_FOREIGN_SERVER_EXISTS = 1476u16,
829    ER_FOREIGN_SERVER_DOESNT_EXIST = 1477u16,
830    ER_ILLEGAL_HA_CREATE_OPTION = 1478u16,
831    ER_PARTITION_REQUIRES_VALUES_ERROR = 1479u16,
832    ER_PARTITION_WRONG_VALUES_ERROR = 1480u16,
833    ER_PARTITION_MAXVALUE_ERROR = 1481u16,
834    ER_PARTITION_SUBPARTITION_ERROR = 1482u16,
835    ER_PARTITION_SUBPART_MIX_ERROR = 1483u16,
836    ER_PARTITION_WRONG_NO_PART_ERROR = 1484u16,
837    ER_PARTITION_WRONG_NO_SUBPART_ERROR = 1485u16,
838    ER_CONST_EXPR_IN_PARTITION_FUNC_ERROR = 1486u16,
839    ER_NO_CONST_EXPR_IN_RANGE_OR_LIST_ERROR = 1487u16,
840    ER_FIELD_NOT_FOUND_PART_ERROR = 1488u16,
841    ER_LIST_OF_FIELDS_ONLY_IN_HASH_ERROR = 1489u16,
842    ER_INCONSISTENT_PARTITION_INFO_ERROR = 1490u16,
843    ER_PARTITION_FUNC_NOT_ALLOWED_ERROR = 1491u16,
844    ER_PARTITIONS_MUST_BE_DEFINED_ERROR = 1492u16,
845    ER_RANGE_NOT_INCREASING_ERROR = 1493u16,
846    ER_INCONSISTENT_TYPE_OF_FUNCTIONS_ERROR = 1494u16,
847    ER_MULTIPLE_DEF_CONST_IN_LIST_PART_ERROR = 1495u16,
848    ER_PARTITION_ENTRY_ERROR = 1496u16,
849    ER_MIX_HANDLER_ERROR = 1497u16,
850    ER_PARTITION_NOT_DEFINED_ERROR = 1498u16,
851    ER_TOO_MANY_PARTITIONS_ERROR = 1499u16,
852    ER_SUBPARTITION_ERROR = 1500u16,
853    ER_CANT_CREATE_HANDLER_FILE = 1501u16,
854    ER_BLOB_FIELD_IN_PART_FUNC_ERROR = 1502u16,
855    ER_UNIQUE_KEY_NEED_ALL_FIELDS_IN_PF = 1503u16,
856    ER_NO_PARTS_ERROR = 1504u16,
857    ER_PARTITION_MGMT_ON_NONPARTITIONED = 1505u16,
858    ER_FOREIGN_KEY_ON_PARTITIONED = 1506u16,
859    ER_DROP_PARTITION_NON_EXISTENT = 1507u16,
860    ER_DROP_LAST_PARTITION = 1508u16,
861    ER_COALESCE_ONLY_ON_HASH_PARTITION = 1509u16,
862    ER_REORG_HASH_ONLY_ON_SAME_NO = 1510u16,
863    ER_REORG_NO_PARAM_ERROR = 1511u16,
864    ER_ONLY_ON_RANGE_LIST_PARTITION = 1512u16,
865    ER_ADD_PARTITION_SUBPART_ERROR = 1513u16,
866    ER_ADD_PARTITION_NO_NEW_PARTITION = 1514u16,
867    ER_COALESCE_PARTITION_NO_PARTITION = 1515u16,
868    ER_REORG_PARTITION_NOT_EXIST = 1516u16,
869    ER_SAME_NAME_PARTITION = 1517u16,
870    ER_NO_BINLOG_ERROR = 1518u16,
871    ER_CONSECUTIVE_REORG_PARTITIONS = 1519u16,
872    ER_REORG_OUTSIDE_RANGE = 1520u16,
873    ER_PARTITION_FUNCTION_FAILURE = 1521u16,
874    ER_PART_STATE_ERROR = 1522u16,
875    ER_LIMITED_PART_RANGE = 1523u16,
876    ER_PLUGIN_IS_NOT_LOADED = 1524u16,
877    ER_WRONG_VALUE = 1525u16,
878    ER_NO_PARTITION_FOR_GIVEN_VALUE = 1526u16,
879    ER_FILEGROUP_OPTION_ONLY_ONCE = 1527u16,
880    ER_CREATE_FILEGROUP_FAILED = 1528u16,
881    ER_DROP_FILEGROUP_FAILED = 1529u16,
882    ER_TABLESPACE_AUTO_EXTEND_ERROR = 1530u16,
883    ER_WRONG_SIZE_NUMBER = 1531u16,
884    ER_SIZE_OVERFLOW_ERROR = 1532u16,
885    ER_ALTER_FILEGROUP_FAILED = 1533u16,
886    ER_BINLOG_ROW_LOGGING_FAILED = 1534u16,
887    ER_BINLOG_ROW_WRONG_TABLE_DEF = 1535u16,
888    ER_BINLOG_ROW_RBR_TO_SBR = 1536u16,
889    ER_EVENT_ALREADY_EXISTS = 1537u16,
890    ER_EVENT_STORE_FAILED = 1538u16,
891    ER_EVENT_DOES_NOT_EXIST = 1539u16,
892    ER_EVENT_CANT_ALTER = 1540u16,
893    ER_EVENT_DROP_FAILED = 1541u16,
894    ER_EVENT_INTERVAL_NOT_POSITIVE_OR_TOO_BIG = 1542u16,
895    ER_EVENT_ENDS_BEFORE_STARTS = 1543u16,
896    ER_EVENT_EXEC_TIME_IN_THE_PAST = 1544u16,
897    ER_EVENT_OPEN_TABLE_FAILED = 1545u16,
898    ER_EVENT_NEITHER_M_EXPR_NOR_M_AT = 1546u16,
899    ER_COL_COUNT_DOESNT_MATCH_CORRUPTED = 1547u16,
900    ER_CANNOT_LOAD_FROM_TABLE = 1548u16,
901    ER_EVENT_CANNOT_DELETE = 1549u16,
902    ER_EVENT_COMPILE_ERROR = 1550u16,
903    ER_EVENT_SAME_NAME = 1551u16,
904    ER_EVENT_DATA_TOO_LONG = 1552u16,
905    ER_DROP_INDEX_FK = 1553u16,
906    ER_WARN_DEPRECATED_SYNTAX_WITH_VER = 1554u16,
907    ER_CANT_WRITE_LOCK_LOG_TABLE = 1555u16,
908    ER_CANT_LOCK_LOG_TABLE = 1556u16,
909    ER_FOREIGN_DUPLICATE_KEY = 1557u16,
910    ER_COL_COUNT_DOESNT_MATCH_PLEASE_UPDATE = 1558u16,
911    ER_TEMP_TABLE_PREVENTS_SWITCH_OUT_OF_RBR = 1559u16,
912    ER_STORED_FUNCTION_PREVENTS_SWITCH_BINLOG_FORMAT = 1560u16,
913    ER_NDB_CANT_SWITCH_BINLOG_FORMAT = 1561u16,
914    ER_PARTITION_NO_TEMPORARY = 1562u16,
915    ER_PARTITION_CONST_DOMAIN_ERROR = 1563u16,
916    ER_PARTITION_FUNCTION_IS_NOT_ALLOWED = 1564u16,
917    ER_DDL_LOG_ERROR = 1565u16,
918    ER_NULL_IN_VALUES_LESS_THAN = 1566u16,
919    ER_WRONG_PARTITION_NAME = 1567u16,
920    ER_CANT_CHANGE_TX_ISOLATION = 1568u16,
921    ER_DUP_ENTRY_AUTOINCREMENT_CASE = 1569u16,
922    ER_EVENT_MODIFY_QUEUE_ERROR = 1570u16,
923    ER_EVENT_SET_VAR_ERROR = 1571u16,
924    ER_PARTITION_MERGE_ERROR = 1572u16,
925    ER_CANT_ACTIVATE_LOG = 1573u16,
926    ER_RBR_NOT_AVAILABLE = 1574u16,
927    ER_BASE64_DECODE_ERROR = 1575u16,
928    ER_EVENT_RECURSION_FORBIDDEN = 1576u16,
929    ER_EVENTS_DB_ERROR = 1577u16,
930    ER_ONLY_INTEGERS_ALLOWED = 1578u16,
931    ER_UNSUPORTED_LOG_ENGINE = 1579u16,
932    ER_BAD_LOG_STATEMENT = 1580u16,
933    ER_CANT_RENAME_LOG_TABLE = 1581u16,
934    ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT = 1582u16,
935    ER_WRONG_PARAMETERS_TO_NATIVE_FCT = 1583u16,
936    ER_WRONG_PARAMETERS_TO_STORED_FCT = 1584u16,
937    ER_NATIVE_FCT_NAME_COLLISION = 1585u16,
938    ER_DUP_ENTRY_WITH_KEY_NAME = 1586u16,
939    ER_BINLOG_PURGE_EMFILE = 1587u16,
940    ER_EVENT_CANNOT_CREATE_IN_THE_PAST = 1588u16,
941    ER_EVENT_CANNOT_ALTER_IN_THE_PAST = 1589u16,
942    ER_SLAVE_INCIDENT = 1590u16,
943    ER_NO_PARTITION_FOR_GIVEN_VALUE_SILENT = 1591u16,
944    ER_BINLOG_UNSAFE_STATEMENT = 1592u16,
945    ER_SLAVE_FATAL_ERROR = 1593u16,
946    ER_SLAVE_RELAY_LOG_READ_FAILURE = 1594u16,
947    ER_SLAVE_RELAY_LOG_WRITE_FAILURE = 1595u16,
948    ER_SLAVE_CREATE_EVENT_FAILURE = 1596u16,
949    ER_SLAVE_MASTER_COM_FAILURE = 1597u16,
950    ER_BINLOG_LOGGING_IMPOSSIBLE = 1598u16,
951    ER_VIEW_NO_CREATION_CTX = 1599u16,
952    ER_VIEW_INVALID_CREATION_CTX = 1600u16,
953    ER_SR_INVALID_CREATION_CTX = 1601u16,
954    ER_TRG_CORRUPTED_FILE = 1602u16,
955    ER_TRG_NO_CREATION_CTX = 1603u16,
956    ER_TRG_INVALID_CREATION_CTX = 1604u16,
957    ER_EVENT_INVALID_CREATION_CTX = 1605u16,
958    ER_TRG_CANT_OPEN_TABLE = 1606u16,
959    ER_CANT_CREATE_SROUTINE = 1607u16,
960    ER_SLAVE_AMBIGOUS_EXEC_MODE = 1608u16,
961    ER_NO_FORMAT_DESCRIPTION_EVENT_BEFORE_BINLOG_STATEMENT = 1609u16,
962    ER_SLAVE_CORRUPT_EVENT = 1610u16,
963    ER_LOAD_DATA_INVALID_COLUMN = 1611u16,
964    ER_LOG_PURGE_NO_FILE = 1612u16,
965    ER_XA_RBTIMEOUT = 1613u16,
966    ER_XA_RBDEADLOCK = 1614u16,
967    ER_NEED_REPREPARE = 1615u16,
968    ER_DELAYED_NOT_SUPPORTED = 1616u16,
969    WARN_NO_MASTER_INFO = 1617u16,
970    WARN_OPTION_IGNORED = 1618u16,
971    WARN_PLUGIN_DELETE_BUILTIN = 1619u16,
972    WARN_PLUGIN_BUSY = 1620u16,
973    ER_VARIABLE_IS_READONLY = 1621u16,
974    ER_WARN_ENGINE_TRANSACTION_ROLLBACK = 1622u16,
975    ER_SLAVE_HEARTBEAT_FAILURE = 1623u16,
976    ER_SLAVE_HEARTBEAT_VALUE_OUT_OF_RANGE = 1624u16,
977    ER_NDB_REPLICATION_SCHEMA_ERROR = 1625u16,
978    ER_CONFLICT_FN_PARSE_ERROR = 1626u16,
979    ER_EXCEPTIONS_WRITE_ERROR = 1627u16,
980    ER_TOO_LONG_TABLE_COMMENT = 1628u16,
981    ER_TOO_LONG_FIELD_COMMENT = 1629u16,
982    ER_FUNC_INEXISTENT_NAME_COLLISION = 1630u16,
983    ER_DATABASE_NAME = 1631u16,
984    ER_TABLE_NAME = 1632u16,
985    ER_PARTITION_NAME = 1633u16,
986    ER_SUBPARTITION_NAME = 1634u16,
987    ER_TEMPORARY_NAME = 1635u16,
988    ER_RENAMED_NAME = 1636u16,
989    ER_TOO_MANY_CONCURRENT_TRXS = 1637u16,
990    WARN_NON_ASCII_SEPARATOR_NOT_IMPLEMENTED = 1638u16,
991    ER_DEBUG_SYNC_TIMEOUT = 1639u16,
992    ER_DEBUG_SYNC_HIT_LIMIT = 1640u16,
993    ER_DUP_SIGNAL_SET = 1641u16,
994    ER_SIGNAL_WARN = 1642u16,
995    ER_SIGNAL_NOT_FOUND = 1643u16,
996    ER_SIGNAL_EXCEPTION = 1644u16,
997    ER_RESIGNAL_WITHOUT_ACTIVE_HANDLER = 1645u16,
998    ER_SIGNAL_BAD_CONDITION_TYPE = 1646u16,
999    WARN_COND_ITEM_TRUNCATED = 1647u16,
1000    ER_COND_ITEM_TOO_LONG = 1648u16,
1001    ER_UNKNOWN_LOCALE = 1649u16,
1002    ER_SLAVE_IGNORE_SERVER_IDS = 1650u16,
1003    ER_QUERY_CACHE_DISABLED = 1651u16,
1004    ER_SAME_NAME_PARTITION_FIELD = 1652u16,
1005    ER_PARTITION_COLUMN_LIST_ERROR = 1653u16,
1006    ER_WRONG_TYPE_COLUMN_VALUE_ERROR = 1654u16,
1007    ER_TOO_MANY_PARTITION_FUNC_FIELDS_ERROR = 1655u16,
1008    ER_MAXVALUE_IN_VALUES_IN = 1656u16,
1009    ER_TOO_MANY_VALUES_ERROR = 1657u16,
1010    ER_ROW_SINGLE_PARTITION_FIELD_ERROR = 1658u16,
1011    ER_FIELD_TYPE_NOT_ALLOWED_AS_PARTITION_FIELD = 1659u16,
1012    ER_PARTITION_FIELDS_TOO_LONG = 1660u16,
1013    ER_BINLOG_ROW_ENGINE_AND_STMT_ENGINE = 1661u16,
1014    ER_BINLOG_ROW_MODE_AND_STMT_ENGINE = 1662u16,
1015    ER_BINLOG_UNSAFE_AND_STMT_ENGINE = 1663u16,
1016    ER_BINLOG_ROW_INJECTION_AND_STMT_ENGINE = 1664u16,
1017    ER_BINLOG_STMT_MODE_AND_ROW_ENGINE = 1665u16,
1018    ER_BINLOG_ROW_INJECTION_AND_STMT_MODE = 1666u16,
1019    ER_BINLOG_MULTIPLE_ENGINES_AND_SELF_LOGGING_ENGINE = 1667u16,
1020    ER_BINLOG_UNSAFE_LIMIT = 1668u16,
1021    ER_BINLOG_UNSAFE_INSERT_DELAYED = 1669u16,
1022    ER_BINLOG_UNSAFE_SYSTEM_TABLE = 1670u16,
1023    ER_BINLOG_UNSAFE_AUTOINC_COLUMNS = 1671u16,
1024    ER_BINLOG_UNSAFE_UDF = 1672u16,
1025    ER_BINLOG_UNSAFE_SYSTEM_VARIABLE = 1673u16,
1026    ER_BINLOG_UNSAFE_SYSTEM_FUNCTION = 1674u16,
1027    ER_BINLOG_UNSAFE_NONTRANS_AFTER_TRANS = 1675u16,
1028    ER_MESSAGE_AND_STATEMENT = 1676u16,
1029    ER_SLAVE_CONVERSION_FAILED = 1677u16,
1030    ER_SLAVE_CANT_CREATE_CONVERSION = 1678u16,
1031    ER_INSIDE_TRANSACTION_PREVENTS_SWITCH_BINLOG_FORMAT = 1679u16,
1032    ER_PATH_LENGTH = 1680u16,
1033    ER_WARN_DEPRECATED_SYNTAX_NO_REPLACEMENT = 1681u16,
1034    ER_WRONG_NATIVE_TABLE_STRUCTURE = 1682u16,
1035    ER_WRONG_PERFSCHEMA_USAGE = 1683u16,
1036    ER_WARN_I_S_SKIPPED_TABLE = 1684u16,
1037    ER_INSIDE_TRANSACTION_PREVENTS_SWITCH_BINLOG_DIRECT = 1685u16,
1038    ER_STORED_FUNCTION_PREVENTS_SWITCH_BINLOG_DIRECT = 1686u16,
1039    ER_SPATIAL_MUST_HAVE_GEOM_COL = 1687u16,
1040    ER_TOO_LONG_INDEX_COMMENT = 1688u16,
1041    ER_LOCK_ABORTED = 1689u16,
1042    ER_DATA_OUT_OF_RANGE = 1690u16,
1043    ER_WRONG_SPVAR_TYPE_IN_LIMIT = 1691u16,
1044    ER_BINLOG_UNSAFE_MULTIPLE_ENGINES_AND_SELF_LOGGING_ENGINE = 1692u16,
1045    ER_BINLOG_UNSAFE_MIXED_STATEMENT = 1693u16,
1046    ER_INSIDE_TRANSACTION_PREVENTS_SWITCH_SQL_LOG_BIN = 1694u16,
1047    ER_STORED_FUNCTION_PREVENTS_SWITCH_SQL_LOG_BIN = 1695u16,
1048    ER_FAILED_READ_FROM_PAR_FILE = 1696u16,
1049    ER_VALUES_IS_NOT_INT_TYPE_ERROR = 1697u16,
1050    ER_ACCESS_DENIED_NO_PASSWORD_ERROR = 1698u16,
1051    ER_SET_PASSWORD_AUTH_PLUGIN = 1699u16,
1052    ER_GRANT_PLUGIN_USER_EXISTS = 1700u16,
1053    ER_TRUNCATE_ILLEGAL_FK = 1701u16,
1054    ER_PLUGIN_IS_PERMANENT = 1702u16,
1055    ER_SLAVE_HEARTBEAT_VALUE_OUT_OF_RANGE_MIN = 1703u16,
1056    ER_SLAVE_HEARTBEAT_VALUE_OUT_OF_RANGE_MAX = 1704u16,
1057    ER_STMT_CACHE_FULL = 1705u16,
1058    ER_MULTI_UPDATE_KEY_CONFLICT = 1706u16,
1059    ER_TABLE_NEEDS_REBUILD = 1707u16,
1060    WARN_OPTION_BELOW_LIMIT = 1708u16,
1061    ER_INDEX_COLUMN_TOO_LONG = 1709u16,
1062    ER_ERROR_IN_TRIGGER_BODY = 1710u16,
1063    ER_ERROR_IN_UNKNOWN_TRIGGER_BODY = 1711u16,
1064    ER_INDEX_CORRUPT = 1712u16,
1065    ER_UNDO_RECORD_TOO_BIG = 1713u16,
1066    ER_BINLOG_UNSAFE_INSERT_IGNORE_SELECT = 1714u16,
1067    ER_BINLOG_UNSAFE_INSERT_SELECT_UPDATE = 1715u16,
1068    ER_BINLOG_UNSAFE_REPLACE_SELECT = 1716u16,
1069    ER_BINLOG_UNSAFE_CREATE_IGNORE_SELECT = 1717u16,
1070    ER_BINLOG_UNSAFE_CREATE_REPLACE_SELECT = 1718u16,
1071    ER_BINLOG_UNSAFE_UPDATE_IGNORE = 1719u16,
1072    ER_PLUGIN_NO_UNINSTALL = 1720u16,
1073    ER_PLUGIN_NO_INSTALL = 1721u16,
1074    ER_BINLOG_UNSAFE_WRITE_AUTOINC_SELECT = 1722u16,
1075    ER_BINLOG_UNSAFE_CREATE_SELECT_AUTOINC = 1723u16,
1076    ER_BINLOG_UNSAFE_INSERT_TWO_KEYS = 1724u16,
1077    ER_TABLE_IN_FK_CHECK = 1725u16,
1078    ER_UNSUPPORTED_ENGINE = 1726u16,
1079    ER_BINLOG_UNSAFE_AUTOINC_NOT_FIRST = 1727u16,
1080}