Currently, CompositeRelDataType is extended from RelRecordType(StructKind.PEEK_FIELDS, ...). In Calcite, StructKind.PEEK_FIELDS would allow us to peek fields for nested types. However, when we use "select * from", calcite will flatten all nested fields that is marked as StructKind.PEEK_FIELDS in the table.
For example, if the table structure T is as follows:
The following query
should return (K0, C1, F0, F1) instead of (K0, C1, F0.C0, F0.C1, F1.C0, F1.C1), which is the current behavior.
After upgrading to Calcite 1.14, this issue should change the type of CompositeRelDataType to StructKind. PEEK_FIELDS_NO_EXPAND.