mysql

package
v7.0.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 30, 2023 License: Apache-2.0, Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

View Source
const (
	UTF8Charset    = "utf8"
	UTF8MB4Charset = "utf8mb4"
	Latin1Charset  = "latin1"
	DefaultCharset = UTF8MB4Charset
	// DefaultCollationID is utf8mb4_bin(46)
	DefaultCollationID        = 46
	Latin1DefaultCollationID  = 47
	ASCIIDefaultCollationID   = 65
	UTF8DefaultCollationID    = 83
	UTF8MB4DefaultCollationID = 46
	BinaryDefaultCollationID  = 63
	UTF8DefaultCollation      = "utf8_bin"
	UTF8MB4DefaultCollation   = "utf8mb4_bin"
	DefaultCollationName      = UTF8MB4DefaultCollation

	// MaxBytesOfCharacter, is the max bytes length of a character,
	// refer to RFC3629, in UTF-8, characters from the U+0000..U+10FFFF range
	// (the UTF-16 accessible range) are encoded using sequences of 1 to 4 octets.
	MaxBytesOfCharacter = 4
)

MySQL collation information.

View Source
const (
	OKHeader          byte = 0x00
	ErrHeader         byte = 0xff
	EOFHeader         byte = 0xfe
	LocalInFileHeader byte = 0xfb
)

Header information.

View Source
const (
	ServerStatusInTrans            uint16 = 0x0001
	ServerStatusAutocommit         uint16 = 0x0002
	ServerMoreResultsExists        uint16 = 0x0008
	ServerStatusNoGoodIndexUsed    uint16 = 0x0010
	ServerStatusNoIndexUsed        uint16 = 0x0020
	ServerStatusCursorExists       uint16 = 0x0040
	ServerStatusLastRowSend        uint16 = 0x0080
	ServerStatusDBDropped          uint16 = 0x0100
	ServerStatusNoBackslashEscaped uint16 = 0x0200
	ServerStatusMetadataChanged    uint16 = 0x0400
	ServerStatusWasSlow            uint16 = 0x0800
	ServerPSOutParams              uint16 = 0x1000
)

Server information.

View Source
const (
	// MaxPayloadLen is the max packet payload length.
	MaxPayloadLen = 1<<24 - 1
	// MaxTableNameLength is max length of table name identifier.
	MaxTableNameLength = 64
	// MaxDatabaseNameLength is max length of database name identifier.
	MaxDatabaseNameLength = 64
	// MaxColumnNameLength is max length of column name identifier.
	MaxColumnNameLength = 64
	// MaxKeyParts is max length of key parts.
	MaxKeyParts = 16
	// MaxIndexIdentifierLen is max length of index identifier.
	MaxIndexIdentifierLen = 64
	// MaxForeignKeyIdentifierLen is max length of foreign key identifier.
	MaxForeignKeyIdentifierLen = 64
	// MaxConstraintIdentifierLen is max length of constrain identifier.
	MaxConstraintIdentifierLen = 64
	// MaxViewIdentifierLen is max length of view identifier.
	MaxViewIdentifierLen = 64
	// MaxAliasIdentifierLen is max length of alias identifier.
	MaxAliasIdentifierLen = 256
	// MaxUserDefinedVariableLen is max length of user-defined variable.
	MaxUserDefinedVariableLen = 64
)

Identifier length limitations. See https://dev.mysql.com/doc/refman/5.7/en/identifiers.html

View Source
const (
	ComSleep byte = iota
	ComQuit
	ComInitDB
	ComQuery
	ComFieldList
	ComCreateDB
	ComDropDB
	ComRefresh
	ComShutdown
	ComStatistics
	ComProcessInfo
	ComConnect
	ComProcessKill
	ComDebug
	ComPing
	ComTime
	ComDelayedInsert
	ComChangeUser
	ComBinlogDump
	ComTableDump
	ComConnectOut
	ComRegisterSlave
	ComStmtPrepare
	ComStmtExecute
	ComStmtSendLongData
	ComStmtClose
	ComStmtReset
	ComSetOption
	ComStmtFetch
	ComDaemon
	ComBinlogDumpGtid
	ComResetConnection
	ComEnd
)

Command information.

View Source
const (
	ClientLongPassword               uint32 = 1 << iota // CLIENT_LONG_PASSWORD
	ClientFoundRows                                     // CLIENT_FOUND_ROWS
	ClientLongFlag                                      // CLIENT_LONG_FLAG
	ClientConnectWithDB                                 // CLIENT_CONNECT_WITH_DB
	ClientNoSchema                                      // CLIENT_NO_SCHEMA
	ClientCompress                                      // CLIENT_COMPRESS, Not supported: https://github.com/lemon-mint/tidb/v7/issues/22605
	ClientODBC                                          // CLIENT_ODBC
	ClientLocalFiles                                    // CLIENT_LOCAL_FILES
	ClientIgnoreSpace                                   // CLIENT_IGNORE_SPACE
	ClientProtocol41                                    // CLIENT_PROTOCOL_41
	ClientInteractive                                   // CLIENT_INTERACTIVE
	ClientSSL                                           // CLIENT_SSL
	ClientIgnoreSigpipe                                 // CLIENT_IGNORE_SIGPIPE
	ClientTransactions                                  // CLIENT_TRANSACTIONS
	ClientReserved                                      // Deprecated: CLIENT_RESERVED
	ClientSecureConnection                              // Deprecated: CLIENT_SECURE_CONNECTION
	ClientMultiStatements                               // CLIENT_MULTI_STATEMENTS
	ClientMultiResults                                  // CLIENT_MULTI_RESULTS
	ClientPSMultiResults                                // CLIENT_PS_MULTI_RESULTS
	ClientPluginAuth                                    // CLIENT_PLUGIN_AUTH
	ClientConnectAtts                                   // CLIENT_CONNECT_ATTRS
	ClientPluginAuthLenencClientData                    // CLIENT_PLUGIN_AUTH_LENENC_CLIENT_DATA
	ClientHandleExpiredPasswords                        // CLIENT_CAN_HANDLE_EXPIRED_PASSWORDS, Not supported: https://dev.mysql.com/doc/dev/mysql-server/latest/page_protocol_basic_expired_passwords.html
	ClientSessionTrack                                  // CLIENT_SESSION_TRACK, Not supported: https://github.com/lemon-mint/tidb/v7/issues/35309
	ClientDeprecateEOF                                  // CLIENT_DEPRECATE_EOF

)

Client information. https://dev.mysql.com/doc/dev/mysql-server/latest/group__group__cs__capabilities__flags.html

View Source
const (
	AuthNativePassword      = "mysql_native_password" // #nosec G101
	AuthCachingSha2Password = "caching_sha2_password" // #nosec G101
	AuthTiDBSM3Password     = "tidb_sm3_password"     // #nosec G101
	AuthMySQLClearPassword  = "mysql_clear_password"
	AuthSocket              = "auth_socket"
	AuthTiDBSessionToken    = "tidb_session_token"
	AuthTiDBAuthToken       = "tidb_auth_token"
)

Auth name information.

View Source
const (
	// SystemDB is the name of system database.
	SystemDB = "mysql"
	// GlobalPrivTable is the table in system db contains global scope privilege info.
	GlobalPrivTable = "global_priv"
	// UserTable is the table in system db contains user info.
	UserTable = "User"
	// DBTable is the table in system db contains db scope privilege info.
	DBTable = "DB"
	// TablePrivTable is the table in system db contains table scope privilege info.
	TablePrivTable = "Tables_priv"
	// ColumnPrivTable is the table in system db contains column scope privilege info.
	ColumnPrivTable = "Columns_priv"
	// GlobalVariablesTable is the table contains global system variables.
	GlobalVariablesTable = "GLOBAL_VARIABLES"
	// GlobalStatusTable is the table contains global status variables.
	GlobalStatusTable = "GLOBAL_STATUS"
	// TiDBTable is the table contains tidb info.
	TiDBTable = "tidb"
	// RoleEdgeTable is the table contains role relation info
	RoleEdgeTable = "role_edges"
	// DefaultRoleTable is the table contain default active role info
	DefaultRoleTable = "default_roles"
	// PasswordHistoryTable is the table in system db contains password history.
	PasswordHistoryTable = "password_history"
)

MySQL database and tables.

View Source
const (
	// NotFixedDec For arguments that have no fixed number of decimals, the decimals value is set to 31,
	// which is 1 more than the maximum number of decimals permitted for the DECIMAL, FLOAT, and DOUBLE data types.
	NotFixedDec = 31

	MaxIntWidth              = 20
	MaxRealWidth             = 23
	MaxFloatingTypeScale     = 30
	MaxFloatingTypeWidth     = 255
	MaxDecimalScale          = 30
	MaxDecimalWidth          = 65
	MaxDateWidth             = 10 // YYYY-MM-DD.
	MaxDatetimeWidthNoFsp    = 19 // YYYY-MM-DD HH:MM:SS
	MaxDatetimeWidthWithFsp  = 26 // YYYY-MM-DD HH:MM:SS[.fraction]
	MaxDatetimeFullWidth     = 29 // YYYY-MM-DD HH:MM:SS.###### AM
	MaxDurationWidthNoFsp    = 10 // HH:MM:SS
	MaxDurationWidthWithFsp  = 17 // HH:MM:SS[.fraction] -838:59:59.000000 to 838:59:59.000000
	MaxBlobWidth             = 16777216
	MaxLongBlobWidth         = 4294967295
	MaxBitDisplayWidth       = 64
	MaxFloatPrecisionLength  = 24
	MaxDoublePrecisionLength = 53
)

MySQL type maximum length.

View Source
const (
	MaxFieldCharLength    = 255
	MaxFieldVarCharLength = 65535
)

MySQL max type field length.

View Source
const (
	// PrimaryKeyName defines primary key name.
	PrimaryKeyName = "PRIMARY"
	// DefaultDecimal defines the default decimal value when the value out of range.
	DefaultDecimal = "99999999999999999999999999999999999999999999999999999999999999999"
	// PartitionCountLimit is limit of the number of partitions in a table.
	// Reference linking https://dev.mysql.com/doc/refman/5.7/en/partitioning-limitations.html.
	PartitionCountLimit = 8192
)
View Source
const (
	CursorTypeReadOnly = 1 << iota
	CursorTypeForUpdate
	CursorTypeScrollable
)

This is enum_cursor_type in MySQL

View Source
const (
	ErrErrorFirst                                            = 1000
	ErrHashchk                                               = 1000
	ErrNisamchk                                              = 1001
	ErrNo                                                    = 1002
	ErrYes                                                   = 1003
	ErrCantCreateFile                                        = 1004
	ErrCantCreateTable                                       = 1005
	ErrCantCreateDB                                          = 1006
	ErrDBCreateExists                                        = 1007
	ErrDBDropExists                                          = 1008
	ErrDBDropDelete                                          = 1009
	ErrDBDropRmdir                                           = 1010
	ErrCantDeleteFile                                        = 1011
	ErrCantFindSystemRec                                     = 1012
	ErrCantGetStat                                           = 1013
	ErrCantGetWd                                             = 1014
	ErrCantLock                                              = 1015
	ErrCantOpenFile                                          = 1016
	ErrFileNotFound                                          = 1017
	ErrCantReadDir                                           = 1018
	ErrCantSetWd                                             = 1019
	ErrCheckread                                             = 1020
	ErrDiskFull                                              = 1021
	ErrDupKey                                                = 1022
	ErrErrorOnClose                                          = 1023
	ErrErrorOnRead                                           = 1024
	ErrErrorOnRename                                         = 1025
	ErrErrorOnWrite                                          = 1026
	ErrFileUsed                                              = 1027
	ErrFilsortAbort                                          = 1028
	ErrFormNotFound                                          = 1029
	ErrGetErrno                                              = 1030
	ErrIllegalHa                                             = 1031
	ErrKeyNotFound                                           = 1032
	ErrNotFormFile                                           = 1033
	ErrNotKeyFile                                            = 1034
	ErrOldKeyFile                                            = 1035
	ErrOpenAsReadonly                                        = 1036
	ErrOutofMemory                                           = 1037
	ErrOutOfSortMemory                                       = 1038
	ErrUnexpectedEOF                                         = 1039
	ErrConCount                                              = 1040
	ErrOutOfResources                                        = 1041
	ErrBadHost                                               = 1042
	ErrHandshake                                             = 1043
	ErrDBaccessDenied                                        = 1044
	ErrAccessDenied                                          = 1045
	ErrNoDB                                                  = 1046
	ErrUnknownCom                                            = 1047
	ErrBadNull                                               = 1048
	ErrBadDB                                                 = 1049
	ErrTableExists                                           = 1050
	ErrBadTable                                              = 1051
	ErrNonUniq                                               = 1052
	ErrServerShutdown                                        = 1053
	ErrBadField                                              = 1054
	ErrFieldNotInGroupBy                                     = 1055
	ErrWrongGroupField                                       = 1056
	ErrWrongSumSelect                                        = 1057
	ErrWrongValueCount                                       = 1058
	ErrTooLongIdent                                          = 1059
	ErrDupFieldName                                          = 1060
	ErrDupKeyName                                            = 1061
	ErrDupEntry                                              = 1062
	ErrWrongFieldSpec                                        = 1063
	ErrParse                                                 = 1064
	ErrEmptyQuery                                            = 1065
	ErrNonuniqTable                                          = 1066
	ErrInvalidDefault                                        = 1067
	ErrMultiplePriKey                                        = 1068
	ErrTooManyKeys                                           = 1069
	ErrTooManyKeyParts                                       = 1070
	ErrTooLongKey                                            = 1071
	ErrKeyColumnDoesNotExits                                 = 1072
	ErrBlobUsedAsKey                                         = 1073
	ErrTooBigFieldlength                                     = 1074
	ErrWrongAutoKey                                          = 1075
	ErrReady                                                 = 1076
	ErrNormalShutdown                                        = 1077
	ErrGotSignal                                             = 1078
	ErrShutdownComplete                                      = 1079
	ErrForcingClose                                          = 1080
	ErrIpsock                                                = 1081
	ErrNoSuchIndex                                           = 1082
	ErrWrongFieldTerminators                                 = 1083
	ErrBlobsAndNoTerminated                                  = 1084
	ErrTextFileNotReadable                                   = 1085
	ErrFileExists                                            = 1086
	ErrLoadInfo                                              = 1087
	ErrAlterInfo                                             = 1088
	ErrWrongSubKey                                           = 1089
	ErrCantRemoveAllFields                                   = 1090
	ErrCantDropFieldOrKey                                    = 1091
	ErrInsertInfo                                            = 1092
	ErrUpdateTableUsed                                       = 1093
	ErrNoSuchThread                                          = 1094
	ErrKillDenied                                            = 1095
	ErrNoTablesUsed                                          = 1096
	ErrTooBigSet                                             = 1097
	ErrNoUniqueLogFile                                       = 1098
	ErrTableNotLockedForWrite                                = 1099
	ErrTableNotLocked                                        = 1100
	ErrBlobCantHaveDefault                                   = 1101
	ErrWrongDBName                                           = 1102
	ErrWrongTableName                                        = 1103
	ErrTooBigSelect                                          = 1104
	ErrUnknown                                               = 1105
	ErrUnknownProcedure                                      = 1106
	ErrWrongParamcountToProcedure                            = 1107
	ErrWrongParametersToProcedure                            = 1108
	ErrUnknownTable                                          = 1109
	ErrFieldSpecifiedTwice                                   = 1110
	ErrInvalidGroupFuncUse                                   = 1111
	ErrUnsupportedExtension                                  = 1112
	ErrTableMustHaveColumns                                  = 1113
	ErrRecordFileFull                                        = 1114
	ErrUnknownCharacterSet                                   = 1115
	ErrTooManyTables                                         = 1116
	ErrTooManyFields                                         = 1117
	ErrTooBigRowsize                                         = 1118
	ErrStackOverrun                                          = 1119
	ErrWrongOuterJoin                                        = 1120
	ErrNullColumnInIndex                                     = 1121
	ErrCantFindUdf                                           = 1122
	ErrCantInitializeUdf                                     = 1123
	ErrUdfNoPaths                                            = 1124
	ErrUdfExists                                             = 1125
	ErrCantOpenLibrary                                       = 1126
	ErrCantFindDlEntry                                       = 1127
	ErrFunctionNotDefined                                    = 1128
	ErrHostIsBlocked                                         = 1129
	ErrHostNotPrivileged                                     = 1130
	ErrPasswordAnonymousUser                                 = 1131
	ErrPasswordNotAllowed                                    = 1132
	ErrPasswordNoMatch                                       = 1133
	ErrUpdateInfo                                            = 1134
	ErrCantCreateThread                                      = 1135
	ErrWrongValueCountOnRow                                  = 1136
	ErrCantReopenTable                                       = 1137
	ErrInvalidUseOfNull                                      = 1138
	ErrRegexp                                                = 1139
	ErrMixOfGroupFuncAndFields                               = 1140
	ErrNonexistingGrant                                      = 1141
	ErrTableaccessDenied                                     = 1142
	ErrColumnaccessDenied                                    = 1143
	ErrIllegalGrantForTable                                  = 1144
	ErrGrantWrongHostOrUser                                  = 1145
	ErrNoSuchTable                                           = 1146
	ErrNonexistingTableGrant                                 = 1147
	ErrNotAllowedCommand                                     = 1148
	ErrSyntax                                                = 1149
	ErrDelayedCantChangeLock                                 = 1150
	ErrTooManyDelayedThreads                                 = 1151
	ErrAbortingConnection                                    = 1152
	ErrNetPacketTooLarge                                     = 1153
	ErrNetReadErrorFromPipe                                  = 1154
	ErrNetFcntl                                              = 1155
	ErrNetPacketsOutOfOrder                                  = 1156
	ErrNetUncompress                                         = 1157
	ErrNetRead                                               = 1158
	ErrNetReadInterrupted                                    = 1159
	ErrNetErrorOnWrite                                       = 1160
	ErrNetWriteInterrupted                                   = 1161
	ErrTooLongString                                         = 1162
	ErrTableCantHandleBlob                                   = 1163
	ErrTableCantHandleAutoIncrement                          = 1164
	ErrDelayedInsertTableLocked                              = 1165
	ErrWrongColumnName                                       = 1166
	ErrWrongKeyColumn                                        = 1167
	ErrWrongMrgTable                                         = 1168
	ErrDupUnique                                             = 1169
	ErrBlobKeyWithoutLength                                  = 1170
	ErrPrimaryCantHaveNull                                   = 1171
	ErrTooManyRows                                           = 1172
	ErrRequiresPrimaryKey                                    = 1173
	ErrNoRaidCompiled                                        = 1174
	ErrUpdateWithoutKeyInSafeMode                            = 1175
	ErrKeyDoesNotExist                                       = 1176
	ErrCheckNoSuchTable                                      = 1177
	ErrCheckNotImplemented                                   = 1178
	ErrCantDoThisDuringAnTransaction                         = 1179
	ErrErrorDuringCommit                                     = 1180
	ErrErrorDuringRollback                                   = 1181
	ErrErrorDuringFlushLogs                                  = 1182
	ErrErrorDuringCheckpoint                                 = 1183
	ErrNewAbortingConnection                                 = 1184
	ErrDumpNotImplemented                                    = 1185
	ErrFlushMasterBinlogClosed                               = 1186
	ErrIndexRebuild                                          = 1187
	ErrMaster                                                = 1188
	ErrMasterNetRead                                         = 1189
	ErrMasterNetWrite                                        = 1190
	ErrFtMatchingKeyNotFound                                 = 1191
	ErrLockOrActiveTransaction                               = 1192
	ErrUnknownSystemVariable                                 = 1193
	ErrCrashedOnUsage                                        = 1194
	ErrCrashedOnRepair                                       = 1195
	ErrWarningNotCompleteRollback                            = 1196
	ErrTransCacheFull                                        = 1197
	ErrSlaveMustStop                                         = 1198
	ErrSlaveNotRunning                                       = 1199
	ErrBadSlave                                              = 1200
	ErrMasterInfo                                            = 1201
	ErrSlaveThread                                           = 1202
	ErrTooManyUserConnections                                = 1203
	ErrSetConstantsOnly                                      = 1204
	ErrLockWaitTimeout                                       = 1205
	ErrLockTableFull                                         = 1206
	ErrReadOnlyTransaction                                   = 1207
	ErrDropDBWithReadLock                                    = 1208
	ErrCreateDBWithReadLock                                  = 1209
	ErrWrongArguments                                        = 1210
	ErrNoPermissionToCreateUser                              = 1211
	ErrUnionTablesInDifferentDir                             = 1212
	ErrLockDeadlock                                          = 1213
	ErrTableCantHandleFt                                     = 1214
	ErrCannotAddForeign                                      = 1215
	ErrNoReferencedRow                                       = 1216
	ErrRowIsReferenced                                       = 1217
	ErrConnectToMaster                                       = 1218
	ErrQueryOnMaster                                         = 1219
	ErrErrorWhenExecutingCommand                             = 1220
	ErrWrongUsage                                            = 1221
	ErrWrongNumberOfColumnsInSelect                          = 1222
	ErrCantUpdateWithReadlock                                = 1223
	ErrMixingNotAllowed                                      = 1224
	ErrDupArgument                                           = 1225
	ErrUserLimitReached                                      = 1226
	ErrSpecificAccessDenied                                  = 1227
	ErrLocalVariable                                         = 1228
	ErrGlobalVariable                                        = 1229
	ErrNoDefault                                             = 1230
	ErrWrongValueForVar                                      = 1231
	ErrWrongTypeForVar                                       = 1232
	ErrVarCantBeRead                                         = 1233
	ErrCantUseOptionHere                                     = 1234
	ErrNotSupportedYet                                       = 1235
	ErrMasterFatalErrorReadingBinlog                         = 1236
	ErrSlaveIgnoredTable                                     = 1237
	ErrIncorrectGlobalLocalVar                               = 1238
	ErrWrongFkDef                                            = 1239
	ErrKeyRefDoNotMatchTableRef                              = 1240
	ErrOperandColumns                                        = 1241
	ErrSubqueryNo1Row                                        = 1242
	ErrUnknownStmtHandler                                    = 1243
	ErrCorruptHelpDB                                         = 1244
	ErrCyclicReference                                       = 1245
	ErrAutoConvert                                           = 1246
	ErrIllegalReference                                      = 1247
	ErrDerivedMustHaveAlias                                  = 1248
	ErrSelectReduced                                         = 1249
	ErrTablenameNotAllowedHere                               = 1250
	ErrNotSupportedAuthMode                                  = 1251
	ErrSpatialCantHaveNull                                   = 1252
	ErrCollationCharsetMismatch                              = 1253
	ErrSlaveWasRunning                                       = 1254
	ErrSlaveWasNotRunning                                    = 1255
	ErrTooBigForUncompress                                   = 1256
	ErrZlibZMem                                              = 1257
	ErrZlibZBuf                                              = 1258
	ErrZlibZData                                             = 1259
	ErrCutValueGroupConcat                                   = 1260
	ErrWarnTooFewRecords                                     = 1261
	ErrWarnTooManyRecords                                    = 1262
	ErrWarnNullToNotnull                                     = 1263
	ErrWarnDataOutOfRange                                    = 1264
	WarnDataTruncated                                        = 1265
	ErrWarnUsingOtherHandler                                 = 1266
	ErrCantAggregate2collations                              = 1267
	ErrDropUser                                              = 1268
	ErrRevokeGrants                                          = 1269
	ErrCantAggregate3collations                              = 1270
	ErrCantAggregateNcollations                              = 1271
	ErrVariableIsNotStruct                                   = 1272
	ErrUnknownCollation                                      = 1273
	ErrSlaveIgnoredSslParams                                 = 1274
	ErrServerIsInSecureAuthMode                              = 1275
	ErrWarnFieldResolved                                     = 1276
	ErrBadSlaveUntilCond                                     = 1277
	ErrMissingSkipSlave                                      = 1278
	ErrUntilCondIgnored                                      = 1279
	ErrWrongNameForIndex                                     = 1280
	ErrWrongNameForCatalog                                   = 1281
	ErrWarnQcResize                                          = 1282
	ErrBadFtColumn                                           = 1283
	ErrUnknownKeyCache                                       = 1284
	ErrWarnHostnameWontWork                                  = 1285
	ErrUnknownStorageEngine                                  = 1286
	ErrWarnDeprecatedSyntax                                  = 1287
	ErrNonUpdatableTable                                     = 1288
	ErrFeatureDisabled                                       = 1289
	ErrOptionPreventsStatement                               = 1290
	ErrDuplicatedValueInType                                 = 1291
	ErrTruncatedWrongValue                                   = 1292
	ErrTooMuchAutoTimestampCols                              = 1293
	ErrInvalidOnUpdate                                       = 1294
	ErrUnsupportedPs                                         = 1295
	ErrGetErrmsg                                             = 1296
	ErrGetTemporaryErrmsg                                    = 1297
	ErrUnknownTimeZone                                       = 1298
	ErrWarnInvalidTimestamp                                  = 1299
	ErrInvalidCharacterString                                = 1300
	ErrWarnAllowedPacketOverflowed                           = 1301
	ErrConflictingDeclarations                               = 1302
	ErrSpNoRecursiveCreate                                   = 1303
	ErrSpAlreadyExists                                       = 1304
	ErrSpDoesNotExist                                        = 1305
	ErrSpDropFailed                                          = 1306
	ErrSpStoreFailed                                         = 1307
	ErrSpLilabelMismatch                                     = 1308
	ErrSpLabelRedefine                                       = 1309
	ErrSpLabelMismatch                                       = 1310
	ErrSpUninitVar                                           = 1311
	ErrSpBadselect                                           = 1312
	ErrSpBadreturn                                           = 1313
	ErrSpBadstatement                                        = 1314
	ErrUpdateLogDeprecatedIgnored                            = 1315
	ErrUpdateLogDeprecatedTranslated                         = 1316
	ErrQueryInterrupted                                      = 1317
	ErrSpWrongNoOfArgs                                       = 1318
	ErrSpCondMismatch                                        = 1319
	ErrSpNoreturn                                            = 1320
	ErrSpNoreturnend                                         = 1321
	ErrSpBadCursorQuery                                      = 1322
	ErrSpBadCursorSelect                                     = 1323
	ErrSpCursorMismatch                                      = 1324
	ErrSpCursorAlreadyOpen                                   = 1325
	ErrSpCursorNotOpen                                       = 1326
	ErrSpUndeclaredVar                                       = 1327
	ErrSpWrongNoOfFetchArgs                                  = 1328
	ErrSpFetchNoData                                         = 1329
	ErrSpDupParam                                            = 1330
	ErrSpDupVar                                              = 1331
	ErrSpDupCond                                             = 1332
	ErrSpDupCurs                                             = 1333
	ErrSpCantAlter                                           = 1334
	ErrSpSubselectNyi                                        = 1335
	ErrStmtNotAllowedInSfOrTrg                               = 1336
	ErrSpVarcondAfterCurshndlr                               = 1337
	ErrSpCursorAfterHandler                                  = 1338
	ErrSpCaseNotFound                                        = 1339
	ErrFparserTooBigFile                                     = 1340
	ErrFparserBadHeader                                      = 1341
	ErrFparserEOFInComment                                   = 1342
	ErrFparserErrorInParameter                               = 1343
	ErrFparserEOFInUnknownParameter                          = 1344
	ErrViewNoExplain                                         = 1345
	ErrFrmUnknownType                                        = 1346
	ErrWrongObject                                           = 1347
	ErrNonupdateableColumn                                   = 1348
	ErrViewSelectDerived                                     = 1349
	ErrViewSelectClause                                      = 1350
	ErrViewSelectVariable                                    = 1351
	ErrViewSelectTmptable                                    = 1352
	ErrViewWrongList                                         = 1353
	ErrWarnViewMerge                                         = 1354
	ErrWarnViewWithoutKey                                    = 1355
	ErrViewInvalid                                           = 1356
	ErrSpNoDropSp                                            = 1357
	ErrSpGotoInHndlr                                         = 1358
	ErrTrgAlreadyExists                                      = 1359
	ErrTrgDoesNotExist                                       = 1360
	ErrTrgOnViewOrTempTable                                  = 1361
	ErrTrgCantChangeRow                                      = 1362
	ErrTrgNoSuchRowInTrg                                     = 1363
	ErrNoDefaultForField                                     = 1364
	ErrDivisionByZero                                        = 1365
	ErrTruncatedWrongValueForField                           = 1366
	ErrIllegalValueForType                                   = 1367
	ErrViewNonupdCheck                                       = 1368
	ErrViewCheckFailed                                       = 1369
	ErrProcaccessDenied                                      = 1370
	ErrRelayLogFail                                          = 1371
	ErrPasswdLength                                          = 1372
	ErrUnknownTargetBinlog                                   = 1373
	ErrIoErrLogIndexRead                                     = 1374
	ErrBinlogPurgeProhibited                                 = 1375
	ErrFseekFail                                             = 1376
	ErrBinlogPurgeFatalErr                                   = 1377
	ErrLogInUse                                              = 1378
	ErrLogPurgeUnknownErr                                    = 1379
	ErrRelayLogInit                                          = 1380
	ErrNoBinaryLogging                                       = 1381
	ErrReservedSyntax                                        = 1382
	ErrWsasFailed                                            = 1383
	ErrDiffGroupsProc                                        = 1384
	ErrNoGroupForProc                                        = 1385
	ErrOrderWithProc                                         = 1386
	ErrLoggingProhibitChangingOf                             = 1387
	ErrNoFileMapping                                         = 1388
	ErrWrongMagic                                            = 1389
	ErrPsManyParam                                           = 1390
	ErrKeyPart0                                              = 1391
	ErrViewChecksum                                          = 1392
	ErrViewMultiupdate                                       = 1393
	ErrViewNoInsertFieldList                                 = 1394
	ErrViewDeleteMergeView                                   = 1395
	ErrCannotUser                                            = 1396
	ErrXaerNota                                              = 1397
	ErrXaerInval                                             = 1398
	ErrXaerRmfail                                            = 1399
	ErrXaerOutside                                           = 1400
	ErrXaerRmerr                                             = 1401
	ErrXaRbrollback                                          = 1402
	ErrNonexistingProcGrant                                  = 1403
	ErrProcAutoGrantFail                                     = 1404
	ErrProcAutoRevokeFail                                    = 1405
	ErrDataTooLong                                           = 1406
	ErrSpBadSQLstate                                         = 1407
	ErrStartup                                               = 1408
	ErrLoadFromFixedSizeRowsToVar                            = 1409
	ErrCantCreateUserWithGrant                               = 1410
	ErrWrongValueForType                                     = 1411
	ErrTableDefChanged                                       = 1412
	ErrSpDupHandler                                          = 1413
	ErrSpNotVarArg                                           = 1414
	ErrSpNoRetset                                            = 1415
	ErrCantCreateGeometryObject                              = 1416
	ErrFailedRoutineBreakBinlog                              = 1417
	ErrBinlogUnsafeRoutine                                   = 1418
	ErrBinlogCreateRoutineNeedSuper                          = 1419
	ErrExecStmtWithOpenCursor                                = 1420
	ErrStmtHasNoOpenCursor                                   = 1421
	ErrCommitNotAllowedInSfOrTrg                             = 1422
	ErrNoDefaultForViewField                                 = 1423
	ErrSpNoRecursion                                         = 1424
	ErrTooBigScale                                           = 1425
	ErrTooBigPrecision                                       = 1426
	ErrMBiggerThanD                                          = 1427
	ErrWrongLockOfSystemTable                                = 1428
	ErrConnectToForeignDataSource                            = 1429
	ErrQueryOnForeignDataSource                              = 1430
	ErrForeignDataSourceDoesntExist                          = 1431
	ErrForeignDataStringInvalidCantCreate                    = 1432
	ErrForeignDataStringInvalid                              = 1433
	ErrCantCreateFederatedTable                              = 1434
	ErrTrgInWrongSchema                                      = 1435
	ErrStackOverrunNeedMore                                  = 1436
	ErrTooLongBody                                           = 1437
	ErrWarnCantDropDefaultKeycache                           = 1438
	ErrTooBigDisplaywidth                                    = 1439
	ErrXaerDupid                                             = 1440
	ErrDatetimeFunctionOverflow                              = 1441
	ErrCantUpdateUsedTableInSfOrTrg                          = 1442
	ErrViewPreventUpdate                                     = 1443
	ErrPsNoRecursion                                         = 1444
	ErrSpCantSetAutocommit                                   = 1445
	ErrMalformedDefiner                                      = 1446
	ErrViewFrmNoUser                                         = 1447
	ErrViewOtherUser                                         = 1448
	ErrNoSuchUser                                            = 1449
	ErrForbidSchemaChange                                    = 1450
	ErrRowIsReferenced2                                      = 1451
	ErrNoReferencedRow2                                      = 1452
	ErrSpBadVarShadow                                        = 1453
	ErrTrgNoDefiner                                          = 1454
	ErrOldFileFormat                                         = 1455
	ErrSpRecursionLimit                                      = 1456
	ErrSpProcTableCorrupt                                    = 1457
	ErrSpWrongName                                           = 1458
	ErrTableNeedsUpgrade                                     = 1459
	ErrSpNoAggregate                                         = 1460
	ErrMaxPreparedStmtCountReached                           = 1461
	ErrViewRecursive                                         = 1462
	ErrNonGroupingFieldUsed                                  = 1463
	ErrTableCantHandleSpkeys                                 = 1464
	ErrNoTriggersOnSystemSchema                              = 1465
	ErrRemovedSpaces                                         = 1466
	ErrAutoincReadFailed                                     = 1467
	ErrUsername                                              = 1468
	ErrHostname                                              = 1469
	ErrWrongStringLength                                     = 1470
	ErrNonInsertableTable                                    = 1471
	ErrAdminWrongMrgTable                                    = 1472
	ErrTooHighLevelOfNestingForSelect                        = 1473
	ErrNameBecomesEmpty                                      = 1474
	ErrAmbiguousFieldTerm                                    = 1475
	ErrForeignServerExists                                   = 1476
	ErrForeignServerDoesntExist                              = 1477
	ErrIllegalHaCreateOption                                 = 1478
	ErrPartitionRequiresValues                               = 1479
	ErrPartitionWrongValues                                  = 1480
	ErrPartitionMaxvalue                                     = 1481
	ErrPartitionSubpartition                                 = 1482
	ErrPartitionSubpartMix                                   = 1483
	ErrPartitionWrongNoPart                                  = 1484
	ErrPartitionWrongNoSubpart                               = 1485
	ErrWrongExprInPartitionFunc                              = 1486
	ErrNoConstExprInRangeOrList                              = 1487
	ErrFieldNotFoundPart                                     = 1488
	ErrListOfFieldsOnlyInHash                                = 1489
	ErrInconsistentPartitionInfo                             = 1490
	ErrPartitionFuncNotAllowed                               = 1491
	ErrPartitionsMustBeDefined                               = 1492
	ErrRangeNotIncreasing                                    = 1493
	ErrInconsistentTypeOfFunctions                           = 1494
	ErrMultipleDefConstInListPart                            = 1495
	ErrPartitionEntry                                        = 1496
	ErrMixHandler                                            = 1497
	ErrPartitionNotDefined                                   = 1498
	ErrTooManyPartitions                                     = 1499
	ErrSubpartition                                          = 1500
	ErrCantCreateHandlerFile                                 = 1501
	ErrBlobFieldInPartFunc                                   = 1502
	ErrUniqueKeyNeedAllFieldsInPf                            = 1503
	ErrNoParts                                               = 1504
	ErrPartitionMgmtOnNonpartitioned                         = 1505
	ErrForeignKeyOnPartitioned                               = 1506
	ErrDropPartitionNonExistent                              = 1507
	ErrDropLastPartition                                     = 1508
	ErrCoalesceOnlyOnHashPartition                           = 1509
	ErrReorgHashOnlyOnSameNo                                 = 1510
	ErrReorgNoParam                                          = 1511
	ErrOnlyOnRangeListPartition                              = 1512
	ErrAddPartitionSubpart                                   = 1513
	ErrAddPartitionNoNewPartition                            = 1514
	ErrCoalescePartitionNoPartition                          = 1515
	ErrReorgPartitionNotExist                                = 1516
	ErrSameNamePartition                                     = 1517
	ErrNoBinlog                                              = 1518
	ErrConsecutiveReorgPartitions                            = 1519
	ErrReorgOutsideRange                                     = 1520
	ErrPartitionFunctionFailure                              = 1521
	ErrPartState                                             = 1522
	ErrLimitedPartRange                                      = 1523
	ErrPluginIsNotLoaded                                     = 1524
	ErrWrongValue                                            = 1525
	ErrNoPartitionForGivenValue                              = 1526
	ErrFilegroupOptionOnlyOnce                               = 1527
	ErrCreateFilegroupFailed                                 = 1528
	ErrDropFilegroupFailed                                   = 1529
	ErrTablespaceAutoExtend                                  = 1530
	ErrWrongSizeNumber                                       = 1531
	ErrSizeOverflow                                          = 1532
	ErrAlterFilegroupFailed                                  = 1533
	ErrBinlogRowLoggingFailed                                = 1534
	ErrBinlogRowWrongTableDef                                = 1535
	ErrBinlogRowRbrToSbr                                     = 1536
	ErrEventAlreadyExists                                    = 1537
	ErrEventStoreFailed                                      = 1538
	ErrEventDoesNotExist                                     = 1539
	ErrEventCantAlter                                        = 1540
	ErrEventDropFailed                                       = 1541
	ErrEventIntervalNotPositiveOrTooBig                      = 1542
	ErrEventEndsBeforeStarts                                 = 1543
	ErrEventExecTimeInThePast                                = 1544
	ErrEventOpenTableFailed                                  = 1545
	ErrEventNeitherMExprNorMAt                               = 1546
	ErrObsoleteColCountDoesntMatchCorrupted                  = 1547
	ErrObsoleteCannotLoadFromTable                           = 1548
	ErrEventCannotDelete                                     = 1549
	ErrEventCompile                                          = 1550
	ErrEventSameName                                         = 1551
	ErrEventDataTooLong                                      = 1552
	ErrDropIndexNeededInForeignKey                           = 1553
	ErrWarnDeprecatedSyntaxWithVer                           = 1554
	ErrCantWriteLockLogTable                                 = 1555
	ErrCantLockLogTable                                      = 1556
	ErrForeignDuplicateKeyOldUnused                          = 1557
	ErrColCountDoesntMatchPleaseUpdate                       = 1558
	ErrTempTablePreventsSwitchOutOfRbr                       = 1559
	ErrStoredFunctionPreventsSwitchBinlogFormat              = 1560
	ErrNdbCantSwitchBinlogFormat                             = 1561
	ErrPartitionNoTemporary                                  = 1562
	ErrPartitionConstDomain                                  = 1563
	ErrPartitionFunctionIsNotAllowed                         = 1564
	ErrDdlLog                                                = 1565
	ErrNullInValuesLessThan                                  = 1566
	ErrWrongPartitionName                                    = 1567
	ErrCantChangeTxCharacteristics                           = 1568
	ErrDupEntryAutoincrementCase                             = 1569
	ErrEventModifyQueue                                      = 1570
	ErrEventSetVar                                           = 1571
	ErrPartitionMerge                                        = 1572
	ErrCantActivateLog                                       = 1573
	ErrRbrNotAvailable                                       = 1574
	ErrBase64Decode                                          = 1575
	ErrEventRecursionForbidden                               = 1576
	ErrEventsDB                                              = 1577
	ErrOnlyIntegersAllowed                                   = 1578
	ErrUnsuportedLogEngine                                   = 1579
	ErrBadLogStatement                                       = 1580
	ErrCantRenameLogTable                                    = 1581
	ErrWrongParamcountToNativeFct                            = 1582
	ErrWrongParametersToNativeFct                            = 1583
	ErrWrongParametersToStoredFct                            = 1584
	ErrNativeFctNameCollision                                = 1585
	ErrDupEntryWithKeyName                                   = 1586
	ErrBinlogPurgeEmFile                                     = 1587
	ErrEventCannotCreateInThePast                            = 1588
	ErrEventCannotAlterInThePast                             = 1589
	ErrSlaveIncident                                         = 1590
	ErrNoPartitionForGivenValueSilent                        = 1591
	ErrBinlogUnsafeStatement                                 = 1592
	ErrSlaveFatal                                            = 1593
	ErrSlaveRelayLogReadFailure                              = 1594
	ErrSlaveRelayLogWriteFailure                             = 1595
	ErrSlaveCreateEventFailure                               = 1596
	ErrSlaveMasterComFailure                                 = 1597
	ErrBinlogLoggingImpossible                               = 1598
	ErrViewNoCreationCtx                                     = 1599
	ErrViewInvalidCreationCtx                                = 1600
	ErrSrInvalidCreationCtx                                  = 1601
	ErrTrgCorruptedFile                                      = 1602
	ErrTrgNoCreationCtx                                      = 1603
	ErrTrgInvalidCreationCtx                                 = 1604
	ErrEventInvalidCreationCtx                               = 1605
	ErrTrgCantOpenTable                                      = 1606
	ErrCantCreateSroutine                                    = 1607
	ErrNeverUsed                                             = 1608
	ErrNoFormatDescriptionEventBeforeBinlogStatement         = 1609
	ErrSlaveCorruptEvent                                     = 1610
	ErrLoadDataInvalidColumn                                 = 1611
	ErrLogPurgeNoFile                                        = 1612
	ErrXaRbtimeout                                           = 1613
	ErrXaRbdeadlock                                          = 1614
	ErrNeedReprepare                                         = 1615
	ErrDelayedNotSupported                                   = 1616
	WarnNoMasterInfo                                         = 1617
	WarnOptionIgnored                                        = 1618
	WarnPluginDeleteBuiltin                                  = 1619
	WarnPluginBusy                                           = 1620
	ErrVariableIsReadonly                                    = 1621
	ErrWarnEngineTransactionRollback                         = 1622
	ErrSlaveHeartbeatFailure                                 = 1623
	ErrSlaveHeartbeatValueOutOfRange                         = 1624
	ErrNdbReplicationSchema                                  = 1625
	ErrConflictFnParse                                       = 1626
	ErrExceptionsWrite                                       = 1627
	ErrTooLongTableComment                                   = 1628
	ErrTooLongFieldComment                                   = 1629
	ErrFuncInexistentNameCollision                           = 1630
	ErrDatabaseName                                          = 1631
	ErrTableName                                             = 1632
	ErrPartitionName                                         = 1633
	ErrSubpartitionName                                      = 1634
	ErrTemporaryName                                         = 1635
	ErrRenamedName                                           = 1636
	ErrTooManyConcurrentTrxs                                 = 1637
	WarnNonASCIISeparatorNotImplemented                      = 1638
	ErrDebugSyncTimeout                                      = 1639
	ErrDebugSyncHitLimit                                     = 1640
	ErrDupSignalSet                                          = 1641
	ErrSignalWarn                                            = 1642
	ErrSignalNotFound                                        = 1643
	ErrSignalException                                       = 1644
	ErrResignalWithoutActiveHandler                          = 1645
	ErrSignalBadConditionType                                = 1646
	WarnCondItemTruncated                                    = 1647
	ErrCondItemTooLong                                       = 1648
	ErrUnknownLocale                                         = 1649
	ErrSlaveIgnoreServerIds                                  = 1650
	ErrQueryCacheDisabled                                    = 1651
	ErrSameNamePartitionField                                = 1652
	ErrPartitionColumnList                                   = 1653
	ErrWrongTypeColumnValue                                  = 1654
	ErrTooManyPartitionFuncFields                            = 1655
	ErrMaxvalueInValuesIn                                    = 1656
	ErrTooManyValues                                         = 1657
	ErrRowSinglePartitionField                               = 1658
	ErrFieldTypeNotAllowedAsPartitionField                   = 1659
	ErrPartitionFieldsTooLong                                = 1660
	ErrBinlogRowEngineAndStmtEngine                          = 1661
	ErrBinlogRowModeAndStmtEngine                            = 1662
	ErrBinlogUnsafeAndStmtEngine                             = 1663
	ErrBinlogRowInjectionAndStmtEngine                       = 1664
	ErrBinlogStmtModeAndRowEngine                            = 1665
	ErrBinlogRowInjectionAndStmtMode                         = 1666
	ErrBinlogMultipleEnginesAndSelfLoggingEngine             = 1667
	ErrBinlogUnsafeLimit                                     = 1668
	ErrBinlogUnsafeInsertDelayed                             = 1669
	ErrBinlogUnsafeSystemTable                               = 1670
	ErrBinlogUnsafeAutoincColumns                            = 1671
	ErrBinlogUnsafeUdf                                       = 1672
	ErrBinlogUnsafeSystemVariable                            = 1673
	ErrBinlogUnsafeSystemFunction                            = 1674
	ErrBinlogUnsafeNontransAfterTrans                        = 1675
	ErrMessageAndStatement                                   = 1676
	ErrSlaveConversionFailed                                 = 1677
	ErrSlaveCantCreateConversion                             = 1678
	ErrInsideTransactionPreventsSwitchBinlogFormat           = 1679
	ErrPathLength                                            = 1680
	ErrWarnDeprecatedSyntaxNoReplacement                     = 1681
	ErrWrongNativeTableStructure                             = 1682
	ErrWrongPerfSchemaUsage                                  = 1683
	ErrWarnISSkippedTable                                    = 1684
	ErrInsideTransactionPreventsSwitchBinlogDirect           = 1685
	ErrStoredFunctionPreventsSwitchBinlogDirect              = 1686
	ErrSpatialMustHaveGeomCol                                = 1687
	ErrTooLongIndexComment                                   = 1688
	ErrLockAborted                                           = 1689
	ErrDataOutOfRange                                        = 1690
	ErrWrongSpvarTypeInLimit                                 = 1691
	ErrBinlogUnsafeMultipleEnginesAndSelfLoggingEngine       = 1692
	ErrBinlogUnsafeMixedStatement                            = 1693
	ErrInsideTransactionPreventsSwitchSQLLogBin              = 1694
	ErrStoredFunctionPreventsSwitchSQLLogBin                 = 1695
	ErrFailedReadFromParFile                                 = 1696
	ErrValuesIsNotIntType                                    = 1697
	ErrAccessDeniedNoPassword                                = 1698
	ErrSetPasswordAuthPlugin                                 = 1699
	ErrGrantPluginUserExists                                 = 1700
	ErrTruncateIllegalForeignKey                             = 1701
	ErrPluginIsPermanent                                     = 1702
	ErrSlaveHeartbeatValueOutOfRangeMin                      = 1703
	ErrSlaveHeartbeatValueOutOfRangeMax                      = 1704
	ErrStmtCacheFull                                         = 1705
	ErrMultiUpdateKeyConflict                                = 1706
	ErrTableNeedsRebuild                                     = 1707
	WarnOptionBelowLimit                                     = 1708
	ErrIndexColumnTooLong                                    = 1709
	ErrErrorInTriggerBody                                    = 1710
	ErrErrorInUnknownTriggerBody                             = 1711
	ErrIndexCorrupt                                          = 1712
	ErrUndoRecordTooBig                                      = 1713
	ErrBinlogUnsafeInsertIgnoreSelect                        = 1714
	ErrBinlogUnsafeInsertSelectUpdate                        = 1715
	ErrBinlogUnsafeReplaceSelect                             = 1716
	ErrBinlogUnsafeCreateIgnoreSelect                        = 1717
	ErrBinlogUnsafeCreateReplaceSelect                       = 1718
	ErrBinlogUnsafeUpdateIgnore                              = 1719
	ErrPluginNoUninstall                                     = 1720
	ErrPluginNoInstall                                       = 1721
	ErrBinlogUnsafeWriteAutoincSelect                        = 1722
	ErrBinlogUnsafeCreateSelectAutoinc                       = 1723
	ErrBinlogUnsafeInsertTwoKeys                             = 1724
	ErrTableInFkCheck                                        = 1725
	ErrUnsupportedEngine                                     = 1726
	ErrBinlogUnsafeAutoincNotFirst                           = 1727
	ErrCannotLoadFromTableV2                                 = 1728
	ErrMasterDelayValueOutOfRange                            = 1729
	ErrOnlyFdAndRbrEventsAllowedInBinlogStatement            = 1730
	ErrPartitionExchangeDifferentOption                      = 1731
	ErrPartitionExchangePartTable                            = 1732
	ErrPartitionExchangeTempTable                            = 1733
	ErrPartitionInsteadOfSubpartition                        = 1734
	ErrUnknownPartition                                      = 1735
	ErrTablesDifferentMetadata                               = 1736
	ErrRowDoesNotMatchPartition                              = 1737
	ErrBinlogCacheSizeGreaterThanMax                         = 1738
	ErrWarnIndexNotApplicable                                = 1739
	ErrPartitionExchangeForeignKey                           = 1740
	ErrNoSuchKeyValue                                        = 1741
	ErrRplInfoDataTooLong                                    = 1742
	ErrNetworkReadEventChecksumFailure                       = 1743
	ErrBinlogReadEventChecksumFailure                        = 1744
	ErrBinlogStmtCacheSizeGreaterThanMax                     = 1745
	ErrCantUpdateTableInCreateTableSelect                    = 1746
	ErrPartitionClauseOnNonpartitioned                       = 1747
	ErrRowDoesNotMatchGivenPartitionSet                      = 1748
	ErrNoSuchPartitionunused                                 = 1749
	ErrChangeRplInfoRepositoryFailure                        = 1750
	ErrWarningNotCompleteRollbackWithCreatedTempTable        = 1751
	ErrWarningNotCompleteRollbackWithDroppedTempTable        = 1752
	ErrMtsFeatureIsNotSupported                              = 1753
	ErrMtsUpdatedDBsGreaterMax                               = 1754
	ErrMtsCantParallel                                       = 1755
	ErrMtsInconsistentData                                   = 1756
	ErrFulltextNotSupportedWithPartitioning                  = 1757
	ErrDaInvalidConditionNumber                              = 1758
	ErrInsecurePlainText                                     = 1759
	ErrInsecureChangeMaster                                  = 1760
	ErrForeignDuplicateKeyWithChildInfo                      = 1761
	ErrForeignDuplicateKeyWithoutChildInfo                   = 1762
	ErrSQLthreadWithSecureSlave                              = 1763
	ErrTableHasNoFt                                          = 1764
	ErrVariableNotSettableInSfOrTrigger                      = 1765
	ErrVariableNotSettableInTransaction                      = 1766
	ErrGtidNextIsNotInGtidNextList                           = 1767
	ErrCantChangeGtidNextInTransactionWhenGtidNextListIsNull = 1768
	ErrSetStatementCannotInvokeFunction                      = 1769
	ErrGtidNextCantBeAutomaticIfGtidNextListIsNonNull        = 1770
	ErrSkippingLoggedTransaction                             = 1771
	ErrMalformedGtidSetSpecification                         = 1772
	ErrMalformedGtidSetEncoding                              = 1773
	ErrMalformedGtidSpecification                            = 1774
	ErrGnoExhausted                                          = 1775
	ErrBadSlaveAutoPosition                                  = 1776
	ErrAutoPositionRequiresGtidModeOn                        = 1777
	ErrCantDoImplicitCommitInTrxWhenGtidNextIsSet            = 1778
	ErrGtidMode2Or3RequiresEnforceGtidConsistencyOn          = 1779
	ErrGtidModeRequiresBinlog                                = 1780
	ErrCantSetGtidNextToGtidWhenGtidModeIsOff                = 1781
	ErrCantSetGtidNextToAnonymousWhenGtidModeIsOn            = 1782
	ErrCantSetGtidNextListToNonNullWhenGtidModeIsOff         = 1783
	ErrFoundGtidEventWhenGtidModeIsOff                       = 1784
	ErrGtidUnsafeNonTransactionalTable                       = 1785
	ErrGtidUnsafeCreateSelect                                = 1786
	ErrGtidUnsafeCreateDropTemporaryTableInTransaction       = 1787
	ErrGtidModeCanOnlyChangeOneStepAtATime                   = 1788
	ErrMasterHasPurgedRequiredGtids                          = 1789
	ErrCantSetGtidNextWhenOwningGtid                         = 1790
	ErrUnknownExplainFormat                                  = 1791
	ErrCantExecuteInReadOnlyTransaction                      = 1792
	ErrTooLongTablePartitionComment                          = 1793
	ErrSlaveConfiguration                                    = 1794
	ErrInnodbFtLimit                                         = 1795
	ErrInnodbNoFtTempTable                                   = 1796
	ErrInnodbFtWrongDocidColumn                              = 1797
	ErrInnodbFtWrongDocidIndex                               = 1798
	ErrInnodbOnlineLogTooBig                                 = 1799
	ErrUnknownAlterAlgorithm                                 = 1800
	ErrUnknownAlterLock                                      = 1801
	ErrMtsChangeMasterCantRunWithGaps                        = 1802
	ErrMtsRecoveryFailure                                    = 1803
	ErrMtsResetWorkers                                       = 1804
	ErrColCountDoesntMatchCorruptedV2                        = 1805
	ErrSlaveSilentRetryTransaction                           = 1806
	ErrDiscardFkChecksRunning                                = 1807
	ErrTableSchemaMismatch                                   = 1808
	ErrTableInSystemTablespace                               = 1809
	ErrIoRead                                                = 1810
	ErrIoWrite                                               = 1811
	ErrTablespaceMissing                                     = 1812
	ErrTablespaceExists                                      = 1813
	ErrTablespaceDiscarded                                   = 1814
	ErrInternal                                              = 1815
	ErrInnodbImport                                          = 1816
	ErrInnodbIndexCorrupt                                    = 1817
	ErrInvalidYearColumnLength                               = 1818
	ErrNotValidPassword                                      = 1819
	ErrMustChangePassword                                    = 1820
	ErrFkNoIndexChild                                        = 1821
	ErrForeignKeyNoIndexInParent                             = 1822
	ErrFkFailAddSystem                                       = 1823
	ErrForeignKeyCannotOpenParent                            = 1824
	ErrFkIncorrectOption                                     = 1825
	ErrFkDupName                                             = 1826
	ErrPasswordFormat                                        = 1827
	ErrFkColumnCannotDrop                                    = 1828
	ErrFkColumnCannotDropChild                               = 1829
	ErrForeignKeyColumnNotNull                               = 1830
	ErrDupIndex                                              = 1831
	ErrForeignKeyColumnCannotChange                          = 1832
	ErrForeignKeyColumnCannotChangeChild                     = 1833
	ErrFkCannotDeleteParent                                  = 1834
	ErrMalformedPacket                                       = 1835
	ErrReadOnlyMode                                          = 1836
	ErrGtidNextTypeUndefinedGroup                            = 1837
	ErrVariableNotSettableInSp                               = 1838
	ErrCantSetGtidPurgedWhenGtidModeIsOff                    = 1839
	ErrCantSetGtidPurgedWhenGtidExecutedIsNotEmpty           = 1840
	ErrCantSetGtidPurgedWhenOwnedGtidsIsNotEmpty             = 1841
	ErrGtidPurgedWasChanged                                  = 1842
	ErrGtidExecutedWasChanged                                = 1843
	ErrBinlogStmtModeAndNoReplTables                         = 1844
	ErrAlterOperationNotSupported                            = 1845
	ErrAlterOperationNotSupportedReason                      = 1846
	ErrAlterOperationNotSupportedReasonCopy                  = 1847
	ErrAlterOperationNotSupportedReasonPartition             = 1848
	ErrAlterOperationNotSupportedReasonFkRename              = 1849
	ErrAlterOperationNotSupportedReasonColumnType            = 1850
	ErrAlterOperationNotSupportedReasonFkCheck               = 1851
	ErrAlterOperationNotSupportedReasonIgnore                = 1852
	ErrAlterOperationNotSupportedReasonNopk                  = 1853
	ErrAlterOperationNotSupportedReasonAutoinc               = 1854
	ErrAlterOperationNotSupportedReasonHiddenFts             = 1855
	ErrAlterOperationNotSupportedReasonChangeFts             = 1856
	ErrAlterOperationNotSupportedReasonFts                   = 1857
	ErrSQLSlaveSkipCounterNotSettableInGtidMode              = 1858
	ErrDupUnknownInIndex                                     = 1859
	ErrIdentCausesTooLongPath                                = 1860
	ErrAlterOperationNotSupportedReasonNotNull               = 1861
	ErrMustChangePasswordLogin                               = 1862
	ErrRowInWrongPartition                                   = 1863
	ErrErrorLast                                             = 1863
	ErrMaxExecTimeExceeded                                   = 1907
	ErrInvalidFieldSize                                      = 3013
	ErrPasswordExpireAnonymousUser                           = 3016
	ErrIncorrectType                                         = 3064
	ErrInvalidJSONData                                       = 3069
	ErrGeneratedColumnFunctionIsNotAllowed                   = 3102
	ErrUnsupportedAlterInplaceOnVirtualColumn                = 3103
	ErrWrongFKOptionForGeneratedColumn                       = 3104
	ErrBadGeneratedColumn                                    = 3105
	ErrUnsupportedOnGeneratedColumn                          = 3106
	ErrGeneratedColumnNonPrior                               = 3107
	ErrDependentByGeneratedColumn                            = 3108
	ErrGeneratedColumnRefAutoInc                             = 3109
	ErrInvalidJSONText                                       = 3140
	ErrInvalidJSONPath                                       = 3143
	ErrInvalidTypeForJSON                                    = 3146
	ErrInvalidJSONPathWildcard                               = 3149
	ErrInvalidJSONContainsPathType                           = 3150
	ErrJSONUsedAsKey                                         = 3152
	ErrJSONDocumentNULLKey                                   = 3158
	ErrBadUser                                               = 3162
	ErrUserAlreadyExists                                     = 3163
	ErrInvalidJSONPathArrayCell                              = 3165
	ErrInvalidEncryptionOption                               = 3184
	ErrRoleNotGranted                                        = 3530
	ErrLockAcquireFailAndNoWaitSet                           = 3572
	ErrWindowNoSuchWindow                                    = 3579
	ErrWindowCircularityInWindowGraph                        = 3580
	ErrWindowNoChildPartitioning                             = 3581
	ErrWindowNoInherentFrame                                 = 3582
	ErrWindowNoRedefineOrderBy                               = 3583
	ErrWindowFrameStartIllegal                               = 3584
	ErrWindowFrameEndIllegal                                 = 3585
	ErrWindowFrameIllegal                                    = 3586
	ErrWindowRangeFrameOrderType                             = 3587
	ErrWindowRangeFrameTemporalType                          = 3588
	ErrWindowRangeFrameNumericType                           = 3589
	ErrWindowRangeBoundNotConstant                           = 3590
	ErrWindowDuplicateName                                   = 3591
	ErrWindowIllegalOrderBy                                  = 3592
	ErrWindowInvalidWindowFuncUse                            = 3593
	ErrWindowInvalidWindowFuncAliasUse                       = 3594
	ErrWindowNestedWindowFuncUseInWindowSpec                 = 3595
	ErrWindowRowsIntervalUse                                 = 3596
	ErrWindowNoGroupOrderUnused                              = 3597
	ErrWindowExplainJson                                     = 3598 //nolint: revive
	ErrWindowFunctionIgnoresFrame                            = 3599
	ErrDataTruncatedFunctionalIndex                          = 3751
	ErrDataOutOfRangeFunctionalIndex                         = 3752
	ErrFunctionalIndexOnJsonOrGeometryFunction               = 3753 //nolint: revive
	ErrFunctionalIndexRefAutoIncrement                       = 3754
	ErrCannotDropColumnFunctionalIndex                       = 3755
	ErrFunctionalIndexPrimaryKey                             = 3756
	ErrFunctionalIndexOnLob                                  = 3757
	ErrFunctionalIndexFunctionIsNotAllowed                   = 3758
	ErrFulltextFunctionalIndex                               = 3759
	ErrSpatialFunctionalIndex                                = 3760
	ErrWrongKeyColumnFunctionalIndex                         = 3761
	ErrFunctionalIndexOnField                                = 3762
	ErrFKIncompatibleColumns                                 = 3780
	ErrFunctionalIndexRowValueIsNotAllowed                   = 3800
	ErrDependentByFunctionalIndex                            = 3837
	ErrInvalidJsonValueForFuncIndex                          = 3903 //nolint: revive
	ErrJsonValueOutOfRangeForFuncIndex                       = 3904 //nolint: revive
	ErrFunctionalIndexDataIsTooLong                          = 3907
	ErrFunctionalIndexNotApplicable                          = 3909

	// MariaDB errors.
	ErrOnlyOneDefaultPartionAllowed         = 4030
	ErrWrongPartitionTypeExpectedSystemTime = 4113
	ErrSystemVersioningWrongPartitions      = 4128
	ErrSequenceRunOut                       = 4135
	ErrSequenceInvalidData                  = 4136
	ErrSequenceAccessFail                   = 4137
	ErrNotSequence                          = 4138
	ErrUnknownSequence                      = 4139
	ErrWrongInsertIntoSequence              = 4140
	ErrSequenceInvalidTableStructure        = 4141

	// TiDB self-defined errors.
	ErrWarnOptimizerHintUnsupportedHint = 8061
	ErrWarnOptimizerHintInvalidToken    = 8062
	ErrWarnMemoryQuotaOverflow          = 8063
	ErrWarnOptimizerHintParseError      = 8064
	ErrWarnOptimizerHintInvalidInteger  = 8065
)

MySQL error code. This value is numeric. It is not portable to other database systems.

View Source
const (
	TypeUnspecified byte = 0
	TypeTiny        byte = 1 // TINYINT
	TypeShort       byte = 2 // SMALLINT
	TypeLong        byte = 3 // INT
	TypeFloat       byte = 4
	TypeDouble      byte = 5
	TypeNull        byte = 6
	TypeTimestamp   byte = 7
	TypeLonglong    byte = 8 // BIGINT
	TypeInt24       byte = 9 // MEDIUMINT
	TypeDate        byte = 10
	/* TypeDuration original name was TypeTime, renamed to TypeDuration to resolve the conflict with Go type Time.*/
	TypeDuration byte = 11
	TypeDatetime byte = 12
	TypeYear     byte = 13
	TypeNewDate  byte = 14
	TypeVarchar  byte = 15
	TypeBit      byte = 16

	TypeJSON       byte = 0xf5
	TypeNewDecimal byte = 0xf6
	TypeEnum       byte = 0xf7
	TypeSet        byte = 0xf8
	TypeTinyBlob   byte = 0xf9
	TypeMediumBlob byte = 0xfa
	TypeLongBlob   byte = 0xfb
	TypeBlob       byte = 0xfc
	TypeVarString  byte = 0xfd
	TypeString     byte = 0xfe /* TypeString is char type */
	TypeGeometry   byte = 0xff
)

MySQL type information.

View Source
const (
	NotNullFlag        uint = 1 << 0  /* Field can't be NULL */
	PriKeyFlag         uint = 1 << 1  /* Field is part of a primary key */
	UniqueKeyFlag      uint = 1 << 2  /* Field is part of a unique key */
	MultipleKeyFlag    uint = 1 << 3  /* Field is part of a key */
	BlobFlag           uint = 1 << 4  /* Field is a blob */
	UnsignedFlag       uint = 1 << 5  /* Field is unsigned */
	ZerofillFlag       uint = 1 << 6  /* Field is zerofill */
	BinaryFlag         uint = 1 << 7  /* Field is binary   */
	EnumFlag           uint = 1 << 8  /* Field is an enum */
	AutoIncrementFlag  uint = 1 << 9  /* Field is an auto increment field */
	TimestampFlag      uint = 1 << 10 /* Field is a timestamp */
	SetFlag            uint = 1 << 11 /* Field is a set */
	NoDefaultValueFlag uint = 1 << 12 /* Field doesn't have a default value */
	OnUpdateNowFlag    uint = 1 << 13 /* Field is set to NOW on UPDATE */
	PartKeyFlag        uint = 1 << 14 /* Intern: Part of some keys */
	NumFlag            uint = 1 << 15 /* Field is a num (for clients) */

	GroupFlag             uint = 1 << 15 /* Internal: Group field */
	UniqueFlag            uint = 1 << 16 /* Internal: Used by sql_yacc */
	BinCmpFlag            uint = 1 << 17 /* Internal: Used by sql_yacc */
	ParseToJSONFlag       uint = 1 << 18 /* Internal: Used when we want to parse string to JSON in CAST */
	IsBooleanFlag         uint = 1 << 19 /* Internal: Used for telling boolean literal from integer */
	PreventNullInsertFlag uint = 1 << 20 /* Prevent this Field from inserting NULL values */
	EnumSetAsIntFlag      uint = 1 << 21 /* Internal: Used for inferring enum eval type. */
	DropColumnIndexFlag   uint = 1 << 22 /* Internal: Used for indicate the column is being dropped with index */
)

Flag information.

View Source
const (
	MaxUint24 = 1<<24 - 1
	MaxInt24  = 1<<23 - 1
	MinInt24  = -1 << 23
)

TypeInt24 bounds.

View Source
const AllPrivMask = AllPriv - 1

AllPrivMask is the mask for PrivilegeType with all bits set to 1. If it's passed to RequestVerification, it means any privilege would be OK.

View Source
const AllPrivilegeLiteral = "ALL PRIVILEGES"

AllPrivilegeLiteral is the string literal for All Privilege.

View Source
const AuthSwitchRequest byte = 0xfe

AuthSwitchRequest is a protocol feature.

View Source
const (
	// DefaultMySQLState is default state of the mySQL
	DefaultMySQLState = "HY000"
)
View Source
const DefaultSQLMode = "" /* 137-byte string literal not displayed */

DefaultSQLMode for GLOBAL_VARIABLES

View Source
const ErrTextLength = 80

ErrTextLength error text length limit.

View Source
const MaxTypeSetMembers = 64

MaxTypeSetMembers is the number of set members.

View Source
const PWDHashLen = 40 // excluding the '*'

PWDHashLen is the length of mysql_native_password's hash.

View Source
const SHAPWDHashLen = 70

SHAPWDHashLen is the length of sha256_password's hash.

View Source
const SM3PWDHashLen = 70

SM3PWDHashLen is the length of tidb_sm3_password's hash.

View Source
const (
	TypeNoCache byte = 0xff
)

Cache type information.

Variables

View Source
var (
	// TiDBReleaseVersion is initialized by (git describe --tags) in Makefile.
	TiDBReleaseVersion = "None"

	// ServerVersion is the version information of this tidb-server in MySQL's format.
	ServerVersion = fmt.Sprintf("5.7.25-TiDB-%s", TiDBReleaseVersion)
)

Version information.

View Source
var (
	ErrBadConn       = errors.New("connection was bad")
	ErrMalformPacket = errors.New("malform packet error")
)

Portable analogs of some common call errors.

AllColumnPrivs is all the privileges in column scope.

AllDBPrivs is all the privileges in database scope.

AllGlobalPrivs is all the privileges in global scope.

AllTablePrivs is all the privileges in table scope.

View Source
var CharsetIDs = map[string]uint8{
	"big5":     1,
	"dec8":     3,
	"cp850":    4,
	"hp8":      6,
	"koi8r":    7,
	"latin1":   Latin1DefaultCollationID,
	"latin2":   9,
	"swe7":     10,
	"ascii":    ASCIIDefaultCollationID,
	"ujis":     12,
	"sjis":     13,
	"hebrew":   16,
	"tis620":   18,
	"euckr":    19,
	"koi8u":    22,
	"gb2312":   24,
	"greek":    25,
	"cp1250":   26,
	"gbk":      28,
	"latin5":   30,
	"armscii8": 32,
	"utf8":     UTF8DefaultCollationID,
	"ucs2":     35,
	"cp866":    36,
	"keybcs2":  37,
	"macce":    38,
	"macroman": 39,
	"cp852":    40,
	"latin7":   41,
	"utf8mb4":  UTF8MB4DefaultCollationID,
	"cp1251":   51,
	"utf16":    54,
	"utf16le":  56,
	"cp1256":   57,
	"cp1257":   59,
	"utf32":    60,
	"binary":   BinaryDefaultCollationID,
	"geostd8":  92,
	"cp932":    95,
	"eucjpms":  97,
}

CharsetIDs maps charset name to its default collation ID.

View Source
var Col2PrivType = map[string]PrivilegeType{
	"Create_priv":            CreatePriv,
	"Select_priv":            SelectPriv,
	"Insert_priv":            InsertPriv,
	"Update_priv":            UpdatePriv,
	"Delete_priv":            DeletePriv,
	"Show_db_priv":           ShowDBPriv,
	"Super_priv":             SuperPriv,
	"Create_user_priv":       CreateUserPriv,
	"Create_tablespace_priv": CreateTablespacePriv,
	"Trigger_priv":           TriggerPriv,
	"Drop_priv":              DropPriv,
	"Process_priv":           ProcessPriv,
	"Grant_priv":             GrantPriv,
	"References_priv":        ReferencesPriv,
	"Alter_priv":             AlterPriv,
	"Execute_priv":           ExecutePriv,
	"Index_priv":             IndexPriv,
	"Create_view_priv":       CreateViewPriv,
	"Show_view_priv":         ShowViewPriv,
	"Create_role_priv":       CreateRolePriv,
	"Drop_role_priv":         DropRolePriv,
	"Create_tmp_table_priv":  CreateTMPTablePriv,
	"Lock_tables_priv":       LockTablesPriv,
	"Create_routine_priv":    CreateRoutinePriv,
	"Alter_routine_priv":     AlterRoutinePriv,
	"Event_priv":             EventPriv,
	"Shutdown_priv":          ShutdownPriv,
	"Reload_priv":            ReloadPriv,
	"File_priv":              FilePriv,
	"Config_priv":            ConfigPriv,
	"Repl_client_priv":       ReplicationClientPriv,
	"Repl_slave_priv":        ReplicationSlavePriv,
}

Col2PrivType is the privilege tables column name to privilege type.

View Source
var CollationNames = map[string]uint8{}/* 220 elements not displayed */

CollationNames maps MySQL collation name to its ID

View Source
var Collations = map[uint8]string{}/* 220 elements not displayed */

Collations maps MySQL collation ID to its name.

View Source
var CombinationSQLMode = map[string][]string{
	"ANSI":        {"REAL_AS_FLOAT", "PIPES_AS_CONCAT", "ANSI_QUOTES", "IGNORE_SPACE", "ONLY_FULL_GROUP_BY"},
	"DB2":         {"PIPES_AS_CONCAT", "ANSI_QUOTES", "IGNORE_SPACE", "NO_KEY_OPTIONS", "NO_TABLE_OPTIONS", "NO_FIELD_OPTIONS"},
	"MAXDB":       {"PIPES_AS_CONCAT", "ANSI_QUOTES", "IGNORE_SPACE", "NO_KEY_OPTIONS", "NO_TABLE_OPTIONS", "NO_FIELD_OPTIONS", "NO_AUTO_CREATE_USER"},
	"MSSQL":       {"PIPES_AS_CONCAT", "ANSI_QUOTES", "IGNORE_SPACE", "NO_KEY_OPTIONS", "NO_TABLE_OPTIONS", "NO_FIELD_OPTIONS"},
	"MYSQL323":    {"MYSQL323", "HIGH_NOT_PRECEDENCE"},
	"MYSQL40":     {"MYSQL40", "HIGH_NOT_PRECEDENCE"},
	"ORACLE":      {"PIPES_AS_CONCAT", "ANSI_QUOTES", "IGNORE_SPACE", "NO_KEY_OPTIONS", "NO_TABLE_OPTIONS", "NO_FIELD_OPTIONS", "NO_AUTO_CREATE_USER"},
	"POSTGRESQL":  {"PIPES_AS_CONCAT", "ANSI_QUOTES", "IGNORE_SPACE", "NO_KEY_OPTIONS", "NO_TABLE_OPTIONS", "NO_FIELD_OPTIONS"},
	"TRADITIONAL": {"STRICT_TRANS_TABLES", "STRICT_ALL_TABLES", "NO_ZERO_IN_DATE", "NO_ZERO_DATE", "ERROR_FOR_DIVISION_BY_ZERO", "NO_AUTO_CREATE_USER", "NO_ENGINE_SUBSTITUTION"},
}

CombinationSQLMode is the special modes that provided as shorthand for combinations of mode values. See https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sql-mode-combo.

View Source
var Command2Str = map[byte]string{
	ComSleep:            "Sleep",
	ComQuit:             "Quit",
	ComInitDB:           "Init DB",
	ComQuery:            "Query",
	ComFieldList:        "Field List",
	ComCreateDB:         "Create DB",
	ComDropDB:           "Drop DB",
	ComRefresh:          "Refresh",
	ComShutdown:         "Shutdown",
	ComStatistics:       "Statistics",
	ComProcessInfo:      "Processlist",
	ComConnect:          "Connect",
	ComProcessKill:      "Kill",
	ComDebug:            "Debug",
	ComPing:             "Ping",
	ComTime:             "Time",
	ComDelayedInsert:    "Delayed Insert",
	ComChangeUser:       "Change User",
	ComBinlogDump:       "Binlog Dump",
	ComTableDump:        "Table Dump",
	ComConnectOut:       "Connect out",
	ComRegisterSlave:    "Register Slave",
	ComStmtPrepare:      "Prepare",
	ComStmtExecute:      "Execute",
	ComStmtSendLongData: "Long Data",
	ComStmtClose:        "Close stmt",
	ComStmtReset:        "Reset stmt",
	ComSetOption:        "Set option",
	ComStmtFetch:        "Fetch",
	ComDaemon:           "Daemon",
	ComBinlogDumpGtid:   "Binlog Dump",
	ComResetConnection:  "Reset connect",
}

Command2Str is the command information to command name.

View Source
var DefaultLengthOfMysqlTypes = map[byte]int{
	TypeYear:      1,
	TypeDate:      3,
	TypeDuration:  3,
	TypeDatetime:  8,
	TypeTimestamp: 4,

	TypeTiny:     1,
	TypeShort:    2,
	TypeInt24:    3,
	TypeLong:     4,
	TypeLonglong: 8,
	TypeFloat:    4,
	TypeDouble:   8,

	TypeEnum:   2,
	TypeString: 1,
	TypeSet:    8,
}

DefaultLengthOfMysqlTypes is the map for default physical length of MySQL data types. See http://dev.mysql.com/doc/refman/5.7/en/storage-requirements.html

View Source
var DefaultLengthOfTimeFraction = map[int]int{
	0: 0,

	1: 1,
	2: 1,

	3: 2,
	4: 2,

	5: 3,
	6: 3,
}

DefaultLengthOfTimeFraction is the map for default physical length of time fractions.

View Source
var MySQLErrName = map[uint16]*ErrMessage{}/* 945 elements not displayed */

MySQLErrName maps error code to MySQL error messages.

View Source
var MySQLState = map[uint16]string{}/* 236 elements not displayed */

MySQLState maps error code to MySQL SQLSTATE value. The values are taken from ANSI SQL and ODBC and are more standardized.

View Source
var Priority2Str = map[PriorityEnum]string{
	NoPriority:      "NO_PRIORITY",
	LowPriority:     "LOW_PRIORITY",
	HighPriority:    "HIGH_PRIORITY",
	DelayedPriority: "DELAYED",
}

Priority2Str is used to convert the statement priority to string.

View Source
var Priv2SetStr = map[PrivilegeType]string{
	CreatePriv:         "Create",
	SelectPriv:         "Select",
	InsertPriv:         "Insert",
	UpdatePriv:         "Update",
	DeletePriv:         "Delete",
	DropPriv:           "Drop",
	GrantPriv:          "Grant",
	ReferencesPriv:     "References",
	LockTablesPriv:     "Lock Tables",
	CreateTMPTablePriv: "Create Temporary Tables",
	EventPriv:          "Event",
	CreateRoutinePriv:  "Create Routine",
	AlterRoutinePriv:   "Alter Routine",
	AlterPriv:          "Alter",
	ExecutePriv:        "Execute",
	IndexPriv:          "Index",
	CreateViewPriv:     "Create View",
	ShowViewPriv:       "Show View",
	CreateRolePriv:     "Create Role",
	DropRolePriv:       "Drop Role",
	ShutdownPriv:       "Shutdown Role",
	TriggerPriv:        "Trigger",
}

Priv2SetStr is the map for privilege to string.

View Source
var Priv2Str = map[PrivilegeType]string{
	CreatePriv:            "Create",
	SelectPriv:            "Select",
	InsertPriv:            "Insert",
	UpdatePriv:            "Update",
	DeletePriv:            "Delete",
	ShowDBPriv:            "Show Databases",
	SuperPriv:             "Super",
	CreateUserPriv:        "Create User",
	CreateTablespacePriv:  "Create Tablespace",
	TriggerPriv:           "Trigger",
	DropPriv:              "Drop",
	ProcessPriv:           "Process",
	GrantPriv:             "Grant Option",
	ReferencesPriv:        "References",
	AlterPriv:             "Alter",
	ExecutePriv:           "Execute",
	IndexPriv:             "Index",
	CreateViewPriv:        "Create View",
	ShowViewPriv:          "Show View",
	CreateRolePriv:        "Create Role",
	DropRolePriv:          "Drop Role",
	CreateTMPTablePriv:    "CREATE TEMPORARY TABLES",
	LockTablesPriv:        "LOCK TABLES",
	CreateRoutinePriv:     "CREATE ROUTINE",
	AlterRoutinePriv:      "ALTER ROUTINE",
	EventPriv:             "EVENT",
	ShutdownPriv:          "SHUTDOWN",
	ReloadPriv:            "RELOAD",
	FilePriv:              "FILE",
	ConfigPriv:            "CONFIG",
	UsagePriv:             "USAGE",
	ReplicationClientPriv: "REPLICATION CLIENT",
	ReplicationSlavePriv:  "REPLICATION SLAVE",
	AllPriv:               AllPrivilegeLiteral,
}

Priv2Str is the map for privilege to string.

View Source
var Priv2UserCol = map[PrivilegeType]string{
	CreatePriv:            "Create_priv",
	SelectPriv:            "Select_priv",
	InsertPriv:            "Insert_priv",
	UpdatePriv:            "Update_priv",
	DeletePriv:            "Delete_priv",
	ShowDBPriv:            "Show_db_priv",
	SuperPriv:             "Super_priv",
	CreateUserPriv:        "Create_user_priv",
	CreateTablespacePriv:  "Create_tablespace_priv",
	TriggerPriv:           "Trigger_priv",
	DropPriv:              "Drop_priv",
	ProcessPriv:           "Process_priv",
	GrantPriv:             "Grant_priv",
	ReferencesPriv:        "References_priv",
	AlterPriv:             "Alter_priv",
	ExecutePriv:           "Execute_priv",
	IndexPriv:             "Index_priv",
	CreateViewPriv:        "Create_view_priv",
	ShowViewPriv:          "Show_view_priv",
	CreateRolePriv:        "Create_role_priv",
	DropRolePriv:          "Drop_role_priv",
	CreateTMPTablePriv:    "Create_tmp_table_priv",
	LockTablesPriv:        "Lock_tables_priv",
	CreateRoutinePriv:     "Create_routine_priv",
	AlterRoutinePriv:      "Alter_routine_priv",
	EventPriv:             "Event_priv",
	ShutdownPriv:          "Shutdown_priv",
	ReloadPriv:            "Reload_priv",
	FilePriv:              "File_priv",
	ConfigPriv:            "Config_priv",
	ReplicationClientPriv: "Repl_client_priv",
	ReplicationSlavePriv:  "Repl_slave_priv",
}

Priv2UserCol is the privilege to mysql.user table column name.

RangeGraph defines valid unicode characters to use in column names. It strictly follows MySQL's definition. See #3994.

View Source
var SetStr2Priv = map[string]PrivilegeType{
	"Create":                  CreatePriv,
	"Select":                  SelectPriv,
	"Insert":                  InsertPriv,
	"Update":                  UpdatePriv,
	"Delete":                  DeletePriv,
	"Drop":                    DropPriv,
	"Grant":                   GrantPriv,
	"References":              ReferencesPriv,
	"Lock Tables":             LockTablesPriv,
	"Create Temporary Tables": CreateTMPTablePriv,
	"Event":                   EventPriv,
	"Create Routine":          CreateRoutinePriv,
	"Alter Routine":           AlterRoutinePriv,
	"Alter":                   AlterPriv,
	"Execute":                 ExecutePriv,
	"Index":                   IndexPriv,
	"Create View":             CreateViewPriv,
	"Show View":               ShowViewPriv,
	"Trigger":                 TriggerPriv,
}

SetStr2Priv is the map for privilege set string to privilege type.

StaticGlobalOnlyPrivs is all the privileges only in global scope and different from dynamic privileges.

View Source
var Str2SQLMode = map[string]SQLMode{
	"REAL_AS_FLOAT":              ModeRealAsFloat,
	"PIPES_AS_CONCAT":            ModePipesAsConcat,
	"ANSI_QUOTES":                ModeANSIQuotes,
	"IGNORE_SPACE":               ModeIgnoreSpace,
	"NOT_USED":                   ModeNotUsed,
	"ONLY_FULL_GROUP_BY":         ModeOnlyFullGroupBy,
	"NO_UNSIGNED_SUBTRACTION":    ModeNoUnsignedSubtraction,
	"NO_DIR_IN_CREATE":           ModeNoDirInCreate,
	"POSTGRESQL":                 ModePostgreSQL,
	"ORACLE":                     ModeOracle,
	"MSSQL":                      ModeMsSQL,
	"DB2":                        ModeDb2,
	"MAXDB":                      ModeMaxdb,
	"NO_KEY_OPTIONS":             ModeNoKeyOptions,
	"NO_TABLE_OPTIONS":           ModeNoTableOptions,
	"NO_FIELD_OPTIONS":           ModeNoFieldOptions,
	"MYSQL323":                   ModeMySQL323,
	"MYSQL40":                    ModeMySQL40,
	"ANSI":                       ModeANSI,
	"NO_AUTO_VALUE_ON_ZERO":      ModeNoAutoValueOnZero,
	"NO_BACKSLASH_ESCAPES":       ModeNoBackslashEscapes,
	"STRICT_TRANS_TABLES":        ModeStrictTransTables,
	"STRICT_ALL_TABLES":          ModeStrictAllTables,
	"NO_ZERO_IN_DATE":            ModeNoZeroInDate,
	"NO_ZERO_DATE":               ModeNoZeroDate,
	"INVALID_DATES":              ModeInvalidDates,
	"ERROR_FOR_DIVISION_BY_ZERO": ModeErrorForDivisionByZero,
	"TRADITIONAL":                ModeTraditional,
	"NO_AUTO_CREATE_USER":        ModeNoAutoCreateUser,
	"HIGH_NOT_PRECEDENCE":        ModeHighNotPrecedence,
	"NO_ENGINE_SUBSTITUTION":     ModeNoEngineSubstitution,
	"PAD_CHAR_TO_FULL_LENGTH":    ModePadCharToFullLength,
	"ALLOW_INVALID_DATES":        ModeAllowInvalidDates,
}

Str2SQLMode is the string represent of sql_mode to sql_mode map.

Functions

func CharsetNameToID

func CharsetNameToID(charset string) uint8

CharsetNameToID maps charset name to its default collation ID.

func FormatSQLModeStr

func FormatSQLModeStr(s string) string

FormatSQLModeStr re-format 'SQL_MODE' variable.

func GetDefaultFieldLengthAndDecimal

func GetDefaultFieldLengthAndDecimal(tp byte) (flen int, decimal int)

GetDefaultFieldLengthAndDecimal returns the default display length (flen) and decimal length for column. Call this when no flen assigned in ddl. or column value is calculated from an expression. For example: "select count(*) from t;", the column type is int64 and flen in ResultField will be 21. See https://dev.mysql.com/doc/refman/5.7/en/storage-requirements.html

func GetDefaultFieldLengthAndDecimalForCast

func GetDefaultFieldLengthAndDecimalForCast(tp byte) (flen int, decimal int)

GetDefaultFieldLengthAndDecimalForCast returns the default display length (flen) and decimal length for casted column when flen or decimal is not specified.

func HasAutoIncrementFlag

func HasAutoIncrementFlag(flag uint) bool

HasAutoIncrementFlag checks if AutoIncrementFlag is set.

func HasBinaryFlag

func HasBinaryFlag(flag uint) bool

HasBinaryFlag checks if BinaryFlag is set.

func HasCursorExistsFlag

func HasCursorExistsFlag(serverStatus uint16) bool

HasCursorExistsFlag return true if cursor exists indicated by server status.

func HasDropColumnWithIndexFlag

func HasDropColumnWithIndexFlag(flag uint) bool

HasDropColumnWithIndexFlag checks if DropColumnIndexFlag is set.

func HasEnumSetAsIntFlag

func HasEnumSetAsIntFlag(flag uint) bool

HasEnumSetAsIntFlag checks if EnumSetAsIntFlag is set.

func HasIsBooleanFlag

func HasIsBooleanFlag(flag uint) bool

HasIsBooleanFlag checks if IsBooleanFlag is set.

func HasMultipleKeyFlag

func HasMultipleKeyFlag(flag uint) bool

HasMultipleKeyFlag checks if MultipleKeyFlag is set.

func HasNoDefaultValueFlag

func HasNoDefaultValueFlag(flag uint) bool

HasNoDefaultValueFlag checks if NoDefaultValueFlag is set.

func HasNotNullFlag

func HasNotNullFlag(flag uint) bool

HasNotNullFlag checks if NotNullFlag is set.

func HasOnUpdateNowFlag

func HasOnUpdateNowFlag(flag uint) bool

HasOnUpdateNowFlag checks if OnUpdateNowFlag is set.

func HasParseToJSONFlag

func HasParseToJSONFlag(flag uint) bool

HasParseToJSONFlag checks if ParseToJSONFlag is set.

func HasPreventNullInsertFlag

func HasPreventNullInsertFlag(flag uint) bool

HasPreventNullInsertFlag checks if PreventNullInsertFlag is set.

func HasPriKeyFlag

func HasPriKeyFlag(flag uint) bool

HasPriKeyFlag checks if PriKeyFlag is set.

func HasTimestampFlag

func HasTimestampFlag(flag uint) bool

HasTimestampFlag checks if HasTimestampFlag is set.

func HasUniKeyFlag

func HasUniKeyFlag(flag uint) bool

HasUniKeyFlag checks if UniqueKeyFlag is set.

func HasUnsignedFlag

func HasUnsignedFlag(flag uint) bool

HasUnsignedFlag checks if UnsignedFlag is set.

func HasZerofillFlag

func HasZerofillFlag(flag uint) bool

HasZerofillFlag checks if ZerofillFlag is set.

func IsAuthPluginClearText

func IsAuthPluginClearText(authPlugin string) bool

IsAuthPluginClearText is used to indicated that the plugin need clear-text password.

func IsIntegerType

func IsIntegerType(tp byte) bool

IsIntegerType indicate whether tp is an integer type.

func IsUTF8Charset

func IsUTF8Charset(charset string) bool

IsUTF8Charset checks if charset is utf8, utf8mb4.

Types

type ErrMessage

type ErrMessage struct {
	Raw          string
	RedactArgPos []int
}

ErrMessage is a error message with the format specifier.

func Message

func Message(message string, redactArgs []int) *ErrMessage

Message creates a error message with the format specifier.

type FormatFunc

type FormatFunc func(string, string) (string, error)

FormatFunc is the locale format function signature.

func GetLocaleFormatFunction

func GetLocaleFormatFunction(loc string) FormatFunc

GetLocaleFormatFunction get the format function for sepcific locale.

type PriorityEnum

type PriorityEnum int

PriorityEnum is defined for Priority const values.

const (
	NoPriority PriorityEnum = iota
	LowPriority
	HighPriority
	DelayedPriority
)

Priority const values. See https://dev.mysql.com/doc/refman/5.7/en/insert.html

func Str2Priority

func Str2Priority(val string) PriorityEnum

Str2Priority is used to convert a string to a priority.

func (*PriorityEnum) Restore

func (n *PriorityEnum) Restore(ctx *format.RestoreCtx) error

Restore implements Node interface.

type PrivilegeType

type PrivilegeType uint64

PrivilegeType privilege

const (
	// UsagePriv is a synonym for “no privileges”
	UsagePriv PrivilegeType = 1 << iota
	// CreatePriv is the privilege to create schema/table.
	CreatePriv
	// SelectPriv is the privilege to read from table.
	SelectPriv
	// InsertPriv is the privilege to insert data into table.
	InsertPriv
	// UpdatePriv is the privilege to update data in table.
	UpdatePriv
	// DeletePriv is the privilege to delete data from table.
	DeletePriv
	// ShowDBPriv is the privilege to run show databases statement.
	ShowDBPriv
	// SuperPriv enables many operations and server behaviors.
	SuperPriv
	// CreateUserPriv is the privilege to create user.
	CreateUserPriv
	// TriggerPriv is not checked yet.
	TriggerPriv
	// DropPriv is the privilege to drop schema/table.
	DropPriv
	// ProcessPriv pertains to display of information about the threads executing within the server.
	ProcessPriv
	// GrantPriv is the privilege to grant privilege to user.
	GrantPriv
	// ReferencesPriv is not checked yet.
	ReferencesPriv
	// AlterPriv is the privilege to run alter statement.
	AlterPriv
	// ExecutePriv is the privilege to run execute statement.
	ExecutePriv
	// IndexPriv is the privilege to create/drop index.
	IndexPriv
	// CreateViewPriv is the privilege to create view.
	CreateViewPriv
	// ShowViewPriv is the privilege to show create view.
	ShowViewPriv
	// CreateRolePriv the privilege to create a role.
	CreateRolePriv
	// DropRolePriv is the privilege to drop a role.
	DropRolePriv
	// CreateTMPTablePriv is the privilege to create a temporary table.
	CreateTMPTablePriv
	// LockTablesPriv is the privilege to lock tables.
	LockTablesPriv
	// CreateRoutinePriv is the privilege to create a stored routine.
	CreateRoutinePriv
	// AlterRoutinePriv is the privilege to alter a stored routine.
	AlterRoutinePriv
	// EventPriv is the privilege to event.
	EventPriv

	// ShutdownPriv the privilege to shutdown a server.
	ShutdownPriv
	// ReloadPriv is the privilege to enable the use of the FLUSH statement.
	ReloadPriv
	// FilePriv is the privilege to enable the use of LOAD DATA and SELECT ... INTO OUTFILE.
	FilePriv
	// ConfigPriv is the privilege to enable the use SET CONFIG statements.
	ConfigPriv

	// CreateTablespacePriv is the privilege to create tablespace.
	CreateTablespacePriv

	// ReplicationClientPriv is used in MySQL replication
	ReplicationClientPriv
	// ReplicationSlavePriv is used in MySQL replication
	ReplicationSlavePriv

	// AllPriv is the privilege for all actions.
	AllPriv

	// ExtendedPriv is used to successful parse privileges not included above.
	// these are dynamic privileges in MySQL 8.0 and other extended privileges like LOAD FROM S3 in Aurora.
	ExtendedPriv
)

func NewPrivFromColumn

func NewPrivFromColumn(col string) (PrivilegeType, bool)

NewPrivFromColumn constructs priv from a column name. False means invalid priv column name.

func NewPrivFromSetEnum

func NewPrivFromSetEnum(e string) (PrivilegeType, bool)

NewPrivFromSetEnum constructs priv from a set enum. False means invalid priv enum.

func (PrivilegeType) ColumnString

func (p PrivilegeType) ColumnString() string

ColumnString returns the corresponding name of columns in mysql.user/mysql.db.

func (PrivilegeType) SetString

func (p PrivilegeType) SetString() string

SetString returns the corresponding set enum string in Table_priv/Column_priv of mysql.tables_priv/mysql.columns_priv.

func (PrivilegeType) String

func (p PrivilegeType) String() string

String returns the corresponding identifier in SQLs.

type Privileges

type Privileges []PrivilegeType

Privileges is the list of all privileges.

func (Privileges) Has

func (privs Privileges) Has(p PrivilegeType) bool

Has checks whether PrivilegeType has the privilege.

type SQLError

type SQLError struct {
	Code    uint16
	Message string
	State   string
}

SQLError records an error information, from executing SQL.

func NewErr

func NewErr(errCode uint16, args ...interface{}) *SQLError

NewErr generates a SQL error, with an error code and default format specifier defined in MySQLErrName.

func NewErrf

func NewErrf(errCode uint16, format string, redactArgPos []int, args ...interface{}) *SQLError

NewErrf creates a SQL error, with an error code and a format specifier.

func (*SQLError) Error

func (e *SQLError) Error() string

Error prints errors, with a formatted string.

type SQLMode

type SQLMode int

SQLMode is the type for MySQL sql_mode. See https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html

const (
	ModeRealAsFloat SQLMode = 1 << iota
	ModePipesAsConcat
	ModeANSIQuotes
	ModeIgnoreSpace
	ModeNotUsed
	ModeOnlyFullGroupBy
	ModeNoUnsignedSubtraction
	ModeNoDirInCreate
	ModePostgreSQL
	ModeOracle
	ModeMsSQL
	ModeDb2
	ModeMaxdb
	ModeNoKeyOptions
	ModeNoTableOptions
	ModeNoFieldOptions
	ModeMySQL323
	ModeMySQL40
	ModeANSI
	ModeNoAutoValueOnZero
	ModeNoBackslashEscapes
	ModeStrictTransTables
	ModeStrictAllTables
	ModeNoZeroInDate
	ModeNoZeroDate
	ModeInvalidDates
	ModeErrorForDivisionByZero
	ModeTraditional
	ModeNoAutoCreateUser
	ModeHighNotPrecedence
	ModeNoEngineSubstitution
	ModePadCharToFullLength
	ModeAllowInvalidDates
	ModeNone = 0
)

consts for sql modes. see https://dev.mysql.com/doc/internals/en/query-event.html#q-sql-mode-code

func GetSQLMode

func GetSQLMode(s string) (SQLMode, error)

GetSQLMode gets the sql mode for string literal. SQL_mode is a list of different modes separated by commas. The input string must be formatted by 'FormatSQLModeStr'

func (SQLMode) HasANSIQuotesMode

func (m SQLMode) HasANSIQuotesMode() bool

HasANSIQuotesMode detects if 'ANSI_QUOTES' mode is set in SQLMode

func (SQLMode) HasAllowInvalidDatesMode

func (m SQLMode) HasAllowInvalidDatesMode() bool

HasAllowInvalidDatesMode detects if 'ALLOW_INVALID_DATES' mode is set in SQLMode

func (SQLMode) HasErrorForDivisionByZeroMode

func (m SQLMode) HasErrorForDivisionByZeroMode() bool

HasErrorForDivisionByZeroMode detects if 'ERROR_FOR_DIVISION_BY_ZERO' mode is set in SQLMode

func (SQLMode) HasHighNotPrecedenceMode

func (m SQLMode) HasHighNotPrecedenceMode() bool

HasHighNotPrecedenceMode detects if 'HIGH_NOT_PRECEDENCE' mode is set in SQLMode

func (SQLMode) HasIgnoreSpaceMode

func (m SQLMode) HasIgnoreSpaceMode() bool

HasIgnoreSpaceMode detects if 'IGNORE_SPACE' mode is set in SQLMode

func (SQLMode) HasNoAutoCreateUserMode

func (m SQLMode) HasNoAutoCreateUserMode() bool

HasNoAutoCreateUserMode detects if 'NO_AUTO_CREATE_USER' mode is set in SQLMode

func (SQLMode) HasNoBackslashEscapesMode

func (m SQLMode) HasNoBackslashEscapesMode() bool

HasNoBackslashEscapesMode detects if 'NO_BACKSLASH_ESCAPES' mode is set in SQLMode

func (SQLMode) HasNoUnsignedSubtractionMode

func (m SQLMode) HasNoUnsignedSubtractionMode() bool

HasNoUnsignedSubtractionMode detects if 'NO_UNSIGNED_SUBTRACTION' mode is set in SQLMode

func (SQLMode) HasNoZeroDateMode

func (m SQLMode) HasNoZeroDateMode() bool

HasNoZeroDateMode detects if 'NO_ZERO_DATE' mode is set in SQLMode

func (SQLMode) HasNoZeroInDateMode

func (m SQLMode) HasNoZeroInDateMode() bool

HasNoZeroInDateMode detects if 'NO_ZERO_IN_DATE' mode is set in SQLMode

func (SQLMode) HasOnlyFullGroupBy

func (m SQLMode) HasOnlyFullGroupBy() bool

HasOnlyFullGroupBy detects if 'ONLY_FULL_GROUP_BY' mode is set in SQLMode

func (SQLMode) HasPadCharToFullLengthMode

func (m SQLMode) HasPadCharToFullLengthMode() bool

HasPadCharToFullLengthMode detects if 'PAD_CHAR_TO_FULL_LENGTH' mode is set in SQLMode

func (SQLMode) HasPipesAsConcatMode

func (m SQLMode) HasPipesAsConcatMode() bool

HasPipesAsConcatMode detects if 'PIPES_AS_CONCAT' mode is set in SQLMode

func (SQLMode) HasRealAsFloatMode

func (m SQLMode) HasRealAsFloatMode() bool

HasRealAsFloatMode detects if 'REAL_AS_FLOAT' mode is set in SQLMode

func (SQLMode) HasStrictMode

func (m SQLMode) HasStrictMode() bool

HasStrictMode detects if 'STRICT_TRANS_TABLES' or 'STRICT_ALL_TABLES' mode is set in SQLMode

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL