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

Chloe He updated FLINK-34898:
-----------------------------
    Description: 
I'm trying to create named structs using Flink SQL and I found a previous 
ticket https://issues.apache.org/jira/browse/FLINK-9161 that mentions the use 
of the following syntax:

 
{code:java}
SELECT CAST(('a', 1) as ROW<a STRING, b INT>) AS row1;
{code}
However, my named struct has a single field and effectively it should look 
something like `\{"a": 1}`. I can't seem to be able to find a way to construct 
this. I have experimented with a few different syntax and it either throws 
parsing error or casting error:
{code:java}
Cast function cannot convert value of type INTEGER to type 
RecordType(VARCHAR(2147483647) a) {code}

  was:
I'm trying to create named structs using Flink SQL and I found a previous 
ticket https://issues.apache.org/jira/browse/FLINK-9161 that mentions the use 
of the following syntax:

```sql

SELECT CAST(('a', 1) as ROW<a STRING, b INT>) AS row1;

```

However, my named struct has a single field and effectively it should look 
something like `\{"a": 1}`. I can't seem to be able to find a way to construct 
this. I have experimented with a few different syntax and it either throws 
parsing error or casting error:

```

Cast function cannot convert value of type INTEGER to type 
RecordType(VARCHAR(2147483647) a)

```


> Cannot create named STRUCT with a single field
> ----------------------------------------------
>
>                 Key: FLINK-34898
>                 URL: https://issues.apache.org/jira/browse/FLINK-34898
>             Project: Flink
>          Issue Type: Bug
>            Reporter: Chloe He
>            Priority: Major
>
> I'm trying to create named structs using Flink SQL and I found a previous 
> ticket https://issues.apache.org/jira/browse/FLINK-9161 that mentions the use 
> of the following syntax:
>  
> {code:java}
> SELECT CAST(('a', 1) as ROW<a STRING, b INT>) AS row1;
> {code}
> However, my named struct has a single field and effectively it should look 
> something like `\{"a": 1}`. I can't seem to be able to find a way to 
> construct this. I have experimented with a few different syntax and it either 
> throws parsing error or casting error:
> {code:java}
> Cast function cannot convert value of type INTEGER to type 
> RecordType(VARCHAR(2147483647) a) {code}



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

Reply via email to