From f49c31625d1e2fe8ca3d0b20761ec23e2f53bddf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Markus=20M=C3=A4kel=C3=A4?= Date: Tue, 26 Jun 2018 13:17:35 +0300 Subject: [PATCH] Use derived version of write for session commands Prepared statements via readwritesplit need to have their IDs mapped from the internal representation to the backend specific one. The RWBackend class does this in its write method but the fix in commit e561c3995c7396cf3749ccdf6a3357d7dd32c856 caused this to be bypassed and the base version was always used. --- server/core/backend.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/server/core/backend.cc b/server/core/backend.cc index 967f06130..ab886564b 100644 --- a/server/core/backend.cc +++ b/server/core/backend.cc @@ -96,7 +96,7 @@ bool Backend::execute_session_command() case MXS_COM_QUIT: case MXS_COM_STMT_CLOSE: /** These commands do not generate responses */ - rval = Backend::write(buffer, NO_RESPONSE); + rval = write(buffer, NO_RESPONSE); complete_session_command(); ss_dassert(!is_waiting_result()); break; @@ -112,7 +112,7 @@ bool Backend::execute_session_command() // TODO: Remove use of GWBUF_TYPE_SESCMD //Mark session command buffer, it triggers writing MySQL command to protocol gwbuf_set_type(buffer, GWBUF_TYPE_SESCMD); - rval = Backend::write(buffer); + rval = write(buffer, EXPECT_RESPONSE); ss_dassert(is_waiting_result()); break; }