I found two issues which are related to this: CALCITE-2200 (is resolved
already) and CALCITE-2205.
I have general question: does it makes sense to create LogicalFilter with
particular condition for some HepRelVertex with currentRel,
which is actually the same desired LogicalFilter?
On Fri, Mar 2, 2018 at 7:42 PM, Chunhui Shi <c...@mapr.com> wrote:
> Could you file correspondent JIRAs to both Calcite and Drill with detailed
> repro steps? This sounds a bug to me. I think this is an issue. We are
> seeing some stuck planning when run on latest Calcite with Drill too - not
> sure if this is relevant though. We could exchange details directly.
> From: Vitalii Diravka <vitalii.dira...@gmail.com>
> Sent: Thursday, March 1, 2018 4:10:31 PM
> To: firstname.lastname@example.org
> Subject: Infinite loop with JoinPushTransitivePredicatesRule
> Hi all!
> I got the infinite loop while using FilterIntoJoinRule +
> JoinPushTransitivePredicatesRule in HEP planner for some correlated
> queries, for instance:
> *select d.deptno from sales.emp d where d.deptno IN (select e.deptno from
> sales.emp e where e.deptno = d.deptno or e.deptno = 4)*
> I have a reproduce in Calcite. We always get HepRelVertex for one side of
> LogicalJoin relNode or LogicalFilter, therefore the rule is fired every
> time and infinitely in result.
> I've noticed that the rule works fine after JoinToCorrelateRule. But I
> think this is not a decision for using JoinPushTransitivePredicatesRule,
> even from the performance perspective.
> How I can resolve it or maybe I missed something else?
> Kind regards