[ https://issues.apache.org/jira/browse/CALCITE-2404?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16535898#comment-16535898 ]
Julian Hyde commented on CALCITE-2404: -------------------------------------- I'm always surprised by every bug! But this one is kind of understandable, since it combines two tricky features: LATERAL (and therefore correlation) and record-typed fields. It's one of those things that doesn't work unless you think to test it. Note that the conventional planning process uses RelStructuredTypeFlattener. Maybe that's what you're missing. > Accessing structured-types is not implemented by the runtime > ------------------------------------------------------------ > > Key: CALCITE-2404 > URL: https://issues.apache.org/jira/browse/CALCITE-2404 > Project: Calcite > Issue Type: Bug > Components: core > Affects Versions: 1.17.0 > Reporter: Stamatis Zampetakis > Assignee: Julian Hyde > Priority: Blocker > > Queries on tables containing structured types cannot be executed by the > Calcite runtime. A plan like the one that follows (taken from CALCITE-2220) > can be translated to neither Bindable nor EnumerableConvention. > > {noformat} > LogicalProject(EXPR$0=[$0]) > LogicalProject(EXPR$0$0=[ITEM($6, 1).EMPNO], EXPR$0$1=[ITEM($6, 1).ENAME], > EXPR$0$2=[ITEM($6, 1).DETAIL]) > LogicalProject(DEPTNO=[$0], NAME=[$1], TYPE=[$2.TYPE], DESC=[$2.DESC], > A=[$2.OTHERS.A], B=[$2.OTHERS.B], EMPLOYEES=[$3]) > LogicalTableScan(table=[[CATALOG, SALES, DEPT_NESTED]]) > {noformat} > > More precisely, if a logical plan contains a RexFieldAccess expression that > does not refer to a RexCorrelVariable it cannot be handled by the > RexToLixTranslator. The translation will fail when calling > [RexToLixTranslator#translate0|[https://github.com/apache/calcite/blob/5bbc501a565494442784f65870a20cd65a5016f4/core/src/main/java/org/apache/calcite/adapter/enumerable/RexToLixTranslator.java#L686]]. > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)