Ning Sheng created CALCITE-4696:
-----------------------------------
Summary: The method of EnumerableTableScan.fieldExpression throw
NullPointerException
Key: CALCITE-4696
URL: https://issues.apache.org/jira/browse/CALCITE-4696
Project: Calcite
Issue Type: Bug
Components: core
Reporter: Ning Sheng
test sql
{code:java}
select d.deptno, min(e.empid) from hr.emps as e join hr.depts as d on e.deptno
= d.deptno group by d.deptno having count(*) > 1
{code}
when dept has list element.
{code:java}
public static class Department {
public final int deptno;
public final String name;
public final List<Employee> employees;
}
{code}
It throw NullException in EnumerableTableScan.java because relFieldType is
JavaType of java.util.List.
{code:java}
private Expression fieldExpression(ParameterExpression row_, int i, PhysType
physType, JavaRowFormat format) {
final Expression e = format.field(row_, i, null,
physType.getJavaFieldType(i));
final RelDataType relFieldType =
physType.getRowType().getFieldList().get(i).getType();
switch (relFieldType.getSqlTypeName()) {
case ARRAY:
case MULTISET:
final RelDataType fieldType = relFieldType.getComponentType();
if (fieldType != null && fieldType.isStruct()) {
{code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)