somandal opened a new pull request, #10286:
URL: https://github.com/apache/pinot/pull/10286

   This PR introduces the multi-stage runtime changes to support Phase 1 of 
Window Functions, specifically targeting empty `OVER()` and `OVER(PARTITION 
BY)`. Runtime support has been added for the following classes of window 
queries:
   
   - Empty OVER()
   - OVER(PARTITION BY)
   
   This PR also ads/fixes some bugs in the window function planning, 
specifically:
   
   - Create Empty `OVER()` and `OVER(ORDER BY)` as singleton stages which need 
a single node assignment (similar to global aggregation without group by and 
global sort)
   - Add some logic for `OVER(PARTITION BY key1 ORDER BY key1)` queries which 
get marked as `OVER(PARTITION BY key1)` to ensure that the `ORDER BY` key1's 
direction and null direction are the defaults, otherwise treat these as 
`OVER(PARTITION BY key1 ORDER BY key2)` type queries during planning.
   
   The window functions supported as part of Phase 1 are: SUM, AVG, MIN, MAX, 
and COUNT.
   
   This PR also adds a new JSON file for window function query runtime tests 
via the output mechanism (H2 doesn't support window functions and got parse 
errors when trying to use it). (I still need to add some more tests, working on 
them now)
   
   Design document: 
https://docs.google.com/document/d/13CmFm4djI09JKF_Xty5acoXxJoxC9CLXAsmikgzgtIs/edit?usp=sharing
   OSS issue: https://github.com/apache/pinot/issues/7213
   Window Function Planner PR: https://github.com/apache/pinot/pull/10228
   
   This PR does not include support for:
   
   - Execution engine changes for Phase 1 for OVER(ORDER BY) and OVER 
(PARTITION BY ORDER BY) (will be the next PR for this feature)
   - Custom frames
   - Other window functions related to rank and values
   - Multiple window groups (basically multiple OVER clauses with different 
PARTITION BY, ORDER BY and/or FRAME specifications, if these specifications are 
the same they get grouped into a single window group)
   
   The above will be part of future changes for window function support
   
   cc @siddharthteotia @walterddr @vvivekiyer @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: commits-unsubscr...@pinot.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org
For additional commands, e-mail: commits-h...@pinot.apache.org

Reply via email to