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?
Existing docs:
docs/source/library-user-guide/query-optimizer.md — good high-level overview of the optimizer architecture + how to write custom rules. Does NOT list/describe individual built-in rules.
datafusion/optimizer/README.md and datafusion/physical-optimizer/README.md — brief crate-level READMEs, mostly pointers to the above doc and blog posts.
working-with-exprs.md and extending-operators.md — touch on optimizer rules tangentially.
The gap: There is no reference doc that lists and describes what each built-in rule actually does. The codebase has 27 logical optimizer rules (e.g., push_down_filter, eliminate_cross_join,
common_subexpr_eliminate) and 21 physical optimizer rules (e.g., join_selection, enforce_sorting, topk_aggregation), but the only way to learn what each one does is to read the source or use EXPLAIN
VERBOSE.
So query-optimizer.md is good for "how the optimizer works" and "how to extend it," but it's not enough if you want a reference of "what optimizations does DataFusion apply and what does each one do."
That reference doesn't exist yet.
Describe the solution you'd like
No response
Describe alternatives you've considered
No response
Additional context
No response
Reacted by Yongting You, Alessandro Solimando, Kumar Ujjawal and Kosta Tarasov
Activity
Adez017 commentedon Apr 24, 2026
take
Adez017 commentedon Apr 24, 2026
Hi @comphead , i would like to work upon this one . perhaps will need some assistance if required .
kumarUjjawal commentedon Apr 24, 2026
Hi @Adez017 I have already been working on this and have opened the pr here #21824 maybe you can help review it.
docs(optimizer): add generated optimizer rules reference (apache#21824)