[ 
https://issues.apache.org/jira/browse/FLINK-31661?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Mohsen Rezaei updated FLINK-31661:
----------------------------------
    Description: 
Currently the [{{ROW}} table 
type|https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/types/#row]
 allows for a name and type, and optionally a description, but [its value 
constructing 
function|https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/types/#row]
 only supports an arbitrary list of expressions.

This prevents users from providing human-readable names for the fields provded 
to a {{ROW()}} or {{()}} value function call, resulting in system-defined 
{{EXPR$n}} names that lose their meaning as they are mixed in with other 
queries.

For example, the following SQL query:

{code}
SELECT (id, name) as struct FROM t1;
{code}

results in the following consumable data type for the `ROW` column:

{code}
ROW<`EXPR$0` DECIMAL(10, 2), `EXPR$1` STRING> NOT NULL
{code}

I'd be happy to contribute to this change, but I need some guidance and 
pointers on where to start making changes for this.

  was:
Currently the [`ROW` table 
type|https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/types/#row]
 allows for a name and type, and optionally a description, but [its value 
constructing 
function|https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/types/#row]
 only supports an arbitrary list of expressions.

This prevents users from providing human-readable names for the fields provded 
to a `ROW()` or `()` value function call, resulting in system-defined `EXPR$n` 
names that lose their meaning as they are mixed in with other queries.

For example, the following SQL query:

```
SELECT (id, name) as struct FROM t1;
```

results in the following consumable data type for the `ROW` column:

```
ROW<`EXPR$0` DECIMAL(10, 2), `EXPR$1` STRING> NOT NULL
```

I'd be happy to contribute to this change, but I need some guidance and 
pointers on where to start making changes for this.


> Add parity between `ROW` value function and it's type declaration
> -----------------------------------------------------------------
>
>                 Key: FLINK-31661
>                 URL: https://issues.apache.org/jira/browse/FLINK-31661
>             Project: Flink
>          Issue Type: Improvement
>          Components: API / DataSet
>    Affects Versions: 1.17.0, 1.16.1, 1.18.0
>            Reporter: Mohsen Rezaei
>            Priority: Critical
>             Fix For: 1.18.0, 1.17.1
>
>
> Currently the [{{ROW}} table 
> type|https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/types/#row]
>  allows for a name and type, and optionally a description, but [its value 
> constructing 
> function|https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/types/#row]
>  only supports an arbitrary list of expressions.
> This prevents users from providing human-readable names for the fields 
> provded to a {{ROW()}} or {{()}} value function call, resulting in 
> system-defined {{EXPR$n}} names that lose their meaning as they are mixed in 
> with other queries.
> For example, the following SQL query:
> {code}
> SELECT (id, name) as struct FROM t1;
> {code}
> results in the following consumable data type for the `ROW` column:
> {code}
> ROW<`EXPR$0` DECIMAL(10, 2), `EXPR$1` STRING> NOT NULL
> {code}
> I'd be happy to contribute to this change, but I need some guidance and 
> pointers on where to start making changes for this.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to