xiangfu0 opened a new pull request, #17155: URL: https://github.com/apache/pinot/pull/17155
Summary\n- Introduces ArrayAggMv and ListAggMv to aggregate multi-value columns.\n- ArrayAggMv flattens MV arrays into a single result array; optional distinct removes duplicates.\n- ListAggMv concatenates MV string values using a separator; optional distinct deduplicates while preserving order.\n\nSQL Syntax\n- ArrayAggMv(col, 'TYPE'[, true]) with TYPE one of: BOOLEAN, INT, LONG, FLOAT, DOUBLE, STRING, TIMESTAMP.\n- listAggMv(expression, 'separator'[, true])\n\nImplementation\n- Enum registration: ARRAYAGGMV, LISTAGGMV.\n- Factory wiring for both functions with optional distinct argument.\n- New classes: ListAggMvFunction, ListAggMvDistinctFunction; MV ArrayAgg implemented earlier.\n- Serialization via ObjectSerDeUtils for intermediate results.\n\nTests\n- Unit: ArrayAggMvFunctionTest, ListAggMvFunctionTest.\n- Query: ArrayAggMvQueriesTest, ListAggMvQueriesTest.\n- Integration: extended ArrayTest for ArrayAggMv usage.\n\nNotes\n- Boolean handled via int variant for ArrayAggMv, co nsistent with ArrayAgg.\n- Distinct ListAggMv uses ObjectLinkedOpenHashSet to preserve order. -- 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]
