Damiano
05/05/2020, 1:40 PMMayank
Mayank
Damiano
05/05/2020, 1:45 PMMayank
Mayank
Mayank
Damiano
05/05/2020, 1:47 PMDamiano
05/05/2020, 1:47 PMDamiano
05/05/2020, 1:48 PMif (AggregationFunctionUtils.isDistinct(functionContexts) || AggregationFunctionUtils.isDrawdown(functionContexts)) { .. }
Damiano
05/05/2020, 1:48 PMDamiano
05/05/2020, 1:48 PMDamiano
05/05/2020, 1:49 PM_aggregationExpressions[i] = TransformExpressionTree.compileToExpressionTree(functionContexts[i].getColumnName());
Damiano
05/05/2020, 1:49 PMDamiano
05/05/2020, 1:50 PMMayank
Mayank
Damiano
05/05/2020, 1:54 PMMayank
Mayank
Mayank
Mayank
if (AggregationFunctionUtils.isDistinct(functionContexts)) {
// handle distinct (col1, col2..) function
// unlike other aggregate functions, distinct can work on multiple columns
// so we need to build expression tree for each column
_functions[0] = functionContexts[0].getAggregationFunction();
_resultHolders[0] = _functions[0].createAggregationResultHolder();
List<String> expressions = functionContexts[0].getExpressions();
_expressions = new TransformExpressionTree[expressions.size()];
for (int i = 0; i < _expressions.length; i++) {
_expressions[i] = TransformExpressionTree.compileToExpressionTree(expressions.get(i));
}
Mayank
Mayank
Damiano
05/05/2020, 2:01 PMDamiano
05/05/2020, 2:01 PMDamiano
05/05/2020, 2:02 PMDamiano
05/05/2020, 2:10 PMDamiano
05/05/2020, 2:10 PMDamiano
05/05/2020, 2:13 PM