package DBProxy.MySQL.Protocol;
/*
* Just a list of important flags that the Proxy code uses.
*
*/
public class Flags {
public static final int HOSTNAME_LENGTH = 60;
public static final int SYSTEM_CHARSET_MBMAXLEN = 3;
public static final int NAME_CHAR_LEN = 64;
public static final int USERNAME_CHAR_LENGTH = 16;
public static final int NAME_LEN = NAME_CHAR_LEN * SYSTEM_CHARSET_MBMAXLEN;
public static final int USERNAME_LENGTH = USERNAME_CHAR_LENGTH * SYSTEM_CHARSET_MBMAXLEN;
public static final String MYSQL_AUTODETECT_CHARSET_NAME = "auto";
public static final int SERVER_VERSION_LENGTH = 60;
public static final int SQLSTATE_LENGTH = 5;
public static final int TABLE_COMMENT_INLINE_MAXLEN = 180;
public static final int TABLE_COMMENT_MAXLEN = 2048;
public static final int COLUMN_COMMENT_MAXLEN = 1024;
public static final int INDEX_COMMENT_MAXLEN = 1024;
public static final int TABLE_PARTITION_COMMENT_MAXLEN = 1024;
public static final int USER_HOST_BUFF_SIZE = HOSTNAME_LENGTH + USERNAME_LENGTH + 2;
public static final int MYSQL_ERRMSG_SIZE = 512;
public static final int NET_READ_TIMEOUT = 30;
public static final int NET_WRITE_TIMEOUT = 60;
public static final int NET_WAIT_TIMEOUT = 8 * 60 * 60;
public static final int ONLY_KILL_QUERY = 1;
public static final String LOCAL_HOST = "localhost";
public static final String LOCAL_HOST_NAMEDPIPE = ".";
public static final int MODE_INIT = 0; // Connection opened
public static final int MODE_READ_HANDSHAKE = 1; // Read the handshake from the server and process it
public static final int MODE_SEND_HANDSHAKE = 2; // Forward the handshake from the server
public static final int MODE_READ_AUTH = 3; // Read the reply from the client and process it
public static final int MODE_SEND_AUTH = 4; // Forward the reply from the client
public static final int MODE_READ_AUTH_RESULT = 5; // Read the reply from the server and process it
public static final int MODE_SEND_AUTH_RESULT = 6; // Forward the reply from the server
public static final int MODE_READ_QUERY = 7; // Read the query from the client and process it
public static final int MODE_SEND_QUERY = 8; // Send the query to the server
public static final int MODE_READ_QUERY_RESULT = 9; // Read the result set from the server and and process it
public static final int MODE_SEND_QUERY_RESULT = 10; // Send a result set to the client
public static final int MODE_CLEANUP = 11; // Connection closed
// Packet types
public static final byte COM_SLEEP = (byte)0x00; // deprecated
public static final byte COM_QUIT = (byte)0x01;
public static final byte COM_INIT_DB = (byte)0x02;
public static final byte COM_QUERY = (byte)0x03;
public static final byte COM_FIELD_LIST = (byte)0x04;
public static final byte COM_CREATE_DB = (byte)0x05;
public static final byte COM_DROP_DB = (byte)0x06;
public static final byte COM_REFRESH = (byte)0x07;
public static final byte COM_SHUTDOWN = (byte)0x08;
public static final byte COM_STATISTICS = (byte)0x09;
public static final byte COM_PROCESS_INFO = (byte)0x0a; // deprecated
public static final byte COM_CONNECT = (byte)0x0b; // deprecated
public static final byte COM_PROCESS_KILL = (byte)0x0c;
public static final byte COM_DEBUG = (byte)0x0d;
public static final byte COM_PING = (byte)0x0e;
public static final byte COM_TIME = (byte)0x0f; // deprecated
public static final byte COM_DELAYED_INSERT = (byte)0x10; // deprecated
public static final byte COM_CHANGE_USER = (byte)0x11;
public static final byte COM_BINLOG_DUMP = (byte)0x12;
public static final byte COM_TABLE_DUMP = (byte)0x13;
public static final byte COM_CONNECT_OUT = (byte)0x14;
public static final byte COM_REGISTER_SLAVE = (byte)0x15;
public static final byte COM_STMT_PREPARE = (byte)0x16;
public static final byte COM_STMT_EXECUTE = (byte)0x17;
public static final byte COM_STMT_SEND_LONG_DATA = (byte)0x18;
public static final byte COM_STMT_CLOSE = (byte)0x19;
public static final byte COM_STMT_RESET = (byte)0x1a;
public static final byte COM_SET_OPTION = (byte)0x1b;
public static final byte COM_STMT_FETCH = (byte)0x1c;
public static final byte COM_DAEMON = (byte)0x1d; // deprecated
public static final byte COM_BINLOG_DUMP_GTID = (byte)0x1e;
public static final byte COM_END = (byte)0x1f; // Must be last
public static final byte OK = (byte)0x00;
public static final byte ERR = (byte)0xff;
public static final byte EOF = (byte)0xfe;
public static final byte LOCAL_INFILE = (byte)0xfb;
public static final int SERVER_STATUS_IN_TRANS = 1;
public static final int SERVER_STATUS_AUTOCOMMIT = 2;
public static final int SERVER_MORE_RESULTS_EXISTS = 8;
public static final int SERVER_QUERY_NO_GOOD_INDEX_USED = 16;
public static final int SERVER_STATUS_NO_GOOD_INDEX_USED = SERVER_QUERY_NO_GOOD_INDEX_USED;
public static final int SERVER_QUERY_NO_INDEX_USED = 32;
public static final int SERVER_STATUS_NO_INDEX_USED = SERVER_QUERY_NO_INDEX_USED;
public static final int SERVER_STATUS_CURSOR_EXISTS = 64;
public static final int SERVER_STATUS_LAST_ROW_SENT = 128;
public static final int SERVER_STATUS_DB_DROPPED = 256;
public static final int SERVER_STATUS_NO_BACKSLASH_ESCAPES = 512;
public static final int SERVER_STATUS_METADATA_CHANGED = 1024;
public static final int SERVER_QUERY_WAS_SLOW = 2048;
public static final int SERVER_PS_OUT_PARAMS = 4096;
public static final int SERVER_STATUS_IN_TRANS_READONLY = 8192;
public static final int SERVER_STATUS_CLEAR_SET = (
SERVER_QUERY_NO_GOOD_INDEX_USED
| SERVER_QUERY_NO_INDEX_USED
| SERVER_MORE_RESULTS_EXISTS
| SERVER_STATUS_METADATA_CHANGED
| SERVER_QUERY_WAS_SLOW
| SERVER_STATUS_DB_DROPPED
| SERVER_STATUS_CURSOR_EXISTS
| SERVER_STATUS_LAST_ROW_SENT
);
public static final int CLIENT_LONG_PASSWORD = 1;
public static final int CLIENT_FOUND_ROWS = 2;
public static final int CLIENT_LONG_FLAG = 4;
public static final int CLIENT_CONNECT_WITH_DB = 8;
public static final int CLIENT_NO_SCHEMA = 16;
public static final int CLIENT_COMPRESS = 32;
public static final int CLIENT_ODBC = 64;
public static final int CLIENT_LOCAL_FILES = 128;
public static final int CLIENT_IGNORE_SPACE = 256;
public static final int CLIENT_PROTOCOL_41 = 512;
public static final int CLIENT_INTERACTIVE = 1024;
public static final int CLIENT_SSL = 2048;
public static final int CLIENT_IGNORE_SIGPIPE = 4096;
public static final int CLIENT_TRANSACTIONS = 8192;
public static final int CLIENT_RESERVED = 16384;
public static final int CLIENT_SECURE_CONNECTION = 32768;
public static final int CLIENT_MULTI_STATEMENTS = 1 << 16;
public static final int CLIENT_MULTI_RESULTS = 1 << 17;
public static final int CLIENT_PS_MULTI_RESULTS = 1 << 18;
public static final int CLIENT_PLUGIN_AUTH = 1 << 19;
public static final int CLIENT_CONNECT_ATTRS = 1 << 20;
public static final int CLIENT_PLUGIN_AUTH_LENENC_CLIENT_DATA = 1 << 21;
public static final int CLIENT_CAN_HANDLE_EXPIRED_PASSWORDS = 1 << 22;
public static final int CLIENT_SSL_VERIFY_SERVER_CERT = 1 << 30;
public static final int CLIENT_REMEMBER_OPTIONS = 1 << 31;
public static final int CAN_CLIENT_COMPRESS = 0;
public static final int CLIENT_ALL_FLAGS = (
CLIENT_LONG_PASSWORD
| 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_SSL_VERIFY_SERVER_CERT
| CLIENT_REMEMBER_OPTIONS
| CLIENT_PLUGIN_AUTH
| CLIENT_CONNECT_ATTRS
| CLIENT_PLUGIN_AUTH_LENENC_CLIENT_DATA
| CLIENT_CAN_HANDLE_EXPIRED_PASSWORDS
);
public static final int CLIENT_BASIC_FLAGS =
(((CLIENT_ALL_FLAGS & ~CLIENT_SSL)
& ~CLIENT_COMPRESS)
& ~CLIENT_SSL_VERIFY_SERVER_CERT);
public static final int MYSQL_TYPE_DECIMAL = 0;
public static final int MYSQL_TYPE_TINY = 1;
public static final int MYSQL_TYPE_SHORT = 2;
public static final int MYSQL_TYPE_LONG = 3;
public static final int MYSQL_TYPE_FLOAT = 4;
public static final int MYSQL_TYPE_DOUBLE = 5;
public static final int MYSQL_TYPE_NULL = 6;
public static final int MYSQL_TYPE_TIMESTAMP = 7;
public static final int MYSQL_TYPE_LONGLONG = 8;
public static final int MYSQL_TYPE_INT24 = 9;
public static final int MYSQL_TYPE_DATE = 10;
public static final int MYSQL_TYPE_TIME = 11;
public static final int MYSQL_TYPE_DATETIME = 12;
public static final int MYSQL_TYPE_YEAR = 13;
public static final int MYSQL_TYPE_NEWDATE = 14;
public static final int MYSQL_TYPE_VARCHAR = 15;
public static final int MYSQL_TYPE_BIT = 16;
public static final int MYSQL_TYPE_TIMESTAMP2 = 17;
public static final int MYSQL_TYPE_DATETIME2 = 18;
public static final int MYSQL_TYPE_TIME2 = 19;
public static final int MYSQL_TYPE_NEWDECIMAL = 246;
public static final int MYSQL_TYPE_ENUM = 247;
public static final int MYSQL_TYPE_SET = 248;
public static final int MYSQL_TYPE_TINY_BLOB = 249;
public static final int MYSQL_TYPE_MEDIUM_BLOB = 250;
public static final int MYSQL_TYPE_LONG_BLOB = 251;
public static final int MYSQL_TYPE_BLOB = 252;
public static final int MYSQL_TYPE_VAR_STRING = 253;
public static final int MYSQL_TYPE_STRING = 254;
public static final int MYSQL_TYPE_GEOMETRY = 255;
public static final int REFRESH_GRANT = 1;
public static final int REFRESH_LOG = 2;
public static final int REFRESH_TABLES = 4;
public static final int REFRESH_HOSTS = 8;
public static final int REFRESH_STATUS = 16;
public static final int REFRESH_THREADS = 32;
public static final int REFRESH_SLAVE = 64;
public static final int REFRESH_MASTER = 128;
public static final int REFRESH_ERROR_LOG = 256;
public static final int REFRESH_ENGINE_LOG = 512;
public static final int REFRESH_BINARY_LOG = 1024;
public static final int REFRESH_RELAY_LOG = 2048;
public static final int REFRESH_GENERAL_LOG = 4096;
public static final int REFRESH_SLOW_LOG = 8192;
public static final int REFRESH_READ_LOCK = 16384;
public static final int REFRESH_FAST = 32768;
public static final int REFRESH_QUERY_CACHE = 65536;
public static final int REFRESH_QUERY_CACHE_FREE = 0x20000;
public static final int REFRESH_DES_KEY_FILE = 0x40000;
public static final int REFRESH_USER_RESOURCES = 0x80000;
public static final int REFRESH_FOR_EXPORT = 0x100000;
public static final int CURSOR_TYPE_NO_CURSOR = 0;
public static final int CURSOR_TYPE_READ_ONLY = 1;
public static final int CURSOR_TYPE_FOR_UPDATE = 2;
public static final int CURSOR_TYPE_SCROLLABLE = 4;
public static final int MYSQL_OPTION_MULTI_STATEMENTS_ON = 0;
public static final int MYSQL_OPTION_MULTI_STATEMENTS_OFF = 1;
public static final int ROW_TYPE_TEXT = 0;
public static final int ROW_TYPE_BINARY = 1;
public static final int RS_OK = 0;
public static final int RS_FULL = 1;
public static final int RS_COL_DEF = 2;
public static final int RS_DATA_FILE = 3;
public static final int SCRAMBLE_LENGTH = 20;
public static final int SCRAMBLE_LENGTH_323 = 8;
public static final int SCRAMBLED_PASSWORD_CHAR_LENGTH = SCRAMBLE_LENGTH * 2 + 1;
public static final int SCRAMBLED_PASSWORD_CHAR_LENGTH_323 = SCRAMBLE_LENGTH_323 * 2;
public static final int NOT_NULL_FLAG = 1;
public static final int PRI_KEY_FLAG = 2;
public static final int UNIQUE_KEY_FLAG = 4;
public static final int MULTIPLE_KEY_FLAG = 8;
public static final int BLOB_FLAG = 16;
public static final int UNSIGNED_FLAG = 32;
public static final int ZEROFILL_FLAG = 64;
public static final int BINARY_FLAG = 128;
public static final int ENUM_FLAG = 256;
public static final int AUTO_INCREMENT_FLAG = 512;
public static final int TIMESTAMP_FLAG = 1024;
public static final int SET_FLAG = 2048;
public static final int NO_DEFAULT_VALUE_FLAG = 4096;
public static final int ON_UPDATE_NOW_FLAG = 8192;
public static final int NUM_FLAG = 32768;
public static final int PART_KEY_FLAG = 16384;
public static final int GROUP_FLAG = 32768;
public static final int UNIQUE_FLAG = 65536;
public static final int BINCMP_FLAG = 131072;
public static final int GET_FIXED_FIELDS_FLAG = 1 << 18;
public static final int FIELD_IN_PART_FUNC_FLAG = 1 << 19;
public static final int FIELD_IN_ADD_INDEX = 1 << 20;
public static final int FIELD_IS_RENAMED = 1 << 21;
public static final int FIELD_FLAGS_STORAGE_MEDIA = 22;
public static final int FIELD_FLAGS_STORAGE_MEDIA_MASK = 3 << FIELD_FLAGS_STORAGE_MEDIA;
public static final int FIELD_FLAGS_COLUMN_FORMAT = 24;
public static final int FIELD_FLAGS_COLUMN_FORMAT_MASK = 3 << FIELD_FLAGS_COLUMN_FORMAT;
public static final int FIELD_IS_DROPPED = 1<< 26;
public static final int MAX_TINYINT_WIDTH = 3;
public static final int MAX_SMALLINT_WIDTH = 5;
public static final int MAX_MEDIUMINT_WIDTH = 8;
public static final int MAX_INT_WIDTH = 10;
public static final int MAX_BIGINT_WIDTH = 20;
public static final int MAX_CHAR_WIDTH = 255;
public static final int MAX_BLOB_WIDTH = 16777216;
public static final int packet_error = 0;
public static final int MYSQL_SHUTDOWN_KILLABLE_CONNECT = (char)(1 << 0);
public static final int MYSQL_SHUTDOWN_KILLABLE_TRANS = (char)(1 << 1);
public static final int MYSQL_SHUTDOWN_KILLABLE_LOCK_TABLE = (char)(1 << 2);
public static final int MYSQL_SHUTDOWN_KILLABLE_UPDATE = (char)(1 << 3);
public static final int SHUTDOWN_DEFAULT = 0;
public static final int SHUTDOWN_WAIT_CONNECTIONS = MYSQL_SHUTDOWN_KILLABLE_CONNECT;
public static final int SHUTDOWN_WAIT_TRANSACTIONS = MYSQL_SHUTDOWN_KILLABLE_TRANS;
public static final int SHUTDOWN_WAIT_UPDATES = MYSQL_SHUTDOWN_KILLABLE_UPDATE;
public static final int SHUTDOWN_WAIT_ALL_BUFFERS = MYSQL_SHUTDOWN_KILLABLE_UPDATE << 1;
public static final int SHUTDOWN_WAIT_CRITICAL_BUFFERS = (MYSQL_SHUTDOWN_KILLABLE_UPDATE << 1) + 1;
public static final int KILL_QUERY = 254;
public static final int KILL_CONNECTION = 255;
public static final int STRING_RESULT = 0;
public static final int REAL_RESULT = 1;
public static final int INT_RESULT = 2;
public static final int ROW_RESULT = 3;
public static final int DECIMAL_RESULT = 4;
public static final int NET_HEADER_SIZE = 4;
public static final int COMP_HEADER_SIZE = 3;
public static final int NULL_LENGTH = ~0;
public static final int MYSQL_STMT_HEADER = 4;
public static final int MYSQL_LONG_DATA_HEADER = 6;
public static final int NOT_FIXED_DEC = 31;
}