-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Support arbitrary expressions in LIMIT
clause
#9821
Comments
Limit
logical plan to support arbitrary expressions?LIMIT
clause
I can do this one since I have been doing a related limit pushdown feature. |
wait until #9815 (comment) merged |
This one is probably ready to work on now |
While re-reading this I think we should start with implementhing limits that can be evaluated to a constant by the time the physical plan is created (aka don't change the physical execution plans) It is not clear to me what The key usecases are:
|
I will switch my focus to working on it. |
Follow on to #9506
The idea is to support arbitrary expressions that can be consolidated to a constant in the LIMIT clause. For example
This query should be able to run (and return the single value)
#9790 adds support for basic
+/-
but the general purpose solution that would handle any expr that can be consolidated to a constant would be betterAs suggested by @jonahgao this might look like change the
Limit
logical plan to support arbitrary expressions?The
SimplifyExpressions
rule can automatically optimize them into constants. Some optimization rules such asPushDownLimit
only run when the limit expression is a constant. We may need to add a cast for the limit expression when planning, only checking if it is a constant of type u64.When creating the
LimitExec
physical plan, convert the limit expression intoPhysicalExpr
and evaluate it.Originally posted by @jonahgao in #9790 (comment)
The text was updated successfully, but these errors were encountered: