Documentation Home
MySQL Internals Manual
Download this Manual
EPUB - 1.2Mb


MySQL Internals Manual  /  ...  /  Capability Flags

14.2.6 Capability Flags

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.

Note

Assumed to be set since 4.1.1.

Value

0x00000001

CLIENT_FOUND_ROWS

Send found rows instead of affected rows in EOF_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.

Note

No 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.

Note

this value was CLIENT_CHANGE_USER in 3.22, unused in 4.0

CLIENT_INTERACTIVE

wait_timeout versus wait_interactive_timeout.

Value

0x00000400

Server

Supports interactive and noninteractive clients.

Client

Client is interactive.

See

mysql_real_connect()

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

mysql_real_connect()

CLIENT_TRANSACTIONS
Value

0x00002000

Server

Can send status flags in EOF_Packet.

Client

Expects status flags in EOF_Packet.

Note

This flag is optional in 3.23, but always set by the server since 4.0.

CLIENT_RESERVED

Unused.

Value

0x00004000

Note

Was 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 and COM_STMT_PREPARE.

Client

May send multiple statements per COM_QUERY and COM_STMT_PREPARE.

Note

Was named CLIENT_MULTI_QUERIES in 4.1.0, renamed later.

CLIENT_MULTI_RESULTS
Value

0x00020000

Server

Can send multiple resultsets for COM_QUERY.

Client

Can handle multiple resultsets for COM_QUERY.

Requires

CLIENT_PROTOCOL_41

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_PROTOCOL_41

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_PROTOCOL_41

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.

Note

The 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.


User Comments
Sign Up Login You must be logged in to post a comment.