Hi Devs,

I am trying to utilize Calcite type inference in my Flink and realize that
one of the situations will cause exception when trying to infer the operand
type based on a StructType return type. [1]

Seems like there's a requirement [2] that if return type is a struct, the
operand # and return type field list size need to be the same. I was
wondering if there is specific design reason behind this such as it is
required to flatten the nested structure field?

I have attached a test to reproduced the exception when dealing with
records that has only 1 single field in the field list [3].

Much appreciate the pointers and suggestions in advance.

--
Rong

[1] https://issues.apache.org/jira/browse/FLINK-10019
[2]
https://github.com/apache/calcite/blob/master/core/src/main/java/org/apache/calcite/sql/type/InferTypes.java#L68
[3]
https://github.com/apache/calcite/compare/master...walterddr:struct_type_inference_error

Reply via email to