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.
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]])
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
CALCITE-2575 Release Calcite 1.18.0
- links to