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