diff --git a/server/modules/routing/readwritesplit/readwritesplit.c b/server/modules/routing/readwritesplit/readwritesplit.c index b35a674c4..d6dba8e01 100644 --- a/server/modules/routing/readwritesplit/readwritesplit.c +++ b/server/modules/routing/readwritesplit/readwritesplit.c @@ -4049,12 +4049,11 @@ static bool execute_sescmd_in_backend( sescmd_cursor_set_active(scur, true); } - buf = sescmd_cursor_clone_querybuf(scur); - switch (scur->scmd_cur_cmd->my_sescmd_packet_type) { case MYSQL_COM_CHANGE_USER: /** This makes it possible to handle replies correctly */ gwbuf_set_type(scur->scmd_cur_cmd->my_sescmd_buf, GWBUF_TYPE_SESCMD); + buf = sescmd_cursor_clone_querybuf(scur); rc = dcb->func.auth( dcb, NULL, @@ -4087,6 +4086,7 @@ static bool execute_sescmd_in_backend( */ gwbuf_set_type(scur->scmd_cur_cmd->my_sescmd_buf, GWBUF_TYPE_SESCMD); + buf = sescmd_cursor_clone_querybuf(scur); rc = dcb->func.write( dcb, buf);