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