You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ja...@apache.org on 2025/09/15 03:54:12 UTC
(iotdb) branch authRefactor updated (1d16f5c1509 -> 72e239cea18)
This is an automated email from the ASF dual-hosted git repository.
jackietien pushed a change to branch authRefactor
in repository https://gitbox.apache.org/repos/asf/iotdb.git
from 1d16f5c1509 fix spell
new 489ae01ca1e Finish my part
new 72e239cea18 resolve conflicts
The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.../org/apache/iotdb/db/auth/AuthorityChecker.java | 6 +-
.../visitor/PipeStatementTSStatusVisitor.java | 3 +-
.../security/TreeAccessCheckVisitor.java | 525 +++++++++++++++++++--
.../statement/AuthorityInformationStatement.java | 18 -
.../plan/statement/StatementVisitor.java | 15 +-
.../plan/statement/crud/DeleteDataStatement.java | 17 -
.../plan/statement/crud/InsertBaseStatement.java | 17 -
.../plan/statement/crud/InsertStatement.java | 17 -
.../metadata/AlterTimeSeriesStatement.java | 15 -
.../statement/metadata/CountDevicesStatement.java | 4 -
.../metadata/CountTimeSeriesStatement.java | 4 -
.../metadata/CountTimeSlotListStatement.java | 7 -
.../metadata/CreateAlignedTimeSeriesStatement.java | 17 -
.../metadata/CreateContinuousQueryStatement.java | 14 -
.../metadata/CreateFunctionStatement.java | 14 -
.../metadata/CreateMultiTimeSeriesStatement.java | 17 -
.../metadata/CreateTimeSeriesStatement.java | 15 -
.../statement/metadata/CreateTriggerStatement.java | 14 -
.../metadata/DatabaseSchemaStatement.java | 14 -
.../metadata/DeleteDatabaseStatement.java | 14 -
.../metadata/DeleteTimeSeriesStatement.java | 17 -
.../metadata/DropContinuousQueryStatement.java | 14 -
.../statement/metadata/DropFunctionStatement.java | 14 -
.../statement/metadata/DropTriggerStatement.java | 14 -
.../statement/metadata/GetRegionIdStatement.java | 7 -
.../metadata/GetSeriesSlotListStatement.java | 7 -
.../metadata/GetTimeSlotListStatement.java | 7 -
.../metadata/model/CreateModelStatement.java | 14 -
.../metadata/model/DropModelStatement.java | 14 -
.../metadata/pipe/AlterPipeStatement.java | 14 -
.../metadata/pipe/CreatePipePluginStatement.java | 14 -
.../metadata/pipe/CreatePipeStatement.java | 14 -
.../metadata/pipe/DropPipePluginStatement.java | 14 -
.../statement/metadata/pipe/DropPipeStatement.java | 14 -
.../metadata/region/ExtendRegionStatement.java | 7 -
.../subscription/CreateTopicStatement.java | 14 -
.../subscription/DropSubscriptionStatement.java | 14 -
.../metadata/subscription/DropTopicStatement.java | 14 -
.../template/ActivateTemplateStatement.java | 17 -
.../template/BatchActivateTemplateStatement.java | 17 -
.../template/DeactivateTemplateStatement.java | 17 -
.../metadata/view/AlterLogicalViewStatement.java | 39 --
.../metadata/view/CreateLogicalViewStatement.java | 52 +-
.../metadata/view/DeleteLogicalViewStatement.java | 17 -
.../plan/statement/sys/AuthorStatement.java | 135 ------
.../statement/sys/ExplainAnalyzeStatement.java | 4 -
...vertedInsertTabletStatementTSStatusVisitor.java | 3 +-
47 files changed, 501 insertions(+), 794 deletions(-)
(iotdb) 02/02: resolve conflicts
Posted by ja...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
jackietien pushed a commit to branch authRefactor
in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 72e239cea18e59c4964947989205d2190d426fa1
Merge: 489ae01ca1e 1d16f5c1509
Author: JackieTien97 <ja...@gmail.com>
AuthorDate: Mon Sep 15 11:54:03 2025 +0800
resolve conflicts
.../security/TreeAccessCheckVisitor.java | 287 +++++++++++++++++----
.../plan/statement/crud/LoadTsFileStatement.java | 8 -
.../plan/statement/crud/QueryStatement.java | 18 --
.../InternalBatchActivateTemplateStatement.java | 17 --
.../InternalCreateMultiTimeSeriesStatement.java | 17 --
.../InternalCreateTimeSeriesStatement.java | 17 --
.../statement/metadata/RemoveAINodeStatement.java | 7 -
.../metadata/RemoveConfigNodeStatement.java | 7 -
.../metadata/RemoveDataNodeStatement.java | 7 -
.../plan/statement/metadata/SetTTLStatement.java | 17 --
.../statement/metadata/ShowClusterIdStatement.java | 7 -
.../statement/metadata/ShowClusterStatement.java | 7 -
.../metadata/ShowConfigNodesStatement.java | 7 -
.../metadata/ShowContinuousQueriesStatement.java | 14 -
.../statement/metadata/ShowDataNodesStatement.java | 7 -
.../statement/metadata/ShowFunctionsStatement.java | 14 -
.../statement/metadata/ShowRegionStatement.java | 7 -
.../statement/metadata/ShowTriggersStatement.java | 14 -
.../statement/metadata/ShowVariablesStatement.java | 7 -
.../metadata/model/ShowAINodesStatement.java | 7 -
.../metadata/model/ShowModelsStatement.java | 14 -
.../metadata/pipe/ShowPipePluginsStatement.java | 14 -
.../metadata/pipe/ShowPipesStatement.java | 14 -
.../metadata/pipe/StartPipeStatement.java | 14 -
.../statement/metadata/pipe/StopPipeStatement.java | 14 -
.../metadata/region/MigrateRegionStatement.java | 7 -
.../region/ReconstructRegionStatement.java | 7 -
.../metadata/region/RemoveRegionStatement.java | 7 -
.../subscription/ShowSubscriptionsStatement.java | 14 -
.../metadata/subscription/ShowTopicsStatement.java | 14 -
.../ShowNodesInSchemaTemplateStatement.java | 9 -
.../template/ShowPathSetTemplateStatement.java | 9 -
.../template/ShowSchemaTemplateStatement.java | 9 -
.../metadata/view/RenameLogicalViewStatement.java | 19 --
.../plan/statement/sys/KillQueryStatement.java | 7 -
.../plan/statement/sys/SetSqlDialectStatement.java | 8 -
.../sys/ShowCurrentSqlDialectStatement.java | 8 -
.../statement/sys/ShowCurrentUserStatement.java | 8 -
.../plan/statement/sys/ShowQueriesStatement.java | 7 -
.../plan/statement/sys/ShowVersionStatement.java | 8 -
.../statement/sys/TestConnectionStatement.java | 7 -
41 files changed, 233 insertions(+), 478 deletions(-)
diff --cc iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/security/TreeAccessCheckVisitor.java
index b389281f7be,ebb13c698b6..01f64927628
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/security/TreeAccessCheckVisitor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/security/TreeAccessCheckVisitor.java
@@@ -116,11 -113,12 +116,15 @@@ import org.apache.iotdb.db.queryengine.
import org.apache.iotdb.db.queryengine.plan.statement.sys.TestConnectionStatement;
import org.apache.iotdb.rpc.TSStatusCode;
+ import com.google.common.collect.ImmutableList;
+
+import java.util.Collections;
import java.util.List;
+import java.util.Objects;
+import java.util.stream.Collectors;
+ import static org.apache.iotdb.db.auth.AuthorityChecker.SUCCEED;
+
public class TreeAccessCheckVisitor extends StatementVisitor<TSStatus, TreeAccessCheckContext> {
@Override
@@@ -132,17 -130,7 +136,10 @@@
@Override
public TSStatus visitActivateTemplate(
- ActivateTemplateStatement statement, TreeAccessCheckContext context) {}
+ ActivateTemplateStatement statement, TreeAccessCheckContext context) {
- if (AuthorityChecker.SUPER_USER.equals(context.userName)) {
- return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
- }
- List<PartialPath> checkedPaths = statement.getPaths();
- return AuthorityChecker.getTSStatus(
- AuthorityChecker.checkFullPathOrPatternListPermission(
- context.userName, checkedPaths, PrivilegeType.WRITE_SCHEMA),
- checkedPaths,
- PrivilegeType.WRITE_SCHEMA);
++ return checkTimeSeriesPermission(
++ context.userName, statement.getPaths(), PrivilegeType.WRITE_SCHEMA);
+ }
@Override
public TSStatus visitAlterLogicalView(
(iotdb) 01/02: Finish my part
Posted by ja...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
jackietien pushed a commit to branch authRefactor
in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 489ae01ca1e6528e633969a5a3054dd59bfa281c
Author: JackieTien97 <ja...@gmail.com>
AuthorDate: Mon Sep 15 11:51:58 2025 +0800
Finish my part
---
.../org/apache/iotdb/db/auth/AuthorityChecker.java | 6 +-
.../visitor/PipeStatementTSStatusVisitor.java | 3 +-
.../security/TreeAccessCheckVisitor.java | 536 +++++++++++++++++++--
.../statement/AuthorityInformationStatement.java | 18 -
.../db/queryengine/plan/statement/Statement.java | 2 -
.../plan/statement/StatementVisitor.java | 15 +-
.../plan/statement/crud/DeleteDataStatement.java | 17 -
.../plan/statement/crud/InsertBaseStatement.java | 17 -
.../plan/statement/crud/InsertStatement.java | 17 -
.../metadata/AlterTimeSeriesStatement.java | 15 -
.../statement/metadata/CountDevicesStatement.java | 4 -
.../metadata/CountTimeSeriesStatement.java | 4 -
.../metadata/CountTimeSlotListStatement.java | 7 -
.../metadata/CreateAlignedTimeSeriesStatement.java | 17 -
.../metadata/CreateContinuousQueryStatement.java | 14 -
.../metadata/CreateFunctionStatement.java | 14 -
.../metadata/CreateMultiTimeSeriesStatement.java | 17 -
.../metadata/CreateTimeSeriesStatement.java | 15 -
.../statement/metadata/CreateTriggerStatement.java | 14 -
.../metadata/DatabaseSchemaStatement.java | 14 -
.../metadata/DeleteDatabaseStatement.java | 14 -
.../metadata/DeleteTimeSeriesStatement.java | 17 -
.../metadata/DropContinuousQueryStatement.java | 14 -
.../statement/metadata/DropFunctionStatement.java | 14 -
.../statement/metadata/DropTriggerStatement.java | 14 -
.../statement/metadata/GetRegionIdStatement.java | 7 -
.../metadata/GetSeriesSlotListStatement.java | 7 -
.../metadata/GetTimeSlotListStatement.java | 7 -
.../metadata/model/CreateModelStatement.java | 14 -
.../metadata/model/DropModelStatement.java | 14 -
.../metadata/pipe/AlterPipeStatement.java | 14 -
.../metadata/pipe/CreatePipePluginStatement.java | 14 -
.../metadata/pipe/CreatePipeStatement.java | 14 -
.../metadata/pipe/DropPipePluginStatement.java | 14 -
.../statement/metadata/pipe/DropPipeStatement.java | 14 -
.../metadata/region/ExtendRegionStatement.java | 7 -
.../subscription/CreateTopicStatement.java | 14 -
.../subscription/DropSubscriptionStatement.java | 14 -
.../metadata/subscription/DropTopicStatement.java | 14 -
.../template/ActivateTemplateStatement.java | 17 -
.../template/BatchActivateTemplateStatement.java | 17 -
.../template/DeactivateTemplateStatement.java | 17 -
.../metadata/view/AlterLogicalViewStatement.java | 39 --
.../metadata/view/CreateLogicalViewStatement.java | 52 +-
.../metadata/view/DeleteLogicalViewStatement.java | 17 -
.../plan/statement/sys/AuthorStatement.java | 135 ------
.../statement/sys/ExplainAnalyzeStatement.java | 4 -
...vertedInsertTabletStatementTSStatusVisitor.java | 3 +-
48 files changed, 511 insertions(+), 797 deletions(-)
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/auth/AuthorityChecker.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/auth/AuthorityChecker.java
index 67342eaf79d..4b041b56a40 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/auth/AuthorityChecker.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/auth/AuthorityChecker.java
@@ -68,7 +68,7 @@ import static org.apache.iotdb.commons.schema.column.ColumnHeaderConstant.LIST_U
// It checks permission in local. DCL statement will send to configNode.
public class AuthorityChecker {
- public static final String SUPER_USER = CommonDescriptor.getInstance().getConfig().getAdminName();
+ public static String SUPER_USER = CommonDescriptor.getInstance().getConfig().getAdminName();
public static final TSStatus SUCCEED = new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
@@ -102,6 +102,10 @@ public class AuthorityChecker {
AuthorityChecker.accessControl = accessControl;
}
+ public static void setSuperUser(String superUser) {
+ SUPER_USER = superUser;
+ }
+
public static IAuthorityFetcher getAuthorityFetcher() {
return authorityFetcher.get();
}
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/visitor/PipeStatementTSStatusVisitor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/visitor/PipeStatementTSStatusVisitor.java
index 0874857c3f7..8d7a567fce0 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/visitor/PipeStatementTSStatusVisitor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/visitor/PipeStatementTSStatusVisitor.java
@@ -95,7 +95,8 @@ public class PipeStatementTSStatusVisitor extends StatementVisitor<TSStatus, TSS
return visitInsertBase(insertMultiTabletsStatement, context);
}
- private TSStatus visitInsertBase(
+ @Override
+ public TSStatus visitInsertBase(
final InsertBaseStatement insertBaseStatement, final TSStatus context) {
if (context.getCode() == TSStatusCode.SYSTEM_READ_ONLY.getStatusCode()
|| context.getCode() == TSStatusCode.WRITE_PROCESS_REJECT.getStatusCode()) {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/security/TreeAccessCheckVisitor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/security/TreeAccessCheckVisitor.java
index 9f3e0aea186..b389281f7be 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/security/TreeAccessCheckVisitor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/security/TreeAccessCheckVisitor.java
@@ -22,8 +22,12 @@ package org.apache.iotdb.db.queryengine.plan.relational.security;
import org.apache.iotdb.common.rpc.thrift.TSStatus;
import org.apache.iotdb.commons.auth.AuthException;
import org.apache.iotdb.commons.auth.entity.PrivilegeType;
+import org.apache.iotdb.commons.conf.IoTDBConstant;
+import org.apache.iotdb.commons.path.MeasurementPath;
+import org.apache.iotdb.commons.path.PartialPath;
import org.apache.iotdb.commons.path.PathPatternTreeUtils;
import org.apache.iotdb.db.auth.AuthorityChecker;
+import org.apache.iotdb.db.queryengine.plan.statement.AuthorType;
import org.apache.iotdb.db.queryengine.plan.statement.AuthorityInformationStatement;
import org.apache.iotdb.db.queryengine.plan.statement.StatementNode;
import org.apache.iotdb.db.queryengine.plan.statement.StatementVisitor;
@@ -112,6 +116,11 @@ import org.apache.iotdb.db.queryengine.plan.statement.sys.ShowVersionStatement;
import org.apache.iotdb.db.queryengine.plan.statement.sys.TestConnectionStatement;
import org.apache.iotdb.rpc.TSStatusCode;
+import java.util.Collections;
+import java.util.List;
+import java.util.Objects;
+import java.util.stream.Collectors;
+
public class TreeAccessCheckVisitor extends StatementVisitor<TSStatus, TreeAccessCheckContext> {
@Override
@@ -123,21 +132,213 @@ public class TreeAccessCheckVisitor extends StatementVisitor<TSStatus, TreeAcces
@Override
public TSStatus visitActivateTemplate(
- ActivateTemplateStatement statement, TreeAccessCheckContext context) {}
+ ActivateTemplateStatement statement, TreeAccessCheckContext context) {
+ if (AuthorityChecker.SUPER_USER.equals(context.userName)) {
+ return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
+ }
+ List<PartialPath> checkedPaths = statement.getPaths();
+ return AuthorityChecker.getTSStatus(
+ AuthorityChecker.checkFullPathOrPatternListPermission(
+ context.userName, checkedPaths, PrivilegeType.WRITE_SCHEMA),
+ checkedPaths,
+ PrivilegeType.WRITE_SCHEMA);
+ }
@Override
public TSStatus visitAlterLogicalView(
- AlterLogicalViewStatement statement, TreeAccessCheckContext context) {}
+ AlterLogicalViewStatement statement, TreeAccessCheckContext context) {
+ if (AuthorityChecker.SUPER_USER.equals(context.userName)) {
+ return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
+ }
+ TSStatus status = new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
+ List<PartialPath> sourcePathList = statement.getSourcePaths().fullPathList;
+ if (sourcePathList != null) {
+ status =
+ AuthorityChecker.getTSStatus(
+ AuthorityChecker.checkFullPathOrPatternListPermission(
+ context.userName, sourcePathList, PrivilegeType.READ_SCHEMA),
+ sourcePathList,
+ PrivilegeType.READ_SCHEMA);
+ }
+ QueryStatement queryStatement = statement.getQueryStatement();
+ if (queryStatement != null && status.getCode() == TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
+ sourcePathList = queryStatement.getPaths();
+ status =
+ AuthorityChecker.getTSStatus(
+ AuthorityChecker.checkFullPathOrPatternListPermission(
+ context.userName, sourcePathList, PrivilegeType.READ_SCHEMA),
+ sourcePathList,
+ PrivilegeType.READ_SCHEMA);
+ }
+
+ if (status.getCode() == TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
+ return AuthorityChecker.getTSStatus(
+ AuthorityChecker.checkFullPathOrPatternListPermission(
+ context.userName, statement.getTargetPathList(), PrivilegeType.WRITE_SCHEMA),
+ statement.getTargetPathList(),
+ PrivilegeType.WRITE_SCHEMA);
+ }
+ return status;
+ }
@Override
- public TSStatus visitAlterPipe(AlterPipeStatement statement, TreeAccessCheckContext context) {}
+ public TSStatus visitAlterPipe(AlterPipeStatement statement, TreeAccessCheckContext context) {
+ if (AuthorityChecker.SUPER_USER.equals(context.userName)) {
+ return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
+ }
+ return AuthorityChecker.getTSStatus(
+ AuthorityChecker.checkSystemPermission(context.userName, PrivilegeType.USE_PIPE),
+ PrivilegeType.USE_PIPE);
+ }
@Override
public TSStatus visitAlterTimeSeries(
- AlterTimeSeriesStatement statement, TreeAccessCheckContext context) {}
+ AlterTimeSeriesStatement statement, TreeAccessCheckContext context) {
+ if (AuthorityChecker.SUPER_USER.equals(context.userName)) {
+ return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
+ }
+ return AuthorityChecker.getTSStatus(
+ AuthorityChecker.checkFullPathOrPatternPermission(
+ context.userName, statement.getPath(), PrivilegeType.WRITE_SCHEMA),
+ PrivilegeType.WRITE_SCHEMA);
+ }
@Override
- public TSStatus visitAuthor(AuthorStatement statement, TreeAccessCheckContext context) {}
+ public TSStatus visitAuthor(AuthorStatement statement, TreeAccessCheckContext context) {
+ AuthorType authorType = statement.getAuthorType();
+ switch (authorType) {
+ case CREATE_USER:
+ if (AuthorityChecker.SUPER_USER.equals(statement.getUserName())) {
+ return AuthorityChecker.getTSStatus(
+ false, "Cannot create user has same name with admin user");
+ }
+ if (AuthorityChecker.SUPER_USER.equals(context.userName)) {
+ return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
+ }
+ return AuthorityChecker.getTSStatus(
+ AuthorityChecker.checkSystemPermission(context.userName, PrivilegeType.MANAGE_USER),
+ PrivilegeType.MANAGE_USER);
+
+ case UPDATE_USER:
+ // users can change passwords of themselves
+ if (AuthorityChecker.SUPER_USER.equals(context.userName)
+ || statement.getUserName().equals(context.userName)) {
+ return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
+ }
+ return AuthorityChecker.getTSStatus(
+ AuthorityChecker.checkSystemPermission(context.userName, PrivilegeType.MANAGE_USER),
+ PrivilegeType.MANAGE_USER);
+
+ case DROP_USER:
+ if (AuthorityChecker.SUPER_USER.equals(statement.getUserName())
+ || statement.getUserName().equals(context.userName)) {
+ return AuthorityChecker.getTSStatus(false, "Cannot drop admin user or yourself");
+ }
+ if (AuthorityChecker.SUPER_USER.equals(context.userName)) {
+ return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
+ }
+ return AuthorityChecker.getTSStatus(
+ AuthorityChecker.checkSystemPermission(context.userName, PrivilegeType.MANAGE_USER),
+ PrivilegeType.MANAGE_USER);
+
+ case LIST_USER:
+ if (AuthorityChecker.SUPER_USER.equals(context.userName)) {
+ return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
+ }
+ return AuthorityChecker.getTSStatus(
+ AuthorityChecker.checkSystemPermission(context.userName, PrivilegeType.MANAGE_USER),
+ PrivilegeType.MANAGE_USER);
+
+ case LIST_USER_PRIVILEGE:
+ if (AuthorityChecker.SUPER_USER.equals(context.userName)
+ || context.userName.equals(statement.getUserName())) {
+ return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
+ }
+ return AuthorityChecker.getTSStatus(
+ AuthorityChecker.checkSystemPermission(context.userName, PrivilegeType.MANAGE_USER),
+ PrivilegeType.MANAGE_USER);
+
+ case LIST_ROLE_PRIVILEGE:
+ if (AuthorityChecker.SUPER_USER.equals(context.userName)) {
+ return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
+ }
+ if (!AuthorityChecker.checkRole(context.userName, statement.getRoleName())) {
+ return AuthorityChecker.getTSStatus(
+ AuthorityChecker.checkSystemPermission(context.userName, PrivilegeType.MANAGE_ROLE),
+ PrivilegeType.MANAGE_ROLE);
+ } else {
+ return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
+ }
+
+ case LIST_ROLE:
+ if (AuthorityChecker.SUPER_USER.equals(context.userName)) {
+ return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
+ }
+ if (statement.getUserName() != null && context.userName.equals(statement.getUserName())) {
+ return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
+ } else {
+ return AuthorityChecker.getTSStatus(
+ AuthorityChecker.checkSystemPermission(context.userName, PrivilegeType.MANAGE_ROLE),
+ PrivilegeType.MANAGE_ROLE);
+ }
+
+ case CREATE_ROLE:
+ if (AuthorityChecker.SUPER_USER.equals(statement.getRoleName())) {
+ return AuthorityChecker.getTSStatus(
+ false, "Cannot create role has same name with admin user");
+ }
+ case DROP_ROLE:
+ case GRANT_USER_ROLE:
+ case REVOKE_USER_ROLE:
+ if (AuthorityChecker.SUPER_USER.equals(context.userName)) {
+ return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
+ }
+ return AuthorityChecker.getTSStatus(
+ AuthorityChecker.checkSystemPermission(context.userName, PrivilegeType.MANAGE_ROLE),
+ PrivilegeType.MANAGE_ROLE);
+
+ case REVOKE_USER:
+ case GRANT_USER:
+ case GRANT_ROLE:
+ case REVOKE_ROLE:
+ if (AuthorityChecker.SUPER_USER.equals(statement.getUserName())) {
+ return AuthorityChecker.getTSStatus(
+ false, "Cannot grant/revoke privileges of admin user");
+ }
+ if (AuthorityChecker.SUPER_USER.equals(context.userName)) {
+ return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
+ }
+
+ for (String s : statement.getPrivilegeList()) {
+ PrivilegeType privilegeType = PrivilegeType.valueOf(s.toUpperCase());
+ if (privilegeType.isSystemPrivilege()) {
+ if (!AuthorityChecker.checkSystemPermissionGrantOption(
+ context.userName, privilegeType)) {
+ return AuthorityChecker.getTSStatus(
+ false,
+ "Has no permission to execute "
+ + authorType
+ + ", please ensure you have these privileges and the grant option is TRUE when granted)");
+ }
+ } else if (privilegeType.isPathPrivilege()) {
+ if (!AuthorityChecker.checkPathPermissionGrantOption(
+ context.userName, privilegeType, statement.getNodeNameList())) {
+ return AuthorityChecker.getTSStatus(
+ false,
+ "Has no permission to execute "
+ + authorType
+ + ", please ensure you have these privileges and the grant option is TRUE when granted)");
+ }
+ } else {
+ return AuthorityChecker.getTSStatus(
+ false, "Not support Relation statement in tree sql_dialect");
+ }
+ }
+ return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
+ default:
+ throw new IllegalArgumentException("Unknown authorType: " + authorType);
+ }
+ }
@Override
public TSStatus visitAuthorityInformation(
@@ -155,7 +356,17 @@ public class TreeAccessCheckVisitor extends StatementVisitor<TSStatus, TreeAcces
@Override
public TSStatus visitBatchActivateTemplate(
- BatchActivateTemplateStatement statement, TreeAccessCheckContext context) {}
+ BatchActivateTemplateStatement statement, TreeAccessCheckContext context) {
+ if (AuthorityChecker.SUPER_USER.equals(context.userName)) {
+ return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
+ }
+ List<PartialPath> checkedPaths = statement.getPaths();
+ return AuthorityChecker.getTSStatus(
+ AuthorityChecker.checkFullPathOrPatternListPermission(
+ context.userName, checkedPaths, PrivilegeType.WRITE_SCHEMA),
+ checkedPaths,
+ PrivilegeType.WRITE_SCHEMA);
+ }
@Override
public TSStatus visitCountDevices(
@@ -203,132 +414,361 @@ public class TreeAccessCheckVisitor extends StatementVisitor<TSStatus, TreeAcces
@Override
public TSStatus visitCountTimeSlotList(
- CountTimeSlotListStatement statement, TreeAccessCheckContext context) {}
+ CountTimeSlotListStatement statement, TreeAccessCheckContext context) {
+ return AuthorityChecker.checkSuperUserOrMaintain(context.userName);
+ }
@Override
- public TSStatus visitCreateAlignedTimeSeries(
- CreateAlignedTimeSeriesStatement statement, TreeAccessCheckContext context) {}
+ public TSStatus visitCreateAlignedTimeseries(
+ CreateAlignedTimeSeriesStatement statement, TreeAccessCheckContext context) {
+ if (AuthorityChecker.SUPER_USER.equals(context.userName)) {
+ return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
+ }
+ List<PartialPath> checkedPaths = statement.getPaths();
+ return AuthorityChecker.getTSStatus(
+ AuthorityChecker.checkFullPathOrPatternListPermission(
+ context.userName, checkedPaths, PrivilegeType.WRITE_SCHEMA),
+ checkedPaths,
+ PrivilegeType.WRITE_SCHEMA);
+ }
@Override
public TSStatus visitCreateContinuousQuery(
- CreateContinuousQueryStatement statement, TreeAccessCheckContext context) {}
+ CreateContinuousQueryStatement statement, TreeAccessCheckContext context) {
+ if (AuthorityChecker.SUPER_USER.equals(context.userName)) {
+ return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
+ }
+ return AuthorityChecker.getTSStatus(
+ AuthorityChecker.checkSystemPermission(context.userName, PrivilegeType.USE_CQ),
+ PrivilegeType.USE_CQ);
+ }
@Override
public TSStatus visitCreateFunction(
- CreateFunctionStatement statement, TreeAccessCheckContext context) {}
+ CreateFunctionStatement statement, TreeAccessCheckContext context) {
+ if (AuthorityChecker.SUPER_USER.equals(context.userName)) {
+ return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
+ }
+ return AuthorityChecker.getTSStatus(
+ AuthorityChecker.checkSystemPermission(context.userName, PrivilegeType.USE_UDF),
+ PrivilegeType.USE_UDF);
+ }
@Override
public TSStatus visitCreateLogicalView(
- CreateLogicalViewStatement statement, TreeAccessCheckContext context) {}
+ CreateLogicalViewStatement statement, TreeAccessCheckContext context) {
+ if (AuthorityChecker.SUPER_USER.equals(context.userName)) {
+ return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
+ }
+ TSStatus status = new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
+ List<PartialPath> sourcePathList = statement.getSourcePaths().fullPathList;
+ if (sourcePathList != null) {
+ status =
+ AuthorityChecker.getTSStatus(
+ AuthorityChecker.checkFullPathOrPatternListPermission(
+ context.userName, sourcePathList, PrivilegeType.READ_SCHEMA),
+ sourcePathList,
+ PrivilegeType.READ_SCHEMA);
+ }
+ QueryStatement queryStatement = statement.getQueryStatement();
+ if (queryStatement != null && status.getCode() == TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
+ sourcePathList = queryStatement.getPaths();
+ status =
+ AuthorityChecker.getTSStatus(
+ AuthorityChecker.checkFullPathOrPatternListPermission(
+ context.userName, sourcePathList, PrivilegeType.READ_SCHEMA),
+ sourcePathList,
+ PrivilegeType.READ_SCHEMA);
+ }
+
+ final List<PartialPath> paths =
+ Objects.nonNull(statement.getTargetPathList())
+ ? statement.getTargetPathList()
+ : Collections.singletonList(
+ statement
+ .getBatchGenerationItem()
+ .getIntoDevice()
+ .concatNode(IoTDBConstant.ONE_LEVEL_PATH_WILDCARD));
+ if (status.getCode() == TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
+ return AuthorityChecker.getTSStatus(
+ AuthorityChecker.checkFullPathOrPatternListPermission(
+ context.userName, paths, PrivilegeType.WRITE_SCHEMA),
+ paths,
+ PrivilegeType.WRITE_SCHEMA);
+ }
+ return status;
+ }
@Override
- public TSStatus visitCreateModel(
- CreateModelStatement statement, TreeAccessCheckContext context) {}
+ public TSStatus visitCreateModel(CreateModelStatement statement, TreeAccessCheckContext context) {
+ if (AuthorityChecker.SUPER_USER.equals(context.userName)) {
+ return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
+ }
+ return AuthorityChecker.getTSStatus(
+ AuthorityChecker.checkSystemPermission(context.userName, PrivilegeType.USE_MODEL),
+ PrivilegeType.USE_MODEL);
+ }
@Override
public TSStatus visitCreateMultiTimeSeries(
- CreateMultiTimeSeriesStatement statement, TreeAccessCheckContext context) {}
+ CreateMultiTimeSeriesStatement statement, TreeAccessCheckContext context) {
+ if (AuthorityChecker.SUPER_USER.equals(context.userName)) {
+ return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
+ }
+ List<MeasurementPath> checkedPaths = statement.getPaths();
+ return AuthorityChecker.getTSStatus(
+ AuthorityChecker.checkFullPathOrPatternListPermission(
+ context.userName, checkedPaths, PrivilegeType.WRITE_SCHEMA),
+ checkedPaths,
+ PrivilegeType.WRITE_SCHEMA);
+ }
@Override
public TSStatus visitCreatePipePlugin(
- CreatePipePluginStatement statement, TreeAccessCheckContext context) {}
+ CreatePipePluginStatement statement, TreeAccessCheckContext context) {
+ if (AuthorityChecker.SUPER_USER.equals(context.userName)) {
+ return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
+ }
+ return AuthorityChecker.getTSStatus(
+ AuthorityChecker.checkSystemPermission(context.userName, PrivilegeType.USE_PIPE),
+ PrivilegeType.USE_PIPE);
+ }
@Override
- public TSStatus visitCreatePipe(CreatePipeStatement statement, TreeAccessCheckContext context) {}
+ public TSStatus visitCreatePipe(CreatePipeStatement statement, TreeAccessCheckContext context) {
+ if (AuthorityChecker.SUPER_USER.equals(context.userName)) {
+ return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
+ }
+ return AuthorityChecker.getTSStatus(
+ AuthorityChecker.checkSystemPermission(context.userName, PrivilegeType.USE_PIPE),
+ PrivilegeType.USE_PIPE);
+ }
@Override
- public TSStatus visitCreateTimeSeries(
- CreateTimeSeriesStatement statement, TreeAccessCheckContext context) {}
+ public TSStatus visitCreateTimeseries(
+ CreateTimeSeriesStatement statement, TreeAccessCheckContext context) {
+ if (AuthorityChecker.SUPER_USER.equals(context.userName)) {
+ return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
+ }
+ return AuthorityChecker.getTSStatus(
+ AuthorityChecker.checkFullPathOrPatternPermission(
+ context.userName, statement.getPath(), PrivilegeType.WRITE_SCHEMA),
+ PrivilegeType.WRITE_SCHEMA);
+ }
@Override
- public TSStatus visitCreateTopic(
- CreateTopicStatement statement, TreeAccessCheckContext context) {}
+ public TSStatus visitCreateTopic(CreateTopicStatement statement, TreeAccessCheckContext context) {
+ if (AuthorityChecker.SUPER_USER.equals(context.userName)) {
+ return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
+ }
+ return AuthorityChecker.getTSStatus(
+ AuthorityChecker.checkSystemPermission(context.userName, PrivilegeType.USE_PIPE),
+ PrivilegeType.USE_PIPE);
+ }
@Override
public TSStatus visitCreateTrigger(
- CreateTriggerStatement statement, TreeAccessCheckContext context) {}
+ CreateTriggerStatement statement, TreeAccessCheckContext context) {
+ if (AuthorityChecker.SUPER_USER.equals(context.userName)) {
+ return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
+ }
+ return AuthorityChecker.getTSStatus(
+ AuthorityChecker.checkSystemPermission(context.userName, PrivilegeType.USE_TRIGGER),
+ PrivilegeType.USE_TRIGGER);
+ }
@Override
- public TSStatus visitDatabaseSchema(
- DatabaseSchemaStatement statement, TreeAccessCheckContext context) {}
+ public TSStatus visitSetDatabase(
+ DatabaseSchemaStatement statement, TreeAccessCheckContext context) {
+ return checkCreateOrAlterDatabasePermission(context.userName);
+ }
+
+ @Override
+ public TSStatus visitAlterDatabase(
+ DatabaseSchemaStatement databaseSchemaStatement, TreeAccessCheckContext context) {
+ return checkCreateOrAlterDatabasePermission(context.userName);
+ }
+
+ private TSStatus checkCreateOrAlterDatabasePermission(String userName) {
+ if (AuthorityChecker.SUPER_USER.equals(userName)) {
+ return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
+ }
+ return AuthorityChecker.getTSStatus(
+ AuthorityChecker.checkSystemPermission(userName, PrivilegeType.MANAGE_DATABASE),
+ PrivilegeType.MANAGE_DATABASE);
+ }
@Override
public TSStatus visitDeactivateTemplate(
- DeactivateTemplateStatement statement, TreeAccessCheckContext context) {}
+ DeactivateTemplateStatement statement, TreeAccessCheckContext context) {
+ return checkTimeSeriesPermission(
+ context.userName, statement.getPaths(), PrivilegeType.WRITE_SCHEMA);
+ }
@Override
- public TSStatus visitDeleteData(DeleteDataStatement statement, TreeAccessCheckContext context) {}
+ public TSStatus visitDeleteData(DeleteDataStatement statement, TreeAccessCheckContext context) {
+ return checkTimeSeriesPermission(
+ context.userName, statement.getPaths(), PrivilegeType.WRITE_DATA);
+ }
@Override
- public TSStatus visitDeleteDatabase(
- DeleteDatabaseStatement statement, TreeAccessCheckContext context) {}
+ public TSStatus visitDeleteStorageGroup(
+ DeleteDatabaseStatement statement, TreeAccessCheckContext context) {
+ return checkCreateOrAlterDatabasePermission(context.userName);
+ }
@Override
public TSStatus visitDeleteLogicalView(
- DeleteLogicalViewStatement statement, TreeAccessCheckContext context) {}
+ DeleteLogicalViewStatement statement, TreeAccessCheckContext context) {
+ return checkTimeSeriesPermission(
+ context.userName, statement.getPaths(), PrivilegeType.WRITE_SCHEMA);
+ }
+
+ private TSStatus checkTimeSeriesPermission(
+ String userName, List<? extends PartialPath> checkedPaths, PrivilegeType permission) {
+ if (AuthorityChecker.SUPER_USER.equals(userName)) {
+ return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
+ }
+ return AuthorityChecker.getTSStatus(
+ AuthorityChecker.checkFullPathOrPatternListPermission(userName, checkedPaths, permission),
+ checkedPaths,
+ permission);
+ }
@Override
public TSStatus visitDeleteTimeSeries(
- DeleteTimeSeriesStatement statement, TreeAccessCheckContext context) {}
+ DeleteTimeSeriesStatement statement, TreeAccessCheckContext context) {
+ return checkTimeSeriesPermission(
+ context.userName, statement.getPaths(), PrivilegeType.WRITE_SCHEMA);
+ }
@Override
public TSStatus visitDropContinuousQuery(
- DropContinuousQueryStatement statement, TreeAccessCheckContext context) {}
+ DropContinuousQueryStatement statement, TreeAccessCheckContext context) {
+ if (AuthorityChecker.SUPER_USER.equals(context.userName)) {
+ return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
+ }
+ return AuthorityChecker.getTSStatus(
+ AuthorityChecker.checkSystemPermission(context.userName, PrivilegeType.USE_CQ),
+ PrivilegeType.USE_CQ);
+ }
@Override
public TSStatus visitDropFunction(
- DropFunctionStatement statement, TreeAccessCheckContext context) {}
+ DropFunctionStatement statement, TreeAccessCheckContext context) {
+ if (AuthorityChecker.SUPER_USER.equals(context.userName)) {
+ return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
+ }
+ return AuthorityChecker.getTSStatus(
+ AuthorityChecker.checkSystemPermission(context.userName, PrivilegeType.USE_UDF),
+ PrivilegeType.USE_UDF);
+ }
@Override
- public TSStatus visitDropModel(DropModelStatement statement, TreeAccessCheckContext context) {}
+ public TSStatus visitDropModel(DropModelStatement statement, TreeAccessCheckContext context) {
+ if (AuthorityChecker.SUPER_USER.equals(context.userName)) {
+ return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
+ }
+ return AuthorityChecker.getTSStatus(
+ AuthorityChecker.checkSystemPermission(context.userName, PrivilegeType.USE_MODEL),
+ PrivilegeType.USE_MODEL);
+ }
@Override
public TSStatus visitDropPipePlugin(
- DropPipePluginStatement statement, TreeAccessCheckContext context) {}
+ DropPipePluginStatement statement, TreeAccessCheckContext context) {
+ if (AuthorityChecker.SUPER_USER.equals(context.userName)) {
+ return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
+ }
+ return AuthorityChecker.getTSStatus(
+ AuthorityChecker.checkSystemPermission(context.userName, PrivilegeType.USE_PIPE),
+ PrivilegeType.USE_PIPE);
+ }
@Override
- public TSStatus visitDropPipe(DropPipeStatement statement, TreeAccessCheckContext context) {}
+ public TSStatus visitDropPipe(DropPipeStatement statement, TreeAccessCheckContext context) {
+ if (AuthorityChecker.SUPER_USER.equals(context.userName)) {
+ return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
+ }
+ return AuthorityChecker.getTSStatus(
+ AuthorityChecker.checkSystemPermission(context.userName, PrivilegeType.USE_PIPE),
+ PrivilegeType.USE_PIPE);
+ }
@Override
public TSStatus visitDropSubscription(
- DropSubscriptionStatement statement, TreeAccessCheckContext context) {}
+ DropSubscriptionStatement statement, TreeAccessCheckContext context) {
+ if (AuthorityChecker.SUPER_USER.equals(context.userName)) {
+ return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
+ }
+ return AuthorityChecker.getTSStatus(
+ AuthorityChecker.checkSystemPermission(context.userName, PrivilegeType.USE_PIPE),
+ PrivilegeType.USE_PIPE);
+ }
@Override
- public TSStatus visitDropTopic(DropTopicStatement statement, TreeAccessCheckContext context) {}
+ public TSStatus visitDropTopic(DropTopicStatement statement, TreeAccessCheckContext context) {
+ if (AuthorityChecker.SUPER_USER.equals(context.userName)) {
+ return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
+ }
+ return AuthorityChecker.getTSStatus(
+ AuthorityChecker.checkSystemPermission(context.userName, PrivilegeType.USE_PIPE),
+ PrivilegeType.USE_PIPE);
+ }
@Override
- public TSStatus visitDropTrigger(
- DropTriggerStatement statement, TreeAccessCheckContext context) {}
+ public TSStatus visitDropTrigger(DropTriggerStatement statement, TreeAccessCheckContext context) {
+ if (AuthorityChecker.SUPER_USER.equals(context.userName)) {
+ return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
+ }
+ return AuthorityChecker.getTSStatus(
+ AuthorityChecker.checkSystemPermission(context.userName, PrivilegeType.USE_TRIGGER),
+ PrivilegeType.USE_TRIGGER);
+ }
@Override
public TSStatus visitExplainAnalyze(
ExplainAnalyzeStatement statement, TreeAccessCheckContext context) {
- statement.getQueryStatement().accept(this, context);
+ return statement.getQueryStatement().accept(this, context);
}
@Override
public TSStatus visitExtendRegion(
- ExtendRegionStatement statement, TreeAccessCheckContext context) {}
+ ExtendRegionStatement statement, TreeAccessCheckContext context) {
+ return AuthorityChecker.checkSuperUserOrMaintain(context.userName);
+ }
@Override
- public TSStatus visitGetRegionId(
- GetRegionIdStatement statement, TreeAccessCheckContext context) {}
+ public TSStatus visitGetRegionId(GetRegionIdStatement statement, TreeAccessCheckContext context) {
+ return AuthorityChecker.checkSuperUserOrMaintain(context.userName);
+ }
@Override
public TSStatus visitGetSeriesSlotList(
- GetSeriesSlotListStatement statement, TreeAccessCheckContext context) {}
+ GetSeriesSlotListStatement statement, TreeAccessCheckContext context) {
+ return AuthorityChecker.checkSuperUserOrMaintain(context.userName);
+ }
@Override
public TSStatus visitGetTimeSlotList(
- GetTimeSlotListStatement statement, TreeAccessCheckContext context) {}
+ GetTimeSlotListStatement statement, TreeAccessCheckContext context) {
+ return AuthorityChecker.checkSuperUserOrMaintain(context.userName);
+ }
@Override
- public TSStatus visitInsertBase(InsertBaseStatement statement, TreeAccessCheckContext context) {}
+ public TSStatus visitInsertBase(InsertBaseStatement statement, TreeAccessCheckContext context) {
+ return checkTimeSeriesPermission(
+ context.userName,
+ statement.getPaths().stream().distinct().collect(Collectors.toList()),
+ PrivilegeType.WRITE_DATA);
+ }
@Override
- public TSStatus visitInsert(InsertStatement statement, TreeAccessCheckContext context) {}
+ public TSStatus visitInsert(InsertStatement statement, TreeAccessCheckContext context) {
+ return checkTimeSeriesPermission(
+ context.userName, statement.getPaths(), PrivilegeType.WRITE_DATA);
+ }
- // -------- sww -----
@Override
public TSStatus visitInternalBatchActivateTemplate(
InternalBatchActivateTemplateStatement statement, TreeAccessCheckContext context) {}
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/AuthorityInformationStatement.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/AuthorityInformationStatement.java
index d5793d5d657..df33dc16cf7 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/AuthorityInformationStatement.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/AuthorityInformationStatement.java
@@ -18,13 +18,8 @@
*/
package org.apache.iotdb.db.queryengine.plan.statement;
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
-import org.apache.iotdb.commons.auth.AuthException;
-import org.apache.iotdb.commons.auth.entity.PrivilegeType;
import org.apache.iotdb.commons.path.PathPatternTree;
import org.apache.iotdb.commons.schema.SchemaConstant;
-import org.apache.iotdb.db.auth.AuthorityChecker;
-import org.apache.iotdb.rpc.TSStatusCode;
public abstract class AuthorityInformationStatement extends Statement {
protected PathPatternTree authorityScope = SchemaConstant.ALL_MATCH_SCOPE;
@@ -33,19 +28,6 @@ public abstract class AuthorityInformationStatement extends Statement {
return authorityScope;
}
- @Override
- public TSStatus checkPermissionBeforeProcess(String userName) {
- try {
- if (!AuthorityChecker.SUPER_USER.equals(userName)) {
- this.authorityScope =
- AuthorityChecker.getAuthorizedPathTree(userName, PrivilegeType.READ_SCHEMA);
- }
- } catch (AuthException e) {
- return new TSStatus(e.getCode().getStatusCode());
- }
- return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
- }
-
@Override
public <R, C> R accept(StatementVisitor<R, C> visitor, C context) {
return visitor.visitAuthorityInformation(this, context);
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/Statement.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/Statement.java
index 8dc08d88b73..62d73c56c4c 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/Statement.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/Statement.java
@@ -19,9 +19,7 @@
package org.apache.iotdb.db.queryengine.plan.statement;
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.auth.AuthorityChecker;
import org.apache.iotdb.db.queryengine.common.MPPQueryContext;
import org.apache.iotdb.db.queryengine.plan.parser.ASTVisitor;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/StatementVisitor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/StatementVisitor.java
index 8558150dbe3..3bafdf8bfe0 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/StatementVisitor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/StatementVisitor.java
@@ -20,6 +20,7 @@
package org.apache.iotdb.db.queryengine.plan.statement;
import org.apache.iotdb.db.queryengine.plan.statement.crud.DeleteDataStatement;
+import org.apache.iotdb.db.queryengine.plan.statement.crud.InsertBaseStatement;
import org.apache.iotdb.db.queryengine.plan.statement.crud.InsertMultiTabletsStatement;
import org.apache.iotdb.db.queryengine.plan.statement.crud.InsertRowStatement;
import org.apache.iotdb.db.queryengine.plan.statement.crud.InsertRowsOfOneDeviceStatement;
@@ -344,8 +345,12 @@ public abstract class StatementVisitor<R, C> {
return visitStatement(insertStatement, context);
}
+ public R visitInsertBase(InsertBaseStatement insertStatement, C context) {
+ return visitStatement(insertStatement, context);
+ }
+
public R visitInsertTablet(InsertTabletStatement insertTabletStatement, C context) {
- return visitStatement(insertTabletStatement, context);
+ return visitInsertBase(insertTabletStatement, context);
}
public R visitLoadFile(LoadTsFileStatement loadTsFileStatement, C context) {
@@ -353,21 +358,21 @@ public abstract class StatementVisitor<R, C> {
}
public R visitInsertRow(InsertRowStatement insertRowStatement, C context) {
- return visitStatement(insertRowStatement, context);
+ return visitInsertBase(insertRowStatement, context);
}
public R visitInsertRows(InsertRowsStatement insertRowsStatement, C context) {
- return visitStatement(insertRowsStatement, context);
+ return visitInsertBase(insertRowsStatement, context);
}
public R visitInsertMultiTablets(
InsertMultiTabletsStatement insertMultiTabletsStatement, C context) {
- return visitStatement(insertMultiTabletsStatement, context);
+ return visitInsertBase(insertMultiTabletsStatement, context);
}
public R visitInsertRowsOfOneDevice(
InsertRowsOfOneDeviceStatement insertRowsOfOneDeviceStatement, C context) {
- return visitStatement(insertRowsOfOneDeviceStatement, context);
+ return visitInsertBase(insertRowsOfOneDeviceStatement, context);
}
public R visitPipeEnrichedStatement(PipeEnrichedStatement pipeEnrichedStatement, C context) {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/crud/DeleteDataStatement.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/crud/DeleteDataStatement.java
index c2bc3416a3c..f57a5d7b623 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/crud/DeleteDataStatement.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/crud/DeleteDataStatement.java
@@ -19,14 +19,10 @@
package org.apache.iotdb.db.queryengine.plan.statement.crud;
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
-import org.apache.iotdb.commons.auth.entity.PrivilegeType;
import org.apache.iotdb.commons.path.MeasurementPath;
-import org.apache.iotdb.db.auth.AuthorityChecker;
import org.apache.iotdb.db.queryengine.plan.statement.Statement;
import org.apache.iotdb.db.queryengine.plan.statement.StatementType;
import org.apache.iotdb.db.queryengine.plan.statement.StatementVisitor;
-import org.apache.iotdb.rpc.TSStatusCode;
import org.apache.tsfile.read.common.TimeRange;
@@ -48,19 +44,6 @@ public class DeleteDataStatement extends Statement {
return getPathList();
}
- @Override
- public TSStatus checkPermissionBeforeProcess(String userName) {
- if (AuthorityChecker.SUPER_USER.equals(userName)) {
- return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
- }
- List<MeasurementPath> checkedPaths = getPaths();
- return AuthorityChecker.getTSStatus(
- AuthorityChecker.checkFullPathOrPatternListPermission(
- userName, checkedPaths, PrivilegeType.WRITE_DATA),
- checkedPaths,
- PrivilegeType.WRITE_DATA);
- }
-
public List<MeasurementPath> getPathList() {
return pathList;
}
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/crud/InsertBaseStatement.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/crud/InsertBaseStatement.java
index 950195c5248..2dc2118cd88 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/crud/InsertBaseStatement.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/crud/InsertBaseStatement.java
@@ -19,12 +19,9 @@
package org.apache.iotdb.db.queryengine.plan.statement.crud;
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
-import org.apache.iotdb.commons.auth.entity.PrivilegeType;
import org.apache.iotdb.commons.path.PartialPath;
import org.apache.iotdb.commons.schema.table.column.TsTableColumnCategory;
import org.apache.iotdb.commons.schema.view.LogicalViewSchema;
-import org.apache.iotdb.db.auth.AuthorityChecker;
import org.apache.iotdb.db.conf.IoTDBDescriptor;
import org.apache.iotdb.db.exception.metadata.DataTypeMismatchException;
import org.apache.iotdb.db.exception.metadata.DuplicateInsertException;
@@ -40,7 +37,6 @@ import org.apache.iotdb.db.queryengine.plan.relational.type.InternalTypeManager;
import org.apache.iotdb.db.queryengine.plan.statement.Statement;
import org.apache.iotdb.db.schemaengine.schemaregion.attribute.update.UpdateDetailContainer;
import org.apache.iotdb.db.utils.CommonUtils;
-import org.apache.iotdb.rpc.TSStatusCode;
import org.apache.tsfile.annotations.TableModel;
import org.apache.tsfile.enums.TSDataType;
@@ -193,19 +189,6 @@ public abstract class InsertBaseStatement extends Statement implements Accountab
return Collections.emptyList();
}
- @Override
- public TSStatus checkPermissionBeforeProcess(String userName) {
- if (AuthorityChecker.SUPER_USER.equals(userName)) {
- return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
- }
- List<PartialPath> checkedPaths = getPaths().stream().distinct().collect(Collectors.toList());
- return AuthorityChecker.getTSStatus(
- AuthorityChecker.checkFullPathOrPatternListPermission(
- userName, checkedPaths, PrivilegeType.WRITE_DATA),
- checkedPaths,
- PrivilegeType.WRITE_DATA);
- }
-
public abstract ISchemaValidation getSchemaValidation();
public abstract List<ISchemaValidation> getSchemaValidationList();
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/crud/InsertStatement.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/crud/InsertStatement.java
index 1019b65dfd8..e4460666af4 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/crud/InsertStatement.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/crud/InsertStatement.java
@@ -19,14 +19,10 @@
package org.apache.iotdb.db.queryengine.plan.statement.crud;
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
-import org.apache.iotdb.commons.auth.entity.PrivilegeType;
import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.auth.AuthorityChecker;
import org.apache.iotdb.db.queryengine.plan.statement.Statement;
import org.apache.iotdb.db.queryengine.plan.statement.StatementType;
import org.apache.iotdb.db.queryengine.plan.statement.StatementVisitor;
-import org.apache.iotdb.rpc.TSStatusCode;
import java.util.ArrayList;
import java.util.List;
@@ -57,19 +53,6 @@ public class InsertStatement extends Statement {
return ret;
}
- @Override
- public TSStatus checkPermissionBeforeProcess(String userName) {
- if (AuthorityChecker.SUPER_USER.equals(userName)) {
- return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
- }
- List<PartialPath> checkedPaths = getPaths();
- return AuthorityChecker.getTSStatus(
- AuthorityChecker.checkFullPathOrPatternListPermission(
- userName, checkedPaths, PrivilegeType.WRITE_DATA),
- checkedPaths,
- PrivilegeType.WRITE_DATA);
- }
-
public PartialPath getDevice() {
return device;
}
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/AlterTimeSeriesStatement.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/AlterTimeSeriesStatement.java
index f3e96cc09ce..5913fb9c2fd 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/AlterTimeSeriesStatement.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/AlterTimeSeriesStatement.java
@@ -19,15 +19,11 @@
package org.apache.iotdb.db.queryengine.plan.statement.metadata;
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
-import org.apache.iotdb.commons.auth.entity.PrivilegeType;
import org.apache.iotdb.commons.path.MeasurementPath;
import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.auth.AuthorityChecker;
import org.apache.iotdb.db.queryengine.plan.statement.Statement;
import org.apache.iotdb.db.queryengine.plan.statement.StatementType;
import org.apache.iotdb.db.queryengine.plan.statement.StatementVisitor;
-import org.apache.iotdb.rpc.TSStatusCode;
import java.util.Collections;
import java.util.List;
@@ -134,17 +130,6 @@ public class AlterTimeSeriesStatement extends Statement {
return isAlterView;
}
- @Override
- public TSStatus checkPermissionBeforeProcess(String userName) {
- if (AuthorityChecker.SUPER_USER.equals(userName)) {
- return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
- }
- return AuthorityChecker.getTSStatus(
- AuthorityChecker.checkFullPathOrPatternPermission(
- userName, path, PrivilegeType.WRITE_SCHEMA),
- PrivilegeType.WRITE_SCHEMA);
- }
-
@Override
public <R, C> R accept(StatementVisitor<R, C> visitor, C context) {
return visitor.visitAlterTimeSeries(this, context);
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/CountDevicesStatement.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/CountDevicesStatement.java
index c8652926b74..06d32f7c9b5 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/CountDevicesStatement.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/CountDevicesStatement.java
@@ -19,7 +19,6 @@
package org.apache.iotdb.db.queryengine.plan.statement.metadata;
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
import org.apache.iotdb.commons.path.PartialPath;
import org.apache.iotdb.db.queryengine.plan.statement.StatementVisitor;
import org.apache.iotdb.db.queryengine.plan.statement.component.WhereCondition;
@@ -44,9 +43,6 @@ public class CountDevicesStatement extends CountStatement {
return timeCondition != null;
}
- @Override
- public TSStatus checkPermissionBeforeProcess(String userName) {}
-
@Override
public <R, C> R accept(StatementVisitor<R, C> visitor, C context) {
return visitor.visitCountDevices(this, context);
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/CountTimeSeriesStatement.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/CountTimeSeriesStatement.java
index a7a7afe3b13..c7c259030a9 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/CountTimeSeriesStatement.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/CountTimeSeriesStatement.java
@@ -19,7 +19,6 @@
package org.apache.iotdb.db.queryengine.plan.statement.metadata;
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
import org.apache.iotdb.commons.path.PartialPath;
import org.apache.iotdb.commons.schema.filter.SchemaFilter;
import org.apache.iotdb.db.queryengine.plan.statement.StatementVisitor;
@@ -55,9 +54,6 @@ public class CountTimeSeriesStatement extends CountStatement {
return timeCondition;
}
- @Override
- public TSStatus checkPermissionBeforeProcess(String userName) {}
-
@Override
public <R, C> R accept(StatementVisitor<R, C> visitor, C context) {
return visitor.visitCountTimeSeries(this, context);
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/CountTimeSlotListStatement.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/CountTimeSlotListStatement.java
index 40110bdf2a5..1d93c663d7a 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/CountTimeSlotListStatement.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/CountTimeSlotListStatement.java
@@ -19,10 +19,8 @@
package org.apache.iotdb.db.queryengine.plan.statement.metadata;
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
import org.apache.iotdb.commons.exception.IllegalPathException;
import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.auth.AuthorityChecker;
import org.apache.iotdb.db.queryengine.plan.analyze.QueryType;
import org.apache.iotdb.db.queryengine.plan.statement.IConfigStatement;
import org.apache.iotdb.db.queryengine.plan.statement.Statement;
@@ -116,9 +114,4 @@ public class CountTimeSlotListStatement extends Statement implements IConfigStat
return new ArrayList<>();
}
}
-
- @Override
- public TSStatus checkPermissionBeforeProcess(String userName) {
- return AuthorityChecker.checkSuperUserOrMaintain(userName);
- }
}
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/CreateAlignedTimeSeriesStatement.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/CreateAlignedTimeSeriesStatement.java
index 600b87c19fe..576b198401a 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/CreateAlignedTimeSeriesStatement.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/CreateAlignedTimeSeriesStatement.java
@@ -19,14 +19,10 @@
package org.apache.iotdb.db.queryengine.plan.statement.metadata;
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
-import org.apache.iotdb.commons.auth.entity.PrivilegeType;
import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.auth.AuthorityChecker;
import org.apache.iotdb.db.queryengine.plan.statement.Statement;
import org.apache.iotdb.db.queryengine.plan.statement.StatementType;
import org.apache.iotdb.db.queryengine.plan.statement.StatementVisitor;
-import org.apache.iotdb.rpc.TSStatusCode;
import org.apache.tsfile.enums.TSDataType;
import org.apache.tsfile.file.metadata.enums.CompressionType;
@@ -70,19 +66,6 @@ public class CreateAlignedTimeSeriesStatement extends Statement {
return paths;
}
- @Override
- public TSStatus checkPermissionBeforeProcess(String userName) {
- if (AuthorityChecker.SUPER_USER.equals(userName)) {
- return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
- }
- List<PartialPath> checkedPaths = getPaths();
- return AuthorityChecker.getTSStatus(
- AuthorityChecker.checkFullPathOrPatternListPermission(
- userName, checkedPaths, PrivilegeType.WRITE_SCHEMA),
- checkedPaths,
- PrivilegeType.WRITE_SCHEMA);
- }
-
public PartialPath getDevicePath() {
return devicePath;
}
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/CreateContinuousQueryStatement.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/CreateContinuousQueryStatement.java
index fb8ba32b7b5..92cd2e05722 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/CreateContinuousQueryStatement.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/CreateContinuousQueryStatement.java
@@ -19,11 +19,8 @@
package org.apache.iotdb.db.queryengine.plan.statement.metadata;
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
-import org.apache.iotdb.commons.auth.entity.PrivilegeType;
import org.apache.iotdb.commons.cq.TimeoutPolicy;
import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.auth.AuthorityChecker;
import org.apache.iotdb.db.conf.IoTDBDescriptor;
import org.apache.iotdb.db.exception.sql.SemanticException;
import org.apache.iotdb.db.queryengine.plan.analyze.PredicateUtils;
@@ -34,7 +31,6 @@ import org.apache.iotdb.db.queryengine.plan.statement.StatementType;
import org.apache.iotdb.db.queryengine.plan.statement.StatementVisitor;
import org.apache.iotdb.db.queryengine.plan.statement.component.GroupByTimeComponent;
import org.apache.iotdb.db.queryengine.plan.statement.crud.QueryStatement;
-import org.apache.iotdb.rpc.TSStatusCode;
import java.util.Collections;
import java.util.List;
@@ -167,16 +163,6 @@ public class CreateContinuousQueryStatement extends Statement implements IConfig
return Collections.emptyList();
}
- @Override
- public TSStatus checkPermissionBeforeProcess(String userName) {
- if (AuthorityChecker.SUPER_USER.equals(userName)) {
- return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
- }
- return AuthorityChecker.getTSStatus(
- AuthorityChecker.checkSystemPermission(userName, PrivilegeType.USE_CQ),
- PrivilegeType.USE_CQ);
- }
-
@Override
public <R, C> R accept(StatementVisitor<R, C> visitor, C context) {
return visitor.visitCreateContinuousQuery(this, context);
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/CreateFunctionStatement.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/CreateFunctionStatement.java
index 4859a6c596e..baa7a4a295b 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/CreateFunctionStatement.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/CreateFunctionStatement.java
@@ -19,16 +19,12 @@
package org.apache.iotdb.db.queryengine.plan.statement.metadata;
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
-import org.apache.iotdb.commons.auth.entity.PrivilegeType;
import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.auth.AuthorityChecker;
import org.apache.iotdb.db.queryengine.plan.analyze.QueryType;
import org.apache.iotdb.db.queryengine.plan.statement.IConfigStatement;
import org.apache.iotdb.db.queryengine.plan.statement.Statement;
import org.apache.iotdb.db.queryengine.plan.statement.StatementType;
import org.apache.iotdb.db.queryengine.plan.statement.StatementVisitor;
-import org.apache.iotdb.rpc.TSStatusCode;
import java.util.Collections;
import java.util.List;
@@ -74,14 +70,4 @@ public class CreateFunctionStatement extends Statement implements IConfigStateme
public List<PartialPath> getPaths() {
return Collections.emptyList();
}
-
- @Override
- public TSStatus checkPermissionBeforeProcess(String userName) {
- if (AuthorityChecker.SUPER_USER.equals(userName)) {
- return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
- }
- return AuthorityChecker.getTSStatus(
- AuthorityChecker.checkSystemPermission(userName, PrivilegeType.USE_UDF),
- PrivilegeType.USE_UDF);
- }
}
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/CreateMultiTimeSeriesStatement.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/CreateMultiTimeSeriesStatement.java
index 3a4e4c7b7b8..c380e7956a6 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/CreateMultiTimeSeriesStatement.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/CreateMultiTimeSeriesStatement.java
@@ -19,14 +19,10 @@
package org.apache.iotdb.db.queryengine.plan.statement.metadata;
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
-import org.apache.iotdb.commons.auth.entity.PrivilegeType;
import org.apache.iotdb.commons.path.MeasurementPath;
-import org.apache.iotdb.db.auth.AuthorityChecker;
import org.apache.iotdb.db.queryengine.plan.statement.Statement;
import org.apache.iotdb.db.queryengine.plan.statement.StatementType;
import org.apache.iotdb.db.queryengine.plan.statement.StatementVisitor;
-import org.apache.iotdb.rpc.TSStatusCode;
import org.apache.tsfile.enums.TSDataType;
import org.apache.tsfile.file.metadata.enums.CompressionType;
@@ -58,19 +54,6 @@ public class CreateMultiTimeSeriesStatement extends Statement {
return paths;
}
- @Override
- public TSStatus checkPermissionBeforeProcess(String userName) {
- if (AuthorityChecker.SUPER_USER.equals(userName)) {
- return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
- }
- List<MeasurementPath> checkedPaths = getPaths();
- return AuthorityChecker.getTSStatus(
- AuthorityChecker.checkFullPathOrPatternListPermission(
- userName, checkedPaths, PrivilegeType.WRITE_SCHEMA),
- checkedPaths,
- PrivilegeType.WRITE_SCHEMA);
- }
-
public void setPaths(List<MeasurementPath> paths) {
this.paths = paths;
}
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/CreateTimeSeriesStatement.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/CreateTimeSeriesStatement.java
index bd9b602fd97..b053bd97c02 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/CreateTimeSeriesStatement.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/CreateTimeSeriesStatement.java
@@ -19,15 +19,11 @@
package org.apache.iotdb.db.queryengine.plan.statement.metadata;
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
-import org.apache.iotdb.commons.auth.entity.PrivilegeType;
import org.apache.iotdb.commons.path.MeasurementPath;
import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.auth.AuthorityChecker;
import org.apache.iotdb.db.queryengine.plan.statement.Statement;
import org.apache.iotdb.db.queryengine.plan.statement.StatementType;
import org.apache.iotdb.db.queryengine.plan.statement.StatementVisitor;
-import org.apache.iotdb.rpc.TSStatusCode;
import org.apache.tsfile.enums.TSDataType;
import org.apache.tsfile.file.metadata.enums.CompressionType;
@@ -67,17 +63,6 @@ public class CreateTimeSeriesStatement extends Statement {
return Collections.singletonList(path);
}
- @Override
- public TSStatus checkPermissionBeforeProcess(String userName) {
- if (AuthorityChecker.SUPER_USER.equals(userName)) {
- return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
- }
- return AuthorityChecker.getTSStatus(
- AuthorityChecker.checkFullPathOrPatternPermission(
- userName, path, PrivilegeType.WRITE_SCHEMA),
- PrivilegeType.WRITE_SCHEMA);
- }
-
public MeasurementPath getPath() {
return path;
}
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/CreateTriggerStatement.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/CreateTriggerStatement.java
index cf35785af48..2a1affe577e 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/CreateTriggerStatement.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/CreateTriggerStatement.java
@@ -19,16 +19,12 @@
package org.apache.iotdb.db.queryengine.plan.statement.metadata;
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
-import org.apache.iotdb.commons.auth.entity.PrivilegeType;
import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.auth.AuthorityChecker;
import org.apache.iotdb.db.queryengine.plan.analyze.QueryType;
import org.apache.iotdb.db.queryengine.plan.statement.IConfigStatement;
import org.apache.iotdb.db.queryengine.plan.statement.Statement;
import org.apache.iotdb.db.queryengine.plan.statement.StatementType;
import org.apache.iotdb.db.queryengine.plan.statement.StatementVisitor;
-import org.apache.iotdb.rpc.TSStatusCode;
import org.apache.iotdb.trigger.api.enums.TriggerEvent;
import org.apache.iotdb.trigger.api.enums.TriggerType;
@@ -121,14 +117,4 @@ public class CreateTriggerStatement extends Statement implements IConfigStatemen
public List<PartialPath> getPaths() {
return Collections.singletonList(pathPattern);
}
-
- @Override
- public TSStatus checkPermissionBeforeProcess(String userName) {
- if (AuthorityChecker.SUPER_USER.equals(userName)) {
- return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
- }
- return AuthorityChecker.getTSStatus(
- AuthorityChecker.checkSystemPermission(userName, PrivilegeType.USE_TRIGGER),
- PrivilegeType.USE_TRIGGER);
- }
}
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/DatabaseSchemaStatement.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/DatabaseSchemaStatement.java
index 3efd42e5758..53ff33e2437 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/DatabaseSchemaStatement.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/DatabaseSchemaStatement.java
@@ -19,16 +19,12 @@
package org.apache.iotdb.db.queryengine.plan.statement.metadata;
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
-import org.apache.iotdb.commons.auth.entity.PrivilegeType;
import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.auth.AuthorityChecker;
import org.apache.iotdb.db.queryengine.plan.analyze.QueryType;
import org.apache.iotdb.db.queryengine.plan.statement.IConfigStatement;
import org.apache.iotdb.db.queryengine.plan.statement.Statement;
import org.apache.iotdb.db.queryengine.plan.statement.StatementType;
import org.apache.iotdb.db.queryengine.plan.statement.StatementVisitor;
-import org.apache.iotdb.rpc.TSStatusCode;
import java.util.Collections;
import java.util.List;
@@ -143,16 +139,6 @@ public class DatabaseSchemaStatement extends Statement implements IConfigStateme
return databasePath != null ? Collections.singletonList(databasePath) : Collections.emptyList();
}
- @Override
- public TSStatus checkPermissionBeforeProcess(final String userName) {
- if (AuthorityChecker.SUPER_USER.equals(userName)) {
- return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
- }
- return AuthorityChecker.getTSStatus(
- AuthorityChecker.checkSystemPermission(userName, PrivilegeType.MANAGE_DATABASE),
- PrivilegeType.MANAGE_DATABASE);
- }
-
@Override
public String toString() {
return "SetStorageGroupStatement{"
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/DeleteDatabaseStatement.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/DeleteDatabaseStatement.java
index 33786815e16..9861331974b 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/DeleteDatabaseStatement.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/DeleteDatabaseStatement.java
@@ -19,17 +19,13 @@
package org.apache.iotdb.db.queryengine.plan.statement.metadata;
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
-import org.apache.iotdb.commons.auth.entity.PrivilegeType;
import org.apache.iotdb.commons.exception.IllegalPathException;
import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.auth.AuthorityChecker;
import org.apache.iotdb.db.queryengine.plan.analyze.QueryType;
import org.apache.iotdb.db.queryengine.plan.statement.IConfigStatement;
import org.apache.iotdb.db.queryengine.plan.statement.Statement;
import org.apache.iotdb.db.queryengine.plan.statement.StatementType;
import org.apache.iotdb.db.queryengine.plan.statement.StatementVisitor;
-import org.apache.iotdb.rpc.TSStatusCode;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -61,16 +57,6 @@ public class DeleteDatabaseStatement extends Statement implements IConfigStateme
return paths;
}
- @Override
- public TSStatus checkPermissionBeforeProcess(String userName) {
- if (AuthorityChecker.SUPER_USER.equals(userName)) {
- return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
- }
- return AuthorityChecker.getTSStatus(
- AuthorityChecker.checkSystemPermission(userName, PrivilegeType.MANAGE_DATABASE),
- PrivilegeType.MANAGE_DATABASE);
- }
-
public List<String> getPrefixPath() {
return prefixPathList;
}
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/DeleteTimeSeriesStatement.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/DeleteTimeSeriesStatement.java
index 1c5e38be438..f8428d4e026 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/DeleteTimeSeriesStatement.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/DeleteTimeSeriesStatement.java
@@ -19,16 +19,12 @@
package org.apache.iotdb.db.queryengine.plan.statement.metadata;
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
-import org.apache.iotdb.commons.auth.entity.PrivilegeType;
import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.auth.AuthorityChecker;
import org.apache.iotdb.db.queryengine.plan.analyze.QueryType;
import org.apache.iotdb.db.queryengine.plan.statement.IConfigStatement;
import org.apache.iotdb.db.queryengine.plan.statement.Statement;
import org.apache.iotdb.db.queryengine.plan.statement.StatementType;
import org.apache.iotdb.db.queryengine.plan.statement.StatementVisitor;
-import org.apache.iotdb.rpc.TSStatusCode;
import java.util.List;
@@ -51,19 +47,6 @@ public class DeleteTimeSeriesStatement extends Statement implements IConfigState
return pathPatternList;
}
- @Override
- public TSStatus checkPermissionBeforeProcess(String userName) {
- if (AuthorityChecker.SUPER_USER.equals(userName)) {
- return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
- }
- List<PartialPath> checkedPaths = getPaths();
- return AuthorityChecker.getTSStatus(
- AuthorityChecker.checkFullPathOrPatternListPermission(
- userName, checkedPaths, PrivilegeType.WRITE_SCHEMA),
- checkedPaths,
- PrivilegeType.WRITE_SCHEMA);
- }
-
public List<PartialPath> getPathPatternList() {
return pathPatternList;
}
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/DropContinuousQueryStatement.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/DropContinuousQueryStatement.java
index 695e489ddc9..12932d8a8d0 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/DropContinuousQueryStatement.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/DropContinuousQueryStatement.java
@@ -19,16 +19,12 @@
package org.apache.iotdb.db.queryengine.plan.statement.metadata;
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
-import org.apache.iotdb.commons.auth.entity.PrivilegeType;
import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.auth.AuthorityChecker;
import org.apache.iotdb.db.queryengine.plan.analyze.QueryType;
import org.apache.iotdb.db.queryengine.plan.statement.IConfigStatement;
import org.apache.iotdb.db.queryengine.plan.statement.Statement;
import org.apache.iotdb.db.queryengine.plan.statement.StatementType;
import org.apache.iotdb.db.queryengine.plan.statement.StatementVisitor;
-import org.apache.iotdb.rpc.TSStatusCode;
import java.util.Collections;
import java.util.List;
@@ -61,14 +57,4 @@ public class DropContinuousQueryStatement extends Statement implements IConfigSt
public <R, C> R accept(StatementVisitor<R, C> visitor, C context) {
return visitor.visitDropContinuousQuery(this, context);
}
-
- @Override
- public TSStatus checkPermissionBeforeProcess(String userName) {
- if (AuthorityChecker.SUPER_USER.equals(userName)) {
- return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
- }
- return AuthorityChecker.getTSStatus(
- AuthorityChecker.checkSystemPermission(userName, PrivilegeType.USE_CQ),
- PrivilegeType.USE_CQ);
- }
}
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/DropFunctionStatement.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/DropFunctionStatement.java
index ec777e44d49..14a7d8b6868 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/DropFunctionStatement.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/DropFunctionStatement.java
@@ -19,16 +19,12 @@
package org.apache.iotdb.db.queryengine.plan.statement.metadata;
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
-import org.apache.iotdb.commons.auth.entity.PrivilegeType;
import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.auth.AuthorityChecker;
import org.apache.iotdb.db.queryengine.plan.analyze.QueryType;
import org.apache.iotdb.db.queryengine.plan.statement.IConfigStatement;
import org.apache.iotdb.db.queryengine.plan.statement.Statement;
import org.apache.iotdb.db.queryengine.plan.statement.StatementType;
import org.apache.iotdb.db.queryengine.plan.statement.StatementVisitor;
-import org.apache.iotdb.rpc.TSStatusCode;
import java.util.Collections;
import java.util.List;
@@ -61,14 +57,4 @@ public class DropFunctionStatement extends Statement implements IConfigStatement
public List<PartialPath> getPaths() {
return Collections.emptyList();
}
-
- @Override
- public TSStatus checkPermissionBeforeProcess(String userName) {
- if (AuthorityChecker.SUPER_USER.equals(userName)) {
- return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
- }
- return AuthorityChecker.getTSStatus(
- AuthorityChecker.checkSystemPermission(userName, PrivilegeType.USE_UDF),
- PrivilegeType.USE_UDF);
- }
}
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/DropTriggerStatement.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/DropTriggerStatement.java
index 3b3cb648391..96a07a11635 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/DropTriggerStatement.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/DropTriggerStatement.java
@@ -19,16 +19,12 @@
package org.apache.iotdb.db.queryengine.plan.statement.metadata;
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
-import org.apache.iotdb.commons.auth.entity.PrivilegeType;
import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.auth.AuthorityChecker;
import org.apache.iotdb.db.queryengine.plan.analyze.QueryType;
import org.apache.iotdb.db.queryengine.plan.statement.IConfigStatement;
import org.apache.iotdb.db.queryengine.plan.statement.Statement;
import org.apache.iotdb.db.queryengine.plan.statement.StatementType;
import org.apache.iotdb.db.queryengine.plan.statement.StatementVisitor;
-import org.apache.iotdb.rpc.TSStatusCode;
import java.util.Collections;
import java.util.List;
@@ -60,14 +56,4 @@ public class DropTriggerStatement extends Statement implements IConfigStatement
public List<PartialPath> getPaths() {
return Collections.emptyList();
}
-
- @Override
- public TSStatus checkPermissionBeforeProcess(String userName) {
- if (AuthorityChecker.SUPER_USER.equals(userName)) {
- return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
- }
- return AuthorityChecker.getTSStatus(
- AuthorityChecker.checkSystemPermission(userName, PrivilegeType.USE_TRIGGER),
- PrivilegeType.USE_TRIGGER);
- }
}
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/GetRegionIdStatement.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/GetRegionIdStatement.java
index 280e658d54a..c7ba3784194 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/GetRegionIdStatement.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/GetRegionIdStatement.java
@@ -20,10 +20,8 @@
package org.apache.iotdb.db.queryengine.plan.statement.metadata;
import org.apache.iotdb.common.rpc.thrift.TConsensusGroupType;
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
import org.apache.iotdb.commons.exception.IllegalPathException;
import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.auth.AuthorityChecker;
import org.apache.iotdb.db.queryengine.plan.analyze.QueryType;
import org.apache.iotdb.db.queryengine.plan.statement.IConfigStatement;
import org.apache.iotdb.db.queryengine.plan.statement.Statement;
@@ -121,9 +119,4 @@ public class GetRegionIdStatement extends Statement implements IConfigStatement
return new ArrayList<>();
}
}
-
- @Override
- public TSStatus checkPermissionBeforeProcess(String userName) {
- return AuthorityChecker.checkSuperUserOrMaintain(userName);
- }
}
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/GetSeriesSlotListStatement.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/GetSeriesSlotListStatement.java
index 1c402f470e0..0cd67e6418a 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/GetSeriesSlotListStatement.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/GetSeriesSlotListStatement.java
@@ -20,10 +20,8 @@
package org.apache.iotdb.db.queryengine.plan.statement.metadata;
import org.apache.iotdb.common.rpc.thrift.TConsensusGroupType;
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
import org.apache.iotdb.commons.exception.IllegalPathException;
import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.auth.AuthorityChecker;
import org.apache.iotdb.db.queryengine.plan.analyze.QueryType;
import org.apache.iotdb.db.queryengine.plan.statement.IConfigStatement;
import org.apache.iotdb.db.queryengine.plan.statement.Statement;
@@ -77,9 +75,4 @@ public class GetSeriesSlotListStatement extends Statement implements IConfigStat
return new ArrayList<>();
}
}
-
- @Override
- public TSStatus checkPermissionBeforeProcess(String userName) {
- return AuthorityChecker.checkSuperUserOrMaintain(userName);
- }
}
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/GetTimeSlotListStatement.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/GetTimeSlotListStatement.java
index 48da0c633a5..39d279c0ee6 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/GetTimeSlotListStatement.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/GetTimeSlotListStatement.java
@@ -19,10 +19,8 @@
package org.apache.iotdb.db.queryengine.plan.statement.metadata;
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
import org.apache.iotdb.commons.exception.IllegalPathException;
import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.auth.AuthorityChecker;
import org.apache.iotdb.db.queryengine.plan.analyze.QueryType;
import org.apache.iotdb.db.queryengine.plan.statement.IConfigStatement;
import org.apache.iotdb.db.queryengine.plan.statement.Statement;
@@ -125,9 +123,4 @@ public class GetTimeSlotListStatement extends Statement implements IConfigStatem
return new ArrayList<>();
}
}
-
- @Override
- public TSStatus checkPermissionBeforeProcess(String userName) {
- return AuthorityChecker.checkSuperUserOrMaintain(userName);
- }
}
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/model/CreateModelStatement.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/model/CreateModelStatement.java
index c99462bc3d1..2300af074a4 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/model/CreateModelStatement.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/model/CreateModelStatement.java
@@ -19,15 +19,11 @@
package org.apache.iotdb.db.queryengine.plan.statement.metadata.model;
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
-import org.apache.iotdb.commons.auth.entity.PrivilegeType;
import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.auth.AuthorityChecker;
import org.apache.iotdb.db.queryengine.plan.analyze.QueryType;
import org.apache.iotdb.db.queryengine.plan.statement.IConfigStatement;
import org.apache.iotdb.db.queryengine.plan.statement.Statement;
import org.apache.iotdb.db.queryengine.plan.statement.StatementVisitor;
-import org.apache.iotdb.rpc.TSStatusCode;
import java.util.Collections;
import java.util.List;
@@ -68,16 +64,6 @@ public class CreateModelStatement extends Statement implements IConfigStatement
return QueryType.WRITE;
}
- @Override
- public TSStatus checkPermissionBeforeProcess(String userName) {
- if (AuthorityChecker.SUPER_USER.equals(userName)) {
- return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
- }
- return AuthorityChecker.getTSStatus(
- AuthorityChecker.checkSystemPermission(userName, PrivilegeType.USE_MODEL),
- PrivilegeType.USE_MODEL);
- }
-
@Override
public <R, C> R accept(StatementVisitor<R, C> visitor, C context) {
return visitor.visitCreateModel(this, context);
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/model/DropModelStatement.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/model/DropModelStatement.java
index 1273cde4fac..34ba98207e4 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/model/DropModelStatement.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/model/DropModelStatement.java
@@ -19,15 +19,11 @@
package org.apache.iotdb.db.queryengine.plan.statement.metadata.model;
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
-import org.apache.iotdb.commons.auth.entity.PrivilegeType;
import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.auth.AuthorityChecker;
import org.apache.iotdb.db.queryengine.plan.analyze.QueryType;
import org.apache.iotdb.db.queryengine.plan.statement.IConfigStatement;
import org.apache.iotdb.db.queryengine.plan.statement.Statement;
import org.apache.iotdb.db.queryengine.plan.statement.StatementVisitor;
-import org.apache.iotdb.rpc.TSStatusCode;
import java.util.Collections;
import java.util.List;
@@ -54,16 +50,6 @@ public class DropModelStatement extends Statement implements IConfigStatement {
return QueryType.WRITE;
}
- @Override
- public TSStatus checkPermissionBeforeProcess(String userName) {
- if (AuthorityChecker.SUPER_USER.equals(userName)) {
- return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
- }
- return AuthorityChecker.getTSStatus(
- AuthorityChecker.checkSystemPermission(userName, PrivilegeType.USE_MODEL),
- PrivilegeType.USE_MODEL);
- }
-
@Override
public <R, C> R accept(StatementVisitor<R, C> visitor, C context) {
return visitor.visitDropModel(this, context);
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/pipe/AlterPipeStatement.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/pipe/AlterPipeStatement.java
index 603303b49ae..122139f3d4e 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/pipe/AlterPipeStatement.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/pipe/AlterPipeStatement.java
@@ -19,16 +19,12 @@
package org.apache.iotdb.db.queryengine.plan.statement.metadata.pipe;
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
-import org.apache.iotdb.commons.auth.entity.PrivilegeType;
import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.auth.AuthorityChecker;
import org.apache.iotdb.db.queryengine.plan.analyze.QueryType;
import org.apache.iotdb.db.queryengine.plan.statement.IConfigStatement;
import org.apache.iotdb.db.queryengine.plan.statement.Statement;
import org.apache.iotdb.db.queryengine.plan.statement.StatementType;
import org.apache.iotdb.db.queryengine.plan.statement.StatementVisitor;
-import org.apache.iotdb.rpc.TSStatusCode;
import java.util.Collections;
import java.util.List;
@@ -141,16 +137,6 @@ public class AlterPipeStatement extends Statement implements IConfigStatement {
return Collections.emptyList();
}
- @Override
- public TSStatus checkPermissionBeforeProcess(final String userName) {
- if (AuthorityChecker.SUPER_USER.equals(userName)) {
- return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
- }
- return AuthorityChecker.getTSStatus(
- AuthorityChecker.checkSystemPermission(userName, PrivilegeType.USE_PIPE),
- PrivilegeType.USE_PIPE);
- }
-
@Override
public <R, C> R accept(final StatementVisitor<R, C> visitor, final C context) {
return visitor.visitAlterPipe(this, context);
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/pipe/CreatePipePluginStatement.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/pipe/CreatePipePluginStatement.java
index 2787808f3cd..e1b22ea9de7 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/pipe/CreatePipePluginStatement.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/pipe/CreatePipePluginStatement.java
@@ -19,16 +19,12 @@
package org.apache.iotdb.db.queryengine.plan.statement.metadata.pipe;
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
-import org.apache.iotdb.commons.auth.entity.PrivilegeType;
import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.auth.AuthorityChecker;
import org.apache.iotdb.db.queryengine.plan.analyze.QueryType;
import org.apache.iotdb.db.queryengine.plan.statement.IConfigStatement;
import org.apache.iotdb.db.queryengine.plan.statement.Statement;
import org.apache.iotdb.db.queryengine.plan.statement.StatementType;
import org.apache.iotdb.db.queryengine.plan.statement.StatementVisitor;
-import org.apache.iotdb.rpc.TSStatusCode;
import java.util.Collections;
import java.util.List;
@@ -86,16 +82,6 @@ public class CreatePipePluginStatement extends Statement implements IConfigState
return Collections.emptyList();
}
- @Override
- public TSStatus checkPermissionBeforeProcess(String userName) {
- if (AuthorityChecker.SUPER_USER.equals(userName)) {
- return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
- }
- return AuthorityChecker.getTSStatus(
- AuthorityChecker.checkSystemPermission(userName, PrivilegeType.USE_PIPE),
- PrivilegeType.USE_PIPE);
- }
-
@Override
public <R, C> R accept(StatementVisitor<R, C> visitor, C context) {
return visitor.visitCreatePipePlugin(this, context);
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/pipe/CreatePipeStatement.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/pipe/CreatePipeStatement.java
index 3430128247f..66c7a85de79 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/pipe/CreatePipeStatement.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/pipe/CreatePipeStatement.java
@@ -19,16 +19,12 @@
package org.apache.iotdb.db.queryengine.plan.statement.metadata.pipe;
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
-import org.apache.iotdb.commons.auth.entity.PrivilegeType;
import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.auth.AuthorityChecker;
import org.apache.iotdb.db.queryengine.plan.analyze.QueryType;
import org.apache.iotdb.db.queryengine.plan.statement.IConfigStatement;
import org.apache.iotdb.db.queryengine.plan.statement.Statement;
import org.apache.iotdb.db.queryengine.plan.statement.StatementType;
import org.apache.iotdb.db.queryengine.plan.statement.StatementVisitor;
-import org.apache.iotdb.rpc.TSStatusCode;
import java.util.Collections;
import java.util.List;
@@ -96,16 +92,6 @@ public class CreatePipeStatement extends Statement implements IConfigStatement {
return Collections.emptyList();
}
- @Override
- public TSStatus checkPermissionBeforeProcess(String userName) {
- if (AuthorityChecker.SUPER_USER.equals(userName)) {
- return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
- }
- return AuthorityChecker.getTSStatus(
- AuthorityChecker.checkSystemPermission(userName, PrivilegeType.USE_PIPE),
- PrivilegeType.USE_PIPE);
- }
-
@Override
public <R, C> R accept(StatementVisitor<R, C> visitor, C context) {
return visitor.visitCreatePipe(this, context);
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/pipe/DropPipePluginStatement.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/pipe/DropPipePluginStatement.java
index e40ae63d01d..24b44f85cf6 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/pipe/DropPipePluginStatement.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/pipe/DropPipePluginStatement.java
@@ -19,16 +19,12 @@
package org.apache.iotdb.db.queryengine.plan.statement.metadata.pipe;
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
-import org.apache.iotdb.commons.auth.entity.PrivilegeType;
import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.auth.AuthorityChecker;
import org.apache.iotdb.db.queryengine.plan.analyze.QueryType;
import org.apache.iotdb.db.queryengine.plan.statement.IConfigStatement;
import org.apache.iotdb.db.queryengine.plan.statement.Statement;
import org.apache.iotdb.db.queryengine.plan.statement.StatementType;
import org.apache.iotdb.db.queryengine.plan.statement.StatementVisitor;
-import org.apache.iotdb.rpc.TSStatusCode;
import java.util.Collections;
import java.util.List;
@@ -82,14 +78,4 @@ public class DropPipePluginStatement extends Statement implements IConfigStateme
public <R, C> R accept(final StatementVisitor<R, C> visitor, final C context) {
return visitor.visitDropPipePlugin(this, context);
}
-
- @Override
- public TSStatus checkPermissionBeforeProcess(final String userName) {
- if (AuthorityChecker.SUPER_USER.equals(userName)) {
- return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
- }
- return AuthorityChecker.getTSStatus(
- AuthorityChecker.checkSystemPermission(userName, PrivilegeType.USE_PIPE),
- PrivilegeType.USE_PIPE);
- }
}
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/pipe/DropPipeStatement.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/pipe/DropPipeStatement.java
index 82d2f777be6..3099a8d5dd5 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/pipe/DropPipeStatement.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/pipe/DropPipeStatement.java
@@ -19,16 +19,12 @@
package org.apache.iotdb.db.queryengine.plan.statement.metadata.pipe;
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
-import org.apache.iotdb.commons.auth.entity.PrivilegeType;
import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.auth.AuthorityChecker;
import org.apache.iotdb.db.queryengine.plan.analyze.QueryType;
import org.apache.iotdb.db.queryengine.plan.statement.IConfigStatement;
import org.apache.iotdb.db.queryengine.plan.statement.Statement;
import org.apache.iotdb.db.queryengine.plan.statement.StatementType;
import org.apache.iotdb.db.queryengine.plan.statement.StatementVisitor;
-import org.apache.iotdb.rpc.TSStatusCode;
import java.util.Collections;
import java.util.List;
@@ -77,16 +73,6 @@ public class DropPipeStatement extends Statement implements IConfigStatement {
return Collections.emptyList();
}
- @Override
- public TSStatus checkPermissionBeforeProcess(final String userName) {
- if (AuthorityChecker.SUPER_USER.equals(userName)) {
- return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
- }
- return AuthorityChecker.getTSStatus(
- AuthorityChecker.checkSystemPermission(userName, PrivilegeType.USE_PIPE),
- PrivilegeType.USE_PIPE);
- }
-
@Override
public <R, C> R accept(final StatementVisitor<R, C> visitor, final C context) {
return visitor.visitDropPipe(this, context);
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/region/ExtendRegionStatement.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/region/ExtendRegionStatement.java
index 591c62c4b6b..353cb119553 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/region/ExtendRegionStatement.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/region/ExtendRegionStatement.java
@@ -19,9 +19,7 @@
package org.apache.iotdb.db.queryengine.plan.statement.metadata.region;
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.auth.AuthorityChecker;
import org.apache.iotdb.db.queryengine.plan.analyze.QueryType;
import org.apache.iotdb.db.queryengine.plan.statement.IConfigStatement;
import org.apache.iotdb.db.queryengine.plan.statement.Statement;
@@ -49,11 +47,6 @@ public class ExtendRegionStatement extends Statement implements IConfigStatement
return dataNodeId;
}
- @Override
- public TSStatus checkPermissionBeforeProcess(String userName) {
- return AuthorityChecker.checkSuperUserOrMaintain(userName);
- }
-
@Override
public <R, C> R accept(StatementVisitor<R, C> visitor, C context) {
return visitor.visitExtendRegion(this, context);
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/subscription/CreateTopicStatement.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/subscription/CreateTopicStatement.java
index 8f3f237918f..7d1d59c44f4 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/subscription/CreateTopicStatement.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/subscription/CreateTopicStatement.java
@@ -19,16 +19,12 @@
package org.apache.iotdb.db.queryengine.plan.statement.metadata.subscription;
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
-import org.apache.iotdb.commons.auth.entity.PrivilegeType;
import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.auth.AuthorityChecker;
import org.apache.iotdb.db.queryengine.plan.analyze.QueryType;
import org.apache.iotdb.db.queryengine.plan.statement.IConfigStatement;
import org.apache.iotdb.db.queryengine.plan.statement.Statement;
import org.apache.iotdb.db.queryengine.plan.statement.StatementType;
import org.apache.iotdb.db.queryengine.plan.statement.StatementVisitor;
-import org.apache.iotdb.rpc.TSStatusCode;
import java.util.Collections;
import java.util.List;
@@ -79,16 +75,6 @@ public class CreateTopicStatement extends Statement implements IConfigStatement
return Collections.emptyList();
}
- @Override
- public TSStatus checkPermissionBeforeProcess(String userName) {
- if (AuthorityChecker.SUPER_USER.equals(userName)) {
- return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
- }
- return AuthorityChecker.getTSStatus(
- AuthorityChecker.checkSystemPermission(userName, PrivilegeType.USE_PIPE),
- PrivilegeType.USE_PIPE);
- }
-
@Override
public <R, C> R accept(StatementVisitor<R, C> visitor, C context) {
return visitor.visitCreateTopic(this, context);
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/subscription/DropSubscriptionStatement.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/subscription/DropSubscriptionStatement.java
index 53ecb6164fa..fb64cfdeb8e 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/subscription/DropSubscriptionStatement.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/subscription/DropSubscriptionStatement.java
@@ -19,16 +19,12 @@
package org.apache.iotdb.db.queryengine.plan.statement.metadata.subscription;
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
-import org.apache.iotdb.commons.auth.entity.PrivilegeType;
import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.auth.AuthorityChecker;
import org.apache.iotdb.db.queryengine.plan.analyze.QueryType;
import org.apache.iotdb.db.queryengine.plan.statement.IConfigStatement;
import org.apache.iotdb.db.queryengine.plan.statement.Statement;
import org.apache.iotdb.db.queryengine.plan.statement.StatementType;
import org.apache.iotdb.db.queryengine.plan.statement.StatementVisitor;
-import org.apache.iotdb.rpc.TSStatusCode;
import java.util.Collections;
import java.util.List;
@@ -82,14 +78,4 @@ public class DropSubscriptionStatement extends Statement implements IConfigState
public <R, C> R accept(StatementVisitor<R, C> visitor, C context) {
return visitor.visitDropSubscription(this, context);
}
-
- @Override
- public TSStatus checkPermissionBeforeProcess(String userName) {
- if (AuthorityChecker.SUPER_USER.equals(userName)) {
- return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
- }
- return AuthorityChecker.getTSStatus(
- AuthorityChecker.checkSystemPermission(userName, PrivilegeType.USE_PIPE),
- PrivilegeType.USE_PIPE);
- }
}
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/subscription/DropTopicStatement.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/subscription/DropTopicStatement.java
index 3bc5d866bc4..5c7d7d115f6 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/subscription/DropTopicStatement.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/subscription/DropTopicStatement.java
@@ -19,16 +19,12 @@
package org.apache.iotdb.db.queryengine.plan.statement.metadata.subscription;
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
-import org.apache.iotdb.commons.auth.entity.PrivilegeType;
import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.auth.AuthorityChecker;
import org.apache.iotdb.db.queryengine.plan.analyze.QueryType;
import org.apache.iotdb.db.queryengine.plan.statement.IConfigStatement;
import org.apache.iotdb.db.queryengine.plan.statement.Statement;
import org.apache.iotdb.db.queryengine.plan.statement.StatementType;
import org.apache.iotdb.db.queryengine.plan.statement.StatementVisitor;
-import org.apache.iotdb.rpc.TSStatusCode;
import java.util.Collections;
import java.util.List;
@@ -82,14 +78,4 @@ public class DropTopicStatement extends Statement implements IConfigStatement {
public <R, C> R accept(final StatementVisitor<R, C> visitor, final C context) {
return visitor.visitDropTopic(this, context);
}
-
- @Override
- public TSStatus checkPermissionBeforeProcess(final String userName) {
- if (AuthorityChecker.SUPER_USER.equals(userName)) {
- return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
- }
- return AuthorityChecker.getTSStatus(
- AuthorityChecker.checkSystemPermission(userName, PrivilegeType.USE_PIPE),
- PrivilegeType.USE_PIPE);
- }
}
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/template/ActivateTemplateStatement.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/template/ActivateTemplateStatement.java
index 0bf2edfb5ba..e5abc9be3b3 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/template/ActivateTemplateStatement.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/template/ActivateTemplateStatement.java
@@ -19,16 +19,12 @@
package org.apache.iotdb.db.queryengine.plan.statement.metadata.template;
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
-import org.apache.iotdb.commons.auth.entity.PrivilegeType;
import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.auth.AuthorityChecker;
import org.apache.iotdb.db.queryengine.plan.statement.Statement;
import org.apache.iotdb.db.queryengine.plan.statement.StatementType;
import org.apache.iotdb.db.queryengine.plan.statement.StatementVisitor;
import org.apache.iotdb.db.schemaengine.template.ClusterTemplateManager;
import org.apache.iotdb.db.schemaengine.template.Template;
-import org.apache.iotdb.rpc.TSStatusCode;
import org.apache.tsfile.utils.Pair;
@@ -63,19 +59,6 @@ public class ActivateTemplateStatement extends Statement {
.collect(Collectors.toList());
}
- @Override
- public TSStatus checkPermissionBeforeProcess(String userName) {
- if (AuthorityChecker.SUPER_USER.equals(userName)) {
- return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
- }
- List<PartialPath> checkedPaths = getPaths();
- return AuthorityChecker.getTSStatus(
- AuthorityChecker.checkFullPathOrPatternListPermission(
- userName, checkedPaths, PrivilegeType.WRITE_SCHEMA),
- checkedPaths,
- PrivilegeType.WRITE_SCHEMA);
- }
-
public PartialPath getPath() {
return path;
}
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/template/BatchActivateTemplateStatement.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/template/BatchActivateTemplateStatement.java
index 85e77c2697f..e518eee0d1e 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/template/BatchActivateTemplateStatement.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/template/BatchActivateTemplateStatement.java
@@ -19,16 +19,12 @@
package org.apache.iotdb.db.queryengine.plan.statement.metadata.template;
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
-import org.apache.iotdb.commons.auth.entity.PrivilegeType;
import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.auth.AuthorityChecker;
import org.apache.iotdb.db.queryengine.plan.statement.Statement;
import org.apache.iotdb.db.queryengine.plan.statement.StatementType;
import org.apache.iotdb.db.queryengine.plan.statement.StatementVisitor;
import org.apache.iotdb.db.schemaengine.template.ClusterTemplateManager;
import org.apache.iotdb.db.schemaengine.template.Template;
-import org.apache.iotdb.rpc.TSStatusCode;
import org.apache.tsfile.utils.Pair;
@@ -46,19 +42,6 @@ public class BatchActivateTemplateStatement extends Statement {
statementType = StatementType.BATCH_ACTIVATE_TEMPLATE;
}
- @Override
- public TSStatus checkPermissionBeforeProcess(String userName) {
- if (AuthorityChecker.SUPER_USER.equals(userName)) {
- return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
- }
- List<PartialPath> checkedPaths = getPaths();
- return AuthorityChecker.getTSStatus(
- AuthorityChecker.checkFullPathOrPatternListPermission(
- userName, checkedPaths, PrivilegeType.WRITE_SCHEMA),
- checkedPaths,
- PrivilegeType.WRITE_SCHEMA);
- }
-
@Override
public List<PartialPath> getPaths() {
ClusterTemplateManager clusterTemplateManager = ClusterTemplateManager.getInstance();
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/template/DeactivateTemplateStatement.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/template/DeactivateTemplateStatement.java
index bdb6375e83c..d6d30db798e 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/template/DeactivateTemplateStatement.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/template/DeactivateTemplateStatement.java
@@ -19,11 +19,8 @@
package org.apache.iotdb.db.queryengine.plan.statement.metadata.template;
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
-import org.apache.iotdb.commons.auth.entity.PrivilegeType;
import org.apache.iotdb.commons.exception.IoTDBException;
import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.auth.AuthorityChecker;
import org.apache.iotdb.db.queryengine.plan.analyze.QueryType;
import org.apache.iotdb.db.queryengine.plan.statement.IConfigStatement;
import org.apache.iotdb.db.queryengine.plan.statement.Statement;
@@ -31,7 +28,6 @@ import org.apache.iotdb.db.queryengine.plan.statement.StatementType;
import org.apache.iotdb.db.queryengine.plan.statement.StatementVisitor;
import org.apache.iotdb.db.schemaengine.template.ClusterTemplateManager;
import org.apache.iotdb.db.schemaengine.template.Template;
-import org.apache.iotdb.rpc.TSStatusCode;
import java.util.Collections;
import java.util.List;
@@ -77,19 +73,6 @@ public class DeactivateTemplateStatement extends Statement implements IConfigSta
.collect(Collectors.toList());
}
- @Override
- public TSStatus checkPermissionBeforeProcess(String userName) {
- if (AuthorityChecker.SUPER_USER.equals(userName)) {
- return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
- }
- List<PartialPath> checkedPaths = getPaths();
- return AuthorityChecker.getTSStatus(
- AuthorityChecker.checkFullPathOrPatternListPermission(
- userName, checkedPaths, PrivilegeType.WRITE_SCHEMA),
- checkedPaths,
- PrivilegeType.WRITE_SCHEMA);
- }
-
public String getTemplateName() {
return templateName == null ? ONE_LEVEL_PATH_WILDCARD : templateName;
}
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/view/AlterLogicalViewStatement.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/view/AlterLogicalViewStatement.java
index 7d5fbd11b68..73992479c3b 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/view/AlterLogicalViewStatement.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/view/AlterLogicalViewStatement.java
@@ -19,10 +19,7 @@
package org.apache.iotdb.db.queryengine.plan.statement.metadata.view;
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
-import org.apache.iotdb.commons.auth.entity.PrivilegeType;
import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.auth.AuthorityChecker;
import org.apache.iotdb.db.queryengine.plan.analyze.QueryType;
import org.apache.iotdb.db.queryengine.plan.expression.Expression;
import org.apache.iotdb.db.queryengine.plan.statement.IConfigStatement;
@@ -32,7 +29,6 @@ import org.apache.iotdb.db.queryengine.plan.statement.StatementVisitor;
import org.apache.iotdb.db.queryengine.plan.statement.crud.QueryStatement;
import org.apache.iotdb.db.schemaengine.schemaregion.view.ViewPathType;
import org.apache.iotdb.db.schemaengine.schemaregion.view.ViewPaths;
-import org.apache.iotdb.rpc.TSStatusCode;
import java.util.List;
@@ -60,41 +56,6 @@ public class AlterLogicalViewStatement extends Statement implements IConfigState
return this.getTargetPathList();
}
- @Override
- public TSStatus checkPermissionBeforeProcess(String userName) {
- if (AuthorityChecker.SUPER_USER.equals(userName)) {
- return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
- }
- TSStatus status = new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
- List<PartialPath> sourcePathList = sourcePaths.fullPathList;
- if (sourcePathList != null) {
- status =
- AuthorityChecker.getTSStatus(
- AuthorityChecker.checkFullPathOrPatternListPermission(
- userName, sourcePathList, PrivilegeType.READ_SCHEMA),
- sourcePathList,
- PrivilegeType.READ_SCHEMA);
- }
- if (queryStatement != null && status.getCode() == TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
- sourcePathList = queryStatement.getPaths();
- status =
- AuthorityChecker.getTSStatus(
- AuthorityChecker.checkFullPathOrPatternListPermission(
- userName, sourcePathList, PrivilegeType.READ_SCHEMA),
- sourcePathList,
- PrivilegeType.READ_SCHEMA);
- }
-
- if (status.getCode() == TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
- return AuthorityChecker.getTSStatus(
- AuthorityChecker.checkFullPathOrPatternListPermission(
- userName, getTargetPathList(), PrivilegeType.WRITE_SCHEMA),
- getTargetPathList(),
- PrivilegeType.WRITE_SCHEMA);
- }
- return status;
- }
-
public ViewPaths getTargetPaths() {
return targetPaths;
}
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/view/CreateLogicalViewStatement.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/view/CreateLogicalViewStatement.java
index 70d5ade4c24..a69f763e1eb 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/view/CreateLogicalViewStatement.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/view/CreateLogicalViewStatement.java
@@ -19,12 +19,8 @@
package org.apache.iotdb.db.queryengine.plan.statement.metadata.view;
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
-import org.apache.iotdb.commons.auth.entity.PrivilegeType;
-import org.apache.iotdb.commons.conf.IoTDBConstant;
import org.apache.iotdb.commons.path.PartialPath;
import org.apache.iotdb.commons.schema.view.viewExpression.ViewExpression;
-import org.apache.iotdb.db.auth.AuthorityChecker;
import org.apache.iotdb.db.exception.metadata.view.UnsupportedViewException;
import org.apache.iotdb.db.exception.sql.SemanticException;
import org.apache.iotdb.db.queryengine.plan.analyze.SelectIntoUtils;
@@ -38,14 +34,12 @@ import org.apache.iotdb.db.queryengine.plan.statement.component.IntoItem;
import org.apache.iotdb.db.queryengine.plan.statement.crud.QueryStatement;
import org.apache.iotdb.db.schemaengine.schemaregion.view.ViewPathType;
import org.apache.iotdb.db.schemaengine.schemaregion.view.ViewPaths;
-import org.apache.iotdb.rpc.TSStatusCode;
import org.apache.tsfile.utils.Pair;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
-import java.util.Objects;
/** CREATE LOGICAL VIEW statement. */
public class CreateLogicalViewStatement extends Statement {
@@ -76,48 +70,6 @@ public class CreateLogicalViewStatement extends Statement {
return this.getTargetPathList();
}
- @Override
- public TSStatus checkPermissionBeforeProcess(String userName) {
- if (AuthorityChecker.SUPER_USER.equals(userName)) {
- return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
- }
- TSStatus status = new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
- List<PartialPath> sourcePathList = sourcePaths.fullPathList;
- if (sourcePathList != null) {
- status =
- AuthorityChecker.getTSStatus(
- AuthorityChecker.checkFullPathOrPatternListPermission(
- userName, sourcePathList, PrivilegeType.READ_SCHEMA),
- sourcePathList,
- PrivilegeType.READ_SCHEMA);
- }
- if (queryStatement != null && status.getCode() == TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
- sourcePathList = queryStatement.getPaths();
- status =
- AuthorityChecker.getTSStatus(
- AuthorityChecker.checkFullPathOrPatternListPermission(
- userName, sourcePathList, PrivilegeType.READ_SCHEMA),
- sourcePathList,
- PrivilegeType.READ_SCHEMA);
- }
-
- final List<PartialPath> paths =
- Objects.nonNull(getTargetPathList())
- ? getTargetPathList()
- : Collections.singletonList(
- batchGenerationItem
- .getIntoDevice()
- .concatNode(IoTDBConstant.ONE_LEVEL_PATH_WILDCARD));
- if (status.getCode() == TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
- return AuthorityChecker.getTSStatus(
- AuthorityChecker.checkFullPathOrPatternListPermission(
- userName, paths, PrivilegeType.WRITE_SCHEMA),
- paths,
- PrivilegeType.WRITE_SCHEMA);
- }
- return status;
- }
-
public ViewPaths getTargetPaths() {
return targetPaths;
}
@@ -239,6 +191,10 @@ public class CreateLogicalViewStatement extends Statement {
}
}
+ public IntoItem getBatchGenerationItem() {
+ return batchGenerationItem;
+ }
+
// endregion
// region Interfaces for checking
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/view/DeleteLogicalViewStatement.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/view/DeleteLogicalViewStatement.java
index 38e67b6e868..f09ab0829f2 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/view/DeleteLogicalViewStatement.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/view/DeleteLogicalViewStatement.java
@@ -19,16 +19,12 @@
package org.apache.iotdb.db.queryengine.plan.statement.metadata.view;
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
-import org.apache.iotdb.commons.auth.entity.PrivilegeType;
import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.auth.AuthorityChecker;
import org.apache.iotdb.db.queryengine.plan.analyze.QueryType;
import org.apache.iotdb.db.queryengine.plan.statement.IConfigStatement;
import org.apache.iotdb.db.queryengine.plan.statement.Statement;
import org.apache.iotdb.db.queryengine.plan.statement.StatementType;
import org.apache.iotdb.db.queryengine.plan.statement.StatementVisitor;
-import org.apache.iotdb.rpc.TSStatusCode;
import java.util.List;
@@ -50,19 +46,6 @@ public class DeleteLogicalViewStatement extends Statement implements IConfigStat
return pathPatternList;
}
- @Override
- public TSStatus checkPermissionBeforeProcess(String userName) {
- if (AuthorityChecker.SUPER_USER.equals(userName)) {
- return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
- }
- List<PartialPath> checkedPaths = getPaths();
- return AuthorityChecker.getTSStatus(
- AuthorityChecker.checkFullPathOrPatternListPermission(
- userName, checkedPaths, PrivilegeType.WRITE_SCHEMA),
- checkedPaths,
- PrivilegeType.WRITE_SCHEMA);
- }
-
public List<PartialPath> getPathPatternList() {
return pathPatternList;
}
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/sys/AuthorStatement.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/sys/AuthorStatement.java
index 1cc2b3d499c..ae775d8ebeb 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/sys/AuthorStatement.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/sys/AuthorStatement.java
@@ -20,10 +20,8 @@
package org.apache.iotdb.db.queryengine.plan.statement.sys;
import org.apache.iotdb.common.rpc.thrift.TSStatus;
-import org.apache.iotdb.commons.auth.entity.PrivilegeType;
import org.apache.iotdb.commons.path.PartialPath;
import org.apache.iotdb.commons.utils.CommonDateTimeUtils;
-import org.apache.iotdb.db.auth.AuthorityChecker;
import org.apache.iotdb.db.queryengine.plan.analyze.QueryType;
import org.apache.iotdb.db.queryengine.plan.statement.AuthorType;
import org.apache.iotdb.db.queryengine.plan.statement.IConfigStatement;
@@ -33,7 +31,6 @@ import org.apache.iotdb.db.queryengine.plan.statement.StatementVisitor;
import org.apache.iotdb.db.utils.DataNodeAuthUtils;
import org.apache.iotdb.rpc.RpcUtils;
import org.apache.iotdb.rpc.StatementExecutionException;
-import org.apache.iotdb.rpc.TSStatusCode;
import java.util.Collections;
import java.util.List;
@@ -218,138 +215,6 @@ public class AuthorStatement extends Statement implements IConfigStatement {
return nodeNameList != null ? nodeNameList : Collections.emptyList();
}
- @Override
- public TSStatus checkPermissionBeforeProcess(String userName) {
- switch (authorType) {
- case CREATE_USER:
- if (AuthorityChecker.SUPER_USER.equals(this.userName)) {
- return AuthorityChecker.getTSStatus(
- false, "Cannot create user has same name with admin user");
- }
- if (AuthorityChecker.SUPER_USER.equals(userName)) {
- return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
- }
- return AuthorityChecker.getTSStatus(
- AuthorityChecker.checkSystemPermission(userName, PrivilegeType.MANAGE_USER),
- PrivilegeType.MANAGE_USER);
-
- case UPDATE_USER:
- // users can change passwords of themselves
- if (AuthorityChecker.SUPER_USER.equals(userName) || this.userName.equals(userName)) {
- return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
- }
- return AuthorityChecker.getTSStatus(
- AuthorityChecker.checkSystemPermission(userName, PrivilegeType.MANAGE_USER),
- PrivilegeType.MANAGE_USER);
-
- case DROP_USER:
- if (AuthorityChecker.SUPER_USER.equals(this.userName) || this.userName.equals(userName)) {
- return AuthorityChecker.getTSStatus(false, "Cannot drop admin user or yourself");
- }
- if (AuthorityChecker.SUPER_USER.equals(userName)) {
- return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
- }
- return AuthorityChecker.getTSStatus(
- AuthorityChecker.checkSystemPermission(userName, PrivilegeType.MANAGE_USER),
- PrivilegeType.MANAGE_USER);
-
- case LIST_USER:
- if (AuthorityChecker.SUPER_USER.equals(userName)) {
- return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
- }
- return AuthorityChecker.getTSStatus(
- AuthorityChecker.checkSystemPermission(userName, PrivilegeType.MANAGE_USER),
- PrivilegeType.MANAGE_USER);
-
- case LIST_USER_PRIVILEGE:
- if (AuthorityChecker.SUPER_USER.equals(userName) || userName.equals(this.userName)) {
- return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
- }
- return AuthorityChecker.getTSStatus(
- AuthorityChecker.checkSystemPermission(userName, PrivilegeType.MANAGE_USER),
- PrivilegeType.MANAGE_USER);
-
- case LIST_ROLE_PRIVILEGE:
- if (AuthorityChecker.SUPER_USER.equals(userName)) {
- return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
- }
- if (!AuthorityChecker.checkRole(userName, roleName)) {
- return AuthorityChecker.getTSStatus(
- AuthorityChecker.checkSystemPermission(userName, PrivilegeType.MANAGE_ROLE),
- PrivilegeType.MANAGE_ROLE);
- } else {
- return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
- }
-
- case LIST_ROLE:
- if (AuthorityChecker.SUPER_USER.equals(userName)) {
- return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
- }
- if (this.userName != null && userName.equals(this.userName)) {
- return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
- } else {
- return AuthorityChecker.getTSStatus(
- AuthorityChecker.checkSystemPermission(userName, PrivilegeType.MANAGE_ROLE),
- PrivilegeType.MANAGE_ROLE);
- }
-
- case CREATE_ROLE:
- if (AuthorityChecker.SUPER_USER.equals(this.roleName)) {
- return AuthorityChecker.getTSStatus(
- false, "Cannot create role has same name with admin user");
- }
- case DROP_ROLE:
- case GRANT_USER_ROLE:
- case REVOKE_USER_ROLE:
- if (AuthorityChecker.SUPER_USER.equals(userName)) {
- return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
- }
- return AuthorityChecker.getTSStatus(
- AuthorityChecker.checkSystemPermission(userName, PrivilegeType.MANAGE_ROLE),
- PrivilegeType.MANAGE_ROLE);
-
- case REVOKE_USER:
- case GRANT_USER:
- case GRANT_ROLE:
- case REVOKE_ROLE:
- if (AuthorityChecker.SUPER_USER.equals(this.userName)) {
- return AuthorityChecker.getTSStatus(
- false, "Cannot grant/revoke privileges of admin user");
- }
- if (AuthorityChecker.SUPER_USER.equals(userName)) {
- return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
- }
-
- for (String s : privilegeList) {
- PrivilegeType privilegeType = PrivilegeType.valueOf(s.toUpperCase());
- if (privilegeType.isSystemPrivilege()) {
- if (!AuthorityChecker.checkSystemPermissionGrantOption(userName, privilegeType)) {
- return AuthorityChecker.getTSStatus(
- false,
- "Has no permission to execute "
- + authorType
- + ", please ensure you have these privileges and the grant option is TRUE when granted)");
- }
- } else if (privilegeType.isPathPrivilege()) {
- if (!AuthorityChecker.checkPathPermissionGrantOption(
- userName, privilegeType, nodeNameList)) {
- return AuthorityChecker.getTSStatus(
- false,
- "Has no permission to execute "
- + authorType
- + ", please ensure you have these privileges and the grant option is TRUE when granted)");
- }
- } else {
- return AuthorityChecker.getTSStatus(
- false, "Not support Relation statement in tree sql_dialect");
- }
- }
- return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
- default:
- throw new IllegalArgumentException("Unknown authorType: " + authorType);
- }
- }
-
/**
* Post-process when the statement is successfully executed.
*
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/sys/ExplainAnalyzeStatement.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/sys/ExplainAnalyzeStatement.java
index e7874c4e3e2..352ec1c4041 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/sys/ExplainAnalyzeStatement.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/sys/ExplainAnalyzeStatement.java
@@ -19,7 +19,6 @@
package org.apache.iotdb.db.queryengine.plan.statement.sys;
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
import org.apache.iotdb.commons.path.PartialPath;
import org.apache.iotdb.db.queryengine.plan.statement.Statement;
import org.apache.iotdb.db.queryengine.plan.statement.StatementType;
@@ -39,9 +38,6 @@ public class ExplainAnalyzeStatement extends Statement {
this.queryStatement = queryStatement;
}
- @Override
- public TSStatus checkPermissionBeforeProcess(String userName) {}
-
public QueryStatement getQueryStatement() {
return queryStatement;
}
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/load/converter/LoadConvertedInsertTabletStatementTSStatusVisitor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/load/converter/LoadConvertedInsertTabletStatementTSStatusVisitor.java
index a4b1c0385ed..a94c050e7ac 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/load/converter/LoadConvertedInsertTabletStatementTSStatusVisitor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/load/converter/LoadConvertedInsertTabletStatementTSStatusVisitor.java
@@ -52,7 +52,8 @@ public class LoadConvertedInsertTabletStatementTSStatusVisitor
return visitInsertBase(insertMultiTabletsStatement, context);
}
- private TSStatus visitInsertBase(
+ @Override
+ public TSStatus visitInsertBase(
final InsertBaseStatement insertBaseStatement, final TSStatus context) {
if (context.getCode() == TSStatusCode.SYSTEM_READ_ONLY.getStatusCode()
|| context.getCode() == TSStatusCode.WRITE_PROCESS_REJECT.getStatusCode()) {