Documentation ¶
Index ¶
- Constants
- Variables
- func CharsetNameToID(charset string) uint8
- func FormatSQLModeStr(s string) string
- func GetDefaultFieldLengthAndDecimal(tp byte) (flen int, decimal int)
- func GetDefaultFieldLengthAndDecimalForCast(tp byte) (flen int, decimal int)
- func HasAutoIncrementFlag(flag uint) bool
- func HasBinaryFlag(flag uint) bool
- func HasCursorExistsFlag(serverStatus uint16) bool
- func HasDropColumnWithIndexFlag(flag uint) bool
- func HasEnumSetAsIntFlag(flag uint) bool
- func HasIsBooleanFlag(flag uint) bool
- func HasMultipleKeyFlag(flag uint) bool
- func HasNoDefaultValueFlag(flag uint) bool
- func HasNotNullFlag(flag uint) bool
- func HasOnUpdateNowFlag(flag uint) bool
- func HasParseToJSONFlag(flag uint) bool
- func HasPreventNullInsertFlag(flag uint) bool
- func HasPriKeyFlag(flag uint) bool
- func HasTimestampFlag(flag uint) bool
- func HasUniKeyFlag(flag uint) bool
- func HasUnsignedFlag(flag uint) bool
- func HasZerofillFlag(flag uint) bool
- func IsAuthPluginClearText(authPlugin string) bool
- func IsIntegerType(tp byte) bool
- func IsUTF8Charset(charset string) bool
- type ErrMessage
- type FormatFunc
- type PriorityEnum
- type PrivilegeType
- type Privileges
- type SQLError
- type SQLMode
- func (m SQLMode) HasANSIQuotesMode() bool
- func (m SQLMode) HasAllowInvalidDatesMode() bool
- func (m SQLMode) HasErrorForDivisionByZeroMode() bool
- func (m SQLMode) HasHighNotPrecedenceMode() bool
- func (m SQLMode) HasIgnoreSpaceMode() bool
- func (m SQLMode) HasNoAutoCreateUserMode() bool
- func (m SQLMode) HasNoBackslashEscapesMode() bool
- func (m SQLMode) HasNoUnsignedSubtractionMode() bool
- func (m SQLMode) HasNoZeroDateMode() bool
- func (m SQLMode) HasNoZeroInDateMode() bool
- func (m SQLMode) HasOnlyFullGroupBy() bool
- func (m SQLMode) HasPadCharToFullLengthMode() bool
- func (m SQLMode) HasPipesAsConcatMode() bool
- func (m SQLMode) HasRealAsFloatMode() bool
- func (m SQLMode) HasStrictMode() bool
Constants ¶
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.
const ( OKHeader byte = 0x00 ErrHeader byte = 0xff EOFHeader byte = 0xfe LocalInFileHeader byte = 0xfb )
Header information.
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.
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
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.
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 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/pingcap/tidb/issues/35309 ClientDeprecateEOF // CLIENT_DEPRECATE_EOF ClientOptionalResultsetMetadata // CLIENT_OPTIONAL_RESULTSET_METADATA, Not supported: https://dev.mysql.com/doc/c-api/8.0/en/c-api-optional-metadata.html ClientZstdCompressionAlgorithm // CLIENT_ZSTD_COMPRESSION_ALGORITHM )
Client information. https://dev.mysql.com/doc/dev/mysql-server/latest/group__group__cs__capabilities__flags.html
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" AuthLDAPSimple = "authentication_ldap_simple" AuthLDAPSASL = "authentication_ldap_sasl" )
Auth name information.
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.
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.
const ( MaxFieldCharLength = 255 MaxFieldVarCharLength = 65535 )
MySQL max type field length.
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 )
const ( CursorTypeReadOnly = 1 << iota CursorTypeForUpdate CursorTypeScrollable )
This is enum_cursor_type in MySQL
const ( // CompressionNone is no compression in use CompressionNone = iota // CompressionZlib is zlib/deflate CompressionZlib // CompressionZstd is Facebook's Zstandard CompressionZstd )
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 ErrInvalidFieldSize = 3013 ErrPasswordExpireAnonymousUser = 3016 ErrMaxExecTimeExceeded = 3024 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 ErrWarnOptimizerHintWrongPos = 8066 )
MySQL error code. This value is numeric. It is not portable to other database systems.
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.
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 */ GeneratedColumnFlag uint = 1 << 23 /* Internal: TiFlash will check this flag and add a placeholder for this column */ UnderScoreCharsetFlag uint = 1 << 24 /* Internal: Indicate whether charset is specified by underscore like _latin1'abc' */ )
Flag information.
const ( MaxUint24 = 1<<24 - 1 MaxInt24 = 1<<23 - 1 MinInt24 = -1 << 23 )
TypeInt24 bounds.
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.
const AllPrivilegeLiteral = "ALL PRIVILEGES"
AllPrivilegeLiteral is the string literal for All Privilege.
const AuthSwitchRequest byte = 0xfe
AuthSwitchRequest is a protocol feature.
const (
// DefaultMySQLState is default state of the mySQL
DefaultMySQLState = "HY000"
)
const DefaultSQLMode = "" /* 137-byte string literal not displayed */
DefaultSQLMode for GLOBAL_VARIABLES
const ErrTextLength = 80
ErrTextLength error text length limit.
const MaxTypeSetMembers = 64
MaxTypeSetMembers is the number of set members.
const PWDHashLen = 40 // excluding the '*'
PWDHashLen is the length of mysql_native_password's hash.
const SHAPWDHashLen = 70
SHAPWDHashLen is the length of sha256_password's hash.
const SM3PWDHashLen = 70
SM3PWDHashLen is the length of tidb_sm3_password's hash.
const (
TypeNoCache byte = 0xff
)
Cache type information.
Variables ¶
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("8.0.11-TiDB-%s", TiDBReleaseVersion) )
Version information.
var ( ErrBadConn = errors.New("connection was bad") ErrMalformPacket = errors.New("malform packet error") )
Portable analogs of some common call errors.
var AllColumnPrivs = Privileges{SelectPriv, InsertPriv, UpdatePriv, ReferencesPriv}
AllColumnPrivs is all the privileges in column scope.
var AllDBPrivs = Privileges{SelectPriv, InsertPriv, UpdatePriv, DeletePriv, CreatePriv, DropPriv, ReferencesPriv, LockTablesPriv, CreateTMPTablePriv, EventPriv, CreateRoutinePriv, AlterRoutinePriv, AlterPriv, ExecutePriv, IndexPriv, CreateViewPriv, ShowViewPriv, TriggerPriv}
AllDBPrivs is all the privileges in database scope.
var AllGlobalPrivs = Privileges{SelectPriv, InsertPriv, UpdatePriv, DeletePriv, CreatePriv, DropPriv, ProcessPriv, ReferencesPriv, AlterPriv, ShowDBPriv, SuperPriv, ExecutePriv, IndexPriv, CreateUserPriv, CreateTablespacePriv, TriggerPriv, CreateViewPriv, ShowViewPriv, CreateRolePriv, DropRolePriv, CreateTMPTablePriv, LockTablesPriv, CreateRoutinePriv, AlterRoutinePriv, EventPriv, ShutdownPriv, ReloadPriv, FilePriv, ConfigPriv, ReplicationClientPriv, ReplicationSlavePriv}
AllGlobalPrivs is all the privileges in global scope.
var AllTablePrivs = Privileges{SelectPriv, InsertPriv, UpdatePriv, DeletePriv, CreatePriv, DropPriv, IndexPriv, ReferencesPriv, AlterPriv, CreateViewPriv, ShowViewPriv, TriggerPriv}
AllTablePrivs is all the privileges in table scope.
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.
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.
var CollationNames = map[string]uint16{}/* 221 elements not displayed */
CollationNames maps MySQL collation name to its ID
var Collations = map[uint16]string{}/* 221 elements not displayed */
Collations maps MySQL collation ID to its name.
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.
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.
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
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.
var MySQLErrName = map[uint16]*ErrMessage{}/* 946 elements not displayed */
MySQLErrName maps error code to MySQL error messages.
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.
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.
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.
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.
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.
var RangeGraph = []*unicode.RangeTable{ unicode.No, unicode.Mn, unicode.Me, unicode.Pc, unicode.Pd, unicode.Pd, unicode.Ps, unicode.Pe, unicode.Pi, unicode.Pf, unicode.Po, unicode.Sm, unicode.Sc, unicode.Sk, unicode.So, unicode.Lu, unicode.Lt, unicode.Nl, unicode.Ll, unicode.Lm, unicode.Lo, unicode.Nl, unicode.Mn, unicode.Mc, unicode.Me, unicode.Nd, unicode.Nl, unicode.No, }
RangeGraph defines valid unicode characters to use in column names. It strictly follows MySQL's definition. See #3994.
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.
var StaticGlobalOnlyPrivs = Privileges{ProcessPriv, ShowDBPriv, SuperPriv, CreateUserPriv, CreateTablespacePriv, ShutdownPriv, ReloadPriv, FilePriv, ReplicationClientPriv, ReplicationSlavePriv, ConfigPriv}
StaticGlobalOnlyPrivs is all the privileges only in global scope and different from dynamic privileges.
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 ¶
CharsetNameToID maps charset name to its default collation ID.
func FormatSQLModeStr ¶
FormatSQLModeStr re-format 'SQL_MODE' variable.
func GetDefaultFieldLengthAndDecimal ¶
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 ¶
GetDefaultFieldLengthAndDecimalForCast returns the default display length (flen) and decimal length for casted column when flen or decimal is not specified.
func HasAutoIncrementFlag ¶
HasAutoIncrementFlag checks if AutoIncrementFlag is set.
func HasCursorExistsFlag ¶
HasCursorExistsFlag return true if cursor exists indicated by server status.
func HasDropColumnWithIndexFlag ¶
HasDropColumnWithIndexFlag checks if DropColumnIndexFlag is set.
func HasEnumSetAsIntFlag ¶
HasEnumSetAsIntFlag checks if EnumSetAsIntFlag is set.
func HasIsBooleanFlag ¶
HasIsBooleanFlag checks if IsBooleanFlag is set.
func HasMultipleKeyFlag ¶
HasMultipleKeyFlag checks if MultipleKeyFlag is set.
func HasNoDefaultValueFlag ¶
HasNoDefaultValueFlag checks if NoDefaultValueFlag is set.
func HasNotNullFlag ¶
HasNotNullFlag checks if NotNullFlag is set.
func HasOnUpdateNowFlag ¶
HasOnUpdateNowFlag checks if OnUpdateNowFlag is set.
func HasParseToJSONFlag ¶
HasParseToJSONFlag checks if ParseToJSONFlag is set.
func HasPreventNullInsertFlag ¶
HasPreventNullInsertFlag checks if PreventNullInsertFlag is set.
func HasTimestampFlag ¶
HasTimestampFlag checks if HasTimestampFlag is set.
func HasUniKeyFlag ¶
HasUniKeyFlag checks if UniqueKeyFlag is set.
func HasUnsignedFlag ¶
HasUnsignedFlag checks if UnsignedFlag is set.
func HasZerofillFlag ¶
HasZerofillFlag checks if ZerofillFlag is set.
func IsAuthPluginClearText ¶
IsAuthPluginClearText is used to indicated that the plugin need clear-text password.
func IsIntegerType ¶
IsIntegerType indicate whether tp is an integer type.
func IsUTF8Charset ¶
IsUTF8Charset checks if charset is utf8, utf8mb4.
Types ¶
type ErrMessage ¶
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 ¶
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 ¶
SQLError records an error information, from executing SQL.
func NewErr ¶
NewErr generates a SQL error, with an error code and default format specifier defined in MySQLErrName.
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 DelSQLMode ¶
DelSQLMode delete sql mode from ori
func GetSQLMode ¶
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 ¶
HasANSIQuotesMode detects if 'ANSI_QUOTES' mode is set in SQLMode
func (SQLMode) HasAllowInvalidDatesMode ¶
HasAllowInvalidDatesMode detects if 'ALLOW_INVALID_DATES' mode is set in SQLMode
func (SQLMode) HasErrorForDivisionByZeroMode ¶
HasErrorForDivisionByZeroMode detects if 'ERROR_FOR_DIVISION_BY_ZERO' mode is set in SQLMode
func (SQLMode) HasHighNotPrecedenceMode ¶
HasHighNotPrecedenceMode detects if 'HIGH_NOT_PRECEDENCE' mode is set in SQLMode
func (SQLMode) HasIgnoreSpaceMode ¶
HasIgnoreSpaceMode detects if 'IGNORE_SPACE' mode is set in SQLMode
func (SQLMode) HasNoAutoCreateUserMode ¶
HasNoAutoCreateUserMode detects if 'NO_AUTO_CREATE_USER' mode is set in SQLMode
func (SQLMode) HasNoBackslashEscapesMode ¶
HasNoBackslashEscapesMode detects if 'NO_BACKSLASH_ESCAPES' mode is set in SQLMode
func (SQLMode) HasNoUnsignedSubtractionMode ¶
HasNoUnsignedSubtractionMode detects if 'NO_UNSIGNED_SUBTRACTION' mode is set in SQLMode
func (SQLMode) HasNoZeroDateMode ¶
HasNoZeroDateMode detects if 'NO_ZERO_DATE' mode is set in SQLMode
func (SQLMode) HasNoZeroInDateMode ¶
HasNoZeroInDateMode detects if 'NO_ZERO_IN_DATE' mode is set in SQLMode
func (SQLMode) HasOnlyFullGroupBy ¶
HasOnlyFullGroupBy detects if 'ONLY_FULL_GROUP_BY' mode is set in SQLMode
func (SQLMode) HasPadCharToFullLengthMode ¶
HasPadCharToFullLengthMode detects if 'PAD_CHAR_TO_FULL_LENGTH' mode is set in SQLMode
func (SQLMode) HasPipesAsConcatMode ¶
HasPipesAsConcatMode detects if 'PIPES_AS_CONCAT' mode is set in SQLMode
func (SQLMode) HasRealAsFloatMode ¶
HasRealAsFloatMode detects if 'REAL_AS_FLOAT' mode is set in SQLMode
func (SQLMode) HasStrictMode ¶
HasStrictMode detects if 'STRICT_TRANS_TABLES' or 'STRICT_ALL_TABLES' mode is set in SQLMode