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

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


The following commit(s) were added to refs/heads/object_type by this push:
     new 81ee9c04 Extend DeviceTableModelWriter Construct Method For Internal 
Usage (#536)
81ee9c04 is described below

commit 81ee9c045bdb1ece07128839e78da3f00bba74c6
Author: ZhangHongYin <[email protected]>
AuthorDate: Mon Jul 7 14:55:19 2025 +0800

    Extend DeviceTableModelWriter Construct Method For Internal Usage (#536)
---
 .../tsfile/write/v4/AbstractTableModelTsFileWriter.java     | 13 ++++++++++++-
 .../org/apache/tsfile/write/v4/DeviceTableModelWriter.java  |  7 +++++++
 2 files changed, 19 insertions(+), 1 deletion(-)

diff --git 
a/java/tsfile/src/main/java/org/apache/tsfile/write/v4/AbstractTableModelTsFileWriter.java
 
b/java/tsfile/src/main/java/org/apache/tsfile/write/v4/AbstractTableModelTsFileWriter.java
index 92f4c102..341324eb 100644
--- 
a/java/tsfile/src/main/java/org/apache/tsfile/write/v4/AbstractTableModelTsFileWriter.java
+++ 
b/java/tsfile/src/main/java/org/apache/tsfile/write/v4/AbstractTableModelTsFileWriter.java
@@ -32,6 +32,7 @@ import 
org.apache.tsfile.write.chunk.NonAlignedChunkGroupWriterImpl;
 import org.apache.tsfile.write.chunk.TableChunkGroupWriterImpl;
 import org.apache.tsfile.write.schema.Schema;
 import org.apache.tsfile.write.writer.TsFileIOWriter;
+import org.apache.tsfile.write.writer.TsFileOutput;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -85,9 +86,19 @@ abstract class AbstractTableModelTsFileWriter implements 
ITsFileWriter {
   @TsFileApi
   protected AbstractTableModelTsFileWriter(File file, long 
chunkGroupSizeThreshold)
       throws IOException {
+    this(new TsFileIOWriter(file), chunkGroupSizeThreshold);
+  }
+
+  protected AbstractTableModelTsFileWriter(TsFileOutput output, long 
chunkGroupSizeThreshold)
+      throws IOException {
+    this(new TsFileIOWriter(output), chunkGroupSizeThreshold);
+  }
+
+  private AbstractTableModelTsFileWriter(
+      TsFileIOWriter tsFileIOWriter, long chunkGroupSizeThreshold) {
     Schema schema = new Schema();
     TSFileConfig conf = TSFileDescriptor.getInstance().getConfig();
-    this.fileWriter = new TsFileIOWriter(file);
+    this.fileWriter = tsFileIOWriter;
     fileWriter.setSchema(schema);
 
     this.pageSize = conf.getPageSizeInByte();
diff --git 
a/java/tsfile/src/main/java/org/apache/tsfile/write/v4/DeviceTableModelWriter.java
 
b/java/tsfile/src/main/java/org/apache/tsfile/write/v4/DeviceTableModelWriter.java
index 66fca2cf..40ba6549 100644
--- 
a/java/tsfile/src/main/java/org/apache/tsfile/write/v4/DeviceTableModelWriter.java
+++ 
b/java/tsfile/src/main/java/org/apache/tsfile/write/v4/DeviceTableModelWriter.java
@@ -31,6 +31,7 @@ import org.apache.tsfile.utils.Pair;
 import org.apache.tsfile.utils.WriteUtils;
 import org.apache.tsfile.write.record.Tablet;
 import org.apache.tsfile.write.schema.IMeasurementSchema;
+import org.apache.tsfile.write.writer.TsFileOutput;
 
 import java.io.File;
 import java.io.IOException;
@@ -48,6 +49,12 @@ public class DeviceTableModelWriter extends 
AbstractTableModelTsFileWriter {
     registerTableSchema(tableSchema);
   }
 
+  public DeviceTableModelWriter(
+      TsFileOutput tsFileOutput, TableSchema tableSchema, long 
memoryThreshold) throws IOException {
+    super(tsFileOutput, memoryThreshold);
+    registerTableSchema(tableSchema);
+  }
+
   /**
    * Write the tablet in to the TsFile with the table-view. The method will 
try to split the tablet
    * by device.

Reply via email to