[ 
https://issues.apache.org/jira/browse/CALCITE-7093?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18009109#comment-18009109
 ] 

Mihai Budiu commented on CALCITE-7093:
--------------------------------------

Are you sure this enumerates all legal join orders?
I have a program with a long chain of joins and no matter what I do all the 
results produced by the algorithm contain a list of joins - never a tree. I 
even used a random function for the cost model - it still produces always a 
list.
These are all simple inner joins all joining essentially on the same key 
fields, so any order would work.

> DPhyp algorithm should accept cost model as parameter
> -----------------------------------------------------
>
>                 Key: CALCITE-7093
>                 URL: https://issues.apache.org/jira/browse/CALCITE-7093
>             Project: Calcite
>          Issue Type: Wish
>          Components: core
>    Affects Versions: 1.40.0
>            Reporter: Mihai Budiu
>            Priority: Minor
>
> This is about the hypergraph-based optimization introduced in [CALCITE-6846] 
> by [~dongsl].
> The algorithm makes calls to a cost model using getCumulativeCost() (function 
> chooseBetterPlan()); the cost model is obtained from the Rel nodes.
> It could be useful to allow add to the the rule configuration an API to 
> specify a cost model, similar to the MULTI_JOIN_OPTIMIZE rule 
> (LoptOptimizeJoinRule), whose Config has as "withCostFunction" api.
> For example, this would allow the algorithm to emulate bushy join 
> optimization using a cost model that optimizes for plan depth.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to