Fix SESSION_TRACK_SCHEMA tracking
The SESSION_TRACK_SCHEMA tracking capability handling assumed an encoding integer in the data. This value does not exist for the data returned by schema change or session state tracking.
This commit is contained in:
@ -1806,7 +1806,9 @@ void mxs_mysql_parse_ok_packet(GWBUF *buff, size_t packet_offset, size_t packet_
|
||||
|
||||
if (server_status & SERVER_SESSION_STATE_CHANGED)
|
||||
{
|
||||
mxs_leint_consume(&ptr); // total SERVER_SESSION_STATE_CHANGED length
|
||||
ss_debug(uint64_t data_size = )mxs_leint_consume(&ptr); // total SERVER_SESSION_STATE_CHANGED length
|
||||
ss_dassert(data_size == packet_len - (ptr - local_buf));
|
||||
|
||||
while (ptr < (local_buf + packet_len))
|
||||
{
|
||||
enum_session_state_type type =
|
||||
@ -1818,6 +1820,9 @@ void mxs_mysql_parse_ok_packet(GWBUF *buff, size_t packet_offset, size_t packet_
|
||||
{
|
||||
case SESSION_TRACK_STATE_CHANGE:
|
||||
case SESSION_TRACK_SCHEMA:
|
||||
size = mxs_leint_consume(&ptr); // Length of the overall entity.
|
||||
ptr += size;
|
||||
break;
|
||||
case SESSION_TRACK_GTIDS:
|
||||
mxs_leint_consume(&ptr); // Length of the overall entity.
|
||||
mxs_leint_consume(&ptr); // encoding specification
|
||||
|
Reference in New Issue
Block a user