For some reason I can't get view the source so I don't have exact line numbers, but IntelliJ was kind enough to decompile this part (SqlTypeUtil.class) for me. This appears to be the exception I'm hitting.
if (!isAtomic(type) && !isNull(type)) { > if (isCollection(type)) { > typeNameSpec = new > SqlCollectionTypeNameSpec(convertTypeToSpec(type.getComponentType()).getTypeNameSpec(), > typeName, SqlParserPos.ZERO); > } else { > if (!isRow(type)) { > throw new UnsupportedOperationException("Unsupported type when > convertTypeToSpec: " + typeName); > } It got there because isAtomic returns false for interval types: public static boolean isAtomic(RelDataType type) { > SqlTypeName typeName = type.getSqlTypeName(); > if (typeName == null) { > return false; > } else { > return isDatetime(type) || isNumeric(type) || isString(type) || > isBoolean(type); > } > } Seems like a bug? On Wed, Feb 17, 2021 at 5:55 PM Patrick Angeles <patrickange...@gmail.com> wrote: > Wondering if anyone has seen this before, and has any suggestions. I have > a UDTF with the following signature: > > public void eval(LocalDateTime startTime, LocalDateTime endTime, Duration >> step) { > > > According to the docs, this should be mapped from the following SQL > snippet: > > ... LATERAL TABLE func(t1, t2, INTERVAL '5' MINUTES) > > > However, when I run a query in sql-client I get: > > Caused by: java.lang.UnsupportedOperationException: Unsupported type when >> convertTypeToSpec: INTERVAL_DAY_SECOND >> at >> org.apache.calcite.sql.type.SqlTypeUtil.convertTypeToSpec(SqlTypeUtil.java:1059) >> ~[flink-table-blink_2.11-1.12.0.jar:1.12.0] >> at >> org.apache.calcite.sql.type.SqlTypeUtil.convertTypeToSpec(SqlTypeUtil.java:1081) >> ~[flink-table-blink_2.11-1.12.0.jar:1.12.0] >> at >> org.apache.flink.table.planner.functions.inference.TypeInferenceOperandChecker.castTo(TypeInferenceOperandChecker.java:165) >> ~[flink-table-blink_2.11-1.12.0.jar:1.12.0] > > > I tried all sorts of DataTypeHints (including bridgedTo specification) to > no avail. Any pointers? > > Thanks in advance. > > - P >