Currently RelDecorrelator doesn't support a decorrelateRel(Collect), that's
why decorrelate failed

Zoltan Farkas <zolyfar...@yahoo.com.invalid> 于2019年11月9日周六 上午5:46写道:

> Done: https://issues.apache.org/jira/browse/CALCITE-3488 <
> https://issues.apache.org/jira/browse/CALCITE-3488>
> let me know if you need any more info.
>
> thank you
>
> —Z
>
> > On Nov 8, 2019, at 2:17 PM, Julian Hyde <jh...@apache.org> wrote:
> >
> > As I said, I think you should log a bug.
> >
> > On Fri, Nov 8, 2019 at 10:23 AM Haisheng Yuan <h.y...@alibaba-inc.com>
> wrote:
> >>
> >> I am afraid this query can't be easily decorrelated.
> >>
> >> - Haisheng
> >>
> >> ------------------------------------------------------------------
> >> 发件人:Zoltan Farkas<zolyfar...@yahoo.com.INVALID>
> >> 日 期:2019年11月08日 22:46:53
> >> 收件人:<dev@calcite.apache.org>
> >> 主 题:Re: Question about Interpreter and Corelations
> >>
> >> Thanks Julian,
> >>
> >> Any idea how could I de-corelate the query?
> >> RelDecorrelator.decorrelateQuery does not seem to alter the plan.
> >>
> >> Will log a jira for the interpreter issue.
> >>
> >> thank you
> >>
> >> —Z
> >>
> >>
> >>
> >>> On Nov 7, 2019, at 5:08 PM, Julian Hyde <jhyde.apa...@gmail.com>
> wrote:
> >>>
> >>> I don’t recall what the interpreter is currently capable of, but you
> should log a bug.
> >>>
> >>> I wonder whether if you could get the query to work in the interpreter
> if you decorrelated the query first.
> >>>
> >>> Julian
> >>>
> >>>> On Nov 7, 2019, at 11:16, Zoltan Farkas <zolyfar...@yahoo.com.invalid>
> wrote:
> >>>>
> >>>> for a test query with the following plan:
> >>>>
> >>>> LogicalProject(name=[$1], friends=[$4])
> >>>> LogicalCorrelate(correlation=[$cor0], joinType=[inner],
> requiredColumns=[{0}])
> >>>>  LogicalTableScan(table=[[characters]])
> >>>>  Collect(field=[EXPR$0])
> >>>>    LogicalProject(name=[$2])
> >>>>      LogicalJoin(condition=[=($0, $1)], joinType=[inner])
> >>>>        LogicalProject(characterId2=[$1])
> >>>>          LogicalFilter(condition=[=($0, $cor0.characterId)])
> >>>>           LogicalTableScan(table=[[friendships]])
> >>>>        LogicalProject(characterId=[$0], name=[$1])
> >>>>          LogicalTableScan(table=[[characters]])
> >>>>
> >>>> I get :
> >>>>
> >>>> java.lang.nsupportedOperationException
> >>>>  at
> o.a.c.i.JaninoRexCompiler.lambda$compile$0(JaninoRexCompiler.java:94)[calcite-core-1.21.0.jar:1.21.0]
> >>>>  at
> o.a.c.a.e.RexToLixTranslator.translate0(RexToLixTranslator.java:714)[^]
> >>>>  at ^.translate(^:199)[^]
> >>>>  at ^.translate0(^:684)[^]
> >>>>  at ^.translate(^:199)[^]
> >>>>  at ^.translate(^:194)[^]
> >>>>  ...
> >>>>
> >>>> when trying to use the Interpreter.
> >>>>
> >>>> Is this a current limitation?
> >>>>
> >>>> the query is :
> >>>>
> >>>> select name,
> >>>>        ARRAY(select c2.name from friendships f, characters c2
> >>>>                           where f.characterId1 = c.characterId and
> f.characterId2 = c2.characterId) as friends
> >>>> from characters c
> >>>>
> >>>> let me know
> >>>>
> >>>> thank you
> >>>>
> >>>> —Z
>
>

Reply via email to