package mysql const ( MinProtocolVersion byte = 10 MaxPayloadLen int = 1<<24 - 1 TimeFormat string = "2006-01-02 15:04:05" ) const ( OK_HEADER byte = 0x00 MORE_DATE_HEADER byte = 0x01 ERR_HEADER byte = 0xff EOF_HEADER byte = 0xfe LocalInFile_HEADER byte = 0xfb CACHE_SHA2_FAST_AUTH byte = 0x03 CACHE_SHA2_FULL_AUTH byte = 0x04 ) const ( AUTH_MYSQL_OLD_PASSWORD = "mysql_old_password" AUTH_NATIVE_PASSWORD = "mysql_native_password" AUTH_CLEAR_PASSWORD = "mysql_clear_password" AUTH_CACHING_SHA2_PASSWORD = "caching_sha2_password" AUTH_SHA256_PASSWORD = "sha256_password" ) 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 ( // https://dev.mysql.com/doc/dev/mysql-server/latest/group__group__cs__capabilities__flags.html 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 CLIENT_CAN_HANDLE_EXPIRED_PASSWORDS CLIENT_SESSION_TRACK CLIENT_DEPRECATE_EOF CLIENT_OPTIONAL_RESULTSET_METADATA CLIENT_ZSTD_COMPRESSION_ALGORITHM CLIENT_QUERY_ATTRIBUTES MULTI_FACTOR_AUTHENTICATION CLIENT_CAPABILITY_EXTENSION CLIENT_SSL_VERIFY_SERVER_CERT CLIENT_REMEMBER_OPTIONS ) 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 ( 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" ) const ( MYSQL_OPTION_MULTI_STATEMENTS_ON = iota MYSQL_OPTION_MULTI_STATEMENTS_OFF )