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