This is an automated email from the ASF dual-hosted git repository. jackietien pushed a commit to branch change in repository https://gitbox.apache.org/repos/asf/tsfile.git
commit da4872d061d0fa409387e4c8330e7f9c158bd7ce Author: JackieTien97 <[email protected]> AuthorDate: Sun Jan 26 16:58:31 2025 +0800 Add more interface --- .mvn/develocity.xml | 2 +- .mvn/extensions.xml | 2 +- .../tsfile/file/metadata/AbstractAlignedChunkMetadata.java | 3 +++ .../org/apache/tsfile/file/metadata/AlignedChunkMetadata.java | 6 ++++++ .../apache/tsfile/file/metadata/TableDeviceChunkMetadata.java | 6 ++++++ .../main/java/org/apache/tsfile/read/TsFileSequenceReader.java | 10 +++++----- .../src/test/java/org/apache/tsfile/read/TsFileReaderTest.java | 6 +++--- .../read/reader/AlignedChunkReaderWithoutStatisticsTest.java | 6 +++--- 8 files changed, 28 insertions(+), 13 deletions(-) diff --git a/.mvn/develocity.xml b/.mvn/develocity.xml index 440f33159..f61a88ee7 100644 --- a/.mvn/develocity.xml +++ b/.mvn/develocity.xml @@ -47,4 +47,4 @@ <enabled>false</enabled> </remote> </buildCache> -</develocity> \ No newline at end of file +</develocity> diff --git a/.mvn/extensions.xml b/.mvn/extensions.xml index cb6afc647..1dd32d62d 100644 --- a/.mvn/extensions.xml +++ b/.mvn/extensions.xml @@ -30,4 +30,4 @@ <artifactId>common-custom-user-data-maven-extension</artifactId> <version>2.0.1</version> </extension> -</extensions> \ No newline at end of file +</extensions> diff --git a/java/tsfile/src/main/java/org/apache/tsfile/file/metadata/AbstractAlignedChunkMetadata.java b/java/tsfile/src/main/java/org/apache/tsfile/file/metadata/AbstractAlignedChunkMetadata.java index 4bbc28581..9183d6900 100644 --- a/java/tsfile/src/main/java/org/apache/tsfile/file/metadata/AbstractAlignedChunkMetadata.java +++ b/java/tsfile/src/main/java/org/apache/tsfile/file/metadata/AbstractAlignedChunkMetadata.java @@ -192,4 +192,7 @@ public abstract class AbstractAlignedChunkMetadata implements IChunkMetadata { public List<IChunkMetadata> getValueChunkMetadataList() { return valueChunkMetadataList; } + + public abstract AbstractAlignedChunkMetadata createNewChunkMetadata( + IChunkMetadata timeChunkMetadata, List<IChunkMetadata> valueChunkMetadataList); } diff --git a/java/tsfile/src/main/java/org/apache/tsfile/file/metadata/AlignedChunkMetadata.java b/java/tsfile/src/main/java/org/apache/tsfile/file/metadata/AlignedChunkMetadata.java index 81df89ca2..15e9fdb97 100644 --- a/java/tsfile/src/main/java/org/apache/tsfile/file/metadata/AlignedChunkMetadata.java +++ b/java/tsfile/src/main/java/org/apache/tsfile/file/metadata/AlignedChunkMetadata.java @@ -31,6 +31,12 @@ public class AlignedChunkMetadata extends AbstractAlignedChunkMetadata { super(timeChunkMetadata, valueChunkMetadataList); } + @Override + public AbstractAlignedChunkMetadata createNewChunkMetadata( + IChunkMetadata timeChunkMetadata, List<IChunkMetadata> valueChunkMetadataList) { + return new AlignedChunkMetadata(timeChunkMetadata, valueChunkMetadataList); + } + @Override public Statistics<? extends Serializable> getStatistics() { return valueChunkMetadataList.size() == 1 && valueChunkMetadataList.get(0) != null diff --git a/java/tsfile/src/main/java/org/apache/tsfile/file/metadata/TableDeviceChunkMetadata.java b/java/tsfile/src/main/java/org/apache/tsfile/file/metadata/TableDeviceChunkMetadata.java index 8daeffc5d..f84f10595 100644 --- a/java/tsfile/src/main/java/org/apache/tsfile/file/metadata/TableDeviceChunkMetadata.java +++ b/java/tsfile/src/main/java/org/apache/tsfile/file/metadata/TableDeviceChunkMetadata.java @@ -31,6 +31,12 @@ public class TableDeviceChunkMetadata extends AbstractAlignedChunkMetadata { super(timeChunkMetadata, valueChunkMetadataList); } + @Override + public AbstractAlignedChunkMetadata createNewChunkMetadata( + IChunkMetadata timeChunkMetadata, List<IChunkMetadata> valueChunkMetadataList) { + return new TableDeviceChunkMetadata(timeChunkMetadata, valueChunkMetadataList); + } + @Override public Statistics<? extends Serializable> getStatistics() { return timeChunkMetadata.getStatistics(); diff --git a/java/tsfile/src/main/java/org/apache/tsfile/read/TsFileSequenceReader.java b/java/tsfile/src/main/java/org/apache/tsfile/read/TsFileSequenceReader.java index 3961053bd..afd4e9c3f 100644 --- a/java/tsfile/src/main/java/org/apache/tsfile/read/TsFileSequenceReader.java +++ b/java/tsfile/src/main/java/org/apache/tsfile/read/TsFileSequenceReader.java @@ -41,8 +41,8 @@ import org.apache.tsfile.file.MetaMarker; import org.apache.tsfile.file.header.ChunkGroupHeader; import org.apache.tsfile.file.header.ChunkHeader; import org.apache.tsfile.file.header.PageHeader; +import org.apache.tsfile.file.metadata.AbstractAlignedChunkMetadata; import org.apache.tsfile.file.metadata.AbstractAlignedTimeSeriesMetadata; -import org.apache.tsfile.file.metadata.AlignedChunkMetadata; import org.apache.tsfile.file.metadata.AlignedTimeSeriesMetadata; import org.apache.tsfile.file.metadata.ChunkGroupMetadata; import org.apache.tsfile.file.metadata.ChunkMetadata; @@ -2579,7 +2579,7 @@ public class TsFileSequenceReader implements AutoCloseable { * * @param device device name */ - public List<AlignedChunkMetadata> getAlignedChunkMetadata( + public List<AbstractAlignedChunkMetadata> getAlignedChunkMetadata( IDeviceID device, boolean ignoreAllNullRows) throws IOException { readFileMetadata(); MetadataIndexNode deviceMetadataIndexNode = @@ -2611,7 +2611,7 @@ public class TsFileSequenceReader implements AutoCloseable { * @param metadataIndexNode the first measurement metadata index node of the device * @param ignoreAllNullRows ignore all null rows */ - public List<AlignedChunkMetadata> getAlignedChunkMetadataByMetadataIndexNode( + public List<AbstractAlignedChunkMetadata> getAlignedChunkMetadataByMetadataIndexNode( IDeviceID device, MetadataIndexNode metadataIndexNode, boolean ignoreAllNullRows) throws IOException { TimeseriesMetadata firstTimeseriesMetadata = getTimeColumnMetadata(metadataIndexNode); @@ -2672,9 +2672,9 @@ public class TsFileSequenceReader implements AutoCloseable { alignedTimeSeriesMetadata = new TableDeviceTimeSeriesMetadata(timeseriesMetadata, valueTimeseriesMetadataList); } - List<AlignedChunkMetadata> chunkMetadataList = new ArrayList<>(); + List<AbstractAlignedChunkMetadata> chunkMetadataList = new ArrayList<>(); for (IChunkMetadata chunkMetadata : readIChunkMetaDataList(alignedTimeSeriesMetadata)) { - chunkMetadataList.add((AlignedChunkMetadata) chunkMetadata); + chunkMetadataList.add((AbstractAlignedChunkMetadata) chunkMetadata); } return chunkMetadataList; } diff --git a/java/tsfile/src/test/java/org/apache/tsfile/read/TsFileReaderTest.java b/java/tsfile/src/test/java/org/apache/tsfile/read/TsFileReaderTest.java index 7353e59b9..a71718adc 100644 --- a/java/tsfile/src/test/java/org/apache/tsfile/read/TsFileReaderTest.java +++ b/java/tsfile/src/test/java/org/apache/tsfile/read/TsFileReaderTest.java @@ -23,7 +23,7 @@ import org.apache.tsfile.common.conf.TSFileConfig; import org.apache.tsfile.common.conf.TSFileDescriptor; import org.apache.tsfile.enums.TSDataType; import org.apache.tsfile.exception.write.WriteProcessException; -import org.apache.tsfile.file.metadata.AlignedChunkMetadata; +import org.apache.tsfile.file.metadata.AbstractAlignedChunkMetadata; import org.apache.tsfile.file.metadata.IChunkMetadata; import org.apache.tsfile.file.metadata.IDeviceID; import org.apache.tsfile.file.metadata.enums.CompressionType; @@ -539,9 +539,9 @@ public class TsFileReaderTest { String[] expected = new String[] {"s1", "s2", "s3", "s4"}; - List<AlignedChunkMetadata> chunkMetadataList = + List<AbstractAlignedChunkMetadata> chunkMetadataList = reader.getAlignedChunkMetadata(IDeviceID.Factory.DEFAULT_FACTORY.create("d1"), true); - AlignedChunkMetadata alignedChunkMetadata = chunkMetadataList.get(0); + AbstractAlignedChunkMetadata alignedChunkMetadata = chunkMetadataList.get(0); Assert.assertEquals("", alignedChunkMetadata.getTimeChunkMetadata().getMeasurementUid()); int i = 0; for (IChunkMetadata chunkMetadata : alignedChunkMetadata.getValueChunkMetadataList()) { diff --git a/java/tsfile/src/test/java/org/apache/tsfile/read/reader/AlignedChunkReaderWithoutStatisticsTest.java b/java/tsfile/src/test/java/org/apache/tsfile/read/reader/AlignedChunkReaderWithoutStatisticsTest.java index 7984e3e5e..f82f03949 100644 --- a/java/tsfile/src/test/java/org/apache/tsfile/read/reader/AlignedChunkReaderWithoutStatisticsTest.java +++ b/java/tsfile/src/test/java/org/apache/tsfile/read/reader/AlignedChunkReaderWithoutStatisticsTest.java @@ -22,7 +22,7 @@ package org.apache.tsfile.read.reader; import org.apache.tsfile.common.conf.TSFileDescriptor; import org.apache.tsfile.constant.TestConstant; import org.apache.tsfile.exception.write.WriteProcessException; -import org.apache.tsfile.file.metadata.AlignedChunkMetadata; +import org.apache.tsfile.file.metadata.AbstractAlignedChunkMetadata; import org.apache.tsfile.file.metadata.ChunkMetadata; import org.apache.tsfile.file.metadata.IChunkMetadata; import org.apache.tsfile.file.metadata.IDeviceID.Factory; @@ -96,11 +96,11 @@ public class AlignedChunkReaderWithoutStatisticsTest { try (final TsFileSequenceReader tsFileSequenceReader = new TsFileSequenceReader(file.getPath())) { for (int i = 0; i < deviceNum; i++) { - final List<AlignedChunkMetadata> chunkMetadataList = + final List<AbstractAlignedChunkMetadata> chunkMetadataList = tsFileSequenceReader.getAlignedChunkMetadata( Factory.DEFAULT_FACTORY.create(testStorageGroup + PATH_SEPARATOR + "d1000" + i), true); - for (final AlignedChunkMetadata chunkMetadata : chunkMetadataList) { + for (final AbstractAlignedChunkMetadata chunkMetadata : chunkMetadataList) { Chunk timeChunk = tsFileSequenceReader.readMemChunk( (ChunkMetadata) chunkMetadata.getTimeChunkMetadata());
