Hi Meron, The two planners are not equivalent so the comparison is not totally fair. Even if you apply the same ruleset it does not mean that you are going to obtain the same plan.
The two planners are complementary to each other and they are used in different stages of the optimization process thus it is not possible to use exclusively one or the other. For the same reason I think it will be tricky to add such configuration. If you notice a performance problem with the existing planners or have ideas to improve them feel free to file a JIRA. Best, Stamatis On Sun, Aug 2, 2020 at 10:38 PM Rui Wang <[email protected]> wrote: > I tried to dig into the Calcite codebase and found there is likely no way > to enable JDBC codepath: > 1. There is no planner config in CalciteConnectionProperty [1]. > 2. In CalcitePrepareImpl, there is only one createPlannerFactory with one > createPlanner, in which VolcanoPlanner is used [2]. > > > If my understanding is correct, then there could be an improvement that > adds a config to CalciteConnectionProperty, and use that config to control > which planner to use by JDBC approach. > > > [1]: > > https://github.com/apache/calcite/blob/master/core/src/main/java/org/apache/calcite/config/CalciteConnectionProperty.java#L37 > [2]: > > https://github.com/apache/calcite/blob/2088488ac8327b19512a76a122cae2961fc551c3/core/src/main/java/org/apache/calcite/prepare/CalcitePrepareImpl.java#L427 > > > -Rui > > On Sun, Aug 2, 2020 at 8:55 AM Meron Avigdor <[email protected] > > > wrote: > > > Hi. > > I have implemented an extension of org.apache.calcite.jdbc.Driver, and I > > have the model handler extend org.apache.calcite.avatica.HandlerImpl > > > > For performance optimizations, I would like to test VolcanoPlanner vs. > > HepPlanner > > as the documentation says that the latter is faster. > > > > How is this to be configured? I could not find a hook point to return the > > planner to be used. > > > > Thank you. > > Meron > > >
