nizarhejazi commented on code in PR #9086:
URL: https://github.com/apache/pinot/pull/9086#discussion_r934033762
##########
pinot-common/src/main/java/org/apache/pinot/common/request/context/RequestContextUtils.java:
##########
@@ -81,11 +81,6 @@ public static ExpressionContext getExpression(Expression
thriftExpression) {
*/
public static FunctionContext getFunction(Function thriftFunction) {
String functionName = thriftFunction.getOperator();
- if
(functionName.equalsIgnoreCase(AggregationFunctionType.COUNT.getName())) {
- // NOTE: COUNT always take one single argument "*"
- return new FunctionContext(FunctionContext.Type.AGGREGATION,
AggregationFunctionType.COUNT.getName(),
- new
ArrayList<>(Collections.singletonList(ExpressionContext.forIdentifier("*"))));
- }
Review Comment:
@walterddr In order to handle nulls in count function, we need to be able to
accept two syntaxes: `count(col)` and `count(*)`. We don't handle nulls when
the input is `count(*)` but we handle it for `count(col)` by not counting null
values in `col`.
I removed these lines and updated all calls of `CountAggregationFunction`
constructor to send the count expression including the constructor calls in
pinot-query-runtime (check `AggregateOperator.java` and compare to
`AggregationFunctionFactory.java`). Only pinot-query-runtime still don't pass
the expression and sent count().
cc: @Jackie-Jiang
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]