This repository was archived by the owner on Aug 29, 2024. It is now read-only.
Cost based optimization (#226) #14
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Refactoring of the planner logic
Extract out utility classes for easier development
Strip the optimization into a non-cost based (using the same rules as
before) and a volcano planner.
For this, implement physical nodes (with a DaskRel) which are so far
only a copy of the already present logical nodes (but with a different
convention).
Only exception: split the sort+limit into a sort and a limit
Adjust the python implementations to follow the new conventions
Fix a bug in the column name creation and in the window node. While doing this, improve the logging output
Implement the missing sample node
Calcite is now creating a new function: /int. Implement it
Additional optimization rules (probably not needed)
Expaning will lead to RexSubQueries, which are harder to handle and not implemented. So keep the default
Documentation
Allow the user to pass in row-count statistics on the tables, which are then used in the optimization
List.of is a Java 11 feature -> replace with Arrays.asList to stay java-8 compatible
Bring the coverage up again
Run pre-commit hooks
Remove formatted brackets causing explain failures
apply changes from Jeremy
Co-authored-by: Charles Blackmon-Luca [email protected]
Co-authored-by: galipremsagar [email protected]