The capability flags are used by the client and server to indicate which features they support and want to use.
Protocol::CapabilityFlags:
-
Use the improved version of
Old Password Authentication
.NoteAssumed to be set since 4.1.1.
-
Value
-
0x00000001
-
-
Send
found rows
instead ofaffected rows
inEOF_Packet
.-
Value
-
0x00000002
-
-
Longer flags in
Protocol::ColumnDefinition320
.-
Value
-
0x00000004
Server
-
Supports longer flags.
Client
-
Expects longer flags.
-
-
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.
-
-
-
Value
-
0x00000010
Server
-
Do not permit
database.table.column
.
-
-
Compression protocol supported.
-
Value
-
0x00000020
Server
-
Supports compression.
Client
-
Switches to Compression compressed protocol after successful authentication.
-
-
-
Value
-
0x00000040
Special handling of ODBC behavior.
NoteNo special behavior since 3.22.
-
-
Can use
LOAD DATA LOCAL
.-
Value
-
0x00000080
Server
-
Enables the LOCAL INFILE request of LOAD DATA|XML.
Client
-
Will handle LOCAL INFILE request.
-
-
-
Value
-
0x00000100
Server
-
Parser can ignore spaces before
'('
.
Client
-
Let the parser ignore spaces before
'('
.
-
-
-
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 -
-
wait_timeout
versuswait_interactive_timeout
.-
Value
-
0x00000400
Server
-
Supports interactive and noninteractive clients.
Client
-
Client is interactive.
See
-
-
-
Value
-
0x00000800
Server
-
Supports SSL.
Client
-
Switch to SSL after sending the capability-flags.
-
-
-
Value
-
0x00001000
Client
-
Do not issue
SIGPIPE
if network failures occur (libmysqlclient only).
See
-
-
-
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.
-
-
Unused.
-
Value
-
0x00004000
NoteWas named
CLIENT_PROTOCOL_41
in 4.1.0. -
-
-
Value
-
0x00008000
Server
-
Supports
Authentication::Native41
.
Client
-
Supports
Authentication::Native41
.
-
-
-
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
-
-
-
Server
-
Can send multiple resultsets for
COM_STMT_EXECUTE
.
Client
-
Can handle multiple resultsets for
COM_STMT_EXECUTE
.
Value
-
0x00040000
Requires
-
-
-
Value
-
0x00080000
Server
-
Sends extra data in Initial Handshake Packet and supports the pluggable authentication protocol.
Client
-
Supports authentication plugins.
Requires
-
-
-
Value
-
0x00100000
Server
-
Permits connection attributes in
Protocol::HandshakeResponse41
.
Client
-
Sends connection attributes in
Protocol::HandshakeResponse41
.
-
-
-
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.
-
-
-
Value
-
0x00400000
Server
-
Announces support for expired password extension.
Client
-
Can handle expired passwords.
-
-
-
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.
-
-
-
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.
-
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_PLUGIN_AUTH
CLIENT_CONNECT_ATTRS
CLIENT_PLUGIN_AUTH_LENENC_CLIENT_DATA
CLIENT_CAN_HANDLE_EXPIRED_PASSWORDS
CLIENT_SESSION_TRACK
CLIENT_DEPRECATE_EOF