Class SeriesReader

  • Direct Known Subclasses:
    AlignedSeriesReader

    public class SeriesReader
    extends java.lang.Object
    • Field Detail

      • seriesPath

        protected final org.apache.iotdb.commons.path.PartialPath seriesPath
      • allSensors

        protected final java.util.Set<java.lang.String> allSensors
      • dataType

        protected final org.apache.iotdb.tsfile.file.metadata.enums.TSDataType dataType
      • timeFilter

        protected final org.apache.iotdb.tsfile.read.filter.basic.Filter timeFilter
      • valueFilter

        protected final org.apache.iotdb.tsfile.read.filter.basic.Filter valueFilter
      • curSeqFileIndex

        protected int curSeqFileIndex
      • curUnseqFileIndex

        protected int curUnseqFileIndex
      • firstTimeSeriesMetadata

        protected org.apache.iotdb.tsfile.file.metadata.ITimeSeriesMetadata firstTimeSeriesMetadata
      • seqTimeSeriesMetadata

        protected final java.util.List<org.apache.iotdb.tsfile.file.metadata.ITimeSeriesMetadata> seqTimeSeriesMetadata
      • unSeqTimeSeriesMetadata

        protected final java.util.PriorityQueue<org.apache.iotdb.tsfile.file.metadata.ITimeSeriesMetadata> unSeqTimeSeriesMetadata
      • firstChunkMetadata

        protected org.apache.iotdb.tsfile.file.metadata.IChunkMetadata firstChunkMetadata
      • cachedChunkMetadata

        protected final java.util.PriorityQueue<org.apache.iotdb.tsfile.file.metadata.IChunkMetadata> cachedChunkMetadata
      • firstPageReader

        protected org.apache.iotdb.db.query.reader.series.SeriesReader.VersionPageReader firstPageReader
      • seqPageReaders

        protected final java.util.List<org.apache.iotdb.db.query.reader.series.SeriesReader.VersionPageReader> seqPageReaders
      • unSeqPageReaders

        protected final java.util.PriorityQueue<org.apache.iotdb.db.query.reader.series.SeriesReader.VersionPageReader> unSeqPageReaders
      • hasCachedNextOverlappedPage

        protected boolean hasCachedNextOverlappedPage
      • cachedBatchData

        protected org.apache.iotdb.tsfile.read.common.BatchData cachedBatchData
    • Constructor Detail

      • SeriesReader

        public SeriesReader​(org.apache.iotdb.commons.path.PartialPath seriesPath,
                            java.util.Set<java.lang.String> allSensors,
                            org.apache.iotdb.tsfile.file.metadata.enums.TSDataType dataType,
                            QueryContext context,
                            QueryDataSource dataSource,
                            org.apache.iotdb.tsfile.read.filter.basic.Filter timeFilter,
                            org.apache.iotdb.tsfile.read.filter.basic.Filter valueFilter,
                            TsFileFilter fileFilter,
                            boolean ascending)
        Parameters:
        seriesPath - For querying aligned series, the seriesPath should be AlignedPath. All selected series belonging to one aligned device should be all in this one AlignedPath's measurementList.
        allSensors - For querying aligned series, allSensors are not used.
      • SeriesReader

        public SeriesReader​(org.apache.iotdb.commons.path.PartialPath seriesPath,
                            java.util.Set<java.lang.String> allSensors,
                            org.apache.iotdb.tsfile.file.metadata.enums.TSDataType dataType,
                            QueryContext context,
                            java.util.List<TsFileResource> seqFileResource,
                            java.util.List<TsFileResource> unseqFileResource,
                            org.apache.iotdb.tsfile.read.filter.basic.Filter timeFilter,
                            org.apache.iotdb.tsfile.read.filter.basic.Filter valueFilter,
                            boolean ascending)
    • Method Detail

      • isEmpty

        public boolean isEmpty()
                        throws java.io.IOException
        Throws:
        java.io.IOException
      • currentFileTimeStatistics

        public org.apache.iotdb.tsfile.file.metadata.statistics.Statistics currentFileTimeStatistics()
                                                                                              throws java.io.IOException
        Throws:
        java.io.IOException
      • unpackOneTimeSeriesMetadata

        protected void unpackOneTimeSeriesMetadata​(org.apache.iotdb.tsfile.file.metadata.ITimeSeriesMetadata timeSeriesMetadata)
                                            throws java.io.IOException
        Throws:
        java.io.IOException
      • tryToUnpackAllOverlappedFilesToTimeSeriesMetadata

        protected void tryToUnpackAllOverlappedFilesToTimeSeriesMetadata()
                                                                  throws java.io.IOException
        unpack all overlapped seq/unseq files and find the first TimeSeriesMetadata

        Because there may be too many files in the scenario used by the user, we cannot open all the chunks at once, which may cause OOM, so we can only unpack one file at a time when needed. This approach is likely to be ubiquitous, but it keeps the system running smoothly

        Throws:
        java.io.IOException
      • unpackAllOverlappedTsFilesToTimeSeriesMetadata

        protected void unpackAllOverlappedTsFilesToTimeSeriesMetadata​(long endpointTime)
                                                               throws java.io.IOException
        Throws:
        java.io.IOException
      • unpackSeqTsFileResource

        protected void unpackSeqTsFileResource()
                                        throws java.io.IOException
        Throws:
        java.io.IOException
      • unpackUnseqTsFileResource

        protected void unpackUnseqTsFileResource()
                                          throws java.io.IOException
        Throws:
        java.io.IOException
      • loadTimeSeriesMetadata

        protected org.apache.iotdb.tsfile.file.metadata.ITimeSeriesMetadata loadTimeSeriesMetadata​(TsFileResource resource,
                                                                                                   org.apache.iotdb.commons.path.PartialPath seriesPath,
                                                                                                   QueryContext context,
                                                                                                   org.apache.iotdb.tsfile.read.filter.basic.Filter filter,
                                                                                                   java.util.Set<java.lang.String> allSensors)
                                                                                            throws java.io.IOException
        Throws:
        java.io.IOException
      • getAnyFilter

        protected org.apache.iotdb.tsfile.read.filter.basic.Filter getAnyFilter()
      • getValueFilter

        public org.apache.iotdb.tsfile.read.filter.basic.Filter getValueFilter()