[Cleanup] Simplify the operator name for group-by (#9483)
diff --git a/pinot-core/src/main/java/org/apache/pinot/core/operator/combine/AggregationOnlyCombineOperator.java b/pinot-core/src/main/java/org/apache/pinot/core/operator/combine/AggregationCombineOperator.java
similarity index 89%
rename from pinot-core/src/main/java/org/apache/pinot/core/operator/combine/AggregationOnlyCombineOperator.java
rename to pinot-core/src/main/java/org/apache/pinot/core/operator/combine/AggregationCombineOperator.java
index 78f5d7c..6dbb6fd 100644
--- a/pinot-core/src/main/java/org/apache/pinot/core/operator/combine/AggregationOnlyCombineOperator.java
+++ b/pinot-core/src/main/java/org/apache/pinot/core/operator/combine/AggregationCombineOperator.java
@@ -27,13 +27,13 @@
/**
- * Combine operator for aggregation only queries.
+ * Combine operator for aggregation queries.
*/
@SuppressWarnings({"rawtypes", "unchecked"})
-public class AggregationOnlyCombineOperator extends BaseCombineOperator<AggregationResultsBlock> {
+public class AggregationCombineOperator extends BaseCombineOperator<AggregationResultsBlock> {
private static final String EXPLAIN_NAME = "COMBINE_AGGREGATE";
- public AggregationOnlyCombineOperator(List<Operator> operators, QueryContext queryContext,
+ public AggregationCombineOperator(List<Operator> operators, QueryContext queryContext,
ExecutorService executorService) {
super(operators, queryContext, executorService);
}
diff --git a/pinot-core/src/main/java/org/apache/pinot/core/operator/combine/GroupByOrderByCombineOperator.java b/pinot-core/src/main/java/org/apache/pinot/core/operator/combine/GroupByCombineOperator.java
similarity index 96%
rename from pinot-core/src/main/java/org/apache/pinot/core/operator/combine/GroupByOrderByCombineOperator.java
rename to pinot-core/src/main/java/org/apache/pinot/core/operator/combine/GroupByCombineOperator.java
index 19c7537..57bf20f 100644
--- a/pinot-core/src/main/java/org/apache/pinot/core/operator/combine/GroupByOrderByCombineOperator.java
+++ b/pinot-core/src/main/java/org/apache/pinot/core/operator/combine/GroupByCombineOperator.java
@@ -53,18 +53,18 @@
/**
- * Combine operator for aggregation group-by queries with SQL semantic.
+ * Combine operator for group-by queries.
* TODO: Use CombineOperatorUtils.getNumThreadsForQuery() to get the parallelism of the query instead of using
- * all threads
+ * all threads
*/
@SuppressWarnings("rawtypes")
-public class GroupByOrderByCombineOperator extends BaseCombineOperator<GroupByResultsBlock> {
+public class GroupByCombineOperator extends BaseCombineOperator<GroupByResultsBlock> {
public static final int MAX_TRIM_THRESHOLD = 1_000_000_000;
public static final int MAX_GROUP_BY_KEYS_MERGED_PER_INTERRUPTION_CHECK = 10_000;
- private static final Logger LOGGER = LoggerFactory.getLogger(GroupByOrderByCombineOperator.class);
+ private static final Logger LOGGER = LoggerFactory.getLogger(GroupByCombineOperator.class);
+ private static final String EXPLAIN_NAME = "COMBINE_GROUP_BY";
- private static final String EXPLAIN_NAME = "COMBINE_GROUPBY_ORDERBY";
private final int _trimSize;
private final int _trimThreshold;
private final int _numAggregationFunctions;
@@ -78,8 +78,7 @@
private volatile IndexedTable _indexedTable;
private volatile boolean _numGroupsLimitReached;
- public GroupByOrderByCombineOperator(List<Operator> operators, QueryContext queryContext,
- ExecutorService executorService) {
+ public GroupByCombineOperator(List<Operator> operators, QueryContext queryContext, ExecutorService executorService) {
super(operators, overrideMaxExecutionThreads(queryContext, operators.size()), executorService);
int minTrimSize = queryContext.getMinServerGroupTrimSize();
diff --git a/pinot-core/src/main/java/org/apache/pinot/core/operator/query/AggregationGroupByOrderByOperator.java b/pinot-core/src/main/java/org/apache/pinot/core/operator/query/GroupByOperator.java
similarity index 92%
rename from pinot-core/src/main/java/org/apache/pinot/core/operator/query/AggregationGroupByOrderByOperator.java
rename to pinot-core/src/main/java/org/apache/pinot/core/operator/query/GroupByOperator.java
index f238beb..463cc60 100644
--- a/pinot-core/src/main/java/org/apache/pinot/core/operator/query/AggregationGroupByOrderByOperator.java
+++ b/pinot-core/src/main/java/org/apache/pinot/core/operator/query/GroupByOperator.java
@@ -41,12 +41,11 @@
/**
- * The <code>AggregationGroupByOrderByOperator</code> class provides the operator for aggregation group-by query on a
- * single segment.
+ * The <code>GroupByOperator</code> class provides the operator for group-by query on a single segment.
*/
@SuppressWarnings("rawtypes")
-public class AggregationGroupByOrderByOperator extends BaseOperator<GroupByResultsBlock> {
- private static final String EXPLAIN_NAME = "AGGREGATE_GROUPBY_ORDERBY";
+public class GroupByOperator extends BaseOperator<GroupByResultsBlock> {
+ private static final String EXPLAIN_NAME = "GROUP_BY";
private final AggregationFunction[] _aggregationFunctions;
private final ExpressionContext[] _groupByExpressions;
@@ -58,9 +57,8 @@
private int _numDocsScanned = 0;
- public AggregationGroupByOrderByOperator(AggregationFunction[] aggregationFunctions,
- ExpressionContext[] groupByExpressions, TransformOperator transformOperator, long numTotalDocs,
- QueryContext queryContext, boolean useStarTree) {
+ public GroupByOperator(AggregationFunction[] aggregationFunctions, ExpressionContext[] groupByExpressions,
+ TransformOperator transformOperator, long numTotalDocs, QueryContext queryContext, boolean useStarTree) {
_aggregationFunctions = aggregationFunctions;
_groupByExpressions = groupByExpressions;
_transformOperator = transformOperator;
diff --git a/pinot-core/src/main/java/org/apache/pinot/core/plan/CombinePlanNode.java b/pinot-core/src/main/java/org/apache/pinot/core/plan/CombinePlanNode.java
index 0eb7056..77288e5 100644
--- a/pinot-core/src/main/java/org/apache/pinot/core/plan/CombinePlanNode.java
+++ b/pinot-core/src/main/java/org/apache/pinot/core/plan/CombinePlanNode.java
@@ -29,11 +29,11 @@
import javax.annotation.Nullable;
import org.apache.pinot.common.proto.Server;
import org.apache.pinot.core.common.Operator;
-import org.apache.pinot.core.operator.combine.AggregationOnlyCombineOperator;
+import org.apache.pinot.core.operator.combine.AggregationCombineOperator;
import org.apache.pinot.core.operator.combine.BaseCombineOperator;
import org.apache.pinot.core.operator.combine.CombineOperatorUtils;
import org.apache.pinot.core.operator.combine.DistinctCombineOperator;
-import org.apache.pinot.core.operator.combine.GroupByOrderByCombineOperator;
+import org.apache.pinot.core.operator.combine.GroupByCombineOperator;
import org.apache.pinot.core.operator.combine.SelectionOnlyCombineOperator;
import org.apache.pinot.core.operator.combine.SelectionOrderByCombineOperator;
import org.apache.pinot.core.operator.streaming.StreamingSelectionOnlyCombineOperator;
@@ -179,10 +179,10 @@
if (QueryContextUtils.isAggregationQuery(_queryContext)) {
if (_queryContext.getGroupByExpressions() == null) {
// Aggregation only
- return new AggregationOnlyCombineOperator(operators, _queryContext, _executorService);
+ return new AggregationCombineOperator(operators, _queryContext, _executorService);
} else {
// Aggregation group-by
- return new GroupByOrderByCombineOperator(operators, _queryContext, _executorService);
+ return new GroupByCombineOperator(operators, _queryContext, _executorService);
}
} else if (QueryContextUtils.isSelectionQuery(_queryContext)) {
if (_queryContext.getLimit() == 0 || _queryContext.getOrderByExpressions() == null) {
diff --git a/pinot-core/src/main/java/org/apache/pinot/core/plan/AggregationGroupByOrderByPlanNode.java b/pinot-core/src/main/java/org/apache/pinot/core/plan/GroupByPlanNode.java
similarity index 83%
rename from pinot-core/src/main/java/org/apache/pinot/core/plan/AggregationGroupByOrderByPlanNode.java
rename to pinot-core/src/main/java/org/apache/pinot/core/plan/GroupByPlanNode.java
index 594fe8e..2b5da78 100644
--- a/pinot-core/src/main/java/org/apache/pinot/core/plan/AggregationGroupByOrderByPlanNode.java
+++ b/pinot-core/src/main/java/org/apache/pinot/core/plan/GroupByPlanNode.java
@@ -23,7 +23,7 @@
import java.util.Set;
import org.apache.pinot.common.request.context.ExpressionContext;
import org.apache.pinot.core.operator.filter.BaseFilterOperator;
-import org.apache.pinot.core.operator.query.AggregationGroupByOrderByOperator;
+import org.apache.pinot.core.operator.query.GroupByOperator;
import org.apache.pinot.core.operator.transform.TransformOperator;
import org.apache.pinot.core.query.aggregation.function.AggregationFunction;
import org.apache.pinot.core.query.aggregation.function.AggregationFunctionUtils;
@@ -37,21 +37,20 @@
/**
- * The <code>AggregationGroupByOrderByPlanNode</code> class provides the execution plan for aggregation group-by
- * order-by query on a single segment.
+ * The <code>GroupByPlanNode</code> class provides the execution plan for group-by query on a single segment.
*/
@SuppressWarnings("rawtypes")
-public class AggregationGroupByOrderByPlanNode implements PlanNode {
+public class GroupByPlanNode implements PlanNode {
private final IndexSegment _indexSegment;
private final QueryContext _queryContext;
- public AggregationGroupByOrderByPlanNode(IndexSegment indexSegment, QueryContext queryContext) {
+ public GroupByPlanNode(IndexSegment indexSegment, QueryContext queryContext) {
_indexSegment = indexSegment;
_queryContext = queryContext;
}
@Override
- public AggregationGroupByOrderByOperator run() {
+ public GroupByOperator run() {
assert _queryContext.getAggregationFunctions() != null;
assert _queryContext.getGroupByExpressions() != null;
@@ -78,8 +77,8 @@
TransformOperator transformOperator =
new StarTreeTransformPlanNode(_queryContext, starTreeV2, aggregationFunctionColumnPairs,
groupByExpressions, predicateEvaluatorsMap).run();
- return new AggregationGroupByOrderByOperator(aggregationFunctions, groupByExpressions, transformOperator,
- numTotalDocs, _queryContext, true);
+ return new GroupByOperator(aggregationFunctions, groupByExpressions, transformOperator, numTotalDocs,
+ _queryContext, true);
}
}
}
@@ -91,7 +90,7 @@
TransformOperator transformPlanNode =
new TransformPlanNode(_indexSegment, _queryContext, expressionsToTransform, DocIdSetPlanNode.MAX_DOC_PER_CALL,
filterOperator).run();
- return new AggregationGroupByOrderByOperator(aggregationFunctions, groupByExpressions, transformPlanNode,
- numTotalDocs, _queryContext, false);
+ return new GroupByOperator(aggregationFunctions, groupByExpressions, transformPlanNode, numTotalDocs, _queryContext,
+ false);
}
}
diff --git a/pinot-core/src/main/java/org/apache/pinot/core/plan/maker/InstancePlanMakerImplV2.java b/pinot-core/src/main/java/org/apache/pinot/core/plan/maker/InstancePlanMakerImplV2.java
index 9ea0ce2..b0e660a 100644
--- a/pinot-core/src/main/java/org/apache/pinot/core/plan/maker/InstancePlanMakerImplV2.java
+++ b/pinot-core/src/main/java/org/apache/pinot/core/plan/maker/InstancePlanMakerImplV2.java
@@ -37,11 +37,11 @@
import org.apache.pinot.common.request.context.OrderByExpressionContext;
import org.apache.pinot.common.request.context.predicate.Predicate;
import org.apache.pinot.core.plan.AcquireReleaseColumnsSegmentPlanNode;
-import org.apache.pinot.core.plan.AggregationGroupByOrderByPlanNode;
import org.apache.pinot.core.plan.AggregationPlanNode;
import org.apache.pinot.core.plan.CombinePlanNode;
import org.apache.pinot.core.plan.DistinctPlanNode;
import org.apache.pinot.core.plan.GlobalPlanImplV0;
+import org.apache.pinot.core.plan.GroupByPlanNode;
import org.apache.pinot.core.plan.InstanceResponsePlanNode;
import org.apache.pinot.core.plan.Plan;
import org.apache.pinot.core.plan.PlanNode;
@@ -245,10 +245,10 @@
if (QueryContextUtils.isAggregationQuery(queryContext)) {
List<ExpressionContext> groupByExpressions = queryContext.getGroupByExpressions();
if (groupByExpressions != null) {
- // Aggregation group-by query
- return new AggregationGroupByOrderByPlanNode(indexSegment, queryContext);
+ // Group-by query
+ return new GroupByPlanNode(indexSegment, queryContext);
} else {
- // Aggregation only query
+ // Aggregation query
return new AggregationPlanNode(indexSegment, queryContext);
}
} else if (QueryContextUtils.isSelectionQuery(queryContext)) {
diff --git a/pinot-core/src/main/java/org/apache/pinot/core/query/reduce/GroupByDataTableReducer.java b/pinot-core/src/main/java/org/apache/pinot/core/query/reduce/GroupByDataTableReducer.java
index 1e2d6c1..0bf49c7 100644
--- a/pinot-core/src/main/java/org/apache/pinot/core/query/reduce/GroupByDataTableReducer.java
+++ b/pinot-core/src/main/java/org/apache/pinot/core/query/reduce/GroupByDataTableReducer.java
@@ -48,7 +48,7 @@
import org.apache.pinot.core.data.table.Record;
import org.apache.pinot.core.data.table.SimpleIndexedTable;
import org.apache.pinot.core.data.table.UnboundedConcurrentIndexedTable;
-import org.apache.pinot.core.operator.combine.GroupByOrderByCombineOperator;
+import org.apache.pinot.core.operator.combine.GroupByCombineOperator;
import org.apache.pinot.core.query.aggregation.function.AggregationFunction;
import org.apache.pinot.core.query.aggregation.function.AggregationFunctionUtils;
import org.apache.pinot.core.query.request.context.QueryContext;
@@ -241,7 +241,7 @@
if (numReduceThreadsToUse == 1) {
indexedTable = new SimpleIndexedTable(dataSchema, _queryContext, resultSize, trimSize, trimThreshold);
} else {
- if (trimThreshold >= GroupByOrderByCombineOperator.MAX_TRIM_THRESHOLD) {
+ if (trimThreshold >= GroupByCombineOperator.MAX_TRIM_THRESHOLD) {
// special case of trim threshold where it is set to max value.
// there won't be any trimming during upsert in this case.
// thus we can avoid the overhead of read-lock and write-lock
diff --git a/pinot-core/src/test/java/org/apache/pinot/core/operator/combine/CombineSlowOperatorsTest.java b/pinot-core/src/test/java/org/apache/pinot/core/operator/combine/CombineSlowOperatorsTest.java
index 4c42d84..10a06d2 100644
--- a/pinot-core/src/test/java/org/apache/pinot/core/operator/combine/CombineSlowOperatorsTest.java
+++ b/pinot-core/src/test/java/org/apache/pinot/core/operator/combine/CombineSlowOperatorsTest.java
@@ -93,8 +93,8 @@
List<Operator> operators = getOperators();
QueryContext queryContext = QueryContextConverterUtils.getQueryContext("SELECT COUNT(*) FROM testTable");
queryContext.setEndTimeMs(System.currentTimeMillis() + TIMEOUT_MS);
- AggregationOnlyCombineOperator combineOperator =
- new AggregationOnlyCombineOperator(operators, queryContext, _executorService);
+ AggregationCombineOperator combineOperator =
+ new AggregationCombineOperator(operators, queryContext, _executorService);
testCombineOperator(operators, combineOperator);
}
@@ -104,8 +104,7 @@
QueryContext queryContext =
QueryContextConverterUtils.getQueryContext("SELECT COUNT(*) FROM testTable GROUP BY column");
queryContext.setEndTimeMs(System.currentTimeMillis() + TIMEOUT_MS);
- GroupByOrderByCombineOperator combineOperator =
- new GroupByOrderByCombineOperator(operators, queryContext, _executorService);
+ GroupByCombineOperator combineOperator = new GroupByCombineOperator(operators, queryContext, _executorService);
testCombineOperator(operators, combineOperator);
}
@@ -158,8 +157,8 @@
List<Operator> operators = getOperators(ready, null);
QueryContext queryContext = QueryContextConverterUtils.getQueryContext("SELECT COUNT(*) FROM testTable");
queryContext.setEndTimeMs(System.currentTimeMillis() + 10000);
- AggregationOnlyCombineOperator combineOperator =
- new AggregationOnlyCombineOperator(operators, queryContext, _executorService);
+ AggregationCombineOperator combineOperator =
+ new AggregationCombineOperator(operators, queryContext, _executorService);
testCancelCombineOperator(combineOperator, ready, "Cancelled while merging results blocks");
}
@@ -170,8 +169,7 @@
QueryContext queryContext =
QueryContextConverterUtils.getQueryContext("SELECT COUNT(*) FROM testTable GROUP BY column");
queryContext.setEndTimeMs(System.currentTimeMillis() + 10000);
- GroupByOrderByCombineOperator combineOperator =
- new GroupByOrderByCombineOperator(operators, queryContext, _executorService);
+ GroupByCombineOperator combineOperator = new GroupByCombineOperator(operators, queryContext, _executorService);
testCancelCombineOperator(combineOperator, ready, "Cancelled while merging results blocks");
}
diff --git a/pinot-core/src/test/java/org/apache/pinot/core/plan/maker/MetadataAndDictionaryAggregationPlanMakerTest.java b/pinot-core/src/test/java/org/apache/pinot/core/plan/maker/MetadataAndDictionaryAggregationPlanMakerTest.java
index 4d92fd2..a887d37 100644
--- a/pinot-core/src/test/java/org/apache/pinot/core/plan/maker/MetadataAndDictionaryAggregationPlanMakerTest.java
+++ b/pinot-core/src/test/java/org/apache/pinot/core/plan/maker/MetadataAndDictionaryAggregationPlanMakerTest.java
@@ -28,9 +28,9 @@
import org.apache.commons.io.FileUtils;
import org.apache.pinot.common.metrics.ServerMetrics;
import org.apache.pinot.core.common.Operator;
-import org.apache.pinot.core.operator.query.AggregationGroupByOrderByOperator;
import org.apache.pinot.core.operator.query.AggregationOperator;
import org.apache.pinot.core.operator.query.FastFilteredCountOperator;
+import org.apache.pinot.core.operator.query.GroupByOperator;
import org.apache.pinot.core.operator.query.NonScanBasedAggregationOperator;
import org.apache.pinot.core.operator.query.SelectionOnlyOperator;
import org.apache.pinot.core.query.request.context.QueryContext;
@@ -203,8 +203,7 @@
});
// Aggregation group-by
entries.add(new Object[]{
- "select sum(column1) from testTable group by daysSinceEpoch", AggregationGroupByOrderByOperator.class,
- AggregationGroupByOrderByOperator.class
+ "select sum(column1) from testTable group by daysSinceEpoch", GroupByOperator.class, GroupByOperator.class
});
// COUNT from metadata, MIN from dictionary
entries.add(new Object[]{
@@ -212,8 +211,8 @@
});
// Aggregation group-by
entries.add(new Object[]{
- "select count(*),min(daysSinceEpoch) from testTable group by daysSinceEpoch",
- AggregationGroupByOrderByOperator.class, AggregationGroupByOrderByOperator.class
+ "select count(*),min(daysSinceEpoch) from testTable group by daysSinceEpoch", GroupByOperator.class,
+ GroupByOperator.class
});
return entries.toArray(new Object[entries.size()][]);
diff --git a/pinot-core/src/test/java/org/apache/pinot/core/query/aggregation/groupby/GroupByTrimTest.java b/pinot-core/src/test/java/org/apache/pinot/core/query/aggregation/groupby/GroupByTrimTest.java
index 63f7669..62236f3 100644
--- a/pinot-core/src/test/java/org/apache/pinot/core/query/aggregation/groupby/GroupByTrimTest.java
+++ b/pinot-core/src/test/java/org/apache/pinot/core/query/aggregation/groupby/GroupByTrimTest.java
@@ -32,9 +32,9 @@
import org.apache.pinot.core.data.table.Record;
import org.apache.pinot.core.data.table.Table;
import org.apache.pinot.core.operator.blocks.results.GroupByResultsBlock;
-import org.apache.pinot.core.operator.combine.GroupByOrderByCombineOperator;
-import org.apache.pinot.core.operator.query.AggregationGroupByOrderByOperator;
-import org.apache.pinot.core.plan.AggregationGroupByOrderByPlanNode;
+import org.apache.pinot.core.operator.combine.GroupByCombineOperator;
+import org.apache.pinot.core.operator.query.GroupByOperator;
+import org.apache.pinot.core.plan.GroupByPlanNode;
import org.apache.pinot.core.query.request.context.QueryContext;
import org.apache.pinot.core.query.request.context.utils.QueryContextConverterUtils;
import org.apache.pinot.segment.local.indexsegment.immutable.ImmutableSegmentLoader;
@@ -120,10 +120,9 @@
queryContext.setMinServerGroupTrimSize(minServerGroupTrimSize);
// Create a query operator
- AggregationGroupByOrderByOperator groupByOperator =
- new AggregationGroupByOrderByPlanNode(_indexSegment, queryContext).run();
- GroupByOrderByCombineOperator combineOperator =
- new GroupByOrderByCombineOperator(Collections.singletonList(groupByOperator), queryContext, _executorService);
+ GroupByOperator groupByOperator = new GroupByPlanNode(_indexSegment, queryContext).run();
+ GroupByCombineOperator combineOperator =
+ new GroupByCombineOperator(Collections.singletonList(groupByOperator), queryContext, _executorService);
// Execute the query
GroupByResultsBlock resultsBlock = (GroupByResultsBlock) combineOperator.nextBlock();
diff --git a/pinot-core/src/test/java/org/apache/pinot/queries/CastQueriesTest.java b/pinot-core/src/test/java/org/apache/pinot/queries/CastQueriesTest.java
index fb6e7ab..e654542 100644
--- a/pinot-core/src/test/java/org/apache/pinot/queries/CastQueriesTest.java
+++ b/pinot-core/src/test/java/org/apache/pinot/queries/CastQueriesTest.java
@@ -28,8 +28,8 @@
import org.apache.commons.io.FileUtils;
import org.apache.pinot.core.operator.blocks.results.AggregationResultsBlock;
import org.apache.pinot.core.operator.blocks.results.SelectionResultsBlock;
-import org.apache.pinot.core.operator.query.AggregationGroupByOrderByOperator;
import org.apache.pinot.core.operator.query.AggregationOperator;
+import org.apache.pinot.core.operator.query.GroupByOperator;
import org.apache.pinot.core.operator.query.SelectionOnlyOperator;
import org.apache.pinot.core.query.aggregation.groupby.AggregationGroupByResult;
import org.apache.pinot.core.query.aggregation.groupby.GroupKeyGenerator;
@@ -178,7 +178,7 @@
+ "cast(sum(" + Y_COL + ") as int) "
+ "from " + RAW_TABLE_NAME + " "
+ "group by " + CLASSIFICATION_COLUMN;
- AggregationGroupByOrderByOperator groupByOperator = getOperator(query);
+ GroupByOperator groupByOperator = getOperator(query);
AggregationGroupByResult result = groupByOperator.nextBlock().getAggregationGroupByResult();
assertNotNull(result);
Iterator<GroupKeyGenerator.GroupKey> it = result.getGroupKeyIterator();
diff --git a/pinot-core/src/test/java/org/apache/pinot/queries/CovarianceQueriesTest.java b/pinot-core/src/test/java/org/apache/pinot/queries/CovarianceQueriesTest.java
index dccdf4c..0ab8618 100644
--- a/pinot-core/src/test/java/org/apache/pinot/queries/CovarianceQueriesTest.java
+++ b/pinot-core/src/test/java/org/apache/pinot/queries/CovarianceQueriesTest.java
@@ -33,8 +33,8 @@
import org.apache.pinot.common.response.broker.ResultTable;
import org.apache.pinot.core.operator.blocks.results.AggregationResultsBlock;
import org.apache.pinot.core.operator.blocks.results.GroupByResultsBlock;
-import org.apache.pinot.core.operator.query.AggregationGroupByOrderByOperator;
import org.apache.pinot.core.operator.query.AggregationOperator;
+import org.apache.pinot.core.operator.query.GroupByOperator;
import org.apache.pinot.core.query.aggregation.groupby.AggregationGroupByResult;
import org.apache.pinot.segment.local.customobject.CovarianceTuple;
import org.apache.pinot.segment.local.indexsegment.immutable.ImmutableSegmentLoader;
@@ -367,7 +367,7 @@
// case 1: (col1, groupByCol) group by groupByCol => all covariances are 0's
String query =
"SELECT COVAR_POP(doubleColumnX, groupByColumn) FROM testTable GROUP BY groupByColumn ORDER BY groupByColumn";
- AggregationGroupByOrderByOperator groupByOperator = getOperator(query);
+ GroupByOperator groupByOperator = getOperator(query);
GroupByResultsBlock resultsBlock = groupByOperator.nextBlock();
QueriesTestUtils.testInnerSegmentExecutionStatistics(groupByOperator.getExecutionStatistics(), NUM_RECORDS, 0,
NUM_RECORDS * 2, NUM_RECORDS);
diff --git a/pinot-core/src/test/java/org/apache/pinot/queries/DistinctCountBitmapQueriesTest.java b/pinot-core/src/test/java/org/apache/pinot/queries/DistinctCountBitmapQueriesTest.java
index f4e0df7..56089c4 100644
--- a/pinot-core/src/test/java/org/apache/pinot/queries/DistinctCountBitmapQueriesTest.java
+++ b/pinot-core/src/test/java/org/apache/pinot/queries/DistinctCountBitmapQueriesTest.java
@@ -33,8 +33,8 @@
import org.apache.pinot.core.common.ObjectSerDeUtils;
import org.apache.pinot.core.operator.blocks.results.AggregationResultsBlock;
import org.apache.pinot.core.operator.blocks.results.GroupByResultsBlock;
-import org.apache.pinot.core.operator.query.AggregationGroupByOrderByOperator;
import org.apache.pinot.core.operator.query.AggregationOperator;
+import org.apache.pinot.core.operator.query.GroupByOperator;
import org.apache.pinot.core.query.aggregation.groupby.AggregationGroupByResult;
import org.apache.pinot.core.query.aggregation.groupby.GroupKeyGenerator;
import org.apache.pinot.segment.local.indexsegment.immutable.ImmutableSegmentLoader;
@@ -189,7 +189,7 @@
+ "FROM testTable GROUP BY intColumn";
// Inner segment
- AggregationGroupByOrderByOperator groupByOperator = getOperator(query);
+ GroupByOperator groupByOperator = getOperator(query);
GroupByResultsBlock resultsBlock = groupByOperator.nextBlock();
QueriesTestUtils.testInnerSegmentExecutionStatistics(groupByOperator.getExecutionStatistics(), NUM_RECORDS, 0,
6 * NUM_RECORDS, NUM_RECORDS);
diff --git a/pinot-core/src/test/java/org/apache/pinot/queries/DistinctCountQueriesTest.java b/pinot-core/src/test/java/org/apache/pinot/queries/DistinctCountQueriesTest.java
index 045c109..598e15d 100644
--- a/pinot-core/src/test/java/org/apache/pinot/queries/DistinctCountQueriesTest.java
+++ b/pinot-core/src/test/java/org/apache/pinot/queries/DistinctCountQueriesTest.java
@@ -36,8 +36,8 @@
import org.apache.pinot.core.common.Operator;
import org.apache.pinot.core.operator.blocks.results.AggregationResultsBlock;
import org.apache.pinot.core.operator.blocks.results.GroupByResultsBlock;
-import org.apache.pinot.core.operator.query.AggregationGroupByOrderByOperator;
import org.apache.pinot.core.operator.query.AggregationOperator;
+import org.apache.pinot.core.operator.query.GroupByOperator;
import org.apache.pinot.core.operator.query.NonScanBasedAggregationOperator;
import org.apache.pinot.core.query.aggregation.function.DistinctCountSmartHLLAggregationFunction;
import org.apache.pinot.core.query.aggregation.groupby.AggregationGroupByResult;
@@ -243,7 +243,7 @@
+ "FROM testTable GROUP BY intColumn";
// Inner segment
- AggregationGroupByOrderByOperator groupByOperator = getOperator(query);
+ GroupByOperator groupByOperator = getOperator(query);
GroupByResultsBlock resultsBlock = groupByOperator.nextBlock();
QueriesTestUtils.testInnerSegmentExecutionStatistics(groupByOperator.getExecutionStatistics(), NUM_RECORDS, 0,
6 * NUM_RECORDS, NUM_RECORDS);
diff --git a/pinot-core/src/test/java/org/apache/pinot/queries/DistinctCountThetaSketchQueriesTest.java b/pinot-core/src/test/java/org/apache/pinot/queries/DistinctCountThetaSketchQueriesTest.java
index 0e9fedb..35fc812 100644
--- a/pinot-core/src/test/java/org/apache/pinot/queries/DistinctCountThetaSketchQueriesTest.java
+++ b/pinot-core/src/test/java/org/apache/pinot/queries/DistinctCountThetaSketchQueriesTest.java
@@ -33,8 +33,8 @@
import org.apache.pinot.core.common.ObjectSerDeUtils;
import org.apache.pinot.core.operator.blocks.results.AggregationResultsBlock;
import org.apache.pinot.core.operator.blocks.results.GroupByResultsBlock;
-import org.apache.pinot.core.operator.query.AggregationGroupByOrderByOperator;
import org.apache.pinot.core.operator.query.AggregationOperator;
+import org.apache.pinot.core.operator.query.GroupByOperator;
import org.apache.pinot.core.query.aggregation.groupby.AggregationGroupByResult;
import org.apache.pinot.core.query.aggregation.groupby.GroupKeyGenerator;
import org.apache.pinot.segment.local.indexsegment.immutable.ImmutableSegmentLoader;
@@ -208,7 +208,7 @@
String query = baseQuery + (groupBySV ? "intSVColumn" : "intMVColumn");
// Inner segment
- AggregationGroupByOrderByOperator groupByOperator = getOperator(query);
+ GroupByOperator groupByOperator = getOperator(query);
GroupByResultsBlock resultsBlock = groupByOperator.nextBlock();
QueriesTestUtils.testInnerSegmentExecutionStatistics(groupByOperator.getExecutionStatistics(), NUM_RECORDS, 0,
11 * NUM_RECORDS, NUM_RECORDS);
diff --git a/pinot-core/src/test/java/org/apache/pinot/queries/ExplainPlanQueriesTest.java b/pinot-core/src/test/java/org/apache/pinot/queries/ExplainPlanQueriesTest.java
index 9dcd22c..3fcbb39 100644
--- a/pinot-core/src/test/java/org/apache/pinot/queries/ExplainPlanQueriesTest.java
+++ b/pinot-core/src/test/java/org/apache/pinot/queries/ExplainPlanQueriesTest.java
@@ -1109,17 +1109,19 @@
+ "TEXT_MATCH(textIndexCol1, 'foo') GROUP BY noIndexCol1, noIndexCol2";
List<Object[]> result1 = new ArrayList<>();
result1.add(new Object[]{"BROKER_REDUCE(limit:10)", 1, 0});
- result1.add(new Object[]{"COMBINE_GROUPBY_ORDERBY", 2, 1});
- result1.add(new Object[]{"PLAN_START(numSegmentsForThisPlan:4)", ExplainPlanRows.PLAN_START_IDS,
- ExplainPlanRows.PLAN_START_IDS});
+ result1.add(new Object[]{"COMBINE_GROUP_BY", 2, 1});
result1.add(new Object[]{
- "AGGREGATE_GROUPBY_ORDERBY(groupKeys:noIndexCol1, noIndexCol2, aggregations:max(noIndexCol2), min"
- + "(noIndexCol3))", 3, 2});
+ "PLAN_START(numSegmentsForThisPlan:4)", ExplainPlanRows.PLAN_START_IDS, ExplainPlanRows.PLAN_START_IDS
+ });
+ result1.add(new Object[]{
+ "GROUP_BY(groupKeys:noIndexCol1, noIndexCol2, aggregations:max(noIndexCol2), min(noIndexCol3))", 3, 2
+ });
result1.add(new Object[]{"TRANSFORM_PASSTHROUGH(noIndexCol1, noIndexCol2, noIndexCol3)", 4, 3});
result1.add(new Object[]{"PROJECT(noIndexCol3, noIndexCol2, noIndexCol1)", 5, 4});
result1.add(new Object[]{"DOC_ID_SET", 6, 5});
- result1.add(new Object[]{"FILTER_TEXT_INDEX(indexLookUp:text_index,operator:TEXT_MATCH,predicate:text_match"
- + "(textIndexCol1,'foo'))", 7, 6});
+ result1.add(new Object[]{
+ "FILTER_TEXT_INDEX(indexLookUp:text_index,operator:TEXT_MATCH,predicate:text_match(textIndexCol1,'foo'))", 7, 6
+ });
check(query1, new ResultTable(DATA_SCHEMA, result1));
String query2 =
@@ -1128,17 +1130,19 @@
+ "(noIndexCol2)";
List<Object[]> result2 = new ArrayList<>();
result2.add(new Object[]{"BROKER_REDUCE(sort:[noIndexCol1 ASC, max(noIndexCol2) ASC],limit:10)", 1, 0});
- result2.add(new Object[]{"COMBINE_GROUPBY_ORDERBY", 2, 1});
- result2.add(new Object[]{"PLAN_START(numSegmentsForThisPlan:4)", ExplainPlanRows.PLAN_START_IDS,
- ExplainPlanRows.PLAN_START_IDS});
+ result2.add(new Object[]{"COMBINE_GROUP_BY", 2, 1});
result2.add(new Object[]{
- "AGGREGATE_GROUPBY_ORDERBY(groupKeys:noIndexCol1, noIndexCol2, aggregations:max(noIndexCol2), min"
- + "(noIndexCol3))", 3, 2});
+ "PLAN_START(numSegmentsForThisPlan:4)", ExplainPlanRows.PLAN_START_IDS, ExplainPlanRows.PLAN_START_IDS
+ });
+ result2.add(new Object[]{
+ "GROUP_BY(groupKeys:noIndexCol1, noIndexCol2, aggregations:max(noIndexCol2), min(noIndexCol3))", 3, 2
+ });
result2.add(new Object[]{"TRANSFORM_PASSTHROUGH(noIndexCol1, noIndexCol2, noIndexCol3)", 4, 3});
result2.add(new Object[]{"PROJECT(noIndexCol3, noIndexCol2, noIndexCol1)", 5, 4});
result2.add(new Object[]{"DOC_ID_SET", 6, 5});
- result2.add(new Object[]{"FILTER_TEXT_INDEX(indexLookUp:text_index,operator:TEXT_MATCH,predicate:text_match"
- + "(textIndexCol1,'foo'))", 7, 6});
+ result2.add(new Object[]{
+ "FILTER_TEXT_INDEX(indexLookUp:text_index,operator:TEXT_MATCH,predicate:text_match(textIndexCol1,'foo'))", 7, 6
+ });
check(query2, new ResultTable(DATA_SCHEMA, result2));
}
@@ -1151,11 +1155,11 @@
+ "noIndexCol2";
List<Object[]> result1 = new ArrayList<>();
result1.add(new Object[]{"BROKER_REDUCE(limit:10)", 1, 0});
- result1.add(new Object[]{"COMBINE_GROUPBY_ORDERBY", 2, 1});
+ result1.add(new Object[]{"COMBINE_GROUP_BY", 2, 1});
result1.add(new Object[]{"PLAN_START(numSegmentsForThisPlan:4)", ExplainPlanRows.PLAN_START_IDS,
ExplainPlanRows.PLAN_START_IDS});
result1.add(new Object[]{
- "AGGREGATE_GROUPBY_ORDERBY(groupKeys:noIndexCol1, noIndexCol2, aggregations:max(noIndexCol2), min"
+ "GROUP_BY(groupKeys:noIndexCol1, noIndexCol2, aggregations:max(noIndexCol2), min"
+ "(noIndexCol3))", 3, 2});
result1.add(new Object[]{"TRANSFORM_PASSTHROUGH(noIndexCol1, noIndexCol2, noIndexCol3)", 4, 3});
result1.add(new Object[]{"PROJECT(noIndexCol3, noIndexCol2, noIndexCol1)", 5, 4});
@@ -1170,11 +1174,11 @@
+ "noIndexCol1, noIndexCol2 ORDER BY noIndexCol1, max(noIndexCol2)";
List<Object[]> result2 = new ArrayList<>();
result2.add(new Object[]{"BROKER_REDUCE(sort:[noIndexCol1 ASC, max(noIndexCol2) ASC],limit:10)", 1, 0});
- result2.add(new Object[]{"COMBINE_GROUPBY_ORDERBY", 2, 1});
+ result2.add(new Object[]{"COMBINE_GROUP_BY", 2, 1});
result2.add(new Object[]{"PLAN_START(numSegmentsForThisPlan:4)", ExplainPlanRows.PLAN_START_IDS,
ExplainPlanRows.PLAN_START_IDS});
result2.add(new Object[]{
- "AGGREGATE_GROUPBY_ORDERBY(groupKeys:noIndexCol1, noIndexCol2, aggregations:max(noIndexCol2), min"
+ "GROUP_BY(groupKeys:noIndexCol1, noIndexCol2, aggregations:max(noIndexCol2), min"
+ "(noIndexCol3))", 3, 2});
result2.add(new Object[]{"TRANSFORM_PASSTHROUGH(noIndexCol1, noIndexCol2, noIndexCol3)", 4, 3});
result2.add(new Object[]{"PROJECT(noIndexCol3, noIndexCol2, noIndexCol1)", 5, 4});
@@ -1744,11 +1748,13 @@
+ "WHERE noIndexCol1 < 3 GROUP BY noIndexCol2";
List<Object[]> result1 = new ArrayList<>();
result1.add(new Object[]{"BROKER_REDUCE(limit:10)", 1, 0});
- result1.add(new Object[]{"COMBINE_GROUPBY_ORDERBY", 2, 1});
- result1.add(new Object[]{"PLAN_START(numSegmentsForThisPlan:1)", ExplainPlanRows.PLAN_START_IDS,
- ExplainPlanRows.PLAN_START_IDS});
- result1.add(new Object[]{"AGGREGATE_GROUPBY_ORDERBY(groupKeys:noIndexCol2, aggregations:sum(add(noIndexCol1,"
- + "noIndexCol2)), min(noIndexCol3))", 3, 2});
+ result1.add(new Object[]{"COMBINE_GROUP_BY", 2, 1});
+ result1.add(new Object[]{
+ "PLAN_START(numSegmentsForThisPlan:1)", ExplainPlanRows.PLAN_START_IDS, ExplainPlanRows.PLAN_START_IDS
+ });
+ result1.add(new Object[]{
+ "GROUP_BY(groupKeys:noIndexCol2, aggregations:sum(add(noIndexCol1,noIndexCol2)), min(noIndexCol3))", 3, 2
+ });
result1.add(new Object[]{"TRANSFORM(add(noIndexCol1,noIndexCol2), noIndexCol2, noIndexCol3)", 4, 3});
result1.add(new Object[]{"PROJECT(noIndexCol3, noIndexCol2, noIndexCol1)", 5, 4});
result1.add(new Object[]{"DOC_ID_SET", 6, 5});
@@ -1765,14 +1771,17 @@
+ "min(noIndexCol3) FROM testTable WHERE noIndexCol1 < 3 GROUP BY noIndexCol2";
List<Object[]> result1 = new ArrayList<>();
result1.add(new Object[]{"BROKER_REDUCE(limit:10)", 1, 0});
- result1.add(new Object[]{"COMBINE_GROUPBY_ORDERBY", 2, 1});
- result1.add(new Object[]{"PLAN_START(numSegmentsForThisPlan:2)", ExplainPlanRows.PLAN_START_IDS,
- ExplainPlanRows.PLAN_START_IDS});
+ result1.add(new Object[]{"COMBINE_GROUP_BY", 2, 1});
+ result1.add(new Object[]{
+ "PLAN_START(numSegmentsForThisPlan:2)", ExplainPlanRows.PLAN_START_IDS, ExplainPlanRows.PLAN_START_IDS
+ });
result1.add(new Object[]{"ALL_SEGMENTS_PRUNED_ON_SERVER", 2, 1});
- result1.add(new Object[]{"PLAN_START(numSegmentsForThisPlan:1)", ExplainPlanRows.PLAN_START_IDS,
- ExplainPlanRows.PLAN_START_IDS});
- result1.add(new Object[]{"AGGREGATE_GROUPBY_ORDERBY(groupKeys:noIndexCol2, aggregations:sum(add(noIndexCol1,"
- + "noIndexCol2)), min(noIndexCol3))", 3, 2});
+ result1.add(new Object[]{
+ "PLAN_START(numSegmentsForThisPlan:1)", ExplainPlanRows.PLAN_START_IDS, ExplainPlanRows.PLAN_START_IDS
+ });
+ result1.add(new Object[]{
+ "GROUP_BY(groupKeys:noIndexCol2, aggregations:sum(add(noIndexCol1," + "noIndexCol2)), min(noIndexCol3))", 3, 2
+ });
result1.add(new Object[]{"TRANSFORM(add(noIndexCol1,noIndexCol2), noIndexCol2, noIndexCol3)", 4, 3});
result1.add(new Object[]{"PROJECT(noIndexCol3, noIndexCol2, noIndexCol1)", 5, 4});
result1.add(new Object[]{"DOC_ID_SET", 6, 5});
@@ -2166,11 +2175,11 @@
+ "invertedIndexCol2 = 1 GROUP BY noIndexCol1";
List<Object[]> result1 = new ArrayList<>();
result1.add(new Object[]{"BROKER_REDUCE(limit:10)", 1, 0});
- result1.add(new Object[]{"COMBINE_GROUPBY_ORDERBY", 2, 1});
+ result1.add(new Object[]{"COMBINE_GROUP_BY", 2, 1});
result1.add(new Object[]{"PLAN_START(numSegmentsForThisPlan:4)", ExplainPlanRows.PLAN_START_IDS,
ExplainPlanRows.PLAN_START_IDS});
result1.add(new Object[]{
- "AGGREGATE_GROUPBY_ORDERBY(groupKeys:noIndexCol1, aggregations:max(noIndexCol2), min(noIndexCol3)"
+ "GROUP_BY(groupKeys:noIndexCol1, aggregations:max(noIndexCol2), min(noIndexCol3)"
+ ")", 3, 2});
result1.add(new Object[]{"TRANSFORM_PASSTHROUGH(noIndexCol1, noIndexCol2, noIndexCol3)", 4, 3});
result1.add(new Object[]{"PROJECT(noIndexCol3, noIndexCol2, noIndexCol1)", 5, 4});
@@ -2188,11 +2197,11 @@
+ "min(noIndexCol3) FROM testTable WHERE invertedIndexCol2 = 1 GROUP BY noIndexCol1";
List<Object[]> result1 = new ArrayList<>();
result1.add(new Object[]{"BROKER_REDUCE(limit:10)", 1, 0});
- result1.add(new Object[]{"COMBINE_GROUPBY_ORDERBY", 2, 1});
+ result1.add(new Object[]{"COMBINE_GROUP_BY", 2, 1});
result1.add(new Object[]{"PLAN_START(numSegmentsForThisPlan:4)", ExplainPlanRows.PLAN_START_IDS,
ExplainPlanRows.PLAN_START_IDS});
result1.add(new Object[]{
- "AGGREGATE_GROUPBY_ORDERBY(groupKeys:noIndexCol1, aggregations:max(noIndexCol2), min(noIndexCol3)"
+ "GROUP_BY(groupKeys:noIndexCol1, aggregations:max(noIndexCol2), min(noIndexCol3)"
+ ")", 3, 2});
result1.add(new Object[]{"TRANSFORM_PASSTHROUGH(noIndexCol1, noIndexCol2, noIndexCol3)", 4, 3});
result1.add(new Object[]{"PROJECT(noIndexCol3, noIndexCol2, noIndexCol1)", 5, 4});
@@ -2213,10 +2222,10 @@
List<Object[]> result1 = new ArrayList<>();
result1.add(
new Object[]{"BROKER_REDUCE(sort:[noIndexCol1 ASC, concat(invertedIndexCol3,'test','-') ASC],limit:10)", 1, 0});
- result1.add(new Object[]{"COMBINE_GROUPBY_ORDERBY", 2, 1});
+ result1.add(new Object[]{"COMBINE_GROUP_BY", 2, 1});
result1.add(new Object[]{"PLAN_START(numSegmentsForThisPlan:4)", ExplainPlanRows.PLAN_START_IDS,
ExplainPlanRows.PLAN_START_IDS});
- result1.add(new Object[]{"AGGREGATE_GROUPBY_ORDERBY(groupKeys:noIndexCol1, concat(invertedIndexCol3,'test','-'), "
+ result1.add(new Object[]{"GROUP_BY(groupKeys:noIndexCol1, concat(invertedIndexCol3,'test','-'), "
+ "aggregations:count(*))", 3, 2});
result1.add(new Object[]{"TRANSFORM(concat(invertedIndexCol3,'test','-'), noIndexCol1)", 4, 3});
result1.add(new Object[]{"PROJECT(invertedIndexCol3, noIndexCol1)", 5, 4});
@@ -2237,17 +2246,19 @@
List<Object[]> result1 = new ArrayList<>();
result1.add(
new Object[]{"BROKER_REDUCE(sort:[noIndexCol1 ASC, concat(invertedIndexCol3,'test','-') ASC],limit:10)", 1, 0});
- result1.add(new Object[]{"COMBINE_GROUPBY_ORDERBY", 2, 1});
- result1.add(new Object[]{"PLAN_START(numSegmentsForThisPlan:4)", ExplainPlanRows.PLAN_START_IDS,
- ExplainPlanRows.PLAN_START_IDS});
- result1.add(new Object[]{"AGGREGATE_GROUPBY_ORDERBY(groupKeys:noIndexCol1, concat(invertedIndexCol3,'test','-'), "
- + "aggregations:count(*))", 3, 2});
+ result1.add(new Object[]{"COMBINE_GROUP_BY", 2, 1});
+ result1.add(new Object[]{
+ "PLAN_START(numSegmentsForThisPlan:4)", ExplainPlanRows.PLAN_START_IDS, ExplainPlanRows.PLAN_START_IDS
+ });
+ result1.add(new Object[]{
+ "GROUP_BY(groupKeys:noIndexCol1, concat(invertedIndexCol3,'test','-'), " + "aggregations:count(*))", 3, 2
+ });
result1.add(new Object[]{"TRANSFORM(concat(invertedIndexCol3,'test','-'), noIndexCol1)", 4, 3});
result1.add(new Object[]{"PROJECT(invertedIndexCol3, noIndexCol1)", 5, 4});
result1.add(new Object[]{"DOC_ID_SET", 6, 5});
result1.add(new Object[]{
- "FILTER_INVERTED_INDEX(indexLookUp:inverted_index,operator:NOT_EQ,predicate:invertedIndexCol2 !="
- + " '1')", 7, 6});
+ "FILTER_INVERTED_INDEX(indexLookUp:inverted_index,operator:NOT_EQ,predicate:invertedIndexCol2 != '1')", 7, 6
+ });
check(query1, new ResultTable(DATA_SCHEMA, result1));
}
@@ -2259,18 +2270,19 @@
List<Object[]> result = new ArrayList<>();
result.add(
new Object[]{"BROKER_REDUCE(havingFilter:max(noIndexCol1) > '2',sort:[max(noIndexCol1) DESC],limit:10)", 1, 0});
- result.add(new Object[]{"COMBINE_GROUPBY_ORDERBY", 2, 1});
- result.add(new Object[]{"PLAN_START(numSegmentsForThisPlan:4)", ExplainPlanRows.PLAN_START_IDS,
- ExplainPlanRows.PLAN_START_IDS});
+ result.add(new Object[]{"COMBINE_GROUP_BY", 2, 1});
result.add(new Object[]{
- "AGGREGATE_GROUPBY_ORDERBY(groupKeys:noIndexCol3, aggregations:max(noIndexCol1), min(noIndexCol2)"
- + ")", 3, 2});
+ "PLAN_START(numSegmentsForThisPlan:4)", ExplainPlanRows.PLAN_START_IDS, ExplainPlanRows.PLAN_START_IDS
+ });
+ result.add(new Object[]{
+ "GROUP_BY(groupKeys:noIndexCol3, aggregations:max(noIndexCol1), min(noIndexCol2))", 3, 2
+ });
result.add(new Object[]{"TRANSFORM_PASSTHROUGH(noIndexCol1, noIndexCol2, noIndexCol3)", 4, 3});
result.add(new Object[]{"PROJECT(noIndexCol3, noIndexCol2, noIndexCol1)", 5, 4});
result.add(new Object[]{"DOC_ID_SET", 6, 5});
- result.add(
- new Object[]{"FILTER_INVERTED_INDEX(indexLookUp:inverted_index,operator:EQ,predicate:invertedIndexCol2 = '1')",
- 7, 6});
+ result.add(new Object[]{
+ "FILTER_INVERTED_INDEX(indexLookUp:inverted_index,operator:EQ,predicate:invertedIndexCol2 = '1')", 7, 6
+ });
check(query, new ResultTable(DATA_SCHEMA, result));
}
@@ -2283,18 +2295,19 @@
List<Object[]> result = new ArrayList<>();
result.add(
new Object[]{"BROKER_REDUCE(havingFilter:max(noIndexCol1) > '2',sort:[max(noIndexCol1) DESC],limit:10)", 1, 0});
- result.add(new Object[]{"COMBINE_GROUPBY_ORDERBY", 2, 1});
- result.add(new Object[]{"PLAN_START(numSegmentsForThisPlan:4)", ExplainPlanRows.PLAN_START_IDS,
- ExplainPlanRows.PLAN_START_IDS});
+ result.add(new Object[]{"COMBINE_GROUP_BY", 2, 1});
result.add(new Object[]{
- "AGGREGATE_GROUPBY_ORDERBY(groupKeys:noIndexCol3, aggregations:max(noIndexCol1), min(noIndexCol2)"
- + ")", 3, 2});
+ "PLAN_START(numSegmentsForThisPlan:4)", ExplainPlanRows.PLAN_START_IDS, ExplainPlanRows.PLAN_START_IDS
+ });
+ result.add(new Object[]{
+ "GROUP_BY(groupKeys:noIndexCol3, aggregations:max(noIndexCol1), min(noIndexCol2)" + ")", 3, 2
+ });
result.add(new Object[]{"TRANSFORM_PASSTHROUGH(noIndexCol1, noIndexCol2, noIndexCol3)", 4, 3});
result.add(new Object[]{"PROJECT(noIndexCol3, noIndexCol2, noIndexCol1)", 5, 4});
result.add(new Object[]{"DOC_ID_SET", 6, 5});
- result.add(
- new Object[]{"FILTER_INVERTED_INDEX(indexLookUp:inverted_index,operator:EQ,predicate:invertedIndexCol2 = '1')",
- 7, 6});
+ result.add(new Object[]{
+ "FILTER_INVERTED_INDEX(indexLookUp:inverted_index,operator:EQ,predicate:invertedIndexCol2 = '1')", 7, 6
+ });
check(query, new ResultTable(DATA_SCHEMA, result));
}
diff --git a/pinot-core/src/test/java/org/apache/pinot/queries/FSTBasedRegexpLikeQueriesTest.java b/pinot-core/src/test/java/org/apache/pinot/queries/FSTBasedRegexpLikeQueriesTest.java
index acfec3f..24f9344 100644
--- a/pinot-core/src/test/java/org/apache/pinot/queries/FSTBasedRegexpLikeQueriesTest.java
+++ b/pinot-core/src/test/java/org/apache/pinot/queries/FSTBasedRegexpLikeQueriesTest.java
@@ -35,7 +35,7 @@
import org.apache.pinot.common.utils.DataSchema.ColumnDataType;
import org.apache.pinot.core.common.Operator;
import org.apache.pinot.core.operator.blocks.results.SelectionResultsBlock;
-import org.apache.pinot.core.operator.query.AggregationGroupByOrderByOperator;
+import org.apache.pinot.core.operator.query.GroupByOperator;
import org.apache.pinot.core.query.aggregation.groupby.AggregationGroupByResult;
import org.apache.pinot.core.query.aggregation.groupby.GroupKeyGenerator;
import org.apache.pinot.segment.local.indexsegment.immutable.ImmutableSegmentLoader;
@@ -218,7 +218,7 @@
}
private AggregationGroupByResult getGroupByResults(String query) {
- AggregationGroupByOrderByOperator groupByOrderByOperator = getOperator(query);
+ GroupByOperator groupByOrderByOperator = getOperator(query);
return groupByOrderByOperator.nextBlock().getAggregationGroupByResult();
}
diff --git a/pinot-core/src/test/java/org/apache/pinot/queries/FastHllQueriesTest.java b/pinot-core/src/test/java/org/apache/pinot/queries/FastHllQueriesTest.java
index 9d4095f..b817adb 100644
--- a/pinot-core/src/test/java/org/apache/pinot/queries/FastHllQueriesTest.java
+++ b/pinot-core/src/test/java/org/apache/pinot/queries/FastHllQueriesTest.java
@@ -28,8 +28,8 @@
import org.apache.pinot.core.operator.ExecutionStatistics;
import org.apache.pinot.core.operator.blocks.results.AggregationResultsBlock;
import org.apache.pinot.core.operator.blocks.results.GroupByResultsBlock;
-import org.apache.pinot.core.operator.query.AggregationGroupByOrderByOperator;
import org.apache.pinot.core.operator.query.AggregationOperator;
+import org.apache.pinot.core.operator.query.GroupByOperator;
import org.apache.pinot.core.query.aggregation.groupby.AggregationGroupByResult;
import org.apache.pinot.core.query.aggregation.groupby.GroupKeyGenerator;
import org.apache.pinot.segment.local.indexsegment.immutable.ImmutableSegmentLoader;
@@ -126,7 +126,7 @@
assertEquals(((HyperLogLog) aggregationResult.get(0)).cardinality(), 17L);
assertEquals(((HyperLogLog) aggregationResult.get(1)).cardinality(), 1197L);
// Test query with group-by
- AggregationGroupByOrderByOperator groupByOperator = getOperator(BASE_QUERY + GROUP_BY);
+ GroupByOperator groupByOperator = getOperator(BASE_QUERY + GROUP_BY);
GroupByResultsBlock groupByResultsBlock = groupByOperator.nextBlock();
executionStatistics = groupByOperator.getExecutionStatistics();
QueriesTestUtils.testInnerSegmentExecutionStatistics(executionStatistics, 30000L, 0L, 90000L, 30000L);
diff --git a/pinot-core/src/test/java/org/apache/pinot/queries/FirstWithTimeQueriesTest.java b/pinot-core/src/test/java/org/apache/pinot/queries/FirstWithTimeQueriesTest.java
index eab179c..eb57799 100644
--- a/pinot-core/src/test/java/org/apache/pinot/queries/FirstWithTimeQueriesTest.java
+++ b/pinot-core/src/test/java/org/apache/pinot/queries/FirstWithTimeQueriesTest.java
@@ -36,8 +36,8 @@
import org.apache.pinot.common.utils.DataSchema.ColumnDataType;
import org.apache.pinot.core.operator.blocks.results.AggregationResultsBlock;
import org.apache.pinot.core.operator.blocks.results.GroupByResultsBlock;
-import org.apache.pinot.core.operator.query.AggregationGroupByOrderByOperator;
import org.apache.pinot.core.operator.query.AggregationOperator;
+import org.apache.pinot.core.operator.query.GroupByOperator;
import org.apache.pinot.core.query.aggregation.groupby.AggregationGroupByResult;
import org.apache.pinot.core.query.aggregation.groupby.GroupKeyGenerator;
import org.apache.pinot.segment.local.customobject.DoubleLongPair;
@@ -370,7 +370,7 @@
private void verifyAggregationGroupBy(String query, int numProjectedColumns) {
// Inner segment
- AggregationGroupByOrderByOperator groupByOperator = getOperator(query);
+ GroupByOperator groupByOperator = getOperator(query);
GroupByResultsBlock resultsBlock = groupByOperator.nextBlock();
QueriesTestUtils.testInnerSegmentExecutionStatistics(groupByOperator.getExecutionStatistics(), NUM_RECORDS, 0,
numProjectedColumns * (long) NUM_RECORDS, NUM_RECORDS);
diff --git a/pinot-core/src/test/java/org/apache/pinot/queries/HistogramQueriesTest.java b/pinot-core/src/test/java/org/apache/pinot/queries/HistogramQueriesTest.java
index c253164..9fe29ec 100644
--- a/pinot-core/src/test/java/org/apache/pinot/queries/HistogramQueriesTest.java
+++ b/pinot-core/src/test/java/org/apache/pinot/queries/HistogramQueriesTest.java
@@ -30,8 +30,8 @@
import org.apache.pinot.core.common.Operator;
import org.apache.pinot.core.operator.blocks.results.AggregationResultsBlock;
import org.apache.pinot.core.operator.blocks.results.GroupByResultsBlock;
-import org.apache.pinot.core.operator.query.AggregationGroupByOrderByOperator;
import org.apache.pinot.core.operator.query.AggregationOperator;
+import org.apache.pinot.core.operator.query.GroupByOperator;
import org.apache.pinot.core.query.aggregation.groupby.AggregationGroupByResult;
import org.apache.pinot.segment.local.indexsegment.immutable.ImmutableSegmentLoader;
import org.apache.pinot.segment.local.segment.creator.impl.SegmentIndexCreationDriverImpl;
@@ -213,8 +213,8 @@
// Inner segment
Object operator = getOperator(query);
- assertTrue(operator instanceof AggregationGroupByOrderByOperator);
- GroupByResultsBlock resultsBlock = ((AggregationGroupByOrderByOperator) operator).nextBlock();
+ assertTrue(operator instanceof GroupByOperator);
+ GroupByResultsBlock resultsBlock = ((GroupByOperator) operator).nextBlock();
QueriesTestUtils.testInnerSegmentExecutionStatistics(((Operator) operator).getExecutionStatistics(), NUM_RECORDS, 0,
NUM_RECORDS * 2, NUM_RECORDS);
AggregationGroupByResult aggregationGroupByResult = resultsBlock.getAggregationGroupByResult();
diff --git a/pinot-core/src/test/java/org/apache/pinot/queries/IdSetQueriesTest.java b/pinot-core/src/test/java/org/apache/pinot/queries/IdSetQueriesTest.java
index 6a2cbbe..5006725 100644
--- a/pinot-core/src/test/java/org/apache/pinot/queries/IdSetQueriesTest.java
+++ b/pinot-core/src/test/java/org/apache/pinot/queries/IdSetQueriesTest.java
@@ -29,8 +29,8 @@
import org.apache.pinot.common.response.broker.BrokerResponseNative;
import org.apache.pinot.core.operator.blocks.results.AggregationResultsBlock;
import org.apache.pinot.core.operator.blocks.results.GroupByResultsBlock;
-import org.apache.pinot.core.operator.query.AggregationGroupByOrderByOperator;
import org.apache.pinot.core.operator.query.AggregationOperator;
+import org.apache.pinot.core.operator.query.GroupByOperator;
import org.apache.pinot.core.query.aggregation.groupby.AggregationGroupByResult;
import org.apache.pinot.core.query.aggregation.groupby.GroupKeyGenerator;
import org.apache.pinot.core.query.utils.idset.BloomFilterIdSet;
@@ -354,7 +354,7 @@
// Inner segment
{
- AggregationGroupByOrderByOperator groupByOperator = getOperator(query);
+ GroupByOperator groupByOperator = getOperator(query);
GroupByResultsBlock resultsBlock = groupByOperator.nextBlock();
QueriesTestUtils.testInnerSegmentExecutionStatistics(groupByOperator.getExecutionStatistics(), NUM_RECORDS, 0,
11 * NUM_RECORDS, NUM_RECORDS);
diff --git a/pinot-core/src/test/java/org/apache/pinot/queries/InnerSegmentAggregationMultiValueQueriesTest.java b/pinot-core/src/test/java/org/apache/pinot/queries/InnerSegmentAggregationMultiValueQueriesTest.java
index 06892a6..354732a 100644
--- a/pinot-core/src/test/java/org/apache/pinot/queries/InnerSegmentAggregationMultiValueQueriesTest.java
+++ b/pinot-core/src/test/java/org/apache/pinot/queries/InnerSegmentAggregationMultiValueQueriesTest.java
@@ -20,8 +20,8 @@
import org.apache.pinot.core.operator.blocks.results.AggregationResultsBlock;
import org.apache.pinot.core.operator.blocks.results.GroupByResultsBlock;
-import org.apache.pinot.core.operator.query.AggregationGroupByOrderByOperator;
import org.apache.pinot.core.operator.query.AggregationOperator;
+import org.apache.pinot.core.operator.query.GroupByOperator;
import org.testng.annotations.Test;
@@ -82,7 +82,7 @@
@Test
public void testSmallAggregationGroupBy() {
// Test query without filter.
- AggregationGroupByOrderByOperator groupByOperator = getOperator(AGGREGATION_QUERY + SMALL_GROUP_BY);
+ GroupByOperator groupByOperator = getOperator(AGGREGATION_QUERY + SMALL_GROUP_BY);
GroupByResultsBlock resultsBlock = groupByOperator.nextBlock();
QueriesTestUtils.testInnerSegmentExecutionStatistics(groupByOperator.getExecutionStatistics(), 100000L, 0L, 500000L,
100000L);
@@ -101,7 +101,7 @@
@Test
public void testMediumAggregationGroupBy() {
// Test query without filter.
- AggregationGroupByOrderByOperator groupByOperator = getOperator(AGGREGATION_QUERY + MEDIUM_GROUP_BY);
+ GroupByOperator groupByOperator = getOperator(AGGREGATION_QUERY + MEDIUM_GROUP_BY);
GroupByResultsBlock resultsBlock = groupByOperator.nextBlock();
QueriesTestUtils.testInnerSegmentExecutionStatistics(groupByOperator.getExecutionStatistics(), 100000L, 0L, 700000L,
100000L);
@@ -120,7 +120,7 @@
@Test
public void testLargeAggregationGroupBy() {
// Test query without filter.
- AggregationGroupByOrderByOperator groupByOperator = getOperator(AGGREGATION_QUERY + LARGE_GROUP_BY);
+ GroupByOperator groupByOperator = getOperator(AGGREGATION_QUERY + LARGE_GROUP_BY);
GroupByResultsBlock resultsBlock = groupByOperator.nextBlock();
QueriesTestUtils.testInnerSegmentExecutionStatistics(groupByOperator.getExecutionStatistics(), 100000L, 0L, 700000L,
100000L);
@@ -139,7 +139,7 @@
@Test
public void testVeryLargeAggregationGroupBy() {
// Test query without filter.
- AggregationGroupByOrderByOperator groupByOperator = getOperator(AGGREGATION_QUERY + VERY_LARGE_GROUP_BY);
+ GroupByOperator groupByOperator = getOperator(AGGREGATION_QUERY + VERY_LARGE_GROUP_BY);
GroupByResultsBlock resultsBlock = groupByOperator.nextBlock();
QueriesTestUtils.testInnerSegmentExecutionStatistics(groupByOperator.getExecutionStatistics(), 100000L, 0L, 700000L,
100000L);
diff --git a/pinot-core/src/test/java/org/apache/pinot/queries/InnerSegmentAggregationMultiValueRawQueriesTest.java b/pinot-core/src/test/java/org/apache/pinot/queries/InnerSegmentAggregationMultiValueRawQueriesTest.java
index 998dbf5..33543ca 100644
--- a/pinot-core/src/test/java/org/apache/pinot/queries/InnerSegmentAggregationMultiValueRawQueriesTest.java
+++ b/pinot-core/src/test/java/org/apache/pinot/queries/InnerSegmentAggregationMultiValueRawQueriesTest.java
@@ -20,8 +20,8 @@
import org.apache.pinot.core.operator.blocks.results.AggregationResultsBlock;
import org.apache.pinot.core.operator.blocks.results.GroupByResultsBlock;
-import org.apache.pinot.core.operator.query.AggregationGroupByOrderByOperator;
import org.apache.pinot.core.operator.query.AggregationOperator;
+import org.apache.pinot.core.operator.query.GroupByOperator;
import org.testng.annotations.Test;
@@ -82,7 +82,7 @@
@Test
public void testSmallAggregationGroupBy() {
// Test query without filter.
- AggregationGroupByOrderByOperator groupByOperator = getOperator(AGGREGATION_QUERY + SMALL_GROUP_BY);
+ GroupByOperator groupByOperator = getOperator(AGGREGATION_QUERY + SMALL_GROUP_BY);
GroupByResultsBlock resultsBlock = groupByOperator.nextBlock();
QueriesTestUtils.testInnerSegmentExecutionStatistics(groupByOperator.getExecutionStatistics(), 100000L, 0L, 500000L,
100000L);
@@ -101,7 +101,7 @@
@Test
public void testMediumAggregationGroupBy() {
// Test query without filter.
- AggregationGroupByOrderByOperator groupByOperator = getOperator(AGGREGATION_QUERY + MEDIUM_GROUP_BY);
+ GroupByOperator groupByOperator = getOperator(AGGREGATION_QUERY + MEDIUM_GROUP_BY);
GroupByResultsBlock resultsBlock = groupByOperator.nextBlock();
QueriesTestUtils.testInnerSegmentExecutionStatistics(groupByOperator.getExecutionStatistics(), 100000L, 0L, 700000L,
100000L);
@@ -120,7 +120,7 @@
@Test
public void testLargeAggregationGroupBy() {
// Test query without filter.
- AggregationGroupByOrderByOperator groupByOperator = getOperator(AGGREGATION_QUERY + LARGE_GROUP_BY);
+ GroupByOperator groupByOperator = getOperator(AGGREGATION_QUERY + LARGE_GROUP_BY);
GroupByResultsBlock resultsBlock = groupByOperator.nextBlock();
QueriesTestUtils.testInnerSegmentExecutionStatistics(groupByOperator.getExecutionStatistics(), 100000L, 0L, 700000L,
100000L);
@@ -139,7 +139,7 @@
@Test
public void testVeryLargeAggregationGroupBy() {
// Test query without filter.
- AggregationGroupByOrderByOperator groupByOperator = getOperator(AGGREGATION_QUERY + VERY_LARGE_GROUP_BY);
+ GroupByOperator groupByOperator = getOperator(AGGREGATION_QUERY + VERY_LARGE_GROUP_BY);
GroupByResultsBlock resultsBlock = groupByOperator.nextBlock();
QueriesTestUtils.testInnerSegmentExecutionStatistics(groupByOperator.getExecutionStatistics(), 100000L, 0L, 700000L,
100000L);
diff --git a/pinot-core/src/test/java/org/apache/pinot/queries/InnerSegmentAggregationSingleValueQueriesTest.java b/pinot-core/src/test/java/org/apache/pinot/queries/InnerSegmentAggregationSingleValueQueriesTest.java
index 85b2c67..8d0e187 100644
--- a/pinot-core/src/test/java/org/apache/pinot/queries/InnerSegmentAggregationSingleValueQueriesTest.java
+++ b/pinot-core/src/test/java/org/apache/pinot/queries/InnerSegmentAggregationSingleValueQueriesTest.java
@@ -20,9 +20,9 @@
import org.apache.pinot.core.operator.blocks.results.AggregationResultsBlock;
import org.apache.pinot.core.operator.blocks.results.GroupByResultsBlock;
-import org.apache.pinot.core.operator.query.AggregationGroupByOrderByOperator;
import org.apache.pinot.core.operator.query.AggregationOperator;
import org.apache.pinot.core.operator.query.FilteredAggregationOperator;
+import org.apache.pinot.core.operator.query.GroupByOperator;
import org.testng.annotations.Test;
@@ -95,7 +95,7 @@
@Test
public void testSmallAggregationGroupBy() {
// Test query without filter.
- AggregationGroupByOrderByOperator groupByOperator = getOperator(AGGREGATION_QUERY + SMALL_GROUP_BY);
+ GroupByOperator groupByOperator = getOperator(AGGREGATION_QUERY + SMALL_GROUP_BY);
GroupByResultsBlock resultsBlock = groupByOperator.nextBlock();
QueriesTestUtils.testInnerSegmentExecutionStatistics(groupByOperator.getExecutionStatistics(), 30000L, 0L, 150000L,
30000L);
@@ -114,7 +114,7 @@
@Test
public void testMediumAggregationGroupBy() {
// Test query without filter.
- AggregationGroupByOrderByOperator groupByOperator = getOperator(AGGREGATION_QUERY + MEDIUM_GROUP_BY);
+ GroupByOperator groupByOperator = getOperator(AGGREGATION_QUERY + MEDIUM_GROUP_BY);
GroupByResultsBlock resultsBlock = groupByOperator.nextBlock();
QueriesTestUtils.testInnerSegmentExecutionStatistics(groupByOperator.getExecutionStatistics(), 30000L, 0L, 210000L,
30000L);
@@ -134,7 +134,7 @@
@Test
public void testLargeAggregationGroupBy() {
// Test query without filter.
- AggregationGroupByOrderByOperator groupByOperator = getOperator(AGGREGATION_QUERY + LARGE_GROUP_BY);
+ GroupByOperator groupByOperator = getOperator(AGGREGATION_QUERY + LARGE_GROUP_BY);
GroupByResultsBlock resultsBlock = groupByOperator.nextBlock();
QueriesTestUtils.testInnerSegmentExecutionStatistics(groupByOperator.getExecutionStatistics(), 30000L, 0L, 210000L,
30000L);
@@ -155,7 +155,7 @@
@Test
public void testVeryLargeAggregationGroupBy() {
// Test query without filter.
- AggregationGroupByOrderByOperator groupByOperator = getOperator(AGGREGATION_QUERY + VERY_LARGE_GROUP_BY);
+ GroupByOperator groupByOperator = getOperator(AGGREGATION_QUERY + VERY_LARGE_GROUP_BY);
GroupByResultsBlock resultsBlock = groupByOperator.nextBlock();
QueriesTestUtils.testInnerSegmentExecutionStatistics(groupByOperator.getExecutionStatistics(), 30000L, 0L, 270000L,
30000L);
diff --git a/pinot-core/src/test/java/org/apache/pinot/queries/JsonDataTypeQueriesTest.java b/pinot-core/src/test/java/org/apache/pinot/queries/JsonDataTypeQueriesTest.java
index 38de361..c23e8be 100644
--- a/pinot-core/src/test/java/org/apache/pinot/queries/JsonDataTypeQueriesTest.java
+++ b/pinot-core/src/test/java/org/apache/pinot/queries/JsonDataTypeQueriesTest.java
@@ -30,7 +30,7 @@
import org.apache.pinot.common.utils.DataSchema;
import org.apache.pinot.core.common.Operator;
import org.apache.pinot.core.operator.blocks.results.SelectionResultsBlock;
-import org.apache.pinot.core.operator.query.AggregationGroupByOrderByOperator;
+import org.apache.pinot.core.operator.query.GroupByOperator;
import org.apache.pinot.core.query.aggregation.groupby.AggregationGroupByResult;
import org.apache.pinot.core.query.aggregation.groupby.GroupKeyGenerator;
import org.apache.pinot.segment.local.indexsegment.immutable.ImmutableSegmentLoader;
@@ -359,7 +359,7 @@
@Test
public void testJsonMatchMultidimensionalArrayGroupByWithIndex() {
- AggregationGroupByOrderByOperator groupByOperator = getOperator(
+ GroupByOperator groupByOperator = getOperator(
"select json_extract_scalar(jsonColumn, '$.name.first', 'STRING'), count(*) FROM testTable WHERE json_match"
+ "(jsonColumn, '\"$.data[0][1][0]\" = ''3''') GROUP BY json_extract_scalar(jsonColumn, '$.name.first', "
+ "'STRING')");
diff --git a/pinot-core/src/test/java/org/apache/pinot/queries/LastWithTimeQueriesTest.java b/pinot-core/src/test/java/org/apache/pinot/queries/LastWithTimeQueriesTest.java
index 915fa13..a9c368b 100644
--- a/pinot-core/src/test/java/org/apache/pinot/queries/LastWithTimeQueriesTest.java
+++ b/pinot-core/src/test/java/org/apache/pinot/queries/LastWithTimeQueriesTest.java
@@ -36,8 +36,8 @@
import org.apache.pinot.common.utils.DataSchema.ColumnDataType;
import org.apache.pinot.core.operator.blocks.results.AggregationResultsBlock;
import org.apache.pinot.core.operator.blocks.results.GroupByResultsBlock;
-import org.apache.pinot.core.operator.query.AggregationGroupByOrderByOperator;
import org.apache.pinot.core.operator.query.AggregationOperator;
+import org.apache.pinot.core.operator.query.GroupByOperator;
import org.apache.pinot.core.query.aggregation.groupby.AggregationGroupByResult;
import org.apache.pinot.core.query.aggregation.groupby.GroupKeyGenerator;
import org.apache.pinot.segment.local.customobject.DoubleLongPair;
@@ -370,7 +370,7 @@
private void verifyAggregationGroupBy(String query, int numProjectedColumns) {
// Inner segment
- AggregationGroupByOrderByOperator groupByOperator = getOperator(query);
+ GroupByOperator groupByOperator = getOperator(query);
GroupByResultsBlock resultsBlock = groupByOperator.nextBlock();
QueriesTestUtils.testInnerSegmentExecutionStatistics(groupByOperator.getExecutionStatistics(), NUM_RECORDS, 0,
numProjectedColumns * (long) NUM_RECORDS, NUM_RECORDS);
diff --git a/pinot-core/src/test/java/org/apache/pinot/queries/ModeQueriesTest.java b/pinot-core/src/test/java/org/apache/pinot/queries/ModeQueriesTest.java
index a348cf2..6b785d8 100644
--- a/pinot-core/src/test/java/org/apache/pinot/queries/ModeQueriesTest.java
+++ b/pinot-core/src/test/java/org/apache/pinot/queries/ModeQueriesTest.java
@@ -35,8 +35,8 @@
import org.apache.pinot.common.utils.HashUtil;
import org.apache.pinot.core.operator.blocks.results.AggregationResultsBlock;
import org.apache.pinot.core.operator.blocks.results.GroupByResultsBlock;
-import org.apache.pinot.core.operator.query.AggregationGroupByOrderByOperator;
import org.apache.pinot.core.operator.query.AggregationOperator;
+import org.apache.pinot.core.operator.query.GroupByOperator;
import org.apache.pinot.core.query.aggregation.groupby.AggregationGroupByResult;
import org.apache.pinot.core.query.aggregation.groupby.GroupKeyGenerator;
import org.apache.pinot.segment.local.indexsegment.immutable.ImmutableSegmentLoader;
@@ -233,7 +233,7 @@
@Test(dataProvider = "testAggregationGroupByDataProvider")
public void testAggregationGroupBy(String query) {
// Inner segment
- AggregationGroupByOrderByOperator groupByOperator = getOperator(query);
+ GroupByOperator groupByOperator = getOperator(query);
GroupByResultsBlock resultsBlock = groupByOperator.nextBlock();
QueriesTestUtils.testInnerSegmentExecutionStatistics(groupByOperator.getExecutionStatistics(), NUM_RECORDS, 0,
4 * NUM_RECORDS, NUM_RECORDS);
@@ -305,7 +305,7 @@
@Test(dataProvider = "testAggregationGroupByMVDataProvider")
public void testAggregationGroupByMV(String query) {
// Inner segment
- AggregationGroupByOrderByOperator groupByOperator = getOperator(query);
+ GroupByOperator groupByOperator = getOperator(query);
GroupByResultsBlock resultsBlock = groupByOperator.nextBlock();
QueriesTestUtils.testInnerSegmentExecutionStatistics(groupByOperator.getExecutionStatistics(), NUM_RECORDS, 0,
5 * NUM_RECORDS, NUM_RECORDS);
diff --git a/pinot-core/src/test/java/org/apache/pinot/queries/PercentileTDigestQueriesTest.java b/pinot-core/src/test/java/org/apache/pinot/queries/PercentileTDigestQueriesTest.java
index 041cc05..426d992 100644
--- a/pinot-core/src/test/java/org/apache/pinot/queries/PercentileTDigestQueriesTest.java
+++ b/pinot-core/src/test/java/org/apache/pinot/queries/PercentileTDigestQueriesTest.java
@@ -32,8 +32,8 @@
import org.apache.pinot.common.response.broker.BrokerResponseNative;
import org.apache.pinot.core.operator.blocks.results.AggregationResultsBlock;
import org.apache.pinot.core.operator.blocks.results.GroupByResultsBlock;
-import org.apache.pinot.core.operator.query.AggregationGroupByOrderByOperator;
import org.apache.pinot.core.operator.query.AggregationOperator;
+import org.apache.pinot.core.operator.query.GroupByOperator;
import org.apache.pinot.core.query.aggregation.function.PercentileTDigestAggregationFunction;
import org.apache.pinot.core.query.aggregation.groupby.AggregationGroupByResult;
import org.apache.pinot.core.query.aggregation.groupby.GroupKeyGenerator;
@@ -194,7 +194,7 @@
@Test
public void testInnerSegmentGroupBy() {
// For inner segment case, percentile does not affect the intermediate result
- AggregationGroupByOrderByOperator groupByOperator = getOperator(getGroupByQuery(0));
+ GroupByOperator groupByOperator = getOperator(getGroupByQuery(0));
GroupByResultsBlock resultsBlock = groupByOperator.nextBlock();
AggregationGroupByResult groupByResult = resultsBlock.getAggregationGroupByResult();
assertNotNull(groupByResult);
diff --git a/pinot-core/src/test/java/org/apache/pinot/queries/SegmentPartitionedDistinctCountQueriesTest.java b/pinot-core/src/test/java/org/apache/pinot/queries/SegmentPartitionedDistinctCountQueriesTest.java
index 5c736f6..664f565 100644
--- a/pinot-core/src/test/java/org/apache/pinot/queries/SegmentPartitionedDistinctCountQueriesTest.java
+++ b/pinot-core/src/test/java/org/apache/pinot/queries/SegmentPartitionedDistinctCountQueriesTest.java
@@ -35,8 +35,8 @@
import org.apache.pinot.core.common.Operator;
import org.apache.pinot.core.operator.blocks.results.AggregationResultsBlock;
import org.apache.pinot.core.operator.blocks.results.GroupByResultsBlock;
-import org.apache.pinot.core.operator.query.AggregationGroupByOrderByOperator;
import org.apache.pinot.core.operator.query.AggregationOperator;
+import org.apache.pinot.core.operator.query.GroupByOperator;
import org.apache.pinot.core.operator.query.NonScanBasedAggregationOperator;
import org.apache.pinot.core.query.aggregation.groupby.AggregationGroupByResult;
import org.apache.pinot.core.query.aggregation.groupby.GroupKeyGenerator;
@@ -212,7 +212,7 @@
+ "testTable GROUP BY intColumn";
// Inner segment
- AggregationGroupByOrderByOperator groupByOperator = getOperator(query);
+ GroupByOperator groupByOperator = getOperator(query);
GroupByResultsBlock resultsBlock = groupByOperator.nextBlock();
QueriesTestUtils.testInnerSegmentExecutionStatistics(groupByOperator.getExecutionStatistics(), NUM_RECORDS, 0,
6 * NUM_RECORDS, NUM_RECORDS);
diff --git a/pinot-core/src/test/java/org/apache/pinot/queries/SerializedBytesQueriesTest.java b/pinot-core/src/test/java/org/apache/pinot/queries/SerializedBytesQueriesTest.java
index 19c9f43..bba665f 100644
--- a/pinot-core/src/test/java/org/apache/pinot/queries/SerializedBytesQueriesTest.java
+++ b/pinot-core/src/test/java/org/apache/pinot/queries/SerializedBytesQueriesTest.java
@@ -30,8 +30,8 @@
import java.util.Random;
import org.apache.commons.io.FileUtils;
import org.apache.pinot.core.common.ObjectSerDeUtils;
-import org.apache.pinot.core.operator.query.AggregationGroupByOrderByOperator;
import org.apache.pinot.core.operator.query.AggregationOperator;
+import org.apache.pinot.core.operator.query.GroupByOperator;
import org.apache.pinot.core.query.aggregation.groupby.AggregationGroupByResult;
import org.apache.pinot.core.query.aggregation.groupby.GroupKeyGenerator;
import org.apache.pinot.segment.local.customobject.AvgPair;
@@ -382,7 +382,7 @@
@Test
public void testInnerSegmentGroupBySV()
throws Exception {
- AggregationGroupByOrderByOperator groupByOperator = getOperator(getGroupBySVQuery());
+ GroupByOperator groupByOperator = getOperator(getGroupBySVQuery());
AggregationGroupByResult groupByResult = groupByOperator.nextBlock().getAggregationGroupByResult();
assertNotNull(groupByResult);
@@ -551,7 +551,7 @@
@Test
public void testInnerSegmentGroupByMV()
throws Exception {
- AggregationGroupByOrderByOperator groupByOperator = getOperator(getGroupByMVQuery());
+ GroupByOperator groupByOperator = getOperator(getGroupByMVQuery());
AggregationGroupByResult groupByResult = groupByOperator.nextBlock().getAggregationGroupByResult();
assertNotNull(groupByResult);
diff --git a/pinot-core/src/test/java/org/apache/pinot/queries/StUnionQueriesTest.java b/pinot-core/src/test/java/org/apache/pinot/queries/StUnionQueriesTest.java
index 4bf9882..5cbe1b5 100644
--- a/pinot-core/src/test/java/org/apache/pinot/queries/StUnionQueriesTest.java
+++ b/pinot-core/src/test/java/org/apache/pinot/queries/StUnionQueriesTest.java
@@ -38,8 +38,8 @@
import org.apache.pinot.core.geospatial.transform.function.ScalarFunctions;
import org.apache.pinot.core.operator.blocks.results.AggregationResultsBlock;
import org.apache.pinot.core.operator.blocks.results.GroupByResultsBlock;
-import org.apache.pinot.core.operator.query.AggregationGroupByOrderByOperator;
import org.apache.pinot.core.operator.query.AggregationOperator;
+import org.apache.pinot.core.operator.query.GroupByOperator;
import org.apache.pinot.core.query.aggregation.groupby.AggregationGroupByResult;
import org.apache.pinot.core.query.aggregation.groupby.GroupKeyGenerator;
import org.apache.pinot.segment.local.indexsegment.immutable.ImmutableSegmentLoader;
@@ -257,7 +257,7 @@
String query = "SELECT intColumn, ST_UNION(pointColumn) FROM testTable GROUP BY intColumn";
// Inner segment
- AggregationGroupByOrderByOperator groupByOperator = getOperator(query);
+ GroupByOperator groupByOperator = getOperator(query);
GroupByResultsBlock resultsBlock = groupByOperator.nextBlock();
QueriesTestUtils.testInnerSegmentExecutionStatistics(groupByOperator.getExecutionStatistics(), NUM_RECORDS, 0,
2 * NUM_RECORDS, NUM_RECORDS);
diff --git a/pinot-core/src/test/java/org/apache/pinot/queries/SumGreatestLeastQueriesTest.java b/pinot-core/src/test/java/org/apache/pinot/queries/SumGreatestLeastQueriesTest.java
index 219b018..646d644 100644
--- a/pinot-core/src/test/java/org/apache/pinot/queries/SumGreatestLeastQueriesTest.java
+++ b/pinot-core/src/test/java/org/apache/pinot/queries/SumGreatestLeastQueriesTest.java
@@ -24,8 +24,8 @@
import java.util.Iterator;
import java.util.List;
import org.apache.commons.io.FileUtils;
-import org.apache.pinot.core.operator.query.AggregationGroupByOrderByOperator;
import org.apache.pinot.core.operator.query.AggregationOperator;
+import org.apache.pinot.core.operator.query.GroupByOperator;
import org.apache.pinot.core.query.aggregation.groupby.AggregationGroupByResult;
import org.apache.pinot.core.query.aggregation.groupby.GroupKeyGenerator;
import org.apache.pinot.segment.local.indexsegment.immutable.ImmutableSegmentLoader;
@@ -142,7 +142,7 @@
+ "sum(least(" + OFF_COLUMN + ", " + ON_COLUMN + ")) "
+ "from " + RAW_TABLE_NAME + " "
+ "group by " + CLASSIFICATION_COLUMN;
- AggregationGroupByOrderByOperator groupByOperator = getOperator(query);
+ GroupByOperator groupByOperator = getOperator(query);
AggregationGroupByResult result = groupByOperator.nextBlock().getAggregationGroupByResult();
assertNotNull(result);
Iterator<GroupKeyGenerator.GroupKey> it = result.getGroupKeyIterator();
diff --git a/pinot-core/src/test/java/org/apache/pinot/queries/TransformQueriesTest.java b/pinot-core/src/test/java/org/apache/pinot/queries/TransformQueriesTest.java
index 816e50a..f3abbbc 100644
--- a/pinot-core/src/test/java/org/apache/pinot/queries/TransformQueriesTest.java
+++ b/pinot-core/src/test/java/org/apache/pinot/queries/TransformQueriesTest.java
@@ -26,8 +26,8 @@
import java.util.List;
import java.util.concurrent.TimeUnit;
import org.apache.commons.io.FileUtils;
-import org.apache.pinot.core.operator.query.AggregationGroupByOrderByOperator;
import org.apache.pinot.core.operator.query.AggregationOperator;
+import org.apache.pinot.core.operator.query.GroupByOperator;
import org.apache.pinot.core.query.aggregation.groupby.AggregationGroupByResult;
import org.apache.pinot.core.query.aggregation.groupby.GroupKeyGenerator;
import org.apache.pinot.segment.local.customobject.AvgPair;
@@ -228,7 +228,7 @@
}
private void verifyDateTruncationResult(String query, Object[] expectedGroupKey) {
- AggregationGroupByOrderByOperator groupByOperator = getOperator(query);
+ GroupByOperator groupByOperator = getOperator(query);
AggregationGroupByResult aggregationGroupByResult = groupByOperator.nextBlock().getAggregationGroupByResult();
assertNotNull(aggregationGroupByResult);
List<GroupKeyGenerator.GroupKey> groupKeys = ImmutableList.copyOf(aggregationGroupByResult.getGroupKeyIterator());
diff --git a/pinot-integration-tests/src/test/java/org/apache/pinot/integration/tests/OfflineClusterIntegrationTest.java b/pinot-integration-tests/src/test/java/org/apache/pinot/integration/tests/OfflineClusterIntegrationTest.java
index 962fd84..6df7591 100644
--- a/pinot-integration-tests/src/test/java/org/apache/pinot/integration/tests/OfflineClusterIntegrationTest.java
+++ b/pinot-integration-tests/src/test/java/org/apache/pinot/integration/tests/OfflineClusterIntegrationTest.java
@@ -2466,11 +2466,12 @@
response1 = response1.replaceAll("docs:[0-9]+", "docs:*");
assertEquals(response1, "{\"dataSchema\":{\"columnNames\":[\"Operator\",\"Operator_Id\",\"Parent_Id\"],"
- + "\"columnDataTypes\":[\"STRING\",\"INT\",\"INT\"]},\"rows\":[[\"BROKER_REDUCE(sort:[count(*) ASC],limit:10)"
- + "\",1,0],[\"COMBINE_GROUPBY_ORDERBY\",2,1],[\"PLAN_START(numSegmentsForThisPlan:1)\",-1,-1],"
- + "[\"AGGREGATE_GROUPBY_ORDERBY(groupKeys:Carrier, aggregations:count(*))\",3,2],"
- + "[\"TRANSFORM_PASSTHROUGH(Carrier)\",4,3],[\"PROJECT(Carrier)\",5,4],"
- + "[\"DOC_ID_SET\",6,5],[\"FILTER_MATCH_ENTIRE_SEGMENT(docs:*)\",7,6]]}");
+ + "\"columnDataTypes\":[\"STRING\",\"INT\",\"INT\"]},"
+ + "\"rows\":[[\"BROKER_REDUCE(sort:[count(*) ASC],limit:10)\",1,0],[\"COMBINE_GROUP_BY\",2,1],"
+ + "[\"PLAN_START(numSegmentsForThisPlan:1)\",-1,-1],"
+ + "[\"GROUP_BY(groupKeys:Carrier, aggregations:count(*))\",3,2],"
+ + "[\"TRANSFORM_PASSTHROUGH(Carrier)\",4,3],[\"PROJECT(Carrier)\",5,4],[\"DOC_ID_SET\",6,5],"
+ + "[\"FILTER_MATCH_ENTIRE_SEGMENT(docs:*)\",7,6]]}");
// In the query below, FlightNum column has an inverted index and there is no data satisfying the predicate
// "FlightNum < 0". Hence, all segments are pruned out before query execution on the server side.