This is an automated email from the ASF dual-hosted git repository.
jackie pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pinot.git
The following commit(s) were added to refs/heads/master by this push:
new dca5d383c6 [Clean up] Remove getColumnName() from AggregationFunction
interface (#10431)
dca5d383c6 is described below
commit dca5d383c672fc84f675328d494a4a0efffd6a59
Author: Xiaotian (Jackie) Jiang <[email protected]>
AuthorDate: Thu Mar 16 17:37:21 2023 -0700
[Clean up] Remove getColumnName() from AggregationFunction interface
(#10431)
---
.../blocks/results/AggregationResultsBlock.java | 17 +++--
.../operator/blocks/results/ResultsBlockUtils.java | 14 +---
.../aggregation/function/AggregationFunction.java | 5 --
.../BaseSingleInputAggregationFunction.java | 5 --
.../function/CountAggregationFunction.java | 6 --
.../function/CountMVAggregationFunction.java | 5 --
.../function/CovarianceAggregationFunction.java | 5 --
.../function/DistinctAggregationFunction.java | 14 +---
...irstDoubleValueWithTimeAggregationFunction.java | 24 ++----
...FirstFloatValueWithTimeAggregationFunction.java | 25 ++----
.../FirstIntValueWithTimeAggregationFunction.java | 28 ++-----
.../FirstLongValueWithTimeAggregationFunction.java | 24 ++----
...irstStringValueWithTimeAggregationFunction.java | 20 +----
...LastDoubleValueWithTimeAggregationFunction.java | 24 ++----
.../LastFloatValueWithTimeAggregationFunction.java | 25 ++----
.../LastIntValueWithTimeAggregationFunction.java | 28 ++-----
.../LastLongValueWithTimeAggregationFunction.java | 24 ++----
...LastStringValueWithTimeAggregationFunction.java | 20 +----
.../function/PercentileAggregationFunction.java | 6 --
.../function/PercentileEstAggregationFunction.java | 6 --
.../PercentileEstMVAggregationFunction.java | 6 --
.../function/PercentileMVAggregationFunction.java | 6 --
.../PercentileRawEstAggregationFunction.java | 9 ---
.../PercentileRawTDigestAggregationFunction.java | 9 ---
.../PercentileSmartTDigestAggregationFunction.java | 5 --
.../PercentileTDigestAggregationFunction.java | 6 --
.../PercentileTDigestMVAggregationFunction.java | 6 --
.../query/reduce/AggregationDataTableReducer.java | 38 +++++-----
.../blocks/results/ResultsBlockUtilsTest.java | 19 ++---
.../function/AggregationFunctionFactoryTest.java | 88 ++++------------------
30 files changed, 113 insertions(+), 404 deletions(-)
diff --git
a/pinot-core/src/main/java/org/apache/pinot/core/operator/blocks/results/AggregationResultsBlock.java
b/pinot-core/src/main/java/org/apache/pinot/core/operator/blocks/results/AggregationResultsBlock.java
index b2bb5b7308..b10ebdd3b9 100644
---
a/pinot-core/src/main/java/org/apache/pinot/core/operator/blocks/results/AggregationResultsBlock.java
+++
b/pinot-core/src/main/java/org/apache/pinot/core/operator/blocks/results/AggregationResultsBlock.java
@@ -23,12 +23,15 @@ import java.io.IOException;
import java.math.BigDecimal;
import java.util.Collections;
import java.util.List;
+import org.apache.commons.lang3.tuple.Pair;
import org.apache.pinot.common.datatable.DataTable;
+import org.apache.pinot.common.request.context.FilterContext;
import org.apache.pinot.common.utils.DataSchema;
import org.apache.pinot.common.utils.DataSchema.ColumnDataType;
import org.apache.pinot.core.common.datatable.DataTableBuilder;
import org.apache.pinot.core.common.datatable.DataTableBuilderFactory;
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;
import org.apache.pinot.spi.utils.ByteArray;
import org.roaringbitmap.RoaringBitmap;
@@ -62,13 +65,17 @@ public class AggregationResultsBlock extends
BaseResultsBlock {
@Override
public DataSchema getDataSchema(QueryContext queryContext) {
- boolean returnFinalResult = queryContext.isServerReturnFinalResult();
- int numColumns = _aggregationFunctions.length;
+ List<Pair<AggregationFunction, FilterContext>>
filteredAggregationFunctions =
+ queryContext.getFilteredAggregationFunctions();
+ assert filteredAggregationFunctions != null;
+ int numColumns = filteredAggregationFunctions.size();
String[] columnNames = new String[numColumns];
ColumnDataType[] columnDataTypes = new ColumnDataType[numColumns];
+ boolean returnFinalResult = queryContext.isServerReturnFinalResult();
for (int i = 0; i < numColumns; i++) {
- AggregationFunction aggregationFunction = _aggregationFunctions[i];
- columnNames[i] = aggregationFunction.getColumnName();
+ Pair<AggregationFunction, FilterContext> pair =
filteredAggregationFunctions.get(i);
+ AggregationFunction aggregationFunction = pair.getLeft();
+ columnNames[i] =
AggregationFunctionUtils.getResultColumnName(aggregationFunction,
pair.getRight());
columnDataTypes[i] = returnFinalResult ?
aggregationFunction.getFinalResultColumnType()
: aggregationFunction.getIntermediateResultColumnType();
}
@@ -83,12 +90,12 @@ public class AggregationResultsBlock extends
BaseResultsBlock {
@Override
public DataTable getDataTable(QueryContext queryContext)
throws IOException {
- boolean returnFinalResult = queryContext.isServerReturnFinalResult();
DataSchema dataSchema = getDataSchema(queryContext);
assert dataSchema != null;
ColumnDataType[] columnDataTypes = dataSchema.getColumnDataTypes();
int numColumns = columnDataTypes.length;
DataTableBuilder dataTableBuilder =
DataTableBuilderFactory.getDataTableBuilder(dataSchema);
+ boolean returnFinalResult = queryContext.isServerReturnFinalResult();
if (queryContext.isNullHandlingEnabled()) {
RoaringBitmap[] nullBitmaps = new RoaringBitmap[numColumns];
for (int i = 0; i < numColumns; i++) {
diff --git
a/pinot-core/src/main/java/org/apache/pinot/core/operator/blocks/results/ResultsBlockUtils.java
b/pinot-core/src/main/java/org/apache/pinot/core/operator/blocks/results/ResultsBlockUtils.java
index 6fe8346a8b..f760920923 100644
---
a/pinot-core/src/main/java/org/apache/pinot/core/operator/blocks/results/ResultsBlockUtils.java
+++
b/pinot-core/src/main/java/org/apache/pinot/core/operator/blocks/results/ResultsBlockUtils.java
@@ -71,8 +71,6 @@ public class ResultsBlockUtils {
private static AggregationResultsBlock
buildEmptyAggregationQueryResults(QueryContext queryContext) {
AggregationFunction[] aggregationFunctions =
queryContext.getAggregationFunctions();
- List<Pair<AggregationFunction, FilterContext>>
filteredAggregationFunctions =
- queryContext.getFilteredAggregationFunctions();
assert aggregationFunctions != null;
int numAggregations = aggregationFunctions.length;
List<Object> results = new ArrayList<>(numAggregations);
@@ -85,9 +83,8 @@ public class ResultsBlockUtils {
private static GroupByResultsBlock
buildEmptyGroupByQueryResults(QueryContext queryContext) {
List<Pair<AggregationFunction, FilterContext>>
filteredAggregationFunctions =
queryContext.getFilteredAggregationFunctions();
-
List<ExpressionContext> groupByExpressions =
queryContext.getGroupByExpressions();
- assert groupByExpressions != null;
+ assert filteredAggregationFunctions != null && groupByExpressions != null;
int numColumns = groupByExpressions.size() +
filteredAggregationFunctions.size();
String[] columnNames = new String[numColumns];
ColumnDataType[] columnDataTypes = new ColumnDataType[numColumns];
@@ -98,12 +95,9 @@ public class ResultsBlockUtils {
columnDataTypes[index] = ColumnDataType.STRING;
index++;
}
- for (Pair<AggregationFunction, FilterContext> aggFilterPair :
filteredAggregationFunctions) {
- // NOTE: Use AggregationFunction.getResultColumnName() for SQL format
response
- AggregationFunction aggregationFunction = aggFilterPair.getLeft();
- String columnName =
- AggregationFunctionUtils.getResultColumnName(aggregationFunction,
aggFilterPair.getRight());
- columnNames[index] = columnName;
+ for (Pair<AggregationFunction, FilterContext> pair :
filteredAggregationFunctions) {
+ AggregationFunction aggregationFunction = pair.getLeft();
+ columnNames[index] =
AggregationFunctionUtils.getResultColumnName(aggregationFunction,
pair.getRight());
columnDataTypes[index] =
aggregationFunction.getIntermediateResultColumnType();
index++;
}
diff --git
a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/AggregationFunction.java
b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/AggregationFunction.java
index 220feec5d1..8176308713 100644
---
a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/AggregationFunction.java
+++
b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/AggregationFunction.java
@@ -46,11 +46,6 @@ public interface AggregationFunction<IntermediateResult,
FinalResult extends Com
*/
AggregationFunctionType getType();
- /**
- * Returns the result column name for the given aggregation column, e.g.
'SUM(foo)' -> 'sum_foo'.
- */
- String getColumnName();
-
/**
* Returns the column name to be used in the data schema of results.
* e.g. 'MINMAXRANGEMV( foo)' -> 'minmaxrangemv(foo)', 'PERCENTILE75(bar)'
-> 'percentile75(bar)'
diff --git
a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/BaseSingleInputAggregationFunction.java
b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/BaseSingleInputAggregationFunction.java
index 54986c9a74..84ff537a9c 100644
---
a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/BaseSingleInputAggregationFunction.java
+++
b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/BaseSingleInputAggregationFunction.java
@@ -38,11 +38,6 @@ public abstract class BaseSingleInputAggregationFunction<I,
F extends Comparable
_expression = expression;
}
- @Override
- public String getColumnName() {
- return getType().getName() + "_" + _expression;
- }
-
@Override
public String getResultColumnName() {
return getType().getName().toLowerCase() + "(" + _expression + ")";
diff --git
a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/CountAggregationFunction.java
b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/CountAggregationFunction.java
index 06d8048b87..e9861193f4 100644
---
a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/CountAggregationFunction.java
+++
b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/CountAggregationFunction.java
@@ -34,7 +34,6 @@ import org.roaringbitmap.RoaringBitmap;
public class CountAggregationFunction extends
BaseSingleInputAggregationFunction<Long, Long> {
- private static final String COUNT_STAR_COLUMN_NAME = "count_star";
private static final String COUNT_STAR_RESULT_COLUMN_NAME = "count(*)";
private static final double DEFAULT_INITIAL_VALUE = 0.0;
// Special expression used by star-tree to pass in BlockValSet
@@ -62,11 +61,6 @@ public class CountAggregationFunction extends
BaseSingleInputAggregationFunction
return AggregationFunctionType.COUNT;
}
- @Override
- public String getColumnName() {
- return _nullHandlingEnabled ? super.getColumnName() :
COUNT_STAR_COLUMN_NAME;
- }
-
@Override
public String getResultColumnName() {
return _nullHandlingEnabled ? super.getResultColumnName() :
COUNT_STAR_RESULT_COLUMN_NAME;
diff --git
a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/CountMVAggregationFunction.java
b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/CountMVAggregationFunction.java
index 061111daaf..cb7ab591fb 100644
---
a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/CountMVAggregationFunction.java
+++
b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/CountMVAggregationFunction.java
@@ -45,11 +45,6 @@ public class CountMVAggregationFunction extends
CountAggregationFunction {
return AggregationFunctionType.COUNTMV;
}
- @Override
- public String getColumnName() {
- return AggregationFunctionType.COUNTMV.getName() + "_" + _expression;
- }
-
@Override
public String getResultColumnName() {
return AggregationFunctionType.COUNTMV.getName().toLowerCase() + "(" +
_expression + ")";
diff --git
a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/CovarianceAggregationFunction.java
b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/CovarianceAggregationFunction.java
index 1676835bae..7f07d0cfb8 100644
---
a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/CovarianceAggregationFunction.java
+++
b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/CovarianceAggregationFunction.java
@@ -68,11 +68,6 @@ public class CovarianceAggregationFunction implements
AggregationFunction<Covari
return AggregationFunctionType.COVARPOP;
}
- @Override
- public String getColumnName() {
- return getType().getName() + "_" + _expression1 + "_" + _expression2;
- }
-
@Override
public String getResultColumnName() {
return getType().getName().toLowerCase() + "(" + _expression1 + "," +
_expression2 + ")";
diff --git
a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/DistinctAggregationFunction.java
b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/DistinctAggregationFunction.java
index 6f0703d72e..6035ca5a03 100644
---
a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/DistinctAggregationFunction.java
+++
b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/DistinctAggregationFunction.java
@@ -21,7 +21,6 @@ package org.apache.pinot.core.query.aggregation.function;
import java.util.List;
import java.util.Map;
import javax.annotation.Nullable;
-import org.apache.commons.lang3.StringUtils;
import org.apache.pinot.common.request.context.ExpressionContext;
import org.apache.pinot.common.request.context.OrderByExpressionContext;
import org.apache.pinot.common.utils.DataSchema.ColumnDataType;
@@ -80,23 +79,18 @@ public class DistinctAggregationFunction implements
AggregationFunction<Object,
}
@Override
- public String getColumnName() {
- return AggregationFunctionType.DISTINCT.getName() + "_" +
StringUtils.join(_columns, ':');
+ public List<ExpressionContext> getInputExpressions() {
+ return _expressions;
}
@Override
public String getResultColumnName() {
- return AggregationFunctionType.DISTINCT.getName().toLowerCase() + "(" +
StringUtils.join(_columns, ':') + ")";
- }
-
- @Override
- public List<ExpressionContext> getInputExpressions() {
- return _expressions;
+ throw new UnsupportedOperationException("Operation not supported for
DISTINCT aggregation function");
}
@Override
public ColumnDataType getIntermediateResultColumnType() {
- return ColumnDataType.OBJECT;
+ throw new UnsupportedOperationException("Operation not supported for
DISTINCT aggregation function");
}
@Override
diff --git
a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/FirstDoubleValueWithTimeAggregationFunction.java
b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/FirstDoubleValueWithTimeAggregationFunction.java
index 56aff397df..270a86d671 100644
---
a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/FirstDoubleValueWithTimeAggregationFunction.java
+++
b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/FirstDoubleValueWithTimeAggregationFunction.java
@@ -38,15 +38,10 @@ import
org.apache.pinot.segment.local.customobject.ValueLongPair;
* Numeric column</li>
* </ul>
*/
-@SuppressWarnings({"rawtypes", "unchecked"})
public class FirstDoubleValueWithTimeAggregationFunction extends
FirstWithTimeAggregationFunction<Double> {
+ private final static ValueLongPair<Double> DEFAULT_VALUE_TIME_PAIR = new
DoubleLongPair(Double.NaN, Long.MAX_VALUE);
- private final static ValueLongPair<Double> DEFAULT_VALUE_TIME_PAIR
- = new DoubleLongPair(Double.NaN, Long.MAX_VALUE);
-
- public FirstDoubleValueWithTimeAggregationFunction(
- ExpressionContext dataCol,
- ExpressionContext timeCol) {
+ public FirstDoubleValueWithTimeAggregationFunction(ExpressionContext
dataCol, ExpressionContext timeCol) {
super(dataCol, timeCol, ObjectSerDeUtils.DOUBLE_LONG_PAIR_SER_DE);
}
@@ -81,8 +76,7 @@ public class FirstDoubleValueWithTimeAggregationFunction
extends FirstWithTimeAg
@Override
public void aggregateGroupResultWithRawDataSv(int length, int[]
groupKeyArray,
- GroupByResultHolder groupByResultHolder,
- BlockValSet blockValSet, BlockValSet timeValSet) {
+ GroupByResultHolder groupByResultHolder, BlockValSet blockValSet,
BlockValSet timeValSet) {
double[] doubleValues = blockValSet.getDoubleValuesSV();
long[] timeValues = timeValSet.getLongValuesSV();
for (int i = 0; i < length; i++) {
@@ -93,11 +87,8 @@ public class FirstDoubleValueWithTimeAggregationFunction
extends FirstWithTimeAg
}
@Override
- public void aggregateGroupResultWithRawDataMv(int length,
- int[][] groupKeysArray,
- GroupByResultHolder groupByResultHolder,
- BlockValSet blockValSet,
- BlockValSet timeValSet) {
+ public void aggregateGroupResultWithRawDataMv(int length, int[][]
groupKeysArray,
+ GroupByResultHolder groupByResultHolder, BlockValSet blockValSet,
BlockValSet timeValSet) {
double[] doubleValues = blockValSet.getDoubleValuesSV();
long[] timeValues = timeValSet.getLongValuesSV();
for (int i = 0; i < length; i++) {
@@ -114,11 +105,6 @@ public class FirstDoubleValueWithTimeAggregationFunction
extends FirstWithTimeAg
return getType().getName().toLowerCase() + "(" + _expression + "," +
_timeCol + ",'DOUBLE')";
}
- @Override
- public String getColumnName() {
- return getType().getName() + "_" + _expression + "_" + _timeCol +
"_DOUBLE";
- }
-
@Override
public ColumnDataType getFinalResultColumnType() {
return ColumnDataType.DOUBLE;
diff --git
a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/FirstFloatValueWithTimeAggregationFunction.java
b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/FirstFloatValueWithTimeAggregationFunction.java
index 3801ff17a3..e4c4da2400 100644
---
a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/FirstFloatValueWithTimeAggregationFunction.java
+++
b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/FirstFloatValueWithTimeAggregationFunction.java
@@ -38,14 +38,10 @@ import
org.apache.pinot.segment.local.customobject.ValueLongPair;
* Numeric column</li>
* </ul>
*/
-@SuppressWarnings({"rawtypes", "unchecked"})
public class FirstFloatValueWithTimeAggregationFunction extends
FirstWithTimeAggregationFunction<Float> {
-
private final static ValueLongPair<Float> DEFAULT_VALUE_TIME_PAIR = new
FloatLongPair(Float.NaN, Long.MAX_VALUE);
- public FirstFloatValueWithTimeAggregationFunction(
- ExpressionContext dataCol,
- ExpressionContext timeCol) {
+ public FirstFloatValueWithTimeAggregationFunction(ExpressionContext dataCol,
ExpressionContext timeCol) {
super(dataCol, timeCol, ObjectSerDeUtils.FLOAT_LONG_PAIR_SER_DE);
}
@@ -79,11 +75,8 @@ public class FirstFloatValueWithTimeAggregationFunction
extends FirstWithTimeAgg
}
@Override
- public void aggregateGroupResultWithRawDataSv(int length,
- int[] groupKeyArray,
- GroupByResultHolder groupByResultHolder,
- BlockValSet blockValSet,
- BlockValSet timeValSet) {
+ public void aggregateGroupResultWithRawDataSv(int length, int[]
groupKeyArray,
+ GroupByResultHolder groupByResultHolder, BlockValSet blockValSet,
BlockValSet timeValSet) {
float[] floatValues = blockValSet.getFloatValuesSV();
long[] timeValues = timeValSet.getLongValuesSV();
for (int i = 0; i < length; i++) {
@@ -94,11 +87,8 @@ public class FirstFloatValueWithTimeAggregationFunction
extends FirstWithTimeAgg
}
@Override
- public void aggregateGroupResultWithRawDataMv(int length,
- int[][] groupKeysArray,
- GroupByResultHolder groupByResultHolder,
- BlockValSet blockValSet,
- BlockValSet timeValSet) {
+ public void aggregateGroupResultWithRawDataMv(int length, int[][]
groupKeysArray,
+ GroupByResultHolder groupByResultHolder, BlockValSet blockValSet,
BlockValSet timeValSet) {
float[] floatValues = blockValSet.getFloatValuesSV();
long[] timeValues = timeValSet.getLongValuesSV();
for (int i = 0; i < length; i++) {
@@ -115,11 +105,6 @@ public class FirstFloatValueWithTimeAggregationFunction
extends FirstWithTimeAgg
return getType().getName().toLowerCase() + "(" + _expression + "," +
_timeCol + ",'FLOAT')";
}
- @Override
- public String getColumnName() {
- return getType().getName() + "_" + _expression + "_" + _timeCol + "_FLOAT";
- }
-
@Override
public ColumnDataType getFinalResultColumnType() {
return ColumnDataType.FLOAT;
diff --git
a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/FirstIntValueWithTimeAggregationFunction.java
b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/FirstIntValueWithTimeAggregationFunction.java
index be151b9994..8623f0bdc5 100644
---
a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/FirstIntValueWithTimeAggregationFunction.java
+++
b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/FirstIntValueWithTimeAggregationFunction.java
@@ -39,16 +39,13 @@ import
org.apache.pinot.segment.local.customobject.ValueLongPair;
* Numeric column</li>
* </ul>
*/
-@SuppressWarnings({"rawtypes", "unchecked"})
public class FirstIntValueWithTimeAggregationFunction extends
FirstWithTimeAggregationFunction<Integer> {
+ private final static ValueLongPair<Integer> DEFAULT_VALUE_TIME_PAIR =
+ new IntLongPair(Integer.MIN_VALUE, Long.MAX_VALUE);
- private final static ValueLongPair<Integer> DEFAULT_VALUE_TIME_PAIR
- = new IntLongPair(Integer.MIN_VALUE, Long.MAX_VALUE);
private final boolean _isBoolean;
- public FirstIntValueWithTimeAggregationFunction(
- ExpressionContext dataCol,
- ExpressionContext timeCol,
+ public FirstIntValueWithTimeAggregationFunction(ExpressionContext dataCol,
ExpressionContext timeCol,
boolean isBoolean) {
super(dataCol, timeCol, ObjectSerDeUtils.INT_LONG_PAIR_SER_DE);
_isBoolean = isBoolean;
@@ -85,8 +82,7 @@ public class FirstIntValueWithTimeAggregationFunction extends
FirstWithTimeAggre
@Override
public void aggregateGroupResultWithRawDataSv(int length, int[]
groupKeyArray,
- GroupByResultHolder groupByResultHolder,
- BlockValSet blockValSet, BlockValSet timeValSet) {
+ GroupByResultHolder groupByResultHolder, BlockValSet blockValSet,
BlockValSet timeValSet) {
int[] intValues = blockValSet.getIntValuesSV();
long[] timeValues = timeValSet.getLongValuesSV();
for (int i = 0; i < length; i++) {
@@ -97,11 +93,8 @@ public class FirstIntValueWithTimeAggregationFunction
extends FirstWithTimeAggre
}
@Override
- public void aggregateGroupResultWithRawDataMv(int length,
- int[][] groupKeysArray,
- GroupByResultHolder groupByResultHolder,
- BlockValSet blockValSet,
- BlockValSet timeValSet) {
+ public void aggregateGroupResultWithRawDataMv(int length, int[][]
groupKeysArray,
+ GroupByResultHolder groupByResultHolder, BlockValSet blockValSet,
BlockValSet timeValSet) {
int[] intValues = blockValSet.getIntValuesSV();
long[] timeValues = timeValSet.getLongValuesSV();
for (int i = 0; i < length; i++) {
@@ -122,15 +115,6 @@ public class FirstIntValueWithTimeAggregationFunction
extends FirstWithTimeAggre
}
}
- @Override
- public String getColumnName() {
- if (_isBoolean) {
- return getType().getName() + "_" + _expression + "_" + _timeCol +
"_BOOLEAN";
- } else {
- return getType().getName() + "_" + _expression + "_" + _timeCol + "_INT";
- }
- }
-
@Override
public ColumnDataType getFinalResultColumnType() {
if (_isBoolean) {
diff --git
a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/FirstLongValueWithTimeAggregationFunction.java
b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/FirstLongValueWithTimeAggregationFunction.java
index 960cda8820..0f5afeaa97 100644
---
a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/FirstLongValueWithTimeAggregationFunction.java
+++
b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/FirstLongValueWithTimeAggregationFunction.java
@@ -38,15 +38,10 @@ import
org.apache.pinot.segment.local.customobject.ValueLongPair;
* Numeric column</li>
* </ul>
*/
-@SuppressWarnings({"rawtypes", "unchecked"})
public class FirstLongValueWithTimeAggregationFunction extends
FirstWithTimeAggregationFunction<Long> {
+ private final static ValueLongPair<Long> DEFAULT_VALUE_TIME_PAIR = new
LongLongPair(Long.MIN_VALUE, Long.MAX_VALUE);
- private final static ValueLongPair<Long> DEFAULT_VALUE_TIME_PAIR
- = new LongLongPair(Long.MIN_VALUE, Long.MAX_VALUE);
-
- public FirstLongValueWithTimeAggregationFunction(
- ExpressionContext dataCol,
- ExpressionContext timeCol) {
+ public FirstLongValueWithTimeAggregationFunction(ExpressionContext dataCol,
ExpressionContext timeCol) {
super(dataCol, timeCol, ObjectSerDeUtils.LONG_LONG_PAIR_SER_DE);
}
@@ -81,8 +76,7 @@ public class FirstLongValueWithTimeAggregationFunction
extends FirstWithTimeAggr
@Override
public void aggregateGroupResultWithRawDataSv(int length, int[]
groupKeyArray,
- GroupByResultHolder groupByResultHolder,
- BlockValSet blockValSet, BlockValSet timeValSet) {
+ GroupByResultHolder groupByResultHolder, BlockValSet blockValSet,
BlockValSet timeValSet) {
long[] longValues = blockValSet.getLongValuesSV();
long[] timeValues = timeValSet.getLongValuesSV();
for (int i = 0; i < length; i++) {
@@ -93,11 +87,8 @@ public class FirstLongValueWithTimeAggregationFunction
extends FirstWithTimeAggr
}
@Override
- public void aggregateGroupResultWithRawDataMv(int length,
- int[][] groupKeysArray,
- GroupByResultHolder groupByResultHolder,
- BlockValSet blockValSet,
- BlockValSet timeValSet) {
+ public void aggregateGroupResultWithRawDataMv(int length, int[][]
groupKeysArray,
+ GroupByResultHolder groupByResultHolder, BlockValSet blockValSet,
BlockValSet timeValSet) {
long[] longValues = blockValSet.getLongValuesSV();
long[] timeValues = timeValSet.getLongValuesSV();
for (int i = 0; i < length; i++) {
@@ -114,11 +105,6 @@ public class FirstLongValueWithTimeAggregationFunction
extends FirstWithTimeAggr
return getType().getName().toLowerCase() + "(" + _expression + "," +
_timeCol + ",'LONG')";
}
- @Override
- public String getColumnName() {
- return getType().getName() + "_" + _expression + "_" + _timeCol + "_LONG";
- }
-
@Override
public ColumnDataType getFinalResultColumnType() {
return ColumnDataType.LONG;
diff --git
a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/FirstStringValueWithTimeAggregationFunction.java
b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/FirstStringValueWithTimeAggregationFunction.java
index b0ace7487e..c30f4bfacb 100644
---
a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/FirstStringValueWithTimeAggregationFunction.java
+++
b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/FirstStringValueWithTimeAggregationFunction.java
@@ -38,13 +38,10 @@ import
org.apache.pinot.segment.local.customobject.ValueLongPair;
* Numeric column</li>
* </ul>
*/
-@SuppressWarnings({"rawtypes", "unchecked"})
public class FirstStringValueWithTimeAggregationFunction extends
FirstWithTimeAggregationFunction<String> {
private final static ValueLongPair<String> DEFAULT_VALUE_TIME_PAIR = new
StringLongPair("", Long.MAX_VALUE);
- public FirstStringValueWithTimeAggregationFunction(
- ExpressionContext dataCol,
- ExpressionContext timeCol) {
+ public FirstStringValueWithTimeAggregationFunction(ExpressionContext
dataCol, ExpressionContext timeCol) {
super(dataCol, timeCol, ObjectSerDeUtils.STRING_LONG_PAIR_SER_DE);
}
@@ -79,8 +76,7 @@ public class FirstStringValueWithTimeAggregationFunction
extends FirstWithTimeAg
@Override
public void aggregateGroupResultWithRawDataSv(int length, int[]
groupKeyArray,
- GroupByResultHolder groupByResultHolder,
- BlockValSet blockValSet, BlockValSet timeValSet) {
+ GroupByResultHolder groupByResultHolder, BlockValSet blockValSet,
BlockValSet timeValSet) {
String[] stringValues = blockValSet.getStringValuesSV();
long[] timeValues = timeValSet.getLongValuesSV();
for (int i = 0; i < length; i++) {
@@ -91,11 +87,8 @@ public class FirstStringValueWithTimeAggregationFunction
extends FirstWithTimeAg
}
@Override
- public void aggregateGroupResultWithRawDataMv(int length,
- int[][] groupKeysArray,
- GroupByResultHolder groupByResultHolder,
- BlockValSet blockValSet,
- BlockValSet timeValSet) {
+ public void aggregateGroupResultWithRawDataMv(int length, int[][]
groupKeysArray,
+ GroupByResultHolder groupByResultHolder, BlockValSet blockValSet,
BlockValSet timeValSet) {
String[] stringValues = blockValSet.getStringValuesSV();
long[] timeValues = timeValSet.getLongValuesSV();
for (int i = 0; i < length; i++) {
@@ -112,11 +105,6 @@ public class FirstStringValueWithTimeAggregationFunction
extends FirstWithTimeAg
return getType().getName().toLowerCase() + "(" + _expression + "," +
_timeCol + ",'STRING')";
}
- @Override
- public String getColumnName() {
- return getType().getName() + "_" + _expression + "_" + _timeCol +
"_STRING";
- }
-
@Override
public ColumnDataType getFinalResultColumnType() {
return ColumnDataType.STRING;
diff --git
a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/LastDoubleValueWithTimeAggregationFunction.java
b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/LastDoubleValueWithTimeAggregationFunction.java
index 796a0cb02a..93aec2b0c1 100644
---
a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/LastDoubleValueWithTimeAggregationFunction.java
+++
b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/LastDoubleValueWithTimeAggregationFunction.java
@@ -38,15 +38,10 @@ import
org.apache.pinot.segment.local.customobject.ValueLongPair;
* Numeric column</li>
* </ul>
*/
-@SuppressWarnings({"rawtypes", "unchecked"})
public class LastDoubleValueWithTimeAggregationFunction extends
LastWithTimeAggregationFunction<Double> {
+ private final static ValueLongPair<Double> DEFAULT_VALUE_TIME_PAIR = new
DoubleLongPair(Double.NaN, Long.MIN_VALUE);
- private final static ValueLongPair<Double> DEFAULT_VALUE_TIME_PAIR
- = new DoubleLongPair(Double.NaN, Long.MIN_VALUE);
-
- public LastDoubleValueWithTimeAggregationFunction(
- ExpressionContext dataCol,
- ExpressionContext timeCol) {
+ public LastDoubleValueWithTimeAggregationFunction(ExpressionContext dataCol,
ExpressionContext timeCol) {
super(dataCol, timeCol, ObjectSerDeUtils.DOUBLE_LONG_PAIR_SER_DE);
}
@@ -81,8 +76,7 @@ public class LastDoubleValueWithTimeAggregationFunction
extends LastWithTimeAggr
@Override
public void aggregateGroupResultWithRawDataSv(int length, int[]
groupKeyArray,
- GroupByResultHolder groupByResultHolder,
- BlockValSet blockValSet, BlockValSet timeValSet) {
+ GroupByResultHolder groupByResultHolder, BlockValSet blockValSet,
BlockValSet timeValSet) {
double[] doubleValues = blockValSet.getDoubleValuesSV();
long[] timeValues = timeValSet.getLongValuesSV();
for (int i = 0; i < length; i++) {
@@ -93,11 +87,8 @@ public class LastDoubleValueWithTimeAggregationFunction
extends LastWithTimeAggr
}
@Override
- public void aggregateGroupResultWithRawDataMv(int length,
- int[][] groupKeysArray,
- GroupByResultHolder groupByResultHolder,
- BlockValSet blockValSet,
- BlockValSet timeValSet) {
+ public void aggregateGroupResultWithRawDataMv(int length, int[][]
groupKeysArray,
+ GroupByResultHolder groupByResultHolder, BlockValSet blockValSet,
BlockValSet timeValSet) {
double[] doubleValues = blockValSet.getDoubleValuesSV();
long[] timeValues = timeValSet.getLongValuesSV();
for (int i = 0; i < length; i++) {
@@ -114,11 +105,6 @@ public class LastDoubleValueWithTimeAggregationFunction
extends LastWithTimeAggr
return getType().getName().toLowerCase() + "(" + _expression + "," +
_timeCol + ",'DOUBLE')";
}
- @Override
- public String getColumnName() {
- return getType().getName() + "_" + _expression + "_" + _timeCol +
"_DOUBLE";
- }
-
@Override
public ColumnDataType getFinalResultColumnType() {
return ColumnDataType.DOUBLE;
diff --git
a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/LastFloatValueWithTimeAggregationFunction.java
b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/LastFloatValueWithTimeAggregationFunction.java
index 6061a839bb..50635874c9 100644
---
a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/LastFloatValueWithTimeAggregationFunction.java
+++
b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/LastFloatValueWithTimeAggregationFunction.java
@@ -38,14 +38,10 @@ import
org.apache.pinot.segment.local.customobject.ValueLongPair;
* Numeric column</li>
* </ul>
*/
-@SuppressWarnings({"rawtypes", "unchecked"})
public class LastFloatValueWithTimeAggregationFunction extends
LastWithTimeAggregationFunction<Float> {
-
private final static ValueLongPair<Float> DEFAULT_VALUE_TIME_PAIR = new
FloatLongPair(Float.NaN, Long.MIN_VALUE);
- public LastFloatValueWithTimeAggregationFunction(
- ExpressionContext dataCol,
- ExpressionContext timeCol) {
+ public LastFloatValueWithTimeAggregationFunction(ExpressionContext dataCol,
ExpressionContext timeCol) {
super(dataCol, timeCol, ObjectSerDeUtils.FLOAT_LONG_PAIR_SER_DE);
}
@@ -79,11 +75,8 @@ public class LastFloatValueWithTimeAggregationFunction
extends LastWithTimeAggre
}
@Override
- public void aggregateGroupResultWithRawDataSv(int length,
- int[] groupKeyArray,
- GroupByResultHolder groupByResultHolder,
- BlockValSet blockValSet,
- BlockValSet timeValSet) {
+ public void aggregateGroupResultWithRawDataSv(int length, int[]
groupKeyArray,
+ GroupByResultHolder groupByResultHolder, BlockValSet blockValSet,
BlockValSet timeValSet) {
float[] floatValues = blockValSet.getFloatValuesSV();
long[] timeValues = timeValSet.getLongValuesSV();
for (int i = 0; i < length; i++) {
@@ -94,11 +87,8 @@ public class LastFloatValueWithTimeAggregationFunction
extends LastWithTimeAggre
}
@Override
- public void aggregateGroupResultWithRawDataMv(int length,
- int[][] groupKeysArray,
- GroupByResultHolder groupByResultHolder,
- BlockValSet blockValSet,
- BlockValSet timeValSet) {
+ public void aggregateGroupResultWithRawDataMv(int length, int[][]
groupKeysArray,
+ GroupByResultHolder groupByResultHolder, BlockValSet blockValSet,
BlockValSet timeValSet) {
float[] floatValues = blockValSet.getFloatValuesSV();
long[] timeValues = timeValSet.getLongValuesSV();
for (int i = 0; i < length; i++) {
@@ -115,11 +105,6 @@ public class LastFloatValueWithTimeAggregationFunction
extends LastWithTimeAggre
return getType().getName().toLowerCase() + "(" + _expression + "," +
_timeCol + ",'FLOAT')";
}
- @Override
- public String getColumnName() {
- return getType().getName() + "_" + _expression + "_" + _timeCol + "_FLOAT";
- }
-
@Override
public ColumnDataType getFinalResultColumnType() {
return ColumnDataType.FLOAT;
diff --git
a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/LastIntValueWithTimeAggregationFunction.java
b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/LastIntValueWithTimeAggregationFunction.java
index ff9fdee5e2..87d33ce0df 100644
---
a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/LastIntValueWithTimeAggregationFunction.java
+++
b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/LastIntValueWithTimeAggregationFunction.java
@@ -39,16 +39,13 @@ import
org.apache.pinot.segment.local.customobject.ValueLongPair;
* Numeric column</li>
* </ul>
*/
-@SuppressWarnings({"rawtypes", "unchecked"})
public class LastIntValueWithTimeAggregationFunction extends
LastWithTimeAggregationFunction<Integer> {
+ private final static ValueLongPair<Integer> DEFAULT_VALUE_TIME_PAIR =
+ new IntLongPair(Integer.MIN_VALUE, Long.MIN_VALUE);
- private final static ValueLongPair<Integer> DEFAULT_VALUE_TIME_PAIR
- = new IntLongPair(Integer.MIN_VALUE, Long.MIN_VALUE);
private final boolean _isBoolean;
- public LastIntValueWithTimeAggregationFunction(
- ExpressionContext dataCol,
- ExpressionContext timeCol,
+ public LastIntValueWithTimeAggregationFunction(ExpressionContext dataCol,
ExpressionContext timeCol,
boolean isBoolean) {
super(dataCol, timeCol, ObjectSerDeUtils.INT_LONG_PAIR_SER_DE);
_isBoolean = isBoolean;
@@ -85,8 +82,7 @@ public class LastIntValueWithTimeAggregationFunction extends
LastWithTimeAggrega
@Override
public void aggregateGroupResultWithRawDataSv(int length, int[]
groupKeyArray,
- GroupByResultHolder groupByResultHolder,
- BlockValSet blockValSet, BlockValSet timeValSet) {
+ GroupByResultHolder groupByResultHolder, BlockValSet blockValSet,
BlockValSet timeValSet) {
int[] intValues = blockValSet.getIntValuesSV();
long[] timeValues = timeValSet.getLongValuesSV();
for (int i = 0; i < length; i++) {
@@ -97,11 +93,8 @@ public class LastIntValueWithTimeAggregationFunction extends
LastWithTimeAggrega
}
@Override
- public void aggregateGroupResultWithRawDataMv(int length,
- int[][] groupKeysArray,
- GroupByResultHolder groupByResultHolder,
- BlockValSet blockValSet,
- BlockValSet timeValSet) {
+ public void aggregateGroupResultWithRawDataMv(int length, int[][]
groupKeysArray,
+ GroupByResultHolder groupByResultHolder, BlockValSet blockValSet,
BlockValSet timeValSet) {
int[] intValues = blockValSet.getIntValuesSV();
long[] timeValues = timeValSet.getLongValuesSV();
for (int i = 0; i < length; i++) {
@@ -122,15 +115,6 @@ public class LastIntValueWithTimeAggregationFunction
extends LastWithTimeAggrega
}
}
- @Override
- public String getColumnName() {
- if (_isBoolean) {
- return getType().getName() + "_" + _expression + "_" + _timeCol +
"_BOOLEAN";
- } else {
- return getType().getName() + "_" + _expression + "_" + _timeCol + "_INT";
- }
- }
-
@Override
public ColumnDataType getFinalResultColumnType() {
if (_isBoolean) {
diff --git
a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/LastLongValueWithTimeAggregationFunction.java
b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/LastLongValueWithTimeAggregationFunction.java
index fa3c15fb3a..248487d635 100644
---
a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/LastLongValueWithTimeAggregationFunction.java
+++
b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/LastLongValueWithTimeAggregationFunction.java
@@ -38,15 +38,10 @@ import
org.apache.pinot.segment.local.customobject.ValueLongPair;
* Numeric column</li>
* </ul>
*/
-@SuppressWarnings({"rawtypes", "unchecked"})
public class LastLongValueWithTimeAggregationFunction extends
LastWithTimeAggregationFunction<Long> {
+ private final static ValueLongPair<Long> DEFAULT_VALUE_TIME_PAIR = new
LongLongPair(Long.MIN_VALUE, Long.MIN_VALUE);
- private final static ValueLongPair<Long> DEFAULT_VALUE_TIME_PAIR
- = new LongLongPair(Long.MIN_VALUE, Long.MIN_VALUE);
-
- public LastLongValueWithTimeAggregationFunction(
- ExpressionContext dataCol,
- ExpressionContext timeCol) {
+ public LastLongValueWithTimeAggregationFunction(ExpressionContext dataCol,
ExpressionContext timeCol) {
super(dataCol, timeCol, ObjectSerDeUtils.LONG_LONG_PAIR_SER_DE);
}
@@ -81,8 +76,7 @@ public class LastLongValueWithTimeAggregationFunction extends
LastWithTimeAggreg
@Override
public void aggregateGroupResultWithRawDataSv(int length, int[]
groupKeyArray,
- GroupByResultHolder groupByResultHolder,
- BlockValSet blockValSet, BlockValSet timeValSet) {
+ GroupByResultHolder groupByResultHolder, BlockValSet blockValSet,
BlockValSet timeValSet) {
long[] longValues = blockValSet.getLongValuesSV();
long[] timeValues = timeValSet.getLongValuesSV();
for (int i = 0; i < length; i++) {
@@ -93,11 +87,8 @@ public class LastLongValueWithTimeAggregationFunction
extends LastWithTimeAggreg
}
@Override
- public void aggregateGroupResultWithRawDataMv(int length,
- int[][] groupKeysArray,
- GroupByResultHolder groupByResultHolder,
- BlockValSet blockValSet,
- BlockValSet timeValSet) {
+ public void aggregateGroupResultWithRawDataMv(int length, int[][]
groupKeysArray,
+ GroupByResultHolder groupByResultHolder, BlockValSet blockValSet,
BlockValSet timeValSet) {
long[] longValues = blockValSet.getLongValuesSV();
long[] timeValues = timeValSet.getLongValuesSV();
for (int i = 0; i < length; i++) {
@@ -114,11 +105,6 @@ public class LastLongValueWithTimeAggregationFunction
extends LastWithTimeAggreg
return getType().getName().toLowerCase() + "(" + _expression + "," +
_timeCol + ",'LONG')";
}
- @Override
- public String getColumnName() {
- return getType().getName() + "_" + _expression + "_" + _timeCol + "_LONG";
- }
-
@Override
public ColumnDataType getFinalResultColumnType() {
return ColumnDataType.LONG;
diff --git
a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/LastStringValueWithTimeAggregationFunction.java
b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/LastStringValueWithTimeAggregationFunction.java
index cb3caa886b..0f10e9399d 100644
---
a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/LastStringValueWithTimeAggregationFunction.java
+++
b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/LastStringValueWithTimeAggregationFunction.java
@@ -38,13 +38,10 @@ import
org.apache.pinot.segment.local.customobject.ValueLongPair;
* Numeric column</li>
* </ul>
*/
-@SuppressWarnings({"rawtypes", "unchecked"})
public class LastStringValueWithTimeAggregationFunction extends
LastWithTimeAggregationFunction<String> {
private final static ValueLongPair<String> DEFAULT_VALUE_TIME_PAIR = new
StringLongPair("", Long.MIN_VALUE);
- public LastStringValueWithTimeAggregationFunction(
- ExpressionContext dataCol,
- ExpressionContext timeCol) {
+ public LastStringValueWithTimeAggregationFunction(ExpressionContext dataCol,
ExpressionContext timeCol) {
super(dataCol, timeCol, ObjectSerDeUtils.STRING_LONG_PAIR_SER_DE);
}
@@ -79,8 +76,7 @@ public class LastStringValueWithTimeAggregationFunction
extends LastWithTimeAggr
@Override
public void aggregateGroupResultWithRawDataSv(int length, int[]
groupKeyArray,
- GroupByResultHolder groupByResultHolder,
- BlockValSet blockValSet, BlockValSet timeValSet) {
+ GroupByResultHolder groupByResultHolder, BlockValSet blockValSet,
BlockValSet timeValSet) {
String[] stringValues = blockValSet.getStringValuesSV();
long[] timeValues = timeValSet.getLongValuesSV();
for (int i = 0; i < length; i++) {
@@ -91,11 +87,8 @@ public class LastStringValueWithTimeAggregationFunction
extends LastWithTimeAggr
}
@Override
- public void aggregateGroupResultWithRawDataMv(int length,
- int[][] groupKeysArray,
- GroupByResultHolder groupByResultHolder,
- BlockValSet blockValSet,
- BlockValSet timeValSet) {
+ public void aggregateGroupResultWithRawDataMv(int length, int[][]
groupKeysArray,
+ GroupByResultHolder groupByResultHolder, BlockValSet blockValSet,
BlockValSet timeValSet) {
String[] stringValues = blockValSet.getStringValuesSV();
long[] timeValues = timeValSet.getLongValuesSV();
for (int i = 0; i < length; i++) {
@@ -112,11 +105,6 @@ public class LastStringValueWithTimeAggregationFunction
extends LastWithTimeAggr
return getType().getName().toLowerCase() + "(" + _expression + "," +
_timeCol + ",'STRING')";
}
- @Override
- public String getColumnName() {
- return getType().getName() + "_" + _expression + "_" + _timeCol +
"_STRING";
- }
-
@Override
public ColumnDataType getFinalResultColumnType() {
return ColumnDataType.STRING;
diff --git
a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/PercentileAggregationFunction.java
b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/PercentileAggregationFunction.java
index 8bfca2eefe..5d227caead 100644
---
a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/PercentileAggregationFunction.java
+++
b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/PercentileAggregationFunction.java
@@ -56,12 +56,6 @@ public class PercentileAggregationFunction extends
BaseSingleInputAggregationFun
return AggregationFunctionType.PERCENTILE;
}
- @Override
- public String getColumnName() {
- return _version == 0 ? AggregationFunctionType.PERCENTILE.getName() +
(int) _percentile + "_" + _expression
- : AggregationFunctionType.PERCENTILE.getName() + _percentile + "_" +
_expression;
- }
-
@Override
public String getResultColumnName() {
return _version == 0 ?
AggregationFunctionType.PERCENTILE.getName().toLowerCase() + (int) _percentile
+ "("
diff --git
a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/PercentileEstAggregationFunction.java
b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/PercentileEstAggregationFunction.java
index ba815c47b8..d055e46505 100644
---
a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/PercentileEstAggregationFunction.java
+++
b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/PercentileEstAggregationFunction.java
@@ -57,12 +57,6 @@ public class PercentileEstAggregationFunction extends
BaseSingleInputAggregation
return AggregationFunctionType.PERCENTILEEST;
}
- @Override
- public String getColumnName() {
- return _version == 0 ? AggregationFunctionType.PERCENTILEEST.getName() +
(int) _percentile + "_" + _expression
- : AggregationFunctionType.PERCENTILEEST.getName() + _percentile + "_"
+ _expression;
- }
-
@Override
public String getResultColumnName() {
return _version == 0 ?
AggregationFunctionType.PERCENTILEEST.getName().toLowerCase() + (int)
_percentile + "("
diff --git
a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/PercentileEstMVAggregationFunction.java
b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/PercentileEstMVAggregationFunction.java
index de206a94e8..c1001f25c7 100644
---
a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/PercentileEstMVAggregationFunction.java
+++
b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/PercentileEstMVAggregationFunction.java
@@ -42,12 +42,6 @@ public class PercentileEstMVAggregationFunction extends
PercentileEstAggregation
return AggregationFunctionType.PERCENTILEESTMV;
}
- @Override
- public String getColumnName() {
- return _version == 0 ? AggregationFunctionType.PERCENTILEEST.getName() +
(int) _percentile + "MV_" + _expression
- : AggregationFunctionType.PERCENTILEEST.getName() + _percentile +
"MV_" + _expression;
- }
-
@Override
public String getResultColumnName() {
return _version == 0 ?
AggregationFunctionType.PERCENTILEEST.getName().toLowerCase() + (int)
_percentile + "mv("
diff --git
a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/PercentileMVAggregationFunction.java
b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/PercentileMVAggregationFunction.java
index 33d1ff945a..794a9896a7 100644
---
a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/PercentileMVAggregationFunction.java
+++
b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/PercentileMVAggregationFunction.java
@@ -42,12 +42,6 @@ public class PercentileMVAggregationFunction extends
PercentileAggregationFuncti
return AggregationFunctionType.PERCENTILEMV;
}
- @Override
- public String getColumnName() {
- return _version == 0 ? AggregationFunctionType.PERCENTILE.getName() +
(int) _percentile + "MV_" + _expression
- : AggregationFunctionType.PERCENTILE.getName() + _percentile + "MV_" +
_expression;
- }
-
@Override
public String getResultColumnName() {
return _version == 0 ?
AggregationFunctionType.PERCENTILE.getName().toLowerCase() + (int) _percentile
+ "mv("
diff --git
a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/PercentileRawEstAggregationFunction.java
b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/PercentileRawEstAggregationFunction.java
index 1922d74c51..063359ec96 100644
---
a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/PercentileRawEstAggregationFunction.java
+++
b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/PercentileRawEstAggregationFunction.java
@@ -56,15 +56,6 @@ public class PercentileRawEstAggregationFunction
return AggregationFunctionType.PERCENTILERAWEST;
}
- @Override
- public String getColumnName() {
- final double percentile = _percentileEstAggregationFunction._percentile;
- final int version = _percentileEstAggregationFunction._version;
- final String type = getType().getName();
-
- return version == 0 ? type + (int) percentile + "_" + _expression : type +
percentile + "_" + _expression;
- }
-
@Override
public String getResultColumnName() {
final double percentile = _percentileEstAggregationFunction._percentile;
diff --git
a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/PercentileRawTDigestAggregationFunction.java
b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/PercentileRawTDigestAggregationFunction.java
index 0efbef2b47..bcd6a5857f 100644
---
a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/PercentileRawTDigestAggregationFunction.java
+++
b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/PercentileRawTDigestAggregationFunction.java
@@ -56,15 +56,6 @@ public class PercentileRawTDigestAggregationFunction
return AggregationFunctionType.PERCENTILERAWTDIGEST;
}
- @Override
- public String getColumnName() {
- final double percentile =
_percentileTDigestAggregationFunction._percentile;
- final int version = _percentileTDigestAggregationFunction._version;
- final String type = getType().getName();
-
- return version == 0 ? type + (int) percentile + "_" + _expression : type +
percentile + "_" + _expression;
- }
-
@Override
public String getResultColumnName() {
final double percentile =
_percentileTDigestAggregationFunction._percentile;
diff --git
a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/PercentileSmartTDigestAggregationFunction.java
b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/PercentileSmartTDigestAggregationFunction.java
index 2697690a60..a2e42442e6 100644
---
a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/PercentileSmartTDigestAggregationFunction.java
+++
b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/PercentileSmartTDigestAggregationFunction.java
@@ -93,11 +93,6 @@ public class PercentileSmartTDigestAggregationFunction
extends BaseSingleInputAg
return AggregationFunctionType.PERCENTILESMARTTDIGEST;
}
- @Override
- public String getColumnName() {
- return AggregationFunctionType.PERCENTILESMARTTDIGEST.getName() +
_percentile + "_" + _expression;
- }
-
@Override
public String getResultColumnName() {
return
AggregationFunctionType.PERCENTILESMARTTDIGEST.getName().toLowerCase() + "(" +
_expression + ", "
diff --git
a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/PercentileTDigestAggregationFunction.java
b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/PercentileTDigestAggregationFunction.java
index 9ba5101339..91881967b9 100644
---
a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/PercentileTDigestAggregationFunction.java
+++
b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/PercentileTDigestAggregationFunction.java
@@ -60,12 +60,6 @@ public class PercentileTDigestAggregationFunction extends
BaseSingleInputAggrega
return AggregationFunctionType.PERCENTILETDIGEST;
}
- @Override
- public String getColumnName() {
- return _version == 0 ? AggregationFunctionType.PERCENTILETDIGEST.getName()
+ (int) _percentile + "_" + _expression
- : AggregationFunctionType.PERCENTILETDIGEST.getName() + _percentile +
"_" + _expression;
- }
-
@Override
public String getResultColumnName() {
return _version == 0 ?
AggregationFunctionType.PERCENTILETDIGEST.getName().toLowerCase() + (int)
_percentile + "("
diff --git
a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/PercentileTDigestMVAggregationFunction.java
b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/PercentileTDigestMVAggregationFunction.java
index 122748a2e5..4e50103730 100644
---
a/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/PercentileTDigestMVAggregationFunction.java
+++
b/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/PercentileTDigestMVAggregationFunction.java
@@ -42,12 +42,6 @@ public class PercentileTDigestMVAggregationFunction extends
PercentileTDigestAgg
return AggregationFunctionType.PERCENTILETDIGESTMV;
}
- @Override
- public String getColumnName() {
- return _version == 0 ? AggregationFunctionType.PERCENTILETDIGEST.getName()
+ (int) _percentile + "MV_" + _expression
- : AggregationFunctionType.PERCENTILETDIGEST.getName() + _percentile +
"MV_" + _expression;
- }
-
@Override
public String getResultColumnName() {
return _version == 0 ?
AggregationFunctionType.PERCENTILETDIGEST.getName().toLowerCase() + (int)
_percentile + "mv("
diff --git
a/pinot-core/src/main/java/org/apache/pinot/core/query/reduce/AggregationDataTableReducer.java
b/pinot-core/src/main/java/org/apache/pinot/core/query/reduce/AggregationDataTableReducer.java
index 84267db3c2..811c9738ba 100644
---
a/pinot-core/src/main/java/org/apache/pinot/core/query/reduce/AggregationDataTableReducer.java
+++
b/pinot-core/src/main/java/org/apache/pinot/core/query/reduce/AggregationDataTableReducer.java
@@ -45,13 +45,9 @@ import org.roaringbitmap.RoaringBitmap;
@SuppressWarnings({"rawtypes", "unchecked"})
public class AggregationDataTableReducer implements DataTableReducer {
private final QueryContext _queryContext;
- private final AggregationFunction[] _aggregationFunctions;
- private final List<Pair<AggregationFunction, FilterContext>>
_filteredAggregationFunctions;
AggregationDataTableReducer(QueryContext queryContext) {
_queryContext = queryContext;
- _aggregationFunctions = queryContext.getAggregationFunctions();
- _filteredAggregationFunctions =
queryContext.getFilteredAggregationFunctions();
}
/**
@@ -80,7 +76,9 @@ public class AggregationDataTableReducer implements
DataTableReducer {
private void reduceWithIntermediateResult(DataSchema dataSchema,
Collection<DataTable> dataTables,
BrokerResponseNative brokerResponseNative) {
- int numAggregationFunctions = _aggregationFunctions.length;
+ AggregationFunction[] aggregationFunctions =
_queryContext.getAggregationFunctions();
+ assert aggregationFunctions != null;
+ int numAggregationFunctions = aggregationFunctions.length;
Object[] intermediateResults = new Object[numAggregationFunctions];
for (DataTable dataTable : dataTables) {
for (int i = 0; i < numAggregationFunctions; i++) {
@@ -100,14 +98,14 @@ public class AggregationDataTableReducer implements
DataTableReducer {
if (mergedIntermediateResult == null) {
intermediateResults[i] = intermediateResultToMerge;
} else {
- intermediateResults[i] =
_aggregationFunctions[i].merge(mergedIntermediateResult,
intermediateResultToMerge);
+ intermediateResults[i] =
aggregationFunctions[i].merge(mergedIntermediateResult,
intermediateResultToMerge);
}
Tracing.ThreadAccountantOps.sampleAndCheckInterruptionPeriodically(i);
}
}
Object[] finalResults = new Object[numAggregationFunctions];
for (int i = 0; i < numAggregationFunctions; i++) {
- AggregationFunction aggregationFunction = _aggregationFunctions[i];
+ AggregationFunction aggregationFunction = aggregationFunctions[i];
Comparable result =
aggregationFunction.extractFinalResult(intermediateResults[i]);
finalResults[i] = result == null ? null :
aggregationFunction.getFinalResultColumnType().convert(result);
}
@@ -116,7 +114,9 @@ public class AggregationDataTableReducer implements
DataTableReducer {
private void reduceWithFinalResult(DataSchema dataSchema, DataTable
dataTable,
BrokerResponseNative brokerResponseNative) {
- int numAggregationFunctions = _aggregationFunctions.length;
+ AggregationFunction[] aggregationFunctions =
_queryContext.getAggregationFunctions();
+ assert aggregationFunctions != null;
+ int numAggregationFunctions = aggregationFunctions.length;
Object[] finalResults = new Object[numAggregationFunctions];
for (int i = 0; i < numAggregationFunctions; i++) {
ColumnDataType columnDataType = dataSchema.getColumnDataType(i);
@@ -154,20 +154,18 @@ public class AggregationDataTableReducer implements
DataTableReducer {
* Constructs the DataSchema for the rows before the post-aggregation (SQL
mode).
*/
private DataSchema getPrePostAggregationDataSchema() {
- int numAggregationFunctions = _aggregationFunctions.length;
- String[] columnNames = new String[numAggregationFunctions];
- ColumnDataType[] columnDataTypes = new
ColumnDataType[numAggregationFunctions];
-
- int i = 0;
- for (Pair<AggregationFunction, FilterContext> aggFilterPair :
_filteredAggregationFunctions) {
- AggregationFunction aggregationFunction = aggFilterPair.getLeft();
- String columnName =
- AggregationFunctionUtils.getResultColumnName(aggregationFunction,
aggFilterPair.getRight());
- columnNames[i] = columnName;
+ List<Pair<AggregationFunction, FilterContext>>
filteredAggregationFunctions =
+ _queryContext.getFilteredAggregationFunctions();
+ assert filteredAggregationFunctions != null;
+ int numColumns = filteredAggregationFunctions.size();
+ String[] columnNames = new String[numColumns];
+ ColumnDataType[] columnDataTypes = new ColumnDataType[numColumns];
+ for (int i = 0; i < numColumns; i++) {
+ Pair<AggregationFunction, FilterContext> pair =
filteredAggregationFunctions.get(i);
+ AggregationFunction aggregationFunction = pair.getLeft();
+ columnNames[i] =
AggregationFunctionUtils.getResultColumnName(aggregationFunction,
pair.getRight());
columnDataTypes[i] = aggregationFunction.getFinalResultColumnType();
- i++;
}
-
return new DataSchema(columnNames, columnDataTypes);
}
}
diff --git
a/pinot-core/src/test/java/org/apache/pinot/core/operator/blocks/results/ResultsBlockUtilsTest.java
b/pinot-core/src/test/java/org/apache/pinot/core/operator/blocks/results/ResultsBlockUtilsTest.java
index eaf9d3fbe3..889c6582a5 100644
---
a/pinot-core/src/test/java/org/apache/pinot/core/operator/blocks/results/ResultsBlockUtilsTest.java
+++
b/pinot-core/src/test/java/org/apache/pinot/core/operator/blocks/results/ResultsBlockUtilsTest.java
@@ -21,6 +21,7 @@ package org.apache.pinot.core.operator.blocks.results;
import java.io.IOException;
import org.apache.pinot.common.datatable.DataTable;
import org.apache.pinot.common.utils.DataSchema;
+import org.apache.pinot.common.utils.DataSchema.ColumnDataType;
import org.apache.pinot.core.query.request.context.QueryContext;
import
org.apache.pinot.core.query.request.context.utils.QueryContextConverterUtils;
import org.testng.annotations.Test;
@@ -38,7 +39,7 @@ public class ResultsBlockUtilsTest {
DataTable dataTable =
ResultsBlockUtils.buildEmptyQueryResults(queryContext).getDataTable(queryContext);
DataSchema dataSchema = dataTable.getDataSchema();
assertEquals(dataSchema.getColumnNames(), new String[]{"*"});
- assertEquals(dataSchema.getColumnDataTypes(), new
DataSchema.ColumnDataType[]{DataSchema.ColumnDataType.STRING});
+ assertEquals(dataSchema.getColumnDataTypes(), new
ColumnDataType[]{ColumnDataType.STRING});
assertEquals(dataTable.getNumberOfRows(), 0);
// Aggregation
@@ -46,9 +47,9 @@ public class ResultsBlockUtilsTest {
QueryContextConverterUtils.getQueryContext("SELECT COUNT(*), SUM(a),
MAX(b) FROM testTable WHERE foo = 'bar'");
dataTable =
ResultsBlockUtils.buildEmptyQueryResults(queryContext).getDataTable(queryContext);
dataSchema = dataTable.getDataSchema();
- assertEquals(dataSchema.getColumnNames(), new String[]{"count_star",
"sum_a", "max_b"});
- assertEquals(dataSchema.getColumnDataTypes(), new
DataSchema.ColumnDataType[]{
- DataSchema.ColumnDataType.LONG, DataSchema.ColumnDataType.DOUBLE,
DataSchema.ColumnDataType.DOUBLE
+ assertEquals(dataSchema.getColumnNames(), new String[]{"count(*)",
"sum(a)", "max(b)"});
+ assertEquals(dataSchema.getColumnDataTypes(), new ColumnDataType[]{
+ ColumnDataType.LONG, ColumnDataType.DOUBLE, ColumnDataType.DOUBLE
});
assertEquals(dataTable.getNumberOfRows(), 1);
assertEquals(dataTable.getLong(0, 0), 0L);
@@ -61,9 +62,8 @@ public class ResultsBlockUtilsTest {
dataTable =
ResultsBlockUtils.buildEmptyQueryResults(queryContext).getDataTable(queryContext);
dataSchema = dataTable.getDataSchema();
assertEquals(dataSchema.getColumnNames(), new String[]{"c", "d",
"count(*)", "sum(a)", "max(b)"});
- assertEquals(dataSchema.getColumnDataTypes(), new
DataSchema.ColumnDataType[]{
- DataSchema.ColumnDataType.STRING, DataSchema.ColumnDataType.STRING,
DataSchema.ColumnDataType.LONG,
- DataSchema.ColumnDataType.DOUBLE, DataSchema.ColumnDataType.DOUBLE
+ assertEquals(dataSchema.getColumnDataTypes(), new ColumnDataType[]{
+ ColumnDataType.STRING, ColumnDataType.STRING, ColumnDataType.LONG,
ColumnDataType.DOUBLE, ColumnDataType.DOUBLE
});
assertEquals(dataTable.getNumberOfRows(), 0);
@@ -72,8 +72,9 @@ public class ResultsBlockUtilsTest {
dataTable =
ResultsBlockUtils.buildEmptyQueryResults(queryContext).getDataTable(queryContext);
dataSchema = dataTable.getDataSchema();
assertEquals(dataSchema.getColumnNames(), new String[]{"a", "b"});
- assertEquals(dataSchema.getColumnDataTypes(), new
DataSchema.ColumnDataType[]{DataSchema.ColumnDataType.STRING,
- DataSchema.ColumnDataType.STRING});
+ assertEquals(dataSchema.getColumnDataTypes(), new ColumnDataType[]{
+ ColumnDataType.STRING, ColumnDataType.STRING
+ });
assertEquals(dataTable.getNumberOfRows(), 0);
}
}
diff --git
a/pinot-core/src/test/java/org/apache/pinot/core/query/aggregation/function/AggregationFunctionFactoryTest.java
b/pinot-core/src/test/java/org/apache/pinot/core/query/aggregation/function/AggregationFunctionFactoryTest.java
index a29694ef79..ea83e490e1 100644
---
a/pinot-core/src/test/java/org/apache/pinot/core/query/aggregation/function/AggregationFunctionFactoryTest.java
+++
b/pinot-core/src/test/java/org/apache/pinot/core/query/aggregation/function/AggregationFunctionFactoryTest.java
@@ -18,6 +18,8 @@
*/
package org.apache.pinot.core.query.aggregation.function;
+import java.util.Arrays;
+import org.apache.pinot.common.request.context.ExpressionContext;
import org.apache.pinot.common.request.context.FunctionContext;
import org.apache.pinot.common.request.context.RequestContextUtils;
import org.apache.pinot.core.query.request.context.QueryContext;
@@ -43,435 +45,373 @@ public class AggregationFunctionFactoryTest {
AggregationFunctionFactory.getAggregationFunction(function,
DUMMY_QUERY_CONTEXT);
assertTrue(aggregationFunction instanceof CountAggregationFunction);
assertEquals(aggregationFunction.getType(), AggregationFunctionType.COUNT);
- assertEquals(aggregationFunction.getColumnName(), "count_star");
assertEquals(aggregationFunction.getResultColumnName(),
function.toString());
function = getFunction("MiN");
aggregationFunction =
AggregationFunctionFactory.getAggregationFunction(function,
DUMMY_QUERY_CONTEXT);
assertTrue(aggregationFunction instanceof MinAggregationFunction);
assertEquals(aggregationFunction.getType(), AggregationFunctionType.MIN);
- assertEquals(aggregationFunction.getColumnName(), "min_column");
assertEquals(aggregationFunction.getResultColumnName(),
function.toString());
function = getFunction("MaX");
aggregationFunction =
AggregationFunctionFactory.getAggregationFunction(function,
DUMMY_QUERY_CONTEXT);
assertTrue(aggregationFunction instanceof MaxAggregationFunction);
assertEquals(aggregationFunction.getType(), AggregationFunctionType.MAX);
- assertEquals(aggregationFunction.getColumnName(), "max_column");
assertEquals(aggregationFunction.getResultColumnName(),
function.toString());
function = getFunction("SuM");
aggregationFunction =
AggregationFunctionFactory.getAggregationFunction(function,
DUMMY_QUERY_CONTEXT);
assertTrue(aggregationFunction instanceof SumAggregationFunction);
assertEquals(aggregationFunction.getType(), AggregationFunctionType.SUM);
- assertEquals(aggregationFunction.getColumnName(), "sum_column");
assertEquals(aggregationFunction.getResultColumnName(),
function.toString());
function = getFunction("SuMPreCIsiON");
aggregationFunction =
AggregationFunctionFactory.getAggregationFunction(function,
DUMMY_QUERY_CONTEXT);
assertTrue(aggregationFunction instanceof SumPrecisionAggregationFunction);
assertEquals(aggregationFunction.getType(),
AggregationFunctionType.SUMPRECISION);
- assertEquals(aggregationFunction.getColumnName(), "sumPrecision_column");
assertEquals(aggregationFunction.getResultColumnName(),
function.toString());
function = getFunction("AvG");
aggregationFunction =
AggregationFunctionFactory.getAggregationFunction(function,
DUMMY_QUERY_CONTEXT);
assertTrue(aggregationFunction instanceof AvgAggregationFunction);
assertEquals(aggregationFunction.getType(), AggregationFunctionType.AVG);
- assertEquals(aggregationFunction.getColumnName(), "avg_column");
assertEquals(aggregationFunction.getResultColumnName(),
function.toString());
function = getFunction("MoDe");
aggregationFunction =
AggregationFunctionFactory.getAggregationFunction(function,
DUMMY_QUERY_CONTEXT);
assertTrue(aggregationFunction instanceof ModeAggregationFunction);
assertEquals(aggregationFunction.getType(), AggregationFunctionType.MODE);
- assertEquals(aggregationFunction.getColumnName(), "mode_column");
assertEquals(aggregationFunction.getResultColumnName(),
function.toString());
function = getFunction("FiRsTwItHtImE", "(column,timeColumn,'BOOLEAN')");
aggregationFunction =
AggregationFunctionFactory.getAggregationFunction(function,
DUMMY_QUERY_CONTEXT);
assertTrue(aggregationFunction instanceof
FirstIntValueWithTimeAggregationFunction);
assertEquals(aggregationFunction.getType(),
AggregationFunctionType.FIRSTWITHTIME);
- assertEquals(aggregationFunction.getColumnName(),
"firstWithTime_column_timeColumn_BOOLEAN");
assertEquals(aggregationFunction.getResultColumnName(),
function.toString());
function = getFunction("FiRsTwItHtImE", "(column,timeColumn,'INT')");
aggregationFunction =
AggregationFunctionFactory.getAggregationFunction(function,
DUMMY_QUERY_CONTEXT);
assertTrue(aggregationFunction instanceof
FirstIntValueWithTimeAggregationFunction);
assertEquals(aggregationFunction.getType(),
AggregationFunctionType.FIRSTWITHTIME);
- assertEquals(aggregationFunction.getColumnName(),
"firstWithTime_column_timeColumn_INT");
assertEquals(aggregationFunction.getResultColumnName(),
function.toString());
function = getFunction("FiRsTwItHtImE", "(column,timeColumn,'LONG')");
aggregationFunction =
AggregationFunctionFactory.getAggregationFunction(function,
DUMMY_QUERY_CONTEXT);
assertTrue(aggregationFunction instanceof
FirstLongValueWithTimeAggregationFunction);
assertEquals(aggregationFunction.getType(),
AggregationFunctionType.FIRSTWITHTIME);
- assertEquals(aggregationFunction.getColumnName(),
"firstWithTime_column_timeColumn_LONG");
assertEquals(aggregationFunction.getResultColumnName(),
function.toString());
function = getFunction("FiRsTwItHtImE", "(column,timeColumn,'FLOAT')");
aggregationFunction =
AggregationFunctionFactory.getAggregationFunction(function,
DUMMY_QUERY_CONTEXT);
assertTrue(aggregationFunction instanceof
FirstFloatValueWithTimeAggregationFunction);
assertEquals(aggregationFunction.getType(),
AggregationFunctionType.FIRSTWITHTIME);
- assertEquals(aggregationFunction.getColumnName(),
"firstWithTime_column_timeColumn_FLOAT");
assertEquals(aggregationFunction.getResultColumnName(),
function.toString());
function = getFunction("FiRsTwItHtImE", "(column,timeColumn,'DOUBLE')");
aggregationFunction =
AggregationFunctionFactory.getAggregationFunction(function,
DUMMY_QUERY_CONTEXT);
assertTrue(aggregationFunction instanceof
FirstDoubleValueWithTimeAggregationFunction);
assertEquals(aggregationFunction.getType(),
AggregationFunctionType.FIRSTWITHTIME);
- assertEquals(aggregationFunction.getColumnName(),
"firstWithTime_column_timeColumn_DOUBLE");
assertEquals(aggregationFunction.getResultColumnName(),
function.toString());
function = getFunction("FiRsTwItHtImE", "(column,timeColumn,'STRING')");
aggregationFunction =
AggregationFunctionFactory.getAggregationFunction(function,
DUMMY_QUERY_CONTEXT);
assertTrue(aggregationFunction instanceof
FirstStringValueWithTimeAggregationFunction);
assertEquals(aggregationFunction.getType(),
AggregationFunctionType.FIRSTWITHTIME);
- assertEquals(aggregationFunction.getColumnName(),
"firstWithTime_column_timeColumn_STRING");
assertEquals(aggregationFunction.getResultColumnName(),
function.toString());
function = getFunction("LaStWiThTiMe", "(column,timeColumn,'BOOLEAN')");
aggregationFunction =
AggregationFunctionFactory.getAggregationFunction(function,
DUMMY_QUERY_CONTEXT);
assertTrue(aggregationFunction instanceof
LastIntValueWithTimeAggregationFunction);
assertEquals(aggregationFunction.getType(),
AggregationFunctionType.LASTWITHTIME);
- assertEquals(aggregationFunction.getColumnName(),
"lastWithTime_column_timeColumn_BOOLEAN");
assertEquals(aggregationFunction.getResultColumnName(),
function.toString());
function = getFunction("LaStWiThTiMe", "(column,timeColumn,'INT')");
aggregationFunction =
AggregationFunctionFactory.getAggregationFunction(function,
DUMMY_QUERY_CONTEXT);
assertTrue(aggregationFunction instanceof
LastIntValueWithTimeAggregationFunction);
assertEquals(aggregationFunction.getType(),
AggregationFunctionType.LASTWITHTIME);
- assertEquals(aggregationFunction.getColumnName(),
"lastWithTime_column_timeColumn_INT");
assertEquals(aggregationFunction.getResultColumnName(),
function.toString());
function = getFunction("LaStWiThTiMe", "(column,timeColumn,'LONG')");
aggregationFunction =
AggregationFunctionFactory.getAggregationFunction(function,
DUMMY_QUERY_CONTEXT);
assertTrue(aggregationFunction instanceof
LastLongValueWithTimeAggregationFunction);
assertEquals(aggregationFunction.getType(),
AggregationFunctionType.LASTWITHTIME);
- assertEquals(aggregationFunction.getColumnName(),
"lastWithTime_column_timeColumn_LONG");
assertEquals(aggregationFunction.getResultColumnName(),
function.toString());
function = getFunction("LaStWiThTiMe", "(column,timeColumn,'FLOAT')");
aggregationFunction =
AggregationFunctionFactory.getAggregationFunction(function,
DUMMY_QUERY_CONTEXT);
assertTrue(aggregationFunction instanceof
LastFloatValueWithTimeAggregationFunction);
assertEquals(aggregationFunction.getType(),
AggregationFunctionType.LASTWITHTIME);
- assertEquals(aggregationFunction.getColumnName(),
"lastWithTime_column_timeColumn_FLOAT");
assertEquals(aggregationFunction.getResultColumnName(),
function.toString());
function = getFunction("LaStWiThTiMe", "(column,timeColumn,'DOUBLE')");
aggregationFunction =
AggregationFunctionFactory.getAggregationFunction(function,
DUMMY_QUERY_CONTEXT);
assertTrue(aggregationFunction instanceof
LastDoubleValueWithTimeAggregationFunction);
assertEquals(aggregationFunction.getType(),
AggregationFunctionType.LASTWITHTIME);
- assertEquals(aggregationFunction.getColumnName(),
"lastWithTime_column_timeColumn_DOUBLE");
assertEquals(aggregationFunction.getResultColumnName(),
function.toString());
function = getFunction("LaStWiThTiMe", "(column,timeColumn,'STRING')");
aggregationFunction =
AggregationFunctionFactory.getAggregationFunction(function,
DUMMY_QUERY_CONTEXT);
assertTrue(aggregationFunction instanceof
LastStringValueWithTimeAggregationFunction);
assertEquals(aggregationFunction.getType(),
AggregationFunctionType.LASTWITHTIME);
- assertEquals(aggregationFunction.getColumnName(),
"lastWithTime_column_timeColumn_STRING");
assertEquals(aggregationFunction.getResultColumnName(),
function.toString());
function = getFunction("MiNmAxRaNgE");
aggregationFunction =
AggregationFunctionFactory.getAggregationFunction(function,
DUMMY_QUERY_CONTEXT);
assertTrue(aggregationFunction instanceof MinMaxRangeAggregationFunction);
assertEquals(aggregationFunction.getType(),
AggregationFunctionType.MINMAXRANGE);
- assertEquals(aggregationFunction.getColumnName(), "minMaxRange_column");
assertEquals(aggregationFunction.getResultColumnName(),
function.toString());
function = getFunction("DiStInCtCoUnT");
aggregationFunction =
AggregationFunctionFactory.getAggregationFunction(function,
DUMMY_QUERY_CONTEXT);
assertTrue(aggregationFunction instanceof
DistinctCountAggregationFunction);
assertEquals(aggregationFunction.getType(),
AggregationFunctionType.DISTINCTCOUNT);
- assertEquals(aggregationFunction.getColumnName(), "distinctCount_column");
assertEquals(aggregationFunction.getResultColumnName(),
function.toString());
function = getFunction("DiStInCtCoUnThLl");
aggregationFunction =
AggregationFunctionFactory.getAggregationFunction(function,
DUMMY_QUERY_CONTEXT);
assertTrue(aggregationFunction instanceof
DistinctCountHLLAggregationFunction);
assertEquals(aggregationFunction.getType(),
AggregationFunctionType.DISTINCTCOUNTHLL);
- assertEquals(aggregationFunction.getColumnName(),
"distinctCountHLL_column");
assertEquals(aggregationFunction.getResultColumnName(),
function.toString());
function = getFunction("DiStInCtCoUnTrAwHlL");
aggregationFunction =
AggregationFunctionFactory.getAggregationFunction(function,
DUMMY_QUERY_CONTEXT);
assertTrue(aggregationFunction instanceof
DistinctCountRawHLLAggregationFunction);
assertEquals(aggregationFunction.getType(),
AggregationFunctionType.DISTINCTCOUNTRAWHLL);
- assertEquals(aggregationFunction.getColumnName(),
"distinctCountRawHLL_column");
assertEquals(aggregationFunction.getResultColumnName(),
function.toString());
function = getFunction("FaStHlL");
aggregationFunction =
AggregationFunctionFactory.getAggregationFunction(function,
DUMMY_QUERY_CONTEXT);
assertTrue(aggregationFunction instanceof FastHLLAggregationFunction);
assertEquals(aggregationFunction.getType(),
AggregationFunctionType.FASTHLL);
- assertEquals(aggregationFunction.getColumnName(), "fastHLL_column");
assertEquals(aggregationFunction.getResultColumnName(),
function.toString());
function = getFunction("PeRcEnTiLe5");
aggregationFunction =
AggregationFunctionFactory.getAggregationFunction(function,
DUMMY_QUERY_CONTEXT);
assertTrue(aggregationFunction instanceof PercentileAggregationFunction);
assertEquals(aggregationFunction.getType(),
AggregationFunctionType.PERCENTILE);
- assertEquals(aggregationFunction.getColumnName(), "percentile5_column");
assertEquals(aggregationFunction.getResultColumnName(),
function.toString());
function = getFunction("PeRcEnTiLeEsT50");
aggregationFunction =
AggregationFunctionFactory.getAggregationFunction(function,
DUMMY_QUERY_CONTEXT);
assertTrue(aggregationFunction instanceof
PercentileEstAggregationFunction);
assertEquals(aggregationFunction.getType(),
AggregationFunctionType.PERCENTILEEST);
- assertEquals(aggregationFunction.getColumnName(),
"percentileEst50_column");
assertEquals(aggregationFunction.getResultColumnName(),
function.toString());
function = getFunction("PeRcEnTiLeRaWEsT50");
aggregationFunction =
AggregationFunctionFactory.getAggregationFunction(function,
DUMMY_QUERY_CONTEXT);
assertTrue(aggregationFunction instanceof
PercentileRawEstAggregationFunction);
assertEquals(aggregationFunction.getType(),
AggregationFunctionType.PERCENTILERAWEST);
- assertEquals(aggregationFunction.getColumnName(),
"percentileRawEst50_column");
assertEquals(aggregationFunction.getResultColumnName(),
function.toString());
function = getFunction("PeRcEnTiLeTdIgEsT99");
aggregationFunction =
AggregationFunctionFactory.getAggregationFunction(function,
DUMMY_QUERY_CONTEXT);
assertTrue(aggregationFunction instanceof
PercentileTDigestAggregationFunction);
assertEquals(aggregationFunction.getType(),
AggregationFunctionType.PERCENTILETDIGEST);
- assertEquals(aggregationFunction.getColumnName(),
"percentileTDigest99_column");
assertEquals(aggregationFunction.getResultColumnName(),
function.toString());
function = getFunction("PeRcEnTiLeRaWTdIgEsT99");
aggregationFunction =
AggregationFunctionFactory.getAggregationFunction(function,
DUMMY_QUERY_CONTEXT);
assertTrue(aggregationFunction instanceof
PercentileRawTDigestAggregationFunction);
assertEquals(aggregationFunction.getType(),
AggregationFunctionType.PERCENTILERAWTDIGEST);
- assertEquals(aggregationFunction.getColumnName(),
"percentileRawTDigest99_column");
assertEquals(aggregationFunction.getResultColumnName(),
function.toString());
function = getFunction("PeRcEnTiLe", "(column, 5)");
aggregationFunction =
AggregationFunctionFactory.getAggregationFunction(function,
DUMMY_QUERY_CONTEXT);
assertTrue(aggregationFunction instanceof PercentileAggregationFunction);
assertEquals(aggregationFunction.getType(),
AggregationFunctionType.PERCENTILE);
- assertEquals(aggregationFunction.getColumnName(), "percentile5.0_column");
assertEquals(aggregationFunction.getResultColumnName(),
"percentile(column, 5.0)");
function = getFunction("PeRcEnTiLe", "(column, 5.5)");
aggregationFunction =
AggregationFunctionFactory.getAggregationFunction(function,
DUMMY_QUERY_CONTEXT);
assertTrue(aggregationFunction instanceof PercentileAggregationFunction);
assertEquals(aggregationFunction.getType(),
AggregationFunctionType.PERCENTILE);
- assertEquals(aggregationFunction.getColumnName(), "percentile5.5_column");
assertEquals(aggregationFunction.getResultColumnName(),
"percentile(column, 5.5)");
function = getFunction("PeRcEnTiLeEsT", "(column, 50)");
aggregationFunction =
AggregationFunctionFactory.getAggregationFunction(function,
DUMMY_QUERY_CONTEXT);
assertTrue(aggregationFunction instanceof
PercentileEstAggregationFunction);
assertEquals(aggregationFunction.getType(),
AggregationFunctionType.PERCENTILEEST);
- assertEquals(aggregationFunction.getColumnName(),
"percentileEst50.0_column");
assertEquals(aggregationFunction.getResultColumnName(),
"percentileest(column, 50.0)");
function = getFunction("PeRcEnTiLeRaWeSt", "(column, 50)");
aggregationFunction =
AggregationFunctionFactory.getAggregationFunction(function,
DUMMY_QUERY_CONTEXT);
assertTrue(aggregationFunction instanceof
PercentileRawEstAggregationFunction);
assertEquals(aggregationFunction.getType(),
AggregationFunctionType.PERCENTILERAWEST);
- assertEquals(aggregationFunction.getColumnName(),
"percentileRawEst50.0_column");
assertEquals(aggregationFunction.getResultColumnName(),
"percentilerawest(column, 50.0)");
function = getFunction("PeRcEnTiLeEsT", "(column, 55.555)");
aggregationFunction =
AggregationFunctionFactory.getAggregationFunction(function,
DUMMY_QUERY_CONTEXT);
assertTrue(aggregationFunction instanceof
PercentileEstAggregationFunction);
assertEquals(aggregationFunction.getType(),
AggregationFunctionType.PERCENTILEEST);
- assertEquals(aggregationFunction.getColumnName(),
"percentileEst55.555_column");
assertEquals(aggregationFunction.getResultColumnName(),
"percentileest(column, 55.555)");
function = getFunction("PeRcEnTiLeRaWeSt", "(column, 55.555)");
aggregationFunction =
AggregationFunctionFactory.getAggregationFunction(function,
DUMMY_QUERY_CONTEXT);
assertTrue(aggregationFunction instanceof
PercentileRawEstAggregationFunction);
assertEquals(aggregationFunction.getType(),
AggregationFunctionType.PERCENTILERAWEST);
- assertEquals(aggregationFunction.getColumnName(),
"percentileRawEst55.555_column");
assertEquals(aggregationFunction.getResultColumnName(),
"percentilerawest(column, 55.555)");
function = getFunction("PeRcEnTiLeTdIgEsT", "(column, 99)");
aggregationFunction =
AggregationFunctionFactory.getAggregationFunction(function,
DUMMY_QUERY_CONTEXT);
assertTrue(aggregationFunction instanceof
PercentileTDigestAggregationFunction);
assertEquals(aggregationFunction.getType(),
AggregationFunctionType.PERCENTILETDIGEST);
- assertEquals(aggregationFunction.getColumnName(),
"percentileTDigest99.0_column");
assertEquals(aggregationFunction.getResultColumnName(),
"percentiletdigest(column, 99.0)");
function = getFunction("PeRcEnTiLeTdIgEsT", "(column, 99.9999)");
aggregationFunction =
AggregationFunctionFactory.getAggregationFunction(function,
DUMMY_QUERY_CONTEXT);
assertTrue(aggregationFunction instanceof
PercentileTDigestAggregationFunction);
assertEquals(aggregationFunction.getType(),
AggregationFunctionType.PERCENTILETDIGEST);
- assertEquals(aggregationFunction.getColumnName(),
"percentileTDigest99.9999_column");
assertEquals(aggregationFunction.getResultColumnName(),
"percentiletdigest(column, 99.9999)");
function = getFunction("PeRcEnTiLeRaWtDiGeSt", "(column, 99)");
aggregationFunction =
AggregationFunctionFactory.getAggregationFunction(function,
DUMMY_QUERY_CONTEXT);
assertTrue(aggregationFunction instanceof
PercentileRawTDigestAggregationFunction);
assertEquals(aggregationFunction.getType(),
AggregationFunctionType.PERCENTILERAWTDIGEST);
- assertEquals(aggregationFunction.getColumnName(),
"percentileRawTDigest99.0_column");
assertEquals(aggregationFunction.getResultColumnName(),
"percentilerawtdigest(column, 99.0)");
function = getFunction("PeRcEnTiLeRaWtDiGeSt", "(column, 99.9999)");
aggregationFunction =
AggregationFunctionFactory.getAggregationFunction(function,
DUMMY_QUERY_CONTEXT);
assertTrue(aggregationFunction instanceof
PercentileRawTDigestAggregationFunction);
assertEquals(aggregationFunction.getType(),
AggregationFunctionType.PERCENTILERAWTDIGEST);
- assertEquals(aggregationFunction.getColumnName(),
"percentileRawTDigest99.9999_column");
assertEquals(aggregationFunction.getResultColumnName(),
"percentilerawtdigest(column, 99.9999)");
function = getFunction("CoUnTmV");
aggregationFunction =
AggregationFunctionFactory.getAggregationFunction(function,
DUMMY_QUERY_CONTEXT);
assertTrue(aggregationFunction instanceof CountMVAggregationFunction);
assertEquals(aggregationFunction.getType(),
AggregationFunctionType.COUNTMV);
- assertEquals(aggregationFunction.getColumnName(), "countMV_column");
assertEquals(aggregationFunction.getResultColumnName(),
function.toString());
function = getFunction("MiNmV");
aggregationFunction =
AggregationFunctionFactory.getAggregationFunction(function,
DUMMY_QUERY_CONTEXT);
assertTrue(aggregationFunction instanceof MinMVAggregationFunction);
assertEquals(aggregationFunction.getType(), AggregationFunctionType.MINMV);
- assertEquals(aggregationFunction.getColumnName(), "minMV_column");
assertEquals(aggregationFunction.getResultColumnName(),
function.toString());
function = getFunction("MaXmV");
aggregationFunction =
AggregationFunctionFactory.getAggregationFunction(function,
DUMMY_QUERY_CONTEXT);
assertTrue(aggregationFunction instanceof MaxMVAggregationFunction);
assertEquals(aggregationFunction.getType(), AggregationFunctionType.MAXMV);
- assertEquals(aggregationFunction.getColumnName(), "maxMV_column");
assertEquals(aggregationFunction.getResultColumnName(),
function.toString());
function = getFunction("SuMmV");
aggregationFunction =
AggregationFunctionFactory.getAggregationFunction(function,
DUMMY_QUERY_CONTEXT);
assertTrue(aggregationFunction instanceof SumMVAggregationFunction);
assertEquals(aggregationFunction.getType(), AggregationFunctionType.SUMMV);
- assertEquals(aggregationFunction.getColumnName(), "sumMV_column");
assertEquals(aggregationFunction.getResultColumnName(),
function.toString());
function = getFunction("AvGmV");
aggregationFunction =
AggregationFunctionFactory.getAggregationFunction(function,
DUMMY_QUERY_CONTEXT);
assertTrue(aggregationFunction instanceof AvgMVAggregationFunction);
assertEquals(aggregationFunction.getType(), AggregationFunctionType.AVGMV);
- assertEquals(aggregationFunction.getColumnName(), "avgMV_column");
assertEquals(aggregationFunction.getResultColumnName(),
function.toString());
function = getFunction("AvG_mV");
aggregationFunction =
AggregationFunctionFactory.getAggregationFunction(function,
DUMMY_QUERY_CONTEXT);
assertTrue(aggregationFunction instanceof AvgMVAggregationFunction);
assertEquals(aggregationFunction.getType(), AggregationFunctionType.AVGMV);
- assertEquals(aggregationFunction.getColumnName(), "avgMV_column");
- assertEquals(aggregationFunction.getResultColumnName(), "avgmv(column)");
+ assertEquals(aggregationFunction.getResultColumnName(),
function.toString());
function = getFunction("MiNmAxRaNgEmV");
aggregationFunction =
AggregationFunctionFactory.getAggregationFunction(function,
DUMMY_QUERY_CONTEXT);
assertTrue(aggregationFunction instanceof
MinMaxRangeMVAggregationFunction);
assertEquals(aggregationFunction.getType(),
AggregationFunctionType.MINMAXRANGEMV);
- assertEquals(aggregationFunction.getColumnName(), "minMaxRangeMV_column");
assertEquals(aggregationFunction.getResultColumnName(),
function.toString());
function = getFunction("DiStInCtCoUnTmV");
aggregationFunction =
AggregationFunctionFactory.getAggregationFunction(function,
DUMMY_QUERY_CONTEXT);
assertTrue(aggregationFunction instanceof
DistinctCountMVAggregationFunction);
assertEquals(aggregationFunction.getType(),
AggregationFunctionType.DISTINCTCOUNTMV);
- assertEquals(aggregationFunction.getColumnName(),
"distinctCountMV_column");
assertEquals(aggregationFunction.getResultColumnName(),
function.toString());
function = getFunction("DiStInCtCoUnThLlMv");
aggregationFunction =
AggregationFunctionFactory.getAggregationFunction(function,
DUMMY_QUERY_CONTEXT);
assertTrue(aggregationFunction instanceof
DistinctCountHLLMVAggregationFunction);
assertEquals(aggregationFunction.getType(),
AggregationFunctionType.DISTINCTCOUNTHLLMV);
- assertEquals(aggregationFunction.getColumnName(),
"distinctCountHLLMV_column");
assertEquals(aggregationFunction.getResultColumnName(),
function.toString());
function = getFunction("DiStInCt_CoUnT_hLl_Mv");
aggregationFunction =
AggregationFunctionFactory.getAggregationFunction(function,
DUMMY_QUERY_CONTEXT);
assertTrue(aggregationFunction instanceof
DistinctCountHLLMVAggregationFunction);
assertEquals(aggregationFunction.getType(),
AggregationFunctionType.DISTINCTCOUNTHLLMV);
- assertEquals(aggregationFunction.getColumnName(),
"distinctCountHLLMV_column");
- assertEquals(aggregationFunction.getResultColumnName(),
"distinctcounthllmv(column)");
+ assertEquals(aggregationFunction.getResultColumnName(),
function.toString());
function = getFunction("DiStInCtCoUnTrAwHlLmV");
aggregationFunction =
AggregationFunctionFactory.getAggregationFunction(function,
DUMMY_QUERY_CONTEXT);
assertTrue(aggregationFunction instanceof
DistinctCountRawHLLMVAggregationFunction);
assertEquals(aggregationFunction.getType(),
AggregationFunctionType.DISTINCTCOUNTRAWHLLMV);
- assertEquals(aggregationFunction.getColumnName(),
"distinctCountRawHLLMV_column");
assertEquals(aggregationFunction.getResultColumnName(),
function.toString());
function = getFunction("PeRcEnTiLe10Mv");
aggregationFunction =
AggregationFunctionFactory.getAggregationFunction(function,
DUMMY_QUERY_CONTEXT);
assertTrue(aggregationFunction instanceof PercentileMVAggregationFunction);
assertEquals(aggregationFunction.getType(),
AggregationFunctionType.PERCENTILEMV);
- assertEquals(aggregationFunction.getColumnName(), "percentile10MV_column");
assertEquals(aggregationFunction.getResultColumnName(),
function.toString());
function = getFunction("PeRcEnTiLeEsT90mV");
aggregationFunction =
AggregationFunctionFactory.getAggregationFunction(function,
DUMMY_QUERY_CONTEXT);
assertTrue(aggregationFunction instanceof
PercentileEstMVAggregationFunction);
assertEquals(aggregationFunction.getType(),
AggregationFunctionType.PERCENTILEESTMV);
- assertEquals(aggregationFunction.getColumnName(),
"percentileEst90MV_column");
assertEquals(aggregationFunction.getResultColumnName(),
function.toString());
function = getFunction("PeRcEnTiLeTdIgEsT95mV");
aggregationFunction =
AggregationFunctionFactory.getAggregationFunction(function,
DUMMY_QUERY_CONTEXT);
assertTrue(aggregationFunction instanceof
PercentileTDigestMVAggregationFunction);
assertEquals(aggregationFunction.getType(),
AggregationFunctionType.PERCENTILETDIGESTMV);
- assertEquals(aggregationFunction.getColumnName(),
"percentileTDigest95MV_column");
assertEquals(aggregationFunction.getResultColumnName(),
function.toString());
function = getFunction("PeRcEnTiLe_TdIgEsT_95_mV");
aggregationFunction =
AggregationFunctionFactory.getAggregationFunction(function,
DUMMY_QUERY_CONTEXT);
assertTrue(aggregationFunction instanceof
PercentileTDigestMVAggregationFunction);
assertEquals(aggregationFunction.getType(),
AggregationFunctionType.PERCENTILETDIGESTMV);
- assertEquals(aggregationFunction.getColumnName(),
"percentileTDigest95MV_column");
- assertEquals(aggregationFunction.getResultColumnName(),
"percentiletdigest95mv(column)");
+ assertEquals(aggregationFunction.getResultColumnName(),
function.toString());
function = getFunction("PeRcEnTiLeMv", "(column, 10)");
aggregationFunction =
AggregationFunctionFactory.getAggregationFunction(function,
DUMMY_QUERY_CONTEXT);
assertTrue(aggregationFunction instanceof PercentileMVAggregationFunction);
assertEquals(aggregationFunction.getType(),
AggregationFunctionType.PERCENTILEMV);
- assertEquals(aggregationFunction.getColumnName(),
"percentile10.0MV_column");
assertEquals(aggregationFunction.getResultColumnName(),
"percentilemv(column, 10.0)");
function = getFunction("PeRcEnTiLeEsTmV", "(column, 90)");
aggregationFunction =
AggregationFunctionFactory.getAggregationFunction(function,
DUMMY_QUERY_CONTEXT);
assertTrue(aggregationFunction instanceof
PercentileEstMVAggregationFunction);
assertEquals(aggregationFunction.getType(),
AggregationFunctionType.PERCENTILEESTMV);
- assertEquals(aggregationFunction.getColumnName(),
"percentileEst90.0MV_column");
assertEquals(aggregationFunction.getResultColumnName(),
"percentileestmv(column, 90.0)");
function = getFunction("PeRcEnTiLeTdIgEsTmV", "(column, 95)");
aggregationFunction =
AggregationFunctionFactory.getAggregationFunction(function,
DUMMY_QUERY_CONTEXT);
assertTrue(aggregationFunction instanceof
PercentileTDigestMVAggregationFunction);
assertEquals(aggregationFunction.getType(),
AggregationFunctionType.PERCENTILETDIGESTMV);
- assertEquals(aggregationFunction.getColumnName(),
"percentileTDigest95.0MV_column");
assertEquals(aggregationFunction.getResultColumnName(),
"percentiletdigestmv(column, 95.0)");
function = getFunction("PeRcEnTiLe_TdIgEsT_mV", "(column, 95)");
aggregationFunction =
AggregationFunctionFactory.getAggregationFunction(function,
DUMMY_QUERY_CONTEXT);
assertTrue(aggregationFunction instanceof
PercentileTDigestMVAggregationFunction);
assertEquals(aggregationFunction.getType(),
AggregationFunctionType.PERCENTILETDIGESTMV);
- assertEquals(aggregationFunction.getColumnName(),
"percentileTDigest95.0MV_column");
assertEquals(aggregationFunction.getResultColumnName(),
"percentiletdigestmv(column, 95.0)");
function = getFunction("bool_and");
aggregationFunction =
AggregationFunctionFactory.getAggregationFunction(function,
DUMMY_QUERY_CONTEXT);
assertTrue(aggregationFunction instanceof BooleanAndAggregationFunction);
assertEquals(aggregationFunction.getType(),
AggregationFunctionType.BOOLAND);
- assertEquals(aggregationFunction.getColumnName(), "boolAnd_column");
- assertEquals(aggregationFunction.getResultColumnName(), "booland(column)");
+ assertEquals(aggregationFunction.getResultColumnName(),
function.toString());
function = getFunction("bool_or");
aggregationFunction =
AggregationFunctionFactory.getAggregationFunction(function,
DUMMY_QUERY_CONTEXT);
assertTrue(aggregationFunction instanceof BooleanOrAggregationFunction);
assertEquals(aggregationFunction.getType(),
AggregationFunctionType.BOOLOR);
- assertEquals(aggregationFunction.getColumnName(), "boolOr_column");
- assertEquals(aggregationFunction.getResultColumnName(), "boolor(column)");
+ assertEquals(aggregationFunction.getResultColumnName(),
function.toString());
function = getFunction("skewness");
aggregationFunction =
AggregationFunctionFactory.getAggregationFunction(function,
DUMMY_QUERY_CONTEXT);
assertTrue(aggregationFunction instanceof FourthMomentAggregationFunction);
assertEquals(aggregationFunction.getType(),
AggregationFunctionType.SKEWNESS);
- assertEquals(aggregationFunction.getColumnName(), "skewness_column");
- assertEquals(aggregationFunction.getResultColumnName(),
"skewness(column)");
+ assertEquals(aggregationFunction.getResultColumnName(),
function.toString());
function = getFunction("kurtosis");
aggregationFunction =
AggregationFunctionFactory.getAggregationFunction(function,
DUMMY_QUERY_CONTEXT);
assertTrue(aggregationFunction instanceof FourthMomentAggregationFunction);
assertEquals(aggregationFunction.getType(),
AggregationFunctionType.KURTOSIS);
- assertEquals(aggregationFunction.getColumnName(), "kurtosis_column");
- assertEquals(aggregationFunction.getResultColumnName(),
"kurtosis(column)");
+ assertEquals(aggregationFunction.getResultColumnName(),
function.toString());
}
private FunctionContext getFunction(String functionName) {
@@ -486,11 +426,13 @@ public class AggregationFunctionFactoryTest {
public void testAggregationFunctionWithMultipleArgs() {
QueryContext queryContext =
QueryContextConverterUtils.getQueryContext("SELECT DISTINCT column1,
column2, column3 FROM testTable");
- AggregationFunction aggregationFunction = AggregationFunctionFactory
-
.getAggregationFunction(queryContext.getSelectExpressions().get(0).getFunction(),
queryContext);
+ AggregationFunction aggregationFunction =
+
AggregationFunctionFactory.getAggregationFunction(queryContext.getSelectExpressions().get(0).getFunction(),
+ queryContext);
assertTrue(aggregationFunction instanceof DistinctAggregationFunction);
assertEquals(aggregationFunction.getType(),
AggregationFunctionType.DISTINCT);
- assertEquals(aggregationFunction.getColumnName(),
"distinct_column1:column2:column3");
- assertEquals(aggregationFunction.getResultColumnName(),
"distinct(column1:column2:column3)");
+ assertEquals(aggregationFunction.getInputExpressions(),
+ Arrays.asList(ExpressionContext.forIdentifier("column1"),
ExpressionContext.forIdentifier("column2"),
+ ExpressionContext.forIdentifier("column3")));
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]