MXS-3533: Advertise SESSION_TRACK capability

MaxScale already enables it explicitly in the flags in certain cases but
it didn't support it if the client asked for it.
This commit is contained in:
Markus Mäkelä 2021-05-05 11:33:08 +03:00
parent 38cdade698
commit 94b65f8242
No known key found for this signature in database
GPG Key ID: 5CE746D557ACC499
2 changed files with 5 additions and 3 deletions

View File

@ -235,7 +235,8 @@ typedef enum
| GW_MYSQL_CAPABILITIES_MULTI_STATEMENTS
| GW_MYSQL_CAPABILITIES_MULTI_RESULTS
| GW_MYSQL_CAPABILITIES_PS_MULTI_RESULTS
| GW_MYSQL_CAPABILITIES_SECURE_CONNECTION),
| GW_MYSQL_CAPABILITIES_SECURE_CONNECTION
| GW_MYSQL_CAPABILITIES_SESSION_TRACK),
GW_MYSQL_CAPABILITIES_SERVER = (
GW_MYSQL_CAPABILITIES_CLIENT_MYSQL
| GW_MYSQL_CAPABILITIES_FOUND_ROWS
@ -254,7 +255,8 @@ typedef enum
| GW_MYSQL_CAPABILITIES_MULTI_STATEMENTS
| GW_MYSQL_CAPABILITIES_MULTI_RESULTS
| GW_MYSQL_CAPABILITIES_PS_MULTI_RESULTS
| GW_MYSQL_CAPABILITIES_PLUGIN_AUTH),
| GW_MYSQL_CAPABILITIES_PLUGIN_AUTH
| GW_MYSQL_CAPABILITIES_SESSION_TRACK),
} gw_mysql_capabilities_t;
/**

View File

@ -453,7 +453,7 @@ int MySQLSendHandshake(DCB* dcb)
mysql_server_capabilities_two[1] = (uint8_t)(GW_MYSQL_CAPABILITIES_SERVER >> 24);
// Check that we match the old values
mxb_assert(mysql_server_capabilities_two[0] == 15);
mxb_assert(mysql_server_capabilities_two[0] == (15 | GW_MYSQL_CAPABILITIES_SESSION_TRACK >> 16));
/** NOTE: pre-2.1 versions sent the fourth byte of the capabilities as
* the value 128 even though there's no such capability. */