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;
}
}