Details
-
Sub-task
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
Description
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:
VARCHAR K0, VARCHAR C1, RecordType:peek_no_flattening(INTEGER C0, INTEGER C1) F0, RecordType:peek_no_flattening(INTEGER C0, INTEGER C2) F1
The following query
Select * from T
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.
Attachments
Issue Links
- is blocked by
-
CALCITE-1856 Add option StructKind.PEEK_FIELDS_NO_EXPAND, similar to PEEK_FIELDS but is not expanded in "SELECT *"
- Closed
-
FLINK-7051 Bump up Calcite version to 1.14
- Closed