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.