This is an automated email from the ASF dual-hosted git repository. lancelly pushed a commit to branch new_data_type_query in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit a736232b49b2ca47996108b0c27d7d00eabf3da6 Author: lancelly <[email protected]> AuthorDate: Mon May 27 14:50:59 2024 +0800 fix last/first value with BLOB --- .../db/it/aggregation/IoTDBAggregationIT.java | 14 ++++----- .../protocol/thrift/impl/ClientRPCServiceImpl.java | 10 ++++-- .../AbstractSeriesAggregationScanOperator.java | 13 +++++--- .../AlignedSeriesAggregationScanOperator.java | 12 +++++--- .../source/SeriesAggregationScanOperator.java | 12 +++++--- .../plan/planner/OperatorTreeGenerator.java | 36 ++++++++++++++++++---- .../operator/AggregationOperatorTest.java | 6 ++-- .../AlignedSeriesAggregationScanOperatorTest.java | 3 +- .../operator/HorizontallyConcatOperatorTest.java | 6 ++-- .../execution/operator/LastQueryOperatorTest.java | 12 +++++--- .../operator/LastQuerySortOperatorTest.java | 12 +++++--- .../execution/operator/OperatorMemoryTest.java | 3 +- .../SeriesAggregationScanOperatorTest.java | 3 +- .../SlidingWindowAggregationOperatorTest.java | 3 +- .../operator/UpdateLastCacheOperatorTest.java | 3 +- 15 files changed, 104 insertions(+), 44 deletions(-) diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/aggregation/IoTDBAggregationIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/aggregation/IoTDBAggregationIT.java index 3857fd1d4b5..28998f057a4 100644 --- a/integration-test/src/test/java/org/apache/iotdb/db/it/aggregation/IoTDBAggregationIT.java +++ b/integration-test/src/test/java/org/apache/iotdb/db/it/aggregation/IoTDBAggregationIT.java @@ -348,8 +348,8 @@ public class IoTDBAggregationIT { public void firstTest() { String[] retArray = new String[] { - "0,2000,2000,2000.0,2000,2000,X2000,2000-01-01,1970-01-01T08:00:02.000+08:00", - "0,500,500,500.0,500,500,X0500,0500-01-01,500" + "0,2000,2000,2000.0,2000,2000,0x2000,2000-01-01,1970-01-01T08:00:02.000+08:00", + "0,500,500,500.0,500,500,0x0500,1500-01-01,1970-01-01T08:00:00.500+08:00" }; try (Connection connection = EnvFactory.getEnv().getConnection(); Statement statement = connection.createStatement()) { @@ -454,9 +454,9 @@ public class IoTDBAggregationIT { public void lastTest() { String[] retArray = new String[] { - "0,8499,8499.0,8499,X8499,8499-01-01,1970-01-01T08:00:08.499+08:00", - "0,1499,1499.0,1499,X1499,1499-01-01,1499", - "0,2200,2200.0,2200,X2200,2200-01-01,2200" + "0,8499,8499.0,8499,0x8499,8499-01-01,1970-01-01T08:00:08.499+08:00", + "0,1499,1499.0,1499,0x1499,1499-01-01,1970-01-01T08:00:01.499+08:00", + "0,2200,2200.0,2200,0x2200,2200-01-01,1970-01-01T08:00:02.200+08:00" }; try (Connection connection = EnvFactory.getEnv().getConnection(); Statement statement = connection.createStatement()) { @@ -599,7 +599,7 @@ public class IoTDBAggregationIT { @Test public void maxminTimeTest() { String[] retArray = - new String[] {"0,8499,500,8499,500,X8499,X0500,8499,1000,8499,500,8499,500", "0,2499,2000"}; + new String[] {"0,8499,500,8499,500,8499,500,8499,500,8499,500", "0,2499,2000"}; try (Connection connection = EnvFactory.getEnv().getConnection(); Statement statement = connection.createStatement()) { @@ -1123,7 +1123,7 @@ public class IoTDBAggregationIT { "true", "'" + i + "'", "X'0" + i + "'", - "'0" + i + "-01-01'", + "'1" + i + "-01-01'", i)); } else { statement.addBatch( diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/thrift/impl/ClientRPCServiceImpl.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/thrift/impl/ClientRPCServiceImpl.java index fb8fc40ba46..98c862f27b2 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/thrift/impl/ClientRPCServiceImpl.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/thrift/impl/ClientRPCServiceImpl.java @@ -709,7 +709,10 @@ public class ClientRPCServiceImpl implements IClientRPCServiceWithHandler { Collections.singletonList(aggregator), initTimeRangeIterator(groupByTimeParameter, true, true), groupByTimeParameter, - DEFAULT_MAX_TSBLOCK_SIZE_IN_BYTES); + DEFAULT_MAX_TSBLOCK_SIZE_IN_BYTES, + !TSDataType.BLOB.equals(dataType) + || (!TAggregationType.LAST_VALUE.equals(aggregationType) + && !TAggregationType.FIRST_VALUE.equals(aggregationType))); } else { path = new MeasurementPath(device, measurement, measurementSchema); operator = @@ -722,7 +725,10 @@ public class ClientRPCServiceImpl implements IClientRPCServiceWithHandler { Collections.singletonList(aggregator), initTimeRangeIterator(groupByTimeParameter, true, true), groupByTimeParameter, - DEFAULT_MAX_TSBLOCK_SIZE_IN_BYTES); + DEFAULT_MAX_TSBLOCK_SIZE_IN_BYTES, + !TSDataType.BLOB.equals(dataType) + || (!TAggregationType.LAST_VALUE.equals(aggregationType) + && !TAggregationType.FIRST_VALUE.equals(aggregationType))); } try { diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/AbstractSeriesAggregationScanOperator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/AbstractSeriesAggregationScanOperator.java index 30260d51b25..75fe64629e1 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/AbstractSeriesAggregationScanOperator.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/AbstractSeriesAggregationScanOperator.java @@ -68,6 +68,9 @@ public abstract class AbstractSeriesAggregationScanOperator extends AbstractData /** Time slice for one next call in total, shared by the inner methods of the next() method */ private long leftRuntimeOfOneNextCall; + /** Some special data types(like BLOB) cannot use statistics. */ + private final boolean canUseStatistics; + @SuppressWarnings("squid:S107") protected AbstractSeriesAggregationScanOperator( PlanNodeId sourceId, @@ -79,7 +82,8 @@ public abstract class AbstractSeriesAggregationScanOperator extends AbstractData boolean ascending, boolean outputEndTime, GroupByTimeParameter groupByTimeParameter, - long maxReturnSize) { + long maxReturnSize, + boolean canUseStatistics) { this.sourceId = sourceId; this.operatorContext = context; this.ascending = ascending; @@ -93,6 +97,7 @@ public abstract class AbstractSeriesAggregationScanOperator extends AbstractData (1L + subSensorSize) * TSFileDescriptor.getInstance().getConfig().getPageSizeInByte() * 3; this.maxReturnSize = maxReturnSize; this.outputEndTime = outputEndTime; + this.canUseStatistics = canUseStatistics; } @Override @@ -238,7 +243,7 @@ public abstract class AbstractSeriesAggregationScanOperator extends AbstractData // start stopwatch long start = System.nanoTime(); while (System.nanoTime() - start < leftRuntimeOfOneNextCall && seriesScanUtil.hasNextFile()) { - if (seriesScanUtil.canUseCurrentFileStatistics()) { + if (canUseStatistics && seriesScanUtil.canUseCurrentFileStatistics()) { Statistics fileTimeStatistics = seriesScanUtil.currentFileTimeStatistics(); if (fileTimeStatistics.getStartTime() > curTimeRange.getMax()) { if (ascending) { @@ -279,7 +284,7 @@ public abstract class AbstractSeriesAggregationScanOperator extends AbstractData // start stopwatch long start = System.nanoTime(); while (System.nanoTime() - start < leftRuntimeOfOneNextCall && seriesScanUtil.hasNextChunk()) { - if (seriesScanUtil.canUseCurrentChunkStatistics()) { + if (canUseStatistics && seriesScanUtil.canUseCurrentChunkStatistics()) { Statistics chunkTimeStatistics = seriesScanUtil.currentChunkTimeStatistics(); if (chunkTimeStatistics.getStartTime() > curTimeRange.getMax()) { if (ascending) { @@ -321,7 +326,7 @@ public abstract class AbstractSeriesAggregationScanOperator extends AbstractData long start = System.nanoTime(); try { while (System.nanoTime() - start < leftRuntimeOfOneNextCall && seriesScanUtil.hasNextPage()) { - if (seriesScanUtil.canUseCurrentPageStatistics()) { + if (canUseStatistics && seriesScanUtil.canUseCurrentPageStatistics()) { Statistics pageTimeStatistics = seriesScanUtil.currentPageTimeStatistics(); // There is no more eligible points in current time range if (pageTimeStatistics.getStartTime() > curTimeRange.getMax()) { diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/AlignedSeriesAggregationScanOperator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/AlignedSeriesAggregationScanOperator.java index 0333f90da3e..01bd90ad9ab 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/AlignedSeriesAggregationScanOperator.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/AlignedSeriesAggregationScanOperator.java @@ -50,7 +50,8 @@ public class AlignedSeriesAggregationScanOperator extends AbstractSeriesAggregat List<Aggregator> aggregators, ITimeRangeIterator timeRangeIterator, GroupByTimeParameter groupByTimeParameter, - long maxReturnSize) { + long maxReturnSize, + boolean canUseStatistics) { super( sourceId, context, @@ -61,7 +62,8 @@ public class AlignedSeriesAggregationScanOperator extends AbstractSeriesAggregat scanOrder.isAscending(), false, groupByTimeParameter, - maxReturnSize); + maxReturnSize, + canUseStatistics); } public AlignedSeriesAggregationScanOperator( @@ -74,7 +76,8 @@ public class AlignedSeriesAggregationScanOperator extends AbstractSeriesAggregat List<Aggregator> aggregators, ITimeRangeIterator timeRangeIterator, GroupByTimeParameter groupByTimeParameter, - long maxReturnSize) { + long maxReturnSize, + boolean canUseStatistics) { super( sourceId, context, @@ -85,7 +88,8 @@ public class AlignedSeriesAggregationScanOperator extends AbstractSeriesAggregat scanOrder.isAscending(), outputEndTime, groupByTimeParameter, - maxReturnSize); + maxReturnSize, + canUseStatistics); } @Override diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/SeriesAggregationScanOperator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/SeriesAggregationScanOperator.java index 741a2d225ee..2cf2e851071 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/SeriesAggregationScanOperator.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/SeriesAggregationScanOperator.java @@ -57,7 +57,8 @@ public class SeriesAggregationScanOperator extends AbstractSeriesAggregationScan List<Aggregator> aggregators, ITimeRangeIterator timeRangeIterator, GroupByTimeParameter groupByTimeParameter, - long maxReturnSize) { + long maxReturnSize, + boolean canUseStatistics) { super( sourceId, context, @@ -68,7 +69,8 @@ public class SeriesAggregationScanOperator extends AbstractSeriesAggregationScan scanOrder.isAscending(), false, groupByTimeParameter, - maxReturnSize); + maxReturnSize, + canUseStatistics); } public SeriesAggregationScanOperator( @@ -81,7 +83,8 @@ public class SeriesAggregationScanOperator extends AbstractSeriesAggregationScan List<Aggregator> aggregators, ITimeRangeIterator timeRangeIterator, GroupByTimeParameter groupByTimeParameter, - long maxReturnSize) { + long maxReturnSize, + boolean canUseStatistics) { super( sourceId, context, @@ -92,7 +95,8 @@ public class SeriesAggregationScanOperator extends AbstractSeriesAggregationScan scanOrder.isAscending(), outputEndTime, groupByTimeParameter, - maxReturnSize); + maxReturnSize, + canUseStatistics); } @Override diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/OperatorTreeGenerator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/OperatorTreeGenerator.java index 1c5e3f4ed5d..cc1da9b7ec4 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/OperatorTreeGenerator.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/OperatorTreeGenerator.java @@ -19,6 +19,7 @@ package org.apache.iotdb.db.queryengine.plan.planner; +import org.apache.iotdb.common.rpc.thrift.TAggregationType; import org.apache.iotdb.common.rpc.thrift.TEndPoint; import org.apache.iotdb.commons.path.AlignedPath; import org.apache.iotdb.commons.path.MeasurementPath; @@ -572,6 +573,10 @@ public class OperatorTreeGenerator extends PlanVisitor<Operator, LocalExecutionP context.getNextOperatorId(), node.getPlanNodeId(), SeriesAggregationScanOperator.class.getSimpleName()); + boolean canUseStatistics = + !TSDataType.BLOB.equals(node.getSeriesPath().getSeriesType()) + || (aggregationDescriptors.stream() + .noneMatch(o -> !judgeCanUseStatistics(o.getAggregationType(), TSDataType.BLOB))); SeriesAggregationScanOperator aggregateScanOperator = new SeriesAggregationScanOperator( node.getPlanNodeId(), @@ -583,7 +588,8 @@ public class OperatorTreeGenerator extends PlanVisitor<Operator, LocalExecutionP aggregators, timeRangeIterator, node.getGroupByTimeParameter(), - maxReturnSize); + maxReturnSize, + canUseStatistics); ((DataDriverContext) context.getDriverContext()).addSourceOperator(aggregateScanOperator); ((DataDriverContext) context.getDriverContext()).addPath(seriesPath); @@ -597,6 +603,7 @@ public class OperatorTreeGenerator extends PlanVisitor<Operator, LocalExecutionP AlignedPath seriesPath = node.getAlignedPath(); boolean ascending = node.getScanOrder() == Ordering.ASC; List<Aggregator> aggregators = new ArrayList<>(); + boolean canUseStatistics = true; for (AggregationDescriptor descriptor : node.getAggregationDescriptorList()) { checkArgument( descriptor.getInputExpressions().size() == 1, @@ -610,6 +617,9 @@ public class OperatorTreeGenerator extends PlanVisitor<Operator, LocalExecutionP int seriesIndex = seriesPath.getMeasurementList().indexOf(inputSeries); TSDataType seriesDataType = seriesPath.getMeasurementSchema().getSubMeasurementsTSDataTypeList().get(seriesIndex); + if (!judgeCanUseStatistics(descriptor.getAggregationType(), seriesDataType)) { + canUseStatistics = false; + } aggregators.add( new Aggregator( AccumulatorFactory.createAccumulator( @@ -683,7 +693,8 @@ public class OperatorTreeGenerator extends PlanVisitor<Operator, LocalExecutionP aggregators, timeRangeIterator, groupByTimeParameter, - maxReturnSize); + maxReturnSize, + canUseStatistics); ((DataDriverContext) context.getDriverContext()) .addSourceOperator(seriesAggregationScanOperator); @@ -692,6 +703,13 @@ public class OperatorTreeGenerator extends PlanVisitor<Operator, LocalExecutionP return seriesAggregationScanOperator; } + private boolean judgeCanUseStatistics( + final TAggregationType aggregationType, final TSDataType seriesType) { + return !TSDataType.BLOB.equals(seriesType) + || (!TAggregationType.LAST_VALUE.equals(aggregationType) + && !TAggregationType.FIRST_VALUE.equals(aggregationType)); + } + private SeriesScanOptions.Builder getSeriesScanOptionsBuilder(LocalExecutionPlanContext context) { SeriesScanOptions.Builder scanOptionsBuilder = new SeriesScanOptions.Builder(); @@ -2640,7 +2658,8 @@ public class OperatorTreeGenerator extends PlanVisitor<Operator, LocalExecutionP aggregators, timeRangeIterator, null, - maxReturnSize); + maxReturnSize, + !TSDataType.BLOB.equals(seriesPath.getSeriesType())); ((DataDriverContext) context.getDriverContext()) .addSourceOperator(seriesAggregationScanOperator); ((DataDriverContext) context.getDriverContext()).addPath(seriesPath); @@ -2651,9 +2670,13 @@ public class OperatorTreeGenerator extends PlanVisitor<Operator, LocalExecutionP AlignedLastQueryScanNode node, AlignedPath unCachedPath, LocalExecutionPlanContext context) { // last_time, last_value List<Aggregator> aggregators = new ArrayList<>(); + boolean canUseStatistics = true; for (int i = 0; i < unCachedPath.getMeasurementList().size(); i++) { - aggregators.addAll( - LastQueryUtil.createAggregators(unCachedPath.getSchemaList().get(i).getType(), i)); + TSDataType dataType = unCachedPath.getSchemaList().get(i).getType(); + aggregators.addAll(LastQueryUtil.createAggregators(dataType, i)); + if (TSDataType.BLOB.equals(dataType)) { + canUseStatistics = false; + } } ITimeRangeIterator timeRangeIterator = initTimeRangeIterator(null, false, false); long maxReturnSize = calculateMaxAggregationResultSizeForLastQuery(aggregators); @@ -2679,7 +2702,8 @@ public class OperatorTreeGenerator extends PlanVisitor<Operator, LocalExecutionP aggregators, timeRangeIterator, null, - maxReturnSize); + maxReturnSize, + canUseStatistics); ((DataDriverContext) context.getDriverContext()) .addSourceOperator(seriesAggregationScanOperator); ((DataDriverContext) context.getDriverContext()).addPath(unCachedPath); diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/AggregationOperatorTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/AggregationOperatorTest.java index f7e24558be8..fc9fab2c79d 100644 --- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/AggregationOperatorTest.java +++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/AggregationOperatorTest.java @@ -342,7 +342,8 @@ public class AggregationOperatorTest { aggregators, initTimeRangeIterator(groupByTimeParameter, true, true), groupByTimeParameter, - DEFAULT_MAX_TSBLOCK_SIZE_IN_BYTES); + DEFAULT_MAX_TSBLOCK_SIZE_IN_BYTES, + true); List<TsFileResource> seqResources1 = new ArrayList<>(); List<TsFileResource> unSeqResources1 = new ArrayList<>(); @@ -366,7 +367,8 @@ public class AggregationOperatorTest { aggregators, initTimeRangeIterator(groupByTimeParameter, true, true), groupByTimeParameter, - DEFAULT_MAX_TSBLOCK_SIZE_IN_BYTES); + DEFAULT_MAX_TSBLOCK_SIZE_IN_BYTES, + true); List<TsFileResource> seqResources2 = new ArrayList<>(); List<TsFileResource> unSeqResources2 = new ArrayList<>(); diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/AlignedSeriesAggregationScanOperatorTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/AlignedSeriesAggregationScanOperatorTest.java index 041621fd101..67f603f9746 100644 --- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/AlignedSeriesAggregationScanOperatorTest.java +++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/AlignedSeriesAggregationScanOperatorTest.java @@ -745,7 +745,8 @@ public class AlignedSeriesAggregationScanOperatorTest { aggregators, initTimeRangeIterator(groupByTimeParameter, ascending, true), groupByTimeParameter, - DEFAULT_MAX_TSBLOCK_SIZE_IN_BYTES); + DEFAULT_MAX_TSBLOCK_SIZE_IN_BYTES, + true); seriesAggregationScanOperator.initQueryDataSource( new QueryDataSource(seqResources, unSeqResources)); return seriesAggregationScanOperator; diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/HorizontallyConcatOperatorTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/HorizontallyConcatOperatorTest.java index c06bf2ff434..d85a5c45bff 100644 --- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/HorizontallyConcatOperatorTest.java +++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/HorizontallyConcatOperatorTest.java @@ -149,7 +149,8 @@ public class HorizontallyConcatOperatorTest { aggregators, initTimeRangeIterator(groupByTimeParameter, true, true), groupByTimeParameter, - DEFAULT_MAX_TSBLOCK_SIZE_IN_BYTES); + DEFAULT_MAX_TSBLOCK_SIZE_IN_BYTES, + true); seriesAggregationScanOperator1.initQueryDataSource( new QueryDataSource(seqResources, unSeqResources)); seriesAggregationScanOperator1 @@ -169,7 +170,8 @@ public class HorizontallyConcatOperatorTest { aggregators, initTimeRangeIterator(groupByTimeParameter, true, true), groupByTimeParameter, - DEFAULT_MAX_TSBLOCK_SIZE_IN_BYTES); + DEFAULT_MAX_TSBLOCK_SIZE_IN_BYTES, + true); seriesAggregationScanOperator2.initQueryDataSource( new QueryDataSource(seqResources, unSeqResources)); seriesAggregationScanOperator2 diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/LastQueryOperatorTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/LastQueryOperatorTest.java index 03c7402ab87..879585a033c 100644 --- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/LastQueryOperatorTest.java +++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/LastQueryOperatorTest.java @@ -146,7 +146,8 @@ public class LastQueryOperatorTest { aggregators1, initTimeRangeIterator(null, false, true), null, - DEFAULT_MAX_TSBLOCK_SIZE_IN_BYTES); + DEFAULT_MAX_TSBLOCK_SIZE_IN_BYTES, + true); seriesAggregationScanOperator1.initQueryDataSource( new QueryDataSource(seqResources, unSeqResources)); @@ -171,7 +172,8 @@ public class LastQueryOperatorTest { aggregators2, initTimeRangeIterator(null, false, true), null, - DEFAULT_MAX_TSBLOCK_SIZE_IN_BYTES); + DEFAULT_MAX_TSBLOCK_SIZE_IN_BYTES, + true); seriesAggregationScanOperator2.initQueryDataSource( new QueryDataSource(seqResources, unSeqResources)); @@ -273,7 +275,8 @@ public class LastQueryOperatorTest { aggregators1, initTimeRangeIterator(null, false, true), null, - DEFAULT_MAX_TSBLOCK_SIZE_IN_BYTES); + DEFAULT_MAX_TSBLOCK_SIZE_IN_BYTES, + true); seriesAggregationScanOperator1.initQueryDataSource( new QueryDataSource(seqResources, unSeqResources)); @@ -297,7 +300,8 @@ public class LastQueryOperatorTest { aggregators2, initTimeRangeIterator(null, false, true), null, - DEFAULT_MAX_TSBLOCK_SIZE_IN_BYTES); + DEFAULT_MAX_TSBLOCK_SIZE_IN_BYTES, + true); seriesAggregationScanOperator2.initQueryDataSource( new QueryDataSource(seqResources, unSeqResources)); diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/LastQuerySortOperatorTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/LastQuerySortOperatorTest.java index 6197254c4e5..4b1164b62a2 100644 --- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/LastQuerySortOperatorTest.java +++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/LastQuerySortOperatorTest.java @@ -147,7 +147,8 @@ public class LastQuerySortOperatorTest { aggregators1, initTimeRangeIterator(null, false, true), null, - DEFAULT_MAX_TSBLOCK_SIZE_IN_BYTES); + DEFAULT_MAX_TSBLOCK_SIZE_IN_BYTES, + true); seriesAggregationScanOperator1.initQueryDataSource( new QueryDataSource(seqResources, unSeqResources)); @@ -171,7 +172,8 @@ public class LastQuerySortOperatorTest { aggregators2, initTimeRangeIterator(null, false, true), null, - DEFAULT_MAX_TSBLOCK_SIZE_IN_BYTES); + DEFAULT_MAX_TSBLOCK_SIZE_IN_BYTES, + true); seriesAggregationScanOperator2.initQueryDataSource( new QueryDataSource(seqResources, unSeqResources)); @@ -273,7 +275,8 @@ public class LastQuerySortOperatorTest { aggregators1, initTimeRangeIterator(null, false, true), null, - DEFAULT_MAX_TSBLOCK_SIZE_IN_BYTES); + DEFAULT_MAX_TSBLOCK_SIZE_IN_BYTES, + true); seriesAggregationScanOperator1.initQueryDataSource( new QueryDataSource(seqResources, unSeqResources)); @@ -297,7 +300,8 @@ public class LastQuerySortOperatorTest { aggregators2, initTimeRangeIterator(null, false, true), null, - DEFAULT_MAX_TSBLOCK_SIZE_IN_BYTES); + DEFAULT_MAX_TSBLOCK_SIZE_IN_BYTES, + true); seriesAggregationScanOperator2.initQueryDataSource( new QueryDataSource(seqResources, unSeqResources)); diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/OperatorMemoryTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/OperatorMemoryTest.java index 94a98b19f90..52c5a71a46f 100644 --- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/OperatorMemoryTest.java +++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/OperatorMemoryTest.java @@ -1223,7 +1223,8 @@ public class OperatorMemoryTest { aggregators, timeRangeIterator, groupByTimeParameter, - maxReturnSize); + maxReturnSize, + true); } @Test diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/SeriesAggregationScanOperatorTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/SeriesAggregationScanOperatorTest.java index e799847d2d5..84b64112beb 100644 --- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/SeriesAggregationScanOperatorTest.java +++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/SeriesAggregationScanOperatorTest.java @@ -660,7 +660,8 @@ public class SeriesAggregationScanOperatorTest { aggregators, initTimeRangeIterator(groupByTimeParameter, ascending, true), groupByTimeParameter, - DEFAULT_MAX_TSBLOCK_SIZE_IN_BYTES); + DEFAULT_MAX_TSBLOCK_SIZE_IN_BYTES, + true); seriesAggregationScanOperator.initQueryDataSource( new QueryDataSource(seqResources, unSeqResources)); return seriesAggregationScanOperator; diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/SlidingWindowAggregationOperatorTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/SlidingWindowAggregationOperatorTest.java index 16cb6e0ab87..f894294104b 100644 --- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/SlidingWindowAggregationOperatorTest.java +++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/SlidingWindowAggregationOperatorTest.java @@ -259,7 +259,8 @@ public class SlidingWindowAggregationOperatorTest { aggregators, initTimeRangeIterator(groupByTimeParameter, ascending, true), groupByTimeParameter, - DEFAULT_MAX_TSBLOCK_SIZE_IN_BYTES); + DEFAULT_MAX_TSBLOCK_SIZE_IN_BYTES, + true); seriesAggregationScanOperator.initQueryDataSource( new QueryDataSource(seqResources, unSeqResources)); diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/UpdateLastCacheOperatorTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/UpdateLastCacheOperatorTest.java index c3b0ad8bbd0..f39d9157a51 100644 --- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/UpdateLastCacheOperatorTest.java +++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/UpdateLastCacheOperatorTest.java @@ -225,7 +225,8 @@ public class UpdateLastCacheOperatorTest { aggregators, initTimeRangeIterator(groupByTimeParameter, ascending, true), groupByTimeParameter, - DEFAULT_MAX_TSBLOCK_SIZE_IN_BYTES); + DEFAULT_MAX_TSBLOCK_SIZE_IN_BYTES, + true); seriesAggregationScanOperator.initQueryDataSource( new QueryDataSource(seqResources, unSeqResources));
