[fix](jdbc) fix Unknown command(27) (#41621) (#41637)

pick https://github.com/apache/doris/pull/41621
This commit is contained in:
meiyi
2024-10-10 17:46:45 +08:00
committed by GitHub
parent a26079c09d
commit 070bd6cf99
3 changed files with 116 additions and 2 deletions

View File

@ -48,8 +48,8 @@ public enum MysqlCommand {
COM_STMT_SEND_LONG_DATA("COM_STMT_SEND_LONG_DATA", 24),
COM_STMT_CLOSE("COM_STMT_CLOSE", 25),
COM_STMT_RESET("COM_STMT_RESET", 26),
COM_SET_OPTION("COM_RESET_CONNECTION", 27),
COM_STMT_FETCH("COM_RESET_CONNECTION", 28),
COM_SET_OPTION("COM_SET_OPTION", 27),
COM_STMT_FETCH("COM_STMT_FETCH", 28),
COM_DAEMON("COM_DAEMON", 29),
COM_RESET_CONNECTION("COM_RESET_CONNECTION", 31);

View File

@ -336,6 +336,9 @@ public class MysqlConnectProcessor extends ConnectProcessor {
case COM_STMT_CLOSE:
handleStmtClose();
break;
case COM_SET_OPTION:
handleSetOption();
break;
default:
ctx.getState().setError(ErrorCode.ERR_UNKNOWN_COM_ERROR, "Unsupported command(" + command + ")");
LOG.warn("Unsupported command(" + command + ")");
@ -436,6 +439,15 @@ public class MysqlConnectProcessor extends ConnectProcessor {
ctx.getState().setOk();
}
private void handleSetOption() {
// https://dev.mysql.com/doc/dev/mysql-server/latest/page_protocol_com_set_option.html
int optionOperation = MysqlProto.readInt2(packetBuf);
LOG.debug("option_operation {}", optionOperation);
// Do nothing for now.
// https://dev.mysql.com/doc/c-api/8.0/en/mysql-set-server-option.html
ctx.getState().setOk();
}
// Process a MySQL request
public void processOnce() throws IOException {
// set status of query to OK.