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

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


The following commit(s) were added to refs/heads/dev/1.3 by this push:
     new 2d0e1d357c3 [To dev/1.3] Fixed the NPE caused by view permission check 
(#15876)
2d0e1d357c3 is described below

commit 2d0e1d357c3976a4d901f645408311bc6e7b945d
Author: Caideyipi <[email protected]>
AuthorDate: Wed Jul 9 11:36:38 2025 +0800

    [To dev/1.3] Fixed the NPE caused by view permission check (#15876)
---
 .../statement/metadata/view/CreateLogicalViewStatement.java | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

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 e35e766d4a4..340c798ed8b 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
@@ -21,6 +21,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.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;
@@ -44,6 +45,7 @@ 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 {
@@ -99,11 +101,18 @@ public class CreateLogicalViewStatement extends Statement {
               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.checkFullPathListPermission(
-              userName, getTargetPathList(), 
PrivilegeType.WRITE_SCHEMA.ordinal()),
-          getTargetPathList(),
+              userName, paths, PrivilegeType.WRITE_SCHEMA.ordinal()),
+          paths,
           PrivilegeType.WRITE_SCHEMA);
     }
     return status;

Reply via email to