-
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
Remove dependency from LogicalPlan::TableScan
to ExecutionPlan
#2284
Conversation
LogicalPlan::TableScan
to ExecutionPlan
@matthewmturner @alamb I aborted the large refactor and found a simpler and more practical approach. Let me know what you think. |
I plan to review this later today |
The last comment from @jimexist during "the great split of datafusion" was is #1762 (comment) -- I think this PR will help |
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.
Looks good to me -- thanks @andygrove
} | ||
|
||
/// Extract TableProvider from TableSource | ||
pub fn source_as_provider( |
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 it is worth a comment on TableSource
that it is not intended, initially, to be extended outside of DataFusion.
datafusion/expr/src/table_source.rs
Outdated
Temporary, | ||
} | ||
|
||
/// TableSource |
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.
It is probably worth some comments here about the rationale for this structure existing -- namely so LogicalPlan doesn't directly rely on physical plans
Co-authored-by: Andrew Lamb <[email protected]>
…datafusion into table-provider-refactor
Thanks for the review @alamb. I pushed an update with more documentation. Let me know if I missed anything and I can address in one of the following refactor PRs. |
Which issue does this PR close?
Closes #2247
Rationale for this change
We want to remove the dependency from
TableScan
toExecutionPlan
so that we can move theLogicalPlan
into theexpr
crate.What changes are included in this PR?
TableSource
trait inexpr
crate that is referenced fromTableScan
DefaultTableSource
struct in core crate that wrapsTableProvider
Are there any user-facing changes?
Yes, at API level