xiangfu0 opened a new pull request, #19489: URL: https://github.com/apache/pinot/pull/19489
`MODE` currently rejects STRING input, preventing grouped queries over identifiers, JSON strings, and names. Add string and TIMESTAMP implementations that preserve the original result type and merge complete value-frequency counts across segments and multi-stage workers. TIMESTAMP values stay exact LONG milliseconds. With `autoRewriteAggregationType=true`, both query engines resolve `MODE` to the typed implementation. The existing default remains unchanged for rolling-upgrade compatibility; enable it after brokers and servers are upgraded. Ties use MIN by default or optional MAX, nulls are skipped with null handling enabled, and AVG is rejected for these two types. Numeric MODE behavior is unchanged. This change covers grouped/global aggregates; window `MODE(...) OVER (...)` is separate. Validation: 147 OSS tests passed, including 39 distributed query cases across all three planner modes, numeric regressions, raw/dictionary input, JSON/NULLIF and CONCAT, joins, null/empty groups, and exact timestamp values above 2^53. Formatting, Checkstyle, and license checks pass on all four affected modules. The separate warning-enabled compiler check hits the existing zstd-jni/JetBrains NotNull dependency issue, reproduced using unchanged master sources; ordinary compilation and tests pass. -- 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]
