From 2b1520f4c5c11cda30d69e8b8b20ff03ec469099 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=AA=20Thanh=20Sang?= Date: Mon, 19 Jun 2023 18:29:07 +1000 Subject: [PATCH] feat: support STATE_GTIDS session track information * Support parsing gtids from OK package * Rename variable, added eslint check --- lib/packets/resultset_header.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/packets/resultset_header.js b/lib/packets/resultset_header.js index e6a8cd492f..35f72e9e87 100644 --- a/lib/packets/resultset_header.js +++ b/lib/packets/resultset_header.js @@ -50,6 +50,7 @@ class ResultSetHeader { stateChanges = { systemVariables: {}, schema: null, + gtids: [], trackStateChange: null }; } @@ -72,6 +73,12 @@ class ResultSetHeader { stateChanges.trackStateChange = packet.readLengthCodedString( encoding ); + } else if (type === sessionInfoTypes.STATE_GTIDS) { + // TODO: find if the first length coded string means anything. Usually comes as empty + // eslint-disable-next-line no-unused-vars + const _unknownString = packet.readLengthCodedString(encoding); + const gtid = packet.readLengthCodedString(encoding); + stateChanges.gtids = gtid.split(','); } else { // unsupported session track type. For now just ignore }