-
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
Add TableScanBuilder in PlanBuilder #7391
Comments
@mbasmanova any thoughts? |
At a high level, I like this idea, but can you show a working example? How will you add nodes on top of TableScan node built using tableScanBuilder? |
It will look like
|
I see, what about plans with multiple table scans (joins)? Would something like below be possible / makes sense?
|
Multi scans/joins will look like below. The following is an extract from TpchQueryBuilder
|
@majetideepak Deepak, you need to make sure different TableScan nodes have different node IDs (in the same query plan).
Not necessarily.
|
I see we have |
We could also add a new API |
It would be preferable to keep PlanNode classes immutable. |
Completed! |
Description
We currently have 4 APIs for TableScan in PlanBuilder
This was likely to enable optional arguments. The connectorId is still hard-coded.
We should instead have a TableScanBuilder on the lines of HiveConnectorSplitBuilder
The API will look like
tableScanBuilder().outputType(rowTypePtr).subfieldFilters({"c1 = true"}).remainingFilter{"c0 < 100"}.build();
This is longer but less confusing and simplifies the API. It is also more descriptive compared to
tableScan(rowTypePtr, {"c1 = true"}, "c0 < 100")
.The text was updated successfully, but these errors were encountered: