You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tsfile.apache.org by sh...@apache.org on 2026/10/08 10:42:26 UTC

(tsfile) branch removeIsTableModelMethod created (now db66409d5)

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

shuwenwei pushed a change to branch removeIsTableModelMethod
in repository https://gitbox.apache.org/repos/asf/tsfile.git


      at db66409d5 refactor: remove IDeviceID.isTableModel

This branch includes the following new commits:

     new db66409d5 refactor: remove IDeviceID.isTableModel

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



(tsfile) 01/01: refactor: remove IDeviceID.isTableModel

Posted by sh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

shuwenwei pushed a commit to branch removeIsTableModelMethod
in repository https://gitbox.apache.org/repos/asf/tsfile.git

commit db66409d5ae708f8461333e13b89a43098316698
Author: shuwenwei <s1...@gmail.com>
AuthorDate: Thu Oct 8 18:42:08 2026 +0800

    refactor: remove IDeviceID.isTableModel
    
    Use the table schema map to identify table-model writes when recording table point counts and sizes.
---
 .../main/java/org/apache/tsfile/file/metadata/IDeviceID.java   |  2 --
 .../java/org/apache/tsfile/file/metadata/PlainDeviceID.java    |  5 -----
 .../org/apache/tsfile/file/metadata/StringArrayDeviceID.java   |  6 ------
 .../java/org/apache/tsfile/write/writer/TsFileIOWriter.java    |  4 ++--
 .../java/org/apache/tsfile/file/metadata/IDeviceIDTest.java    | 10 ----------
 5 files changed, 2 insertions(+), 25 deletions(-)

diff --git a/java/tsfile/src/main/java/org/apache/tsfile/file/metadata/IDeviceID.java b/java/tsfile/src/main/java/org/apache/tsfile/file/metadata/IDeviceID.java
index d595ca659..85b90ccbe 100644
--- a/java/tsfile/src/main/java/org/apache/tsfile/file/metadata/IDeviceID.java
+++ b/java/tsfile/src/main/java/org/apache/tsfile/file/metadata/IDeviceID.java
@@ -46,8 +46,6 @@ public interface IDeviceID extends Comparable<IDeviceID>, Accountable, Serializa
 
   boolean isEmpty();
 
-  boolean isTableModel();
-
   /**
    * @return the table name associated with the device. For a path-DeviceId, like "root.a.b.c.d", it
    *     is converted according to a fixed rule, like assuming the first three levels ("root.a.b")
diff --git a/java/tsfile/src/main/java/org/apache/tsfile/file/metadata/PlainDeviceID.java b/java/tsfile/src/main/java/org/apache/tsfile/file/metadata/PlainDeviceID.java
index ccc8ce2c2..cc93350f1 100644
--- a/java/tsfile/src/main/java/org/apache/tsfile/file/metadata/PlainDeviceID.java
+++ b/java/tsfile/src/main/java/org/apache/tsfile/file/metadata/PlainDeviceID.java
@@ -110,11 +110,6 @@ public class PlainDeviceID implements IDeviceID {
     return deviceID.isEmpty();
   }
 
-  @Override
-  public boolean isTableModel() {
-    return false;
-  }
-
   @Override
   public long ramBytesUsed() {
     long size = INSTANCE_SIZE;
diff --git a/java/tsfile/src/main/java/org/apache/tsfile/file/metadata/StringArrayDeviceID.java b/java/tsfile/src/main/java/org/apache/tsfile/file/metadata/StringArrayDeviceID.java
index bc5233f08..ce42cbd41 100644
--- a/java/tsfile/src/main/java/org/apache/tsfile/file/metadata/StringArrayDeviceID.java
+++ b/java/tsfile/src/main/java/org/apache/tsfile/file/metadata/StringArrayDeviceID.java
@@ -37,7 +37,6 @@ import java.nio.ByteBuffer;
 import java.util.Arrays;
 import java.util.Objects;
 
-import static org.apache.tsfile.common.constant.TsFileConstant.PATH_ROOT;
 import static org.apache.tsfile.common.constant.TsFileConstant.PATH_SEPARATOR;
 
 public class StringArrayDeviceID implements IDeviceID {
@@ -222,11 +221,6 @@ public class StringArrayDeviceID implements IDeviceID {
     return segments == null || segments.length == 0;
   }
 
-  @Override
-  public boolean isTableModel() {
-    return !segments[0].startsWith(PATH_ROOT + PATH_SEPARATOR);
-  }
-
   @Override
   public String toString() {
     return String.join(PATH_SEPARATOR, segments);
diff --git a/java/tsfile/src/main/java/org/apache/tsfile/write/writer/TsFileIOWriter.java b/java/tsfile/src/main/java/org/apache/tsfile/write/writer/TsFileIOWriter.java
index 93ddec569..5e1d33c21 100644
--- a/java/tsfile/src/main/java/org/apache/tsfile/write/writer/TsFileIOWriter.java
+++ b/java/tsfile/src/main/java/org/apache/tsfile/write/writer/TsFileIOWriter.java
@@ -447,7 +447,7 @@ public class TsFileIOWriter implements AutoCloseable {
     chunkMetadataCount++;
     if (recordTablePointCount
         && currentChunkGroupDeviceId != null
-        && currentChunkGroupDeviceId.isTableModel()
+        && schema.getTableSchemaMap().containsKey(currentChunkGroupDeviceId.getTableName())
         && (currentChunkMetadata.getMask() & TsFileConstant.TIME_COLUMN_MASK) == 0) {
       tablePointCountMap.merge(
           currentChunkGroupDeviceId.getTableName(),
@@ -956,7 +956,7 @@ public class TsFileIOWriter implements AutoCloseable {
     // endFile
     boolean endFile = currentStartChunkGroupDeviceId == null;
     if (endFile
-        || (currentStartChunkGroupDeviceId.isTableModel()
+        || (schema.getTableSchemaMap().containsKey(currentStartChunkGroupDeviceId.getTableName())
             && !currentStartChunkGroupDeviceId.getTableName().equals(currentTable))) {
       if (currentTable != null) {
         long size = currentPosition - currentTableStartOffset;
diff --git a/java/tsfile/src/test/java/org/apache/tsfile/file/metadata/IDeviceIDTest.java b/java/tsfile/src/test/java/org/apache/tsfile/file/metadata/IDeviceIDTest.java
index 0fc02aa7f..29c8dd7f2 100644
--- a/java/tsfile/src/test/java/org/apache/tsfile/file/metadata/IDeviceIDTest.java
+++ b/java/tsfile/src/test/java/org/apache/tsfile/file/metadata/IDeviceIDTest.java
@@ -63,16 +63,6 @@ public class IDeviceIDTest {
     assertTrue(deviceID.startWith("root.a"));
   }
 
-  @Test
-  public void testIsTableModel() {
-    IDeviceID deviceID = Factory.DEFAULT_FACTORY.create("root.a.b.c.d");
-    assertFalse(deviceID.isTableModel());
-    deviceID = Factory.DEFAULT_FACTORY.create("root.b.c");
-    assertFalse(deviceID.isTableModel());
-    deviceID = Factory.DEFAULT_FACTORY.create("roota.b.c.d");
-    assertTrue(deviceID.isTableModel());
-  }
-
   @Test
   public void testMatchDatabaseName() {
     IDeviceID deviceID = Factory.DEFAULT_FACTORY.create("root.a.b.c.d");