Skip to content
This repository was archived by the owner on Aug 29, 2024. It is now read-only.

Conversation

@galipremsagar
Copy link

  • 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]

* 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]>
Copy link
Member

@charlesbluca charlesbluca left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @galipremsagar - just noting that the tests won't run until #15 is merged in. That being said, this should be safe to merge in as is

@raydouglass raydouglass merged commit 985fdcc into rapidsai:branch-22.02 Jan 5, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants