yashmayya opened a new pull request, #13570: URL: https://github.com/apache/pinot/pull/13570
- Without null handling enabled in the leaf stages, we get results that don't adhere to the SQL standard for various aggregations. For instance, the `MAX` aggregate function uses `Double.NEGATIVE_INFINITY` as its default value when null handling is not enabled. The SQL standard states that if no row qualifies, the result of any aggregate function (other than `COUNT`) is the `null` value. - With null handling enabled, the various aggregation operators do return `null` if no doc is matched. This is due to the use of an object based aggregation result holder rather than a primitive based one, for instance here - https://github.com/apache/pinot/blob/efa43007adc1dd7736580d882f33956e359b0678/pinot-core/src/main/java/org/apache/pinot/core/query/aggregation/function/MaxAggregationFunction.java#L57-L60 - This patch enables null handling by default for leaf stages in the multi-stage query engine. Note that users can still explicitly override this to disable null handling if desired. -- 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]
