| // Go MySQL Driver - A MySQL-Driver for Go's database/sql package | |
| // | |
| // Copyright 2012 The Go-MySQL-Driver Authors. All rights reserved. | |
| // | |
| // This Source Code Form is subject to the terms of the Mozilla Public | |
| // License, v. 2.0. If a copy of the MPL was not distributed with this file, | |
| // You can obtain one at http://mozilla.org/MPL/2.0/. | |
| package mysql | |
| const ( | |
| defaultAuthPlugin = "mysql_native_password" | |
| defaultMaxAllowedPacket = 4 << 20 // 4 MiB | |
| minProtocolVersion = 10 | |
| maxPacketSize = 1<<24 - 1 | |
| timeFormat = "2006-01-02 15:04:05.999999" | |
| ) | |
| // MySQL constants documentation: | |
| // http://dev.mysql.com/doc/internals/en/client-server-protocol.html | |
| const ( | |
| iOK byte = 0x00 | |
| iAuthMoreData byte = 0x01 | |
| iLocalInFile byte = 0xfb | |
| iEOF byte = 0xfe | |
| iERR byte = 0xff | |
| ) | |
| // https://dev.mysql.com/doc/internals/en/capability-flags.html#packet-Protocol::CapabilityFlags | |
| type clientFlag uint32 | |
| const ( | |
| clientLongPassword clientFlag = 1 << iota | |
| clientFoundRows | |
| clientLongFlag | |
| clientConnectWithDB | |
| clientNoSchema | |
| clientCompress | |
| clientODBC | |
| clientLocalFiles | |
| clientIgnoreSpace | |
| clientProtocol41 | |
| clientInteractive | |
| clientSSL | |
| clientIgnoreSIGPIPE | |
| clientTransactions | |
| clientReserved | |
| clientSecureConn | |
| clientMultiStatements | |
| clientMultiResults | |
| clientPSMultiResults | |
| clientPluginAuth | |
| clientConnectAttrs | |
| clientPluginAuthLenEncClientData | |
| clientCanHandleExpiredPasswords | |
| clientSessionTrack | |
| clientDeprecateEOF | |
| ) | |
| const ( | |
| comQuit byte = iota + 1 | |
| 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 | |
| ) | |
| // https://dev.mysql.com/doc/internals/en/com-query-response.html#packet-Protocol::ColumnType | |
| type fieldType byte | |
| const ( | |
| fieldTypeDecimal fieldType = iota | |
| fieldTypeTiny | |
| fieldTypeShort | |
| fieldTypeLong | |
| fieldTypeFloat | |
| fieldTypeDouble | |
| fieldTypeNULL | |
| fieldTypeTimestamp | |
| fieldTypeLongLong | |
| fieldTypeInt24 | |
| fieldTypeDate | |
| fieldTypeTime | |
| fieldTypeDateTime | |
| fieldTypeYear | |
| fieldTypeNewDate | |
| fieldTypeVarChar | |
| fieldTypeBit | |
| ) | |
| const ( | |
| fieldTypeJSON fieldType = iota + 0xf5 | |
| fieldTypeNewDecimal | |
| fieldTypeEnum | |
| fieldTypeSet | |
| fieldTypeTinyBLOB | |
| fieldTypeMediumBLOB | |
| fieldTypeLongBLOB | |
| fieldTypeBLOB | |
| fieldTypeVarString | |
| fieldTypeString | |
| fieldTypeGeometry | |
| ) | |
| type fieldFlag uint16 | |
| const ( | |
| flagNotNULL fieldFlag = 1 << iota | |
| flagPriKey | |
| flagUniqueKey | |
| flagMultipleKey | |
| flagBLOB | |
| flagUnsigned | |
| flagZeroFill | |
| flagBinary | |
| flagEnum | |
| flagAutoIncrement | |
| flagTimestamp | |
| flagSet | |
| flagUnknown1 | |
| flagUnknown2 | |
| flagUnknown3 | |
| flagUnknown4 | |
| ) | |
| // http://dev.mysql.com/doc/internals/en/status-flags.html | |
| type statusFlag uint16 | |
| const ( | |
| statusInTrans statusFlag = 1 << iota | |
| statusInAutocommit | |
| statusReserved // Not in documentation | |
| statusMoreResultsExists | |
| statusNoGoodIndexUsed | |
| statusNoIndexUsed | |
| statusCursorExists | |
| statusLastRowSent | |
| statusDbDropped | |
| statusNoBackslashEscapes | |
| statusMetadataChanged | |
| statusQueryWasSlow | |
| statusPsOutParams | |
| statusInTransReadonly | |
| statusSessionStateChanged | |
| ) | |
| const ( | |
| cachingSha2PasswordRequestPublicKey = 2 | |
| cachingSha2PasswordFastAuthSuccess = 3 | |
| cachingSha2PasswordPerformFullAuthentication = 4 | |
| ) |