This is an automated email from the ASF dual-hosted git repository. geniuspig pushed a commit to branch root_fix in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git
commit d25b7d83472e61487456f2c65bca59e7ff3938dc Author: zhutianci <[email protected]> AuthorDate: Thu Jan 16 16:46:26 2020 +0800 fix can't change root password --- server/src/main/antlr4/org/apache/iotdb/db/qp/strategy/SqlBase.g4 | 2 +- .../main/java/org/apache/iotdb/db/qp/strategy/LogicalGenerator.java | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/server/src/main/antlr4/org/apache/iotdb/db/qp/strategy/SqlBase.g4 b/server/src/main/antlr4/org/apache/iotdb/db/qp/strategy/SqlBase.g4 index 2f3bc3b..4e2e47f 100644 --- a/server/src/main/antlr4/org/apache/iotdb/db/qp/strategy/SqlBase.g4 +++ b/server/src/main/antlr4/org/apache/iotdb/db/qp/strategy/SqlBase.g4 @@ -42,7 +42,7 @@ statement | DROP INDEX function=ID ON timeseriesPath #dropIndex //not support yet | MERGE #merge //not support yet | CREATE USER userName=ID password=STRING_LITERAL #createUser - | ALTER USER userName=ID SET PASSWORD password=STRING_LITERAL #alterUser + | ALTER USER userName=(ROOT|ID) SET PASSWORD password=STRING_LITERAL #alterUser | DROP USER userName=ID #dropUser | CREATE ROLE roleName=ID #createRole | DROP ROLE roleName=ID #dropRole diff --git a/server/src/main/java/org/apache/iotdb/db/qp/strategy/LogicalGenerator.java b/server/src/main/java/org/apache/iotdb/db/qp/strategy/LogicalGenerator.java index 27e64cd..509912e 100644 --- a/server/src/main/java/org/apache/iotdb/db/qp/strategy/LogicalGenerator.java +++ b/server/src/main/java/org/apache/iotdb/db/qp/strategy/LogicalGenerator.java @@ -384,7 +384,11 @@ public class LogicalGenerator extends SqlBaseBaseListener { super.enterAlterUser(ctx); AuthorOperator authorOperator = new AuthorOperator(SQLConstant.TOK_AUTHOR_UPDATE_USER, AuthorOperator.AuthorType.UPDATE_USER); - authorOperator.setUserName(ctx.ID().getText()); + if(ctx.ID() != null) { + authorOperator.setUserName(ctx.ID().getText()); + } else { + authorOperator.setUserName(ctx.ROOT().getText()); + } authorOperator.setNewPassword(removeStringQuote(ctx.password.getText())); initializedOperator = authorOperator; operatorType = SQLConstant.TOK_AUTHOR_UPDATE_USER;
