[
https://issues.apache.org/jira/browse/FLINK-7003?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Shuyi Chen updated FLINK-7003:
------------------------------
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:
{code:java}
VARCHAR K0,
VARCHAR C1,
RecordType:peek_no_flattening(INTEGER C0, INTEGER C1) F0,
RecordType:peek_no_flattening(INTEGER C0, INTEGER C2) F1
{code}
The following query
{code:java}
Select * from T
{code} should return (K0, C1, F0, F1) instead of (K0, C1, F0.C0, F0.C1, F1.C0,
F1.C1), which is the current behavior.
was: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.
> "select * from" in Flink SQL should not flatten all fields in the table by
> default
> ----------------------------------------------------------------------------------
>
> Key: FLINK-7003
> URL: https://issues.apache.org/jira/browse/FLINK-7003
> Project: Flink
> Issue Type: Bug
> Components: Table API & SQL
> Reporter: Shuyi Chen
>
> 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:
> {code:java}
> VARCHAR K0,
> VARCHAR C1,
> RecordType:peek_no_flattening(INTEGER C0, INTEGER C1) F0,
> RecordType:peek_no_flattening(INTEGER C0, INTEGER C2) F1
> {code}
> The following query
> {code:java}
> Select * from T
> {code} should return (K0, C1, F0, F1) instead of (K0, C1, F0.C0, F0.C1,
> F1.C0, F1.C1), which is the current behavior.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)