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

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

commit 5854babbcbeb3c71e38cbe61752f5dc460f889ec
Author: Caideyipi <[email protected]>
AuthorDate: Fri Nov 7 15:19:33 2025 +0800

    Solved the compilation problem
---
 .../it/schema/IoTDBAlterEncodingCompressorIT.java  | 10 -------
 .../treemodel/manual/IoTDBPipeInclusionIT.java     | 16 +++++-----
 .../receiver/protocol/IoTDBConfigNodeReceiver.java | 11 -------
 ...eConfigPhysicalPlanTreePatternParseVisitor.java |  2 +-
 .../schema/AlterEncodingCompressorProcedure.java   | 14 +++++----
 .../queryengine/plan/analyze/AnalyzeVisitor.java   |  2 +-
 .../metadata/AlterEncodingCompressorStatement.java | 34 ++++++++++++++++++++++
 7 files changed, 51 insertions(+), 38 deletions(-)

diff --git 
a/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBAlterEncodingCompressorIT.java
 
b/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBAlterEncodingCompressorIT.java
index 7c9495d16eb..9328808f60e 100644
--- 
a/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBAlterEncodingCompressorIT.java
+++ 
b/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBAlterEncodingCompressorIT.java
@@ -156,16 +156,6 @@ public class IoTDBAlterEncodingCompressorIT extends 
AbstractSchemaIT {
             e.getMessage());
       }
 
-      try {
-        statement.execute(
-            "alter timeSeries root.vehicle.wind.a, root.__audit.** set 
STORAGE_PROPERTIES encoding=PLAIN, compressor=LZMA2");
-        fail();
-      } catch (final SQLException e) {
-        Assert.assertEquals(
-            "803: 'AUDIT' permission is needed to alter the encoding and 
compressor of database root.__audit",
-            e.getMessage());
-      }
-
       try {
         statement.execute(
             "alter timeSeries if permitted root.vehicle.**, root.__audit.** 
set STORAGE_PROPERTIES encoding=GORILLA, compressor=GZIP");
diff --git 
a/integration-test/src/test/java/org/apache/iotdb/pipe/it/dual/treemodel/manual/IoTDBPipeInclusionIT.java
 
b/integration-test/src/test/java/org/apache/iotdb/pipe/it/dual/treemodel/manual/IoTDBPipeInclusionIT.java
index c4b42553912..47ab3ca764d 100644
--- 
a/integration-test/src/test/java/org/apache/iotdb/pipe/it/dual/treemodel/manual/IoTDBPipeInclusionIT.java
+++ 
b/integration-test/src/test/java/org/apache/iotdb/pipe/it/dual/treemodel/manual/IoTDBPipeInclusionIT.java
@@ -77,13 +77,12 @@ public class IoTDBPipeInclusionIT extends 
AbstractPipeDualTreeModelManualIT {
       if (!TestUtils.tryExecuteNonQueriesWithRetry(
           senderEnv,
           Arrays.asList(
-              // TODO: add database creation after the database auto creating 
on receiver can be
-              // banned
+              "create database root.ln",
               "create timeSeries root.ln.wf01.wt01.status with 
datatype=BOOLEAN,encoding=PLAIN",
               "ALTER timeSeries root.ln.wf01.wt01.status ADD TAGS tag3=v3",
               "ALTER timeSeries root.ln.wf01.wt01.status ADD ATTRIBUTES 
attr4=v4"),
           null)) {
-          return;
+        return;
       }
 
       TestUtils.assertDataEventuallyOnEnv(
@@ -95,10 +94,10 @@ public class IoTDBPipeInclusionIT extends 
AbstractPipeDualTreeModelManualIT {
 
       if (!TestUtils.tryExecuteNonQueriesWithRetry(
           senderEnv,
-              Arrays.asList(
-                      "ALTER timeSeries root.** set STORAGE_PROPERTIES 
compressor=ZSTD",
-                      "insert into root.ln.wf01.wt01(time, status) 
values(now(), false)",
-                      "flush"),
+          Arrays.asList(
+              "ALTER timeSeries root.** set STORAGE_PROPERTIES 
compressor=ZSTD",
+              "insert into root.ln.wf01.wt01(time, status) values(now(), 
false)",
+              "flush"),
           null)) {
         return;
       }
@@ -150,8 +149,7 @@ public class IoTDBPipeInclusionIT extends 
AbstractPipeDualTreeModelManualIT {
       if (!TestUtils.tryExecuteNonQueriesWithRetry(
           senderEnv,
           Arrays.asList(
-              // TODO: add database creation after the database auto creating 
on receiver can be
-              // banned
+              "create timeseries root.ln",
               "create timeseries root.ln.wf01.wt01.status with 
datatype=BOOLEAN,encoding=PLAIN",
               "ALTER timeseries root.ln.wf01.wt01.status ADD TAGS tag3=v3",
               "ALTER timeseries root.ln.wf01.wt01.status ADD ATTRIBUTES 
attr4=v4"),
diff --git 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/pipe/receiver/protocol/IoTDBConfigNodeReceiver.java
 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/pipe/receiver/protocol/IoTDBConfigNodeReceiver.java
index d746ceb76a3..8a143aa83e0 100644
--- 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/pipe/receiver/protocol/IoTDBConfigNodeReceiver.java
+++ 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/pipe/receiver/protocol/IoTDBConfigNodeReceiver.java
@@ -37,7 +37,6 @@ import 
org.apache.iotdb.commons.pipe.sink.payload.thrift.request.PipeTransferCom
 import 
org.apache.iotdb.commons.pipe.sink.payload.thrift.request.PipeTransferFileSealReqV1;
 import 
org.apache.iotdb.commons.pipe.sink.payload.thrift.request.PipeTransferFileSealReqV2;
 import org.apache.iotdb.commons.schema.column.ColumnHeaderConstant;
-import org.apache.iotdb.commons.schema.table.Audit;
 import org.apache.iotdb.commons.schema.table.TreeViewSchema;
 import org.apache.iotdb.commons.schema.table.TsTable;
 import org.apache.iotdb.commons.schema.table.column.TsTableColumnSchema;
@@ -345,13 +344,6 @@ public class IoTDBConfigNodeReceiver extends 
IoTDBFileReceiver {
             .getStatus();
       case PipeAlterEncodingCompressor:
         // Judge here in the future
-        if (configManager
-                .checkUserPrivileges(username, new 
PrivilegeUnion(PrivilegeType.AUDIT))
-                .getStatus()
-                .getCode()
-            != TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
-          ((PipeAlterEncodingCompressorPlan) plan).setMayAlterAudit(false);
-        }
         if (skipIfNoPrivileges.get()) {
           final PathPatternTree pathPatternTree =
               PathPatternTree.deserialize(
@@ -359,9 +351,6 @@ public class IoTDBConfigNodeReceiver extends 
IoTDBFileReceiver {
                       configManager
                           .fetchAuthizedPatternTree(username, 
PrivilegeType.WRITE_SCHEMA.ordinal())
                           .getPathPatternTree()));
-          if (((PipeAlterEncodingCompressorPlan) plan).isMayAlterAudit()) {
-            
pathPatternTree.appendPathPattern(Audit.TREE_MODEL_AUDIT_DATABASE_PATH_PATTERN, 
true);
-          }
           ((PipeAlterEncodingCompressorPlan) plan)
               .setPatternTreeBytes(
                   PathPatternTreeUtils.intersectWithFullPathPrefixTree(
diff --git 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/pipe/source/PipeConfigPhysicalPlanTreePatternParseVisitor.java
 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/pipe/source/PipeConfigPhysicalPlanTreePatternParseVisitor.java
index 8aa0ae42dab..c0e394d5a93 100644
--- 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/pipe/source/PipeConfigPhysicalPlanTreePatternParseVisitor.java
+++ 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/pipe/source/PipeConfigPhysicalPlanTreePatternParseVisitor.java
@@ -254,7 +254,7 @@ public class PipeConfigPhysicalPlanTreePatternParseVisitor
   @Override
   public Optional<ConfigPhysicalPlan> visitPipeAlterEncodingCompressor(
       final PipeAlterEncodingCompressorPlan pipeAlterEncodingCompressorPlan,
-      final UnionIoTDBTreePattern pattern) {
+      final IoTDBTreePattern pattern) {
     try {
       final PathPatternTree intersectedTree =
           pattern.getIntersection(
diff --git 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/schema/AlterEncodingCompressorProcedure.java
 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/schema/AlterEncodingCompressorProcedure.java
index e0f75722c9d..31f1a4f40eb 100644
--- 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/schema/AlterEncodingCompressorProcedure.java
+++ 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/schema/AlterEncodingCompressorProcedure.java
@@ -69,7 +69,9 @@ public class AlterEncodingCompressorProcedure
   private boolean ifExists;
   private byte encoding;
   private byte compressor;
-  private boolean mayAlterAudit;
+
+  // Reserved for potential upgrading
+  private boolean mayAlterAudit = false;
 
   private transient ByteBuffer patternTreeBytes;
   private transient String requestMessage;
@@ -149,7 +151,7 @@ public class AlterEncodingCompressorProcedure
 
   private boolean alterEncodingCompressorInSchemaRegion(final 
ConfigNodeProcedureEnv env) {
     final Map<TConsensusGroupId, TRegionReplicaSet> relatedSchemaRegionGroup =
-        env.getConfigManager().getRelatedSchemaRegionGroup(patternTree, 
mayAlterAudit);
+        env.getConfigManager().getRelatedSchemaRegionGroup(patternTree);
 
     if (relatedSchemaRegionGroup.isEmpty()) {
       if (!ifExists) {
@@ -167,7 +169,7 @@ public class AlterEncodingCompressorProcedure
     final DataNodeTSStatusTaskExecutor<TAlterEncodingCompressorReq> 
alterEncodingCompressorTask =
         new DataNodeTSStatusTaskExecutor<TAlterEncodingCompressorReq>(
             env,
-            env.getConfigManager().getRelatedSchemaRegionGroup(patternTree, 
mayAlterAudit),
+            env.getConfigManager().getRelatedSchemaRegionGroup(patternTree),
             false,
             CnToDnAsyncRequestType.ALTER_ENCODING_COMPRESSOR,
             ((dataNodeLocation, consensusGroupIdList) ->
@@ -237,9 +239,9 @@ public class AlterEncodingCompressorProcedure
                   isGeneratedByPipe
                       ? new PipeEnrichedPlan(
                           new PipeAlterEncodingCompressorPlan(
-                              patternTreeBytes, encoding, compressor, 
mayAlterAudit))
+                              patternTreeBytes, encoding, compressor, false))
                       : new PipeAlterEncodingCompressorPlan(
-                          patternTreeBytes, encoding, compressor, 
mayAlterAudit));
+                          patternTreeBytes, encoding, compressor, false));
     } catch (final ConsensusException e) {
       LOGGER.warn(ClusterManager.CONSENSUS_WRITE_ERROR, e);
       result = new 
TSStatus(TSStatusCode.EXECUTE_STATEMENT_ERROR.getStatusCode());
@@ -285,7 +287,7 @@ public class AlterEncodingCompressorProcedure
     ReadWriteIOUtils.write(ifExists, stream);
     ReadWriteIOUtils.write(encoding, stream);
     ReadWriteIOUtils.write(compressor, stream);
-    ReadWriteIOUtils.write(mayAlterAudit, stream);
+    ReadWriteIOUtils.write(false, stream);
   }
 
   @Override
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/AnalyzeVisitor.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/AnalyzeVisitor.java
index 5b7f653425c..fb4580a28ca 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/AnalyzeVisitor.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/AnalyzeVisitor.java
@@ -3172,7 +3172,7 @@ public class AnalyzeVisitor extends 
StatementVisitor<Analysis, MPPQueryContext>
   }
 
   @Override
-  public Analysis visitShowStorageGroup(
+  public Analysis visitShowDatabase(
       ShowDatabaseStatement showDatabaseStatement, MPPQueryContext context) {
     Analysis analysis = new Analysis();
     analysis.setRealStatement(showDatabaseStatement);
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/AlterEncodingCompressorStatement.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/AlterEncodingCompressorStatement.java
index a8dd88841a4..39fcdfba376 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/AlterEncodingCompressorStatement.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/AlterEncodingCompressorStatement.java
@@ -19,13 +19,20 @@
 
 package org.apache.iotdb.db.queryengine.plan.statement.metadata;
 
+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.PartialPath;
 import org.apache.iotdb.commons.path.PathPatternTree;
+import org.apache.iotdb.commons.path.PathPatternTreeUtils;
+import org.apache.iotdb.commons.utils.StatusUtils;
+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.tsfile.file.metadata.enums.CompressionType;
 import org.apache.tsfile.file.metadata.enums.TSEncoding;
@@ -33,6 +40,8 @@ import org.apache.tsfile.file.metadata.enums.TSEncoding;
 import java.util.List;
 import java.util.Objects;
 
+import static org.apache.iotdb.db.auth.AuthorityChecker.getAuthorizedPathTree;
+
 public class AlterEncodingCompressorStatement extends Statement implements 
IConfigStatement {
 
   private PathPatternTree patternTree;
@@ -40,6 +49,8 @@ public class AlterEncodingCompressorStatement extends 
Statement implements IConf
   private final CompressionType compressor;
   private final boolean ifExists;
   private final boolean ifPermitted;
+
+  // Reserved for upgrading
   private boolean withAudit = false;
 
   public AlterEncodingCompressorStatement(
@@ -109,6 +120,29 @@ public class AlterEncodingCompressorStatement extends 
Statement implements IConf
         && Objects.equals(this.ifPermitted, that.ifPermitted);
   }
 
+  @Override
+  public TSStatus checkPermissionBeforeProcess(String userName) {
+    if (AuthorityChecker.SUPER_USER.equals(userName)) {
+      return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
+    }
+    if (ifPermitted) {
+      try {
+        final PathPatternTree authTree =
+            getAuthorizedPathTree(userName, PrivilegeType.WRITE_SCHEMA);
+        setPatternTree(
+            
PathPatternTreeUtils.intersectWithFullPathPrefixTree(getPatternTree(), 
authTree));
+        return StatusUtils.OK;
+      } catch (final AuthException e) {
+        return new TSStatus(e.getCode().getStatusCode());
+      }
+    }
+    return AuthorityChecker.getTSStatus(
+        AuthorityChecker.checkFullPathOrPatternListPermission(
+            userName, getPaths(), PrivilegeType.WRITE_SCHEMA),
+        getPaths(),
+        PrivilegeType.WRITE_SCHEMA);
+  }
+
   @Override
   public int hashCode() {
     return Objects.hash(patternTree, encoding, compressor, ifExists, 
ifPermitted);

Reply via email to