somandal commented on code in PR #10846:
URL: https://github.com/apache/pinot/pull/10846#discussion_r1219834738
##########
pinot-query-planner/src/main/java/org/apache/calcite/sql/fun/PinotOperatorTable.java:
##########
@@ -103,6 +98,61 @@ public final void initNoDuplicate() {
throw Util.throwAsRuntime(Util.causeOrSelf(e));
}
}
+
+ // Walk through all the Pinot aggregation types and register those that
are supported in multistage and which
+ // aren't standard Calcite functions such as SUM / MIN / MAX / COUNT etc.
+ for (AggregationFunctionType aggregationFunctionType :
AggregationFunctionType.values()) {
+ if (aggregationFunctionType.isNativeCalciteAggregationFunctionType()
+ || !aggregationFunctionType.isSupportedInMultiStage()) {
Review Comment:
Are you talking about `isSupportedInMultiStage()`? I can perhaps rename it
to something like `registerWithOperatorTable()` or something like that for now.
This method is meant to be a temporary one which we will remove once support
for all aggregation functions is added to multistage. I don't want to keep a
hard-coded list here because eventually most aggregation functions will be
supported and the full list is available as part of the
`AggregationFunctionType` enum class anyways.
Also note that there are many MV aggregation functions which we cannot
support yet without generically adding MV support to multi-stage as part of
this OSS issue: https://github.com/apache/pinot/issues/10658
So we may need to gatekeep which aggregation functions are supported for a
while, but over time it should be possible to support most.
I'm not sure what you mean by backward incompatibility when we make v2 the
default? Can you elaborate a bit on that part?
--
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]