Class AbstractSeriesAggregationScanOperator

    • Field Detail

      • ascending

        protected final boolean ascending
      • isGroupByQuery

        protected final boolean isGroupByQuery
      • subSensorSize

        protected int subSensorSize
      • inputTsBlock

        protected org.apache.iotdb.tsfile.read.common.block.TsBlock inputTsBlock
      • curTimeRange

        protected org.apache.iotdb.tsfile.read.common.TimeRange curTimeRange
      • aggregators

        protected final java.util.List<Aggregator> aggregators
      • resultTsBlockBuilder

        protected final org.apache.iotdb.tsfile.read.common.block.TsBlockBuilder resultTsBlockBuilder
      • finished

        protected boolean finished
    • Method Detail

      • calculateMaxPeekMemory

        public long calculateMaxPeekMemory()
        Description copied from interface: Operator
        We should also consider the memory used by its children operator, so the calculation logic may be like: long estimatedOfCurrentOperator = XXXXX; return max(estimatedOfCurrentOperator, child1.calculateMaxPeekMemory(), child2.calculateMaxPeekMemory(), ....)

        Each operator's MaxPeekMemory should also take retained size of each child operator into account.

        Specified by:
        calculateMaxPeekMemory in interface Operator
        Returns:
        estimated max memory footprint that the Operator Tree(rooted from this operator) will use while doing its own query processing
      • calculateMaxReturnSize

        public long calculateMaxReturnSize()
        Specified by:
        calculateMaxReturnSize in interface Operator
        Returns:
        estimated max memory footprint for returned TsBlock when calling operator.next()
      • calculateRetainedSizeAfterCallingNext

        public long calculateRetainedSizeAfterCallingNext()
        Specified by:
        calculateRetainedSizeAfterCallingNext in interface Operator
        Returns:
        each operator's retained size(including all its children's retained size) after calling its next() method
      • hasNext

        public boolean hasNext()
        Specified by:
        hasNext in interface Operator
        Returns:
        true if the operator has more data, otherwise false
      • next

        public org.apache.iotdb.tsfile.read.common.block.TsBlock next()
        Description copied from interface: Operator
        Gets next tsBlock from this operator. If no data is currently available, return null.
        Specified by:
        next in interface Operator
      • isFinished

        public boolean isFinished()
        Description copied from interface: Operator
        Is this operator completely finished processing and no more output TsBlock will be produced.
        Specified by:
        isFinished in interface Operator
      • calculateNextAggregationResult

        protected void calculateNextAggregationResult()
      • updateResultTsBlock

        protected void updateResultTsBlock()
      • calcFromCachedData

        protected boolean calcFromCachedData()
      • calcFromStatistics

        protected void calcFromStatistics​(org.apache.iotdb.tsfile.file.metadata.statistics.Statistics[] statistics)
      • readAndCalcFromFile

        protected boolean readAndCalcFromFile()
                                       throws java.io.IOException
        Throws:
        java.io.IOException
      • readAndCalcFromChunk

        protected boolean readAndCalcFromChunk()
                                        throws java.io.IOException
        Throws:
        java.io.IOException
      • readAndCalcFromPage

        protected boolean readAndCalcFromPage()
                                       throws java.io.IOException
        Throws:
        java.io.IOException
      • canUseCurrentFileStatistics

        protected boolean canUseCurrentFileStatistics()
                                               throws java.io.IOException
        Throws:
        java.io.IOException
      • canUseCurrentChunkStatistics

        protected boolean canUseCurrentChunkStatistics()
                                                throws java.io.IOException
        Throws:
        java.io.IOException
      • canUseCurrentPageStatistics

        protected boolean canUseCurrentPageStatistics()
                                               throws java.io.IOException
        Throws:
        java.io.IOException