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.