HepPlanner is a rule-based planner that applies a small set of rules
in a particular order to every relational expression in a tree. It is
generally used for quick once-over rewrites.

VolcanoPlanner is a cost-based planner that applies all rules,
generates new relational expressions, and then keeps on firing the
rules until nothing else matches. It is easier to use (you don't have
to specify which order the rules will be applied) but it can be
expensive, especially on complex queries, because it is exhaustive.

I recommend using VolcanoPlanner at first, then use a hybrid strategy
when you need to deal with complex queries (e.g. queries with more
than about 6 joins).

I don't understand your question 2. Can you give an example of a query
and the plan it produces?

Julian



On Thu, May 26, 2016 at 11:23 PM, Zhangrucong <[email protected]> wrote:
> Hello everyone:
>
> Now I am learning calcite streamSQL. I have two questions. Anyone can help 
> me. Thanks in advance.
>
> The questions are following:
>
> 1、  what is the difference between HepPlanner  and VolcanoPlanner? For 
> streamSQL ,which one is better? Are there have some materials to introduce 
> two models?
>
> 2、  In the logic plan tree, window is combined with aggregate node or 
> expression node. In which case,  there is a lonely window node in logic plan?

Reply via email to