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

jackietien pushed a commit to branch snapshot/2.1.0-250515-qxj
in repository https://gitbox.apache.org/repos/asf/tsfile.git


The following commit(s) were added to refs/heads/snapshot/2.1.0-250515-qxj by 
this push:
     new 233bf498 add constructor for DeviceTableModelWriter
233bf498 is described below

commit 233bf4985fd0d29245c904e703aa80a7641d7279
Author: shuwenwei <[email protected]>
AuthorDate: Fri May 30 12:12:26 2025 +0800

    add constructor for DeviceTableModelWriter
---
 .../tsfile/write/v4/AbstractTableModelTsFileWriter.java   | 15 ++++++++++++++-
 .../apache/tsfile/write/v4/DeviceTableModelWriter.java    |  7 +++++++
 2 files changed, 21 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 73321ad0..dadbf572 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,21 @@ abstract class AbstractTableModelTsFileWriter implements 
ITsFileWriter {
   @TsFileApi
   protected AbstractTableModelTsFileWriter(File file, long 
chunkGroupSizeThreshold)
       throws IOException {
+    this(new TsFileIOWriter(file), chunkGroupSizeThreshold);
+  }
+
+  @TsFileApi
+  protected AbstractTableModelTsFileWriter(TsFileOutput output, long 
chunkGroupSizeThreshold)
+      throws IOException {
+    this(new TsFileIOWriter(output), chunkGroupSizeThreshold);
+  }
+
+  @TsFileApi
+  protected 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