@Override
  public long ramBytesUsed() {
    return INSTANCE_SIZE
        + MemoryEstimationHelper.getEstimatedSizeOfAccountableObject(seriesScanUtil)
        + MemoryEstimationHelper.getEstimatedSizeOfAccountableObject(operatorContext)
        + MemoryEstimationHelper.getEstimatedSizeOfAccountableObject(sourceId)
        + (resultTsBlockBuilder == null ? 0 : resultTsBlockBuilder.getRetainedSizeInBytes());
  }
This operator is responsible to do the aggregation calculation for one series based on global
time range and time split parameter.

<p>Every time next() is invoked, one tsBlock which contains many time windows will be returned.
In sliding window situation, current time window is a pre-aggregation window. If there is no time
split parameter, i.e. aggregation without groupBy, just one tsBlock will be returned.
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/SeriesAggregationScanOperator.java