The capability flags are used by the client and server to indicate which features they support and want to use.
Protocol::CapabilityFlags:
CLIENT_LONG_PASSWORD
-
Use the improved version of
Old Password Authentication
.NoteAssumed to be set since 4.1.1.
- Value
-
0x00000001
CLIENT_FOUND_ROWS
-
Send
found rows
instead ofaffected rows
inEOF_Packet
.- Value
-
0x00000002
CLIENT_LONG_FLAG
-
Longer flags in
Protocol::ColumnDefinition320
.- Value
-
0x00000004
- Server
-
Supports longer flags.
- Client
-
Expects longer flags.
CLIENT_CONNECT_WITH_DB
-
Database (schema) name can be specified on connect in
Handshake Response Packet
.- Value
-
0x00000008
- Server
-
Supports schema-name in
Handshake Response Packet
. - Client
-
Handshake Response Packet
contains a schema-name.
CLIENT_NO_SCHEMA
-
- Value
-
0x00000010
- Server
-
Do not permit
database.table.column
.
CLIENT_COMPRESS
-
Compression protocol supported.
- Value
-
0x00000020
- Server
-
Supports compression.
- Client
-
Switches to Compression compressed protocol after successful authentication.
CLIENT_ODBC
-
- Value
-
0x00000040
Special handling of ODBC behavior.
NoteNo special behavior since 3.22.
CLIENT_LOCAL_FILES
-
Can use
LOAD DATA LOCAL
.- Value
-
0x00000080
- Server
-
Enables the LOCAL INFILE request of LOAD DATA|XML.
- Client
-
Will handle LOCAL INFILE request.
CLIENT_IGNORE_SPACE
-
- Value
-
0x00000100
- Server
-
Parser can ignore spaces before
'('
. - Client
-
Let the parser ignore spaces before
'('
.
CLIENT_PROTOCOL_41
-
- Value
-
0x00000200
- Server
-
Supports the 4.1 protocol.
- Client
-
Uses the 4.1 protocol.
Notethis value was
CLIENT_CHANGE_USER
in 3.22, unused in 4.0 CLIENT_INTERACTIVE
-
wait_timeout
versuswait_interactive_timeout
.- Value
-
0x00000400
- Server
-
Supports interactive and noninteractive clients.
- Client
-
Client is interactive.
- See
CLIENT_SSL
-
- Value
-
0x00000800
- Server
-
Supports SSL.
- Client
-
Switch to SSL after sending the capability-flags.
CLIENT_IGNORE_SIGPIPE
-
- Value
-
0x00001000
- Client
-
Do not issue
SIGPIPE
if network failures occur (libmysqlclient only). - See
CLIENT_TRANSACTIONS
-
- Value
-
0x00002000
- Server
-
Can send status flags in
EOF_Packet
. - Client
-
Expects status flags in
EOF_Packet
.
NoteThis flag is optional in 3.23, but always set by the server since 4.0.
CLIENT_RESERVED
-
Unused.
- Value
-
0x00004000
NoteWas named
CLIENT_PROTOCOL_41
in 4.1.0. CLIENT_SECURE_CONNECTION
-
- Value
-
0x00008000
- Server
-
Supports
Authentication::Native41
. - Client
-
Supports
Authentication::Native41
.
CLIENT_MULTI_STATEMENTS
-
- Value
-
0x00010000
- Server
-
Can handle multiple statements per
COM_QUERY
andCOM_STMT_PREPARE
. - Client
-
May send multiple statements per
COM_QUERY
andCOM_STMT_PREPARE
.
NoteWas named
CLIENT_MULTI_QUERIES
in 4.1.0, renamed later.- Requires
CLIENT_MULTI_RESULTS
CLIENT_PS_MULTI_RESULTS
-
- Server
-
Can send multiple resultsets for
COM_STMT_EXECUTE
. - Client
-
Can handle multiple resultsets for
COM_STMT_EXECUTE
. - Value
-
0x00040000
- Requires
CLIENT_PLUGIN_AUTH
-
- Value
-
0x00080000
- Server
-
Sends extra data in Initial Handshake Packet and supports the pluggable authentication protocol.
- Client
-
Supports authentication plugins.
- Requires
CLIENT_CONNECT_ATTRS
-
- Value
-
0x00100000
- Server
-
Permits connection attributes in
Protocol::HandshakeResponse41
. - Client
-
Sends connection attributes in
Protocol::HandshakeResponse41
.
CLIENT_PLUGIN_AUTH_LENENC_CLIENT_DATA
-
- Value
-
0x00200000
- Server
-
Understands length-encoded integer for auth response data in
Protocol::HandshakeResponse41
. - Client
-
Length of auth response data in
Protocol::HandshakeResponse41
is a length-encoded integer.
NoteThe flag was introduced in 5.6.6, but had the wrong value.
CLIENT_CAN_HANDLE_EXPIRED_PASSWORDS
-
- Value
-
0x00400000
- Server
-
Announces support for expired password extension.
- Client
-
Can handle expired passwords.
CLIENT_SESSION_TRACK
-
- Value
-
0x00800000
- Server
-
Can set SERVER_SESSION_STATE_CHANGED in the Status Flags and send session-state change data after a OK packet.
- Client
-
Expects the server to send sesson-state changes after a OK packet.
CLIENT_DEPRECATE_EOF
-
- Value
-
0x01000000
- Server
-
Can send OK after a Text Resultset.
- Client
-
Expects an OK (instead of EOF) after the resultset rows of a Text Resultset.
- Background
-
To support
CLIENT_SESSION_TRACK
, additional information must be sent after all successful commands. Although the OK packet is extensible, the EOF packet is not due to the overlap of its bytes with the content of the Text Resultset Row.Therefore, the EOF packet in the Text Resultset is replaced with an OK packet. EOF packets are deprecated as of MySQL 5.7.5.