From 08a053a542c044c2688dbb51902d2eae6f9cab34 Mon Sep 17 00:00:00 2001 From: joeCarf Date: Fri, 2 Dec 2022 21:28:24 +0800 Subject: [PATCH 1/2] Update PolarSetPasswordHandler.java --- .../handler/privileges/polar/PolarSetPasswordHandler.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/polardbx-server/src/main/java/com/alibaba/polardbx/server/handler/privileges/polar/PolarSetPasswordHandler.java b/polardbx-server/src/main/java/com/alibaba/polardbx/server/handler/privileges/polar/PolarSetPasswordHandler.java index 17910cd89..9b2411335 100644 --- a/polardbx-server/src/main/java/com/alibaba/polardbx/server/handler/privileges/polar/PolarSetPasswordHandler.java +++ b/polardbx-server/src/main/java/com/alibaba/polardbx/server/handler/privileges/polar/PolarSetPasswordHandler.java @@ -17,6 +17,7 @@ package com.alibaba.polardbx.server.handler.privileges.polar; import com.alibaba.polardbx.CobarServer; +import com.alibaba.polardbx.druid.sql.ast.expr.SQLIdentifierExpr; import com.alibaba.polardbx.druid.sql.parser.SQLParserFeature; import com.alibaba.polardbx.server.ServerConnection; import com.alibaba.polardbx.druid.sql.ast.expr.SQLCharExpr; @@ -74,7 +75,7 @@ private static List getGrantees(ByteString sql, PolarAccountIn SQLSetStatement statement = (SQLSetStatement) FastsqlUtils.parseSql(sql, SQLParserFeature.IgnoreNameQuotes).get(0); SQLAssignItem assignItem = statement.getItems().get(0); - MySqlUserName userName = (MySqlUserName) assignItem.getTarget(); + MySqlUserName userName = MySqlUserName.fromIdentifier((SQLIdentifierExpr) assignItem.getTarget()); String password = ""; if (assignItem.getValue() instanceof SQLCharExpr) { From 1fa5d0634b8219200dc89a4d591e269c25bac47e Mon Sep 17 00:00:00 2001 From: joeCarf Date: Wed, 11 Jan 2023 17:16:18 +0800 Subject: [PATCH 2/2] Update PolarSetPasswordHandler.java --- .../privileges/polar/PolarSetPasswordHandler.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/polardbx-server/src/main/java/com/alibaba/polardbx/server/handler/privileges/polar/PolarSetPasswordHandler.java b/polardbx-server/src/main/java/com/alibaba/polardbx/server/handler/privileges/polar/PolarSetPasswordHandler.java index 9b2411335..308a41bf5 100644 --- a/polardbx-server/src/main/java/com/alibaba/polardbx/server/handler/privileges/polar/PolarSetPasswordHandler.java +++ b/polardbx-server/src/main/java/com/alibaba/polardbx/server/handler/privileges/polar/PolarSetPasswordHandler.java @@ -17,6 +17,7 @@ package com.alibaba.polardbx.server.handler.privileges.polar; import com.alibaba.polardbx.CobarServer; +import com.alibaba.polardbx.druid.sql.ast.SQLExpr; import com.alibaba.polardbx.druid.sql.ast.expr.SQLIdentifierExpr; import com.alibaba.polardbx.druid.sql.parser.SQLParserFeature; import com.alibaba.polardbx.server.ServerConnection; @@ -27,8 +28,6 @@ import com.alibaba.polardbx.druid.sql.dialect.mysql.ast.expr.MySqlUserName; import com.alibaba.polardbx.druid.sql.parser.ByteString; import com.alibaba.polardbx.common.audit.AuditAction; -import com.alibaba.polardbx.common.exception.TddlRuntimeException; -import com.alibaba.polardbx.common.exception.code.ErrorCode; import com.alibaba.polardbx.common.privilege.UserPasswdChecker; import com.alibaba.polardbx.common.utils.GeneralUtil; import com.alibaba.polardbx.common.utils.logger.Logger; @@ -75,7 +74,13 @@ private static List getGrantees(ByteString sql, PolarAccountIn SQLSetStatement statement = (SQLSetStatement) FastsqlUtils.parseSql(sql, SQLParserFeature.IgnoreNameQuotes).get(0); SQLAssignItem assignItem = statement.getItems().get(0); - MySqlUserName userName = MySqlUserName.fromIdentifier((SQLIdentifierExpr) assignItem.getTarget()); + SQLExpr target = assignItem.getTarget(); + MySqlUserName userName; + if (target instanceof MySqlUserName) { + userName = (MySqlUserName) target; + } else { + userName = MySqlUserName.fromIdentifier((SQLIdentifierExpr) target); + } String password = ""; if (assignItem.getValue() instanceof SQLCharExpr) {