You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem or challenge? Please describe what you are trying to do.
As a user of DataFusion for SQL query planning, I would like to be able to use the logical plan optimizer rules without depending on the full datafusion crate containing the execution engine.
Describe the solution you'd like
I think there are two choices here:
Move the optimizer rules up to the datafusion-expr crate which contains the logical plans and expressions and already contains some of the expression rewriting logic that the optimizers depend on. This option would require us to make some changes to remove dependencies on the physical-expr crate as noted in Logical optimizer rule "simplify expressions" should not depend on the core datafusion crate #2535
Create a new datafusion-optimizer crate. This is an easier step because we can have it depend on datafusion-physical-expr for now and fix that later. It is also maybe good to use smaller crates where possible and keep different areas of functionality separate.
Is your feature request related to a problem or challenge? Please describe what you are trying to do.
As a user of DataFusion for SQL query planning, I would like to be able to use the logical plan optimizer rules without depending on the full datafusion crate containing the execution engine.
Describe the solution you'd like
I think there are two choices here:
datafusion-exprcrate which contains the logical plans and expressions and already contains some of the expression rewriting logic that the optimizers depend on. This option would require us to make some changes to remove dependencies on thephysical-exprcrate as noted in Logical optimizer rule "simplify expressions" should not depend on the core datafusion crate #2535datafusion-optimizercrate. This is an easier step because we can have it depend ondatafusion-physical-exprfor now and fix that later. It is also maybe good to use smaller crates where possible and keep different areas of functionality separate.Tasks:
Describe alternatives you've considered
None
Additional context
None