-
Notifications
You must be signed in to change notification settings - Fork 2.4k
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
[CALCITE-6846] Support basic dphyp join reorder algorithm #4204
base: main
Are you sure you want to change the base?
Conversation
2e00af5
to
658371b
Compare
Is this ready for review? |
Ready, please review. |
Some parameters might need to be checked whether they are NULL or undergo active type conversion. |
Thank you, I will update it. |
core/src/main/java/org/apache/calcite/rel/rules/DphypJoinReorderRule.java
Show resolved
Hide resolved
This is a great contribution @silundong. |
core/src/test/java/org/apache/calcite/test/RelOptRulesTest.java
Outdated
Show resolved
Hide resolved
Thank you very much for your recognition. I did not add it to the "default rules" (e.g. RelOptRules#BASE_RULES, or Programs#RULE_SET). However, in other projects, I have integrated the Calcite parsing and optimization module and added HyperGraph rules. It has worked without exceptions under TPC-DS. |
df60b87
to
6aa88b2
Compare
Thanks for addressing my initial comments @silundong , I'll take another look in the coming days. |
@rubenada Thank you very much for your review! |
core/src/main/java/org/apache/calcite/rel/rules/DphypJoinReorderRule.java
Outdated
Show resolved
Hide resolved
core/src/main/java/org/apache/calcite/rel/rules/HyperGraph.java
Outdated
Show resolved
Hide resolved
core/src/main/java/org/apache/calcite/rel/rules/HyperGraph.java
Outdated
Show resolved
Hide resolved
core/src/main/java/org/apache/calcite/rel/rules/HyperGraph.java
Outdated
Show resolved
Hide resolved
core/src/main/java/org/apache/calcite/rel/rules/JoinToHyperGraphRule.java
Outdated
Show resolved
Hide resolved
@silundong I have left some remarks , rather generic or Calcite-related, not really dphyp-algo related, which I find I bit hard to follow, but it's good that you provided tests showing the results. |
Thank you very much for your suggestion, I will update them. I fully support adding the |
|
@silundong could you please take a look at Alessandro's minor comments in the Jira ticket? |
The main enumeration process of dphyp has been implemented. There are two new rules, one for converting Joins into a HyperGraph and the other for triggering the dphyp algorithm. More details could see:https://issues.apache.org/jira/browse/CALCITE-6846