[ https://issues.apache.org/jira/browse/FLINK-34898?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17829349#comment-17829349 ]
Chloe He commented on FLINK-34898: ---------------------------------- I also can't wrap this in an ARRAY like so {code:java} SELECT * FROM (VALUES ARRAY[CAST((1, 2) as ROW<a INT, b INT>)] ); {code} This raises {code:java} java.lang.UnsupportedOperationException: class org.apache.calcite.sql.SqlBasicCall: ROW('a', 1) {code} > 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)