This is an automated email from the ASF dual-hosted git repository. jackietien pushed a commit to branch AuthEnhance in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 7b367888a19630fc578b87edb342f65b10b6031e Merge: 6fc413b328e fadc303fafb Author: JackieTien97 <[email protected]> AuthorDate: Thu Sep 18 12:08:58 2025 +0800 fix conflicts .../iotdb/db/it/auth/IoTDBSeriesPermissionIT.java | 49 +++++++++ .../iotdb/db/it/auth/IoTDBSystemPermissionIT.java | 113 ++++++++++----------- .../org/apache/iotdb/db/it/utils/TestUtils.java | 9 ++ .../iotdb/confignode/persistence/AuthorInfo.java | 6 ++ .../org/apache/iotdb/db/auth/AuthorityChecker.java | 5 +- .../execution/config/TableConfigTaskVisitor.java | 20 ++-- .../execution/config/TreeConfigTaskVisitor.java | 6 ++ .../db/queryengine/plan/parser/ASTVisitor.java | 11 +- .../relational/security/AccessControlImpl.java | 47 +-------- .../security/TreeAccessCheckVisitor.java | 56 ++-------- .../sql/ast/RelationalAuthorStatement.java | 89 ++++++++++++++++ .../plan/relational/sql/parser/AstBuilder.java | 11 +- .../plan/statement/sys/AuthorStatement.java | 32 ++++++ .../iotdb/commons/auth/entity/PrivilegeType.java | 45 ++++++++ .../org/apache/iotdb/commons/auth/entity/Role.java | 2 +- 15 files changed, 336 insertions(+), 165 deletions(-) diff --cc iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/TableConfigTaskVisitor.java index a5086c6ef58,986b9ee0be0..33cb8df9491 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/TableConfigTaskVisitor.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/TableConfigTaskVisitor.java @@@ -1325,9 -1325,13 +1327,13 @@@ public class TableConfigTaskVisitor ext @Override protected IConfigTask visitRelationalAuthorPlan( RelationalAuthorStatement node, MPPQueryContext context) { + context.setQueryType(node.getQueryType()); + TSStatus status = node.checkStatementIsValid(context.getSession().getUserName()); + if (status.getCode() != TSStatusCode.SUCCESS_STATUS.getStatusCode()) { + throw new SemanticException(status.getMessage()); + } accessControl.checkUserCanRunRelationalAuthorStatement( context.getSession().getUserName(), node); - context.setQueryType(node.getQueryType()); if (node.getAuthorType() == AuthorRType.UPDATE_USER) { visitUpdateUser(node); }
