This is an automated email from the ASF dual-hosted git repository.

jackietien pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to refs/heads/master by this push:
     new fd1ba791919 Make show version can be used by anyone
fd1ba791919 is described below

commit fd1ba79191900274a50e031d17d61f237646231f
Author: Jackie Tien <[email protected]>
AuthorDate: Thu Oct 19 08:50:32 2023 +0800

    Make show version can be used by anyone
---
 .../org/apache/iotdb/db/it/auth/IoTDBSystemPermissionIT.java |  7 +++++--
 .../main/java/org/apache/iotdb/db/auth/AuthorityChecker.java | 12 +++++++-----
 .../queryengine/plan/statement/sys/ShowVersionStatement.java |  7 +++----
 3 files changed, 15 insertions(+), 11 deletions(-)

diff --git 
a/integration-test/src/test/java/org/apache/iotdb/db/it/auth/IoTDBSystemPermissionIT.java
 
b/integration-test/src/test/java/org/apache/iotdb/db/it/auth/IoTDBSystemPermissionIT.java
index ee1f144ed3c..1c98040fc01 100644
--- 
a/integration-test/src/test/java/org/apache/iotdb/db/it/auth/IoTDBSystemPermissionIT.java
+++ 
b/integration-test/src/test/java/org/apache/iotdb/db/it/auth/IoTDBSystemPermissionIT.java
@@ -60,6 +60,11 @@ public class IoTDBSystemPermissionIT {
     EnvFactory.getEnv().cleanClusterEnvironment();
   }
 
+  @Test
+  public void showVersionTest() {
+    executeQuery("show version", "test", "test123");
+  }
+
   @Test
   public void manageDataBaseTest() {
     assertNonQueryTestFail(
@@ -321,8 +326,6 @@ public class IoTDBSystemPermissionIT {
         "803: Only the admin user can perform this operation",
         "test",
         "test123");
-    assertTestFail(
-        "show version", "803: Only the admin user can perform this operation", 
"test", "test123");
     assertTestFail(
         "show regions", "803: Only the admin user can perform this operation", 
"test", "test123");
   }
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 d2504863776..5fe9f9fd613 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
@@ -57,6 +57,8 @@ public class AuthorityChecker {
 
   public static final String SUPER_USER = 
CommonDescriptor.getInstance().getConfig().getAdminName();
 
+  public static final TSStatus SUCCEED = new 
TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
+
   private static final String NO_PERMISSION_PROMOTION =
       "No permissions for this operation, please add privilege ";
 
@@ -112,19 +114,19 @@ public class AuthorityChecker {
 
   public static TSStatus getOptTSStatus(boolean hasGrantOpt, String errMsg) {
     return hasGrantOpt
-        ? new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode())
+        ? SUCCEED
         : new 
TSStatus(TSStatusCode.NOT_HAS_PRIVILEGE_GRANTOPT.getStatusCode()).setMessage(errMsg);
   }
 
   public static TSStatus getTSStatus(boolean hasPermission, String errMsg) {
     return hasPermission
-        ? new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode())
+        ? SUCCEED
         : new 
TSStatus(TSStatusCode.NO_PERMISSION.getStatusCode()).setMessage(errMsg);
   }
 
   public static TSStatus getTSStatus(boolean hasPermission, PrivilegeType 
neededPrivilege) {
     return hasPermission
-        ? new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode())
+        ? SUCCEED
         : new TSStatus(TSStatusCode.NO_PERMISSION.getStatusCode())
             .setMessage(NO_PERMISSION_PROMOTION + neededPrivilege);
   }
@@ -132,7 +134,7 @@ public class AuthorityChecker {
   public static TSStatus getTSStatus(
       boolean hasPermission, PartialPath path, PrivilegeType neededPrivilege) {
     return hasPermission
-        ? new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode())
+        ? SUCCEED
         : new TSStatus(TSStatusCode.NO_PERMISSION.getStatusCode())
             .setMessage(NO_PERMISSION_PROMOTION + neededPrivilege + " on " + 
path);
   }
@@ -142,7 +144,7 @@ public class AuthorityChecker {
       List<PartialPath> pathList,
       PrivilegeType neededPrivilege) {
     if (noPermissionIndexList == null || noPermissionIndexList.isEmpty()) {
-      return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
+      return SUCCEED;
     }
 
     StringBuilder prompt = new StringBuilder(NO_PERMISSION_PROMOTION);
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/sys/ShowVersionStatement.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/sys/ShowVersionStatement.java
index f9537118e5a..69825844311 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/sys/ShowVersionStatement.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/sys/ShowVersionStatement.java
@@ -20,10 +20,11 @@
 package org.apache.iotdb.db.queryengine.plan.statement.sys;
 
 import org.apache.iotdb.common.rpc.thrift.TSStatus;
-import org.apache.iotdb.db.auth.AuthorityChecker;
 import org.apache.iotdb.db.queryengine.plan.statement.StatementVisitor;
 import org.apache.iotdb.db.queryengine.plan.statement.metadata.ShowStatement;
 
+import static org.apache.iotdb.db.auth.AuthorityChecker.SUCCEED;
+
 public class ShowVersionStatement extends ShowStatement {
 
   public ShowVersionStatement() {
@@ -37,8 +38,6 @@ public class ShowVersionStatement extends ShowStatement {
 
   @Override
   public TSStatus checkPermissionBeforeProcess(String userName) {
-    return AuthorityChecker.getTSStatus(
-        AuthorityChecker.SUPER_USER.equals(userName),
-        "Only the admin user can perform this operation");
+    return SUCCEED;
   }
 }

Reply via email to