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

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

commit 74cb02ac21009b5e7b82d2dd7870c571eca1ae26
Author: Tian Jiang <[email protected]>
AuthorDate: Wed Sep 23 16:17:10 2026 +0800

    tmp
---
 .../operator/source/AlignedSeriesScanUtil.java       |  9 ---------
 .../tablemodel/FlatDeviceCompactionTest.java         | 20 +++++++++-----------
 2 files changed, 9 insertions(+), 20 deletions(-)

diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/AlignedSeriesScanUtil.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/AlignedSeriesScanUtil.java
index 3907ca3029e..ea5f00a5ace 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/AlignedSeriesScanUtil.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/AlignedSeriesScanUtil.java
@@ -27,7 +27,6 @@ import 
org.apache.iotdb.db.storageengine.dataregion.read.reader.common.AlignedDe
 import 
org.apache.iotdb.db.storageengine.dataregion.read.reader.common.AlignedPriorityMergeReader;
 import 
org.apache.iotdb.db.storageengine.dataregion.read.reader.common.DescPriorityMergeReader;
 import 
org.apache.iotdb.db.storageengine.dataregion.read.reader.common.FlatDeviceDescPriorityMergeReader;
-import 
org.apache.iotdb.db.storageengine.dataregion.read.reader.common.FlatDevicePointReader;
 import 
org.apache.iotdb.db.storageengine.dataregion.read.reader.common.FlatDevicePriorityMergeReader;
 import 
org.apache.iotdb.db.storageengine.dataregion.read.reader.common.PriorityMergeReader;
 import org.apache.iotdb.db.storageengine.dataregion.tsfile.TsFileResource;
@@ -40,7 +39,6 @@ import org.apache.tsfile.read.reader.IPointReader;
 import org.apache.tsfile.write.schema.IMeasurementSchema;
 
 import java.io.IOException;
-import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
 import java.util.stream.Collectors;
@@ -146,13 +144,6 @@ public class AlignedSeriesScanUtil extends SeriesScanUtil {
 
   @Override
   protected IPointReader getPointReader(TsBlock tsBlock) {
-    if (rowKeyColumnIndices.length > 0) {
-      return new FlatDevicePointReader(
-          tsBlock,
-          dataTypes,
-          
Arrays.stream(rowKeyColumnIndices).boxed().collect(Collectors.toList()),
-          orderUtils.getAscending());
-    }
     return tsBlock.getTsBlockAlignedRowIterator();
   }
 
diff --git 
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/tablemodel/FlatDeviceCompactionTest.java
 
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/tablemodel/FlatDeviceCompactionTest.java
index 202f9ac7287..6f4da013a8e 100644
--- 
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/tablemodel/FlatDeviceCompactionTest.java
+++ 
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/tablemodel/FlatDeviceCompactionTest.java
@@ -132,22 +132,18 @@ public class FlatDeviceCompactionTest extends 
AbstractCompactionTest {
   public void 
testFastInnerUnseqCompactionWithEarlierRowsInNewerFlatDeviceFile() throws 
Exception {
     // File version order differs from time order. The newer file both 
backfills earlier data
     // and overwrites (3, a, x); (3, b, x) and (3, c, x) must remain distinct 
rows.
-    long[][] timestamps = {{3, 3, 4, 5}, {1, 3, 3, 6}};
-    String[][] firstTags = {{"a", "b", "a", "a"}, {"a", "a", "c", "a"}};
+    long[][] timestamps = {{3, 4, 5, 3}, {1, 3, 6, 3}};
+    String[][] firstTags = {{"a", "a", "a", "b"}, {"a", "a", "a", "c"}};
+    long[][] fields = {{10, 12, 13, 11}, {20, 21, 23, 22}};
     for (int file = 0; file < timestamps.length; file++) {
       TsFileResource source = createEmptyFileAndResource(false);
       unseqResources.add(source);
-      long fieldOffset = (file + 1) * 10L;
       try (CompactionTableModelTestFileWriter writer =
           new CompactionTableModelTestFileWriter(source)) {
         writer.registerFlatDeviceSchema("flat_table");
         writer.startChunkGroup("flat_table", Collections.emptyList());
         writer.generateFlatDeviceAlignedRows(
-            timestamps[file],
-            firstTags[file],
-            new long[] {fieldOffset, fieldOffset + 1, fieldOffset + 2, 
fieldOffset + 3},
-            new String[] {"x", "x", "x", "x"},
-            2);
+            timestamps[file], firstTags[file], fields[file], new String[] 
{"x", "x", "x", "x"}, 2);
         writer.endChunkGroup();
         writer.endFile();
       }
@@ -261,8 +257,8 @@ public class FlatDeviceCompactionTest extends 
AbstractCompactionTest {
       TsFileResource source = createEmptyFileAndResource(false);
       unseqResources.add(source);
       List<Long> keys = new ArrayList<>();
-      for (long time = file * 11L; time < file * 11L + timesPerFile; time++) {
-        for (int device = 0; device < deviceCount; device++) {
+      for (int device = 0; device < deviceCount; device++) {
+        for (long time = file * 11L; time < file * 11L + timesPerFile; time++) 
{
           // Deterministic gaps emulate unequal client progress without making 
a source unsorted.
           if (sparse && (time + device * 7L + file * 3L) % 13 < 5) {
             continue;
@@ -368,7 +364,9 @@ public class FlatDeviceCompactionTest extends 
AbstractCompactionTest {
         RepairDataFileScanUtil scan = new RepairDataFileScanUtil(resource);
         scan.scanTsFile(checkResource);
         Assert.assertFalse(scan.isBrokenFile());
-        Assert.assertEquals("m".equals(secondTag), 
scan.hasUnsortedDataOrWrongStatistics());
+        // Both a regressing TAG and a duplicate full row key violate 
TAG-first ordering.
+        Assert.assertEquals(
+            secondTag, "m".compareTo(secondTag) >= 0, 
scan.hasUnsortedDataOrWrongStatistics());
       }
     }
   }

Reply via email to