-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Epic] Unify WindowFunction
Interface (remove built in list of BuiltInWindowFunction
s)
#8709
Comments
I'd like to try a small POC and migrate |
That would be awesome. Thank you I recommend trying to put it in its own crate if possible ( |
I'm going to move back to working on Also I think we have some functions that are implemented in aggregate that should be moved to window. Namely Notes (for myself) on how postgresql divides them: |
I filed a few more good first issues because of interest from new contributors, |
Thank you @jcsherin -- I added it tothe list above |
Is your feature request related to a problem or challenge?
For many of the same reasons as listed on #8045, having two types of aggregate functions ("built in" --BuiltInWindowFunction and WindowUDF is problematic for two reasons:
FIRST_VALUE
andLAST_VALUE
)Describe the solution you'd like
I propose moving DataFusion to only use
WindowURF
s and remove BuiltInWindowFunction for the same reasons as #8045We will keep the existing
WindowUDF
interface as much as possible, while also potentially providing an easier way to define them.Describe alternatives you've considered
Additional context
Proposed implementation steps:
WindowUDF
#8711WindowUDFImpl::simplfy()
API #9527row_number
to user-defined window function #12029nth_value
to UDAF #11287field
trait method toWindowUDFImpl
#12373row_number
to user-defined window function #12030BuiltInWindowFunction::{Rank, PercentRank, DenseRank}
to a user defined functions #12648BuiltInWindowFunction::{NthValue}
to a user defined functions #12649BuiltInWindowFunction::Ntile
to a user defined window function #12694BuiltInWindowFunction::CumeDist
to a user defined window function #12695BuiltInWindowFunction::{Lead, Lag}
to a user defined window function #12802The text was updated successfully, but these errors were encountered: