-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Consolidate filters and projections onto TableScan
#20061
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
base: main
Are you sure you want to change the base?
Conversation
| // Wrap with ProjectionExec if projection is present and differs from scan output | ||
| // (either non-identity, or fewer columns due to filter-only columns) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The idea for #19387 is that we might be able to push down trivial expressions here, thus avoiding the need for any physical optimizer changes/rules.
| LogicalPlan::Filter(filter) => { | ||
| // Split AND predicates into individual expressions | ||
| filters.extend(split_conjunction(&filter.predicate).into_iter().cloned()); | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe we can drop this since filters are effectively pushed into TableScan now?
c4b139d to
d0ff08f
Compare
538fafe to
37d40e8
Compare
37d40e8 to
0166985
Compare
|
@kosiew would you be open to reviewing this? |
Related issues
Closes #19894. I think this will also help with #19387 as well.