Hi,

I have 2 Integer columns: a, c in table abc.

While running the following sql, it throw the ClassCastException:
select a, avg(c) as agg from abc group by a

Exception in thread "main" java.lang.ClassCastException: java.lang.Long
incompatible with java.lang.Integer
at
org.apache.calcite.avatica.util.AbstractCursor$IntAccessor.getInt(AbstractCursor.java:460)
at
org.apache.calcite.avatica.AvaticaResultSet.getInt(AvaticaResultSet.java:311)

The generated code that I think causing the issue, it try to cast the
result to long.
public Object current() {
  final Object[] current = (Object[]) inputEnumerator.current();
  return new Object[] {
  current[0],
  (long) org.apache.calcite.runtime.SqlFunctions.toInt(current[1]) /
org.apache.calcite.runtime.SqlFunctions.toLong(current[2])};
}

Am I missing anything here?

Regards,
Chin Wei

Reply via email to