You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
164 lines
3.3 KiB
164 lines
3.3 KiB
package mysql |
|
|
|
const ( |
|
MinProtocolVersion byte = 10 |
|
MaxPayloadLen int = 1<<24 - 1 |
|
TimeFormat string = "2006-01-02 15:04:05" |
|
) |
|
|
|
var ( |
|
// maybe you can change for your specified name |
|
ServerVersion string = "5.7.0" |
|
) |
|
|
|
const ( |
|
OK_HEADER byte = 0x00 |
|
ERR_HEADER byte = 0xff |
|
EOF_HEADER byte = 0xfe |
|
LocalInFile_HEADER byte = 0xfb |
|
) |
|
|
|
const ( |
|
SERVER_STATUS_IN_TRANS uint16 = 0x0001 |
|
SERVER_STATUS_AUTOCOMMIT uint16 = 0x0002 |
|
SERVER_MORE_RESULTS_EXISTS uint16 = 0x0008 |
|
SERVER_STATUS_NO_GOOD_INDEX_USED uint16 = 0x0010 |
|
SERVER_STATUS_NO_INDEX_USED uint16 = 0x0020 |
|
SERVER_STATUS_CURSOR_EXISTS uint16 = 0x0040 |
|
SERVER_STATUS_LAST_ROW_SEND uint16 = 0x0080 |
|
SERVER_STATUS_DB_DROPPED uint16 = 0x0100 |
|
SERVER_STATUS_NO_BACKSLASH_ESCAPED uint16 = 0x0200 |
|
SERVER_STATUS_METADATA_CHANGED uint16 = 0x0400 |
|
SERVER_QUERY_WAS_SLOW uint16 = 0x0800 |
|
SERVER_PS_OUT_PARAMS uint16 = 0x1000 |
|
) |
|
|
|
const ( |
|
COM_SLEEP byte = iota |
|
COM_QUIT |
|
COM_INIT_DB |
|
COM_QUERY |
|
COM_FIELD_LIST |
|
COM_CREATE_DB |
|
COM_DROP_DB |
|
COM_REFRESH |
|
COM_SHUTDOWN |
|
COM_STATISTICS |
|
COM_PROCESS_INFO |
|
COM_CONNECT |
|
COM_PROCESS_KILL |
|
COM_DEBUG |
|
COM_PING |
|
COM_TIME |
|
COM_DELAYED_INSERT |
|
COM_CHANGE_USER |
|
COM_BINLOG_DUMP |
|
COM_TABLE_DUMP |
|
COM_CONNECT_OUT |
|
COM_REGISTER_SLAVE |
|
COM_STMT_PREPARE |
|
COM_STMT_EXECUTE |
|
COM_STMT_SEND_LONG_DATA |
|
COM_STMT_CLOSE |
|
COM_STMT_RESET |
|
COM_SET_OPTION |
|
COM_STMT_FETCH |
|
COM_DAEMON |
|
COM_BINLOG_DUMP_GTID |
|
COM_RESET_CONNECTION |
|
) |
|
|
|
const ( |
|
CLIENT_LONG_PASSWORD uint32 = 1 << iota |
|
CLIENT_FOUND_ROWS |
|
CLIENT_LONG_FLAG |
|
CLIENT_CONNECT_WITH_DB |
|
CLIENT_NO_SCHEMA |
|
CLIENT_COMPRESS |
|
CLIENT_ODBC |
|
CLIENT_LOCAL_FILES |
|
CLIENT_IGNORE_SPACE |
|
CLIENT_PROTOCOL_41 |
|
CLIENT_INTERACTIVE |
|
CLIENT_SSL |
|
CLIENT_IGNORE_SIGPIPE |
|
CLIENT_TRANSACTIONS |
|
CLIENT_RESERVED |
|
CLIENT_SECURE_CONNECTION |
|
CLIENT_MULTI_STATEMENTS |
|
CLIENT_MULTI_RESULTS |
|
CLIENT_PS_MULTI_RESULTS |
|
CLIENT_PLUGIN_AUTH |
|
CLIENT_CONNECT_ATTRS |
|
CLIENT_PLUGIN_AUTH_LENENC_CLIENT_DATA |
|
) |
|
|
|
const ( |
|
MYSQL_TYPE_DECIMAL byte = iota |
|
MYSQL_TYPE_TINY |
|
MYSQL_TYPE_SHORT |
|
MYSQL_TYPE_LONG |
|
MYSQL_TYPE_FLOAT |
|
MYSQL_TYPE_DOUBLE |
|
MYSQL_TYPE_NULL |
|
MYSQL_TYPE_TIMESTAMP |
|
MYSQL_TYPE_LONGLONG |
|
MYSQL_TYPE_INT24 |
|
MYSQL_TYPE_DATE |
|
MYSQL_TYPE_TIME |
|
MYSQL_TYPE_DATETIME |
|
MYSQL_TYPE_YEAR |
|
MYSQL_TYPE_NEWDATE |
|
MYSQL_TYPE_VARCHAR |
|
MYSQL_TYPE_BIT |
|
|
|
//mysql 5.6 |
|
MYSQL_TYPE_TIMESTAMP2 |
|
MYSQL_TYPE_DATETIME2 |
|
MYSQL_TYPE_TIME2 |
|
) |
|
|
|
const ( |
|
MYSQL_TYPE_JSON byte = iota + 0xf5 |
|
MYSQL_TYPE_NEWDECIMAL |
|
MYSQL_TYPE_ENUM |
|
MYSQL_TYPE_SET |
|
MYSQL_TYPE_TINY_BLOB |
|
MYSQL_TYPE_MEDIUM_BLOB |
|
MYSQL_TYPE_LONG_BLOB |
|
MYSQL_TYPE_BLOB |
|
MYSQL_TYPE_VAR_STRING |
|
MYSQL_TYPE_STRING |
|
MYSQL_TYPE_GEOMETRY |
|
) |
|
|
|
const ( |
|
NOT_NULL_FLAG = 1 |
|
PRI_KEY_FLAG = 2 |
|
UNIQUE_KEY_FLAG = 4 |
|
BLOB_FLAG = 16 |
|
UNSIGNED_FLAG = 32 |
|
ZEROFILL_FLAG = 64 |
|
BINARY_FLAG = 128 |
|
ENUM_FLAG = 256 |
|
AUTO_INCREMENT_FLAG = 512 |
|
TIMESTAMP_FLAG = 1024 |
|
SET_FLAG = 2048 |
|
NUM_FLAG = 32768 |
|
PART_KEY_FLAG = 16384 |
|
GROUP_FLAG = 32768 |
|
UNIQUE_FLAG = 65536 |
|
) |
|
|
|
const ( |
|
AUTH_NAME = "mysql_native_password" |
|
DEFAULT_CHARSET = "utf8" |
|
DEFAULT_COLLATION_ID uint8 = 33 |
|
DEFAULT_COLLATION_NAME string = "utf8_general_ci" |
|
) |
|
|
|
// Like vitess, use flavor for different MySQL versions, |
|
const ( |
|
MySQLFlavor = "mysql" |
|
MariaDBFlavor = "mariadb" |
|
)
|
|
|