[ https://issues.apache.org/jira/browse/FLINK-31828?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17725311#comment-17725311 ]
Aitozi commented on FLINK-31828: -------------------------------- Any sql guys can help verify this fix ? > List field in a POJO data stream results in table program compilation failure > ----------------------------------------------------------------------------- > > Key: FLINK-31828 > URL: https://issues.apache.org/jira/browse/FLINK-31828 > Project: Flink > Issue Type: Bug > Components: Table SQL / Runtime > Affects Versions: 1.16.1 > Environment: Java 11 > Flink 1.16.1 > Reporter: Vladimir Matveev > Priority: Major > Labels: pull-request-available > Attachments: MainPojo.java, generated-code.txt, stacktrace.txt > > > Suppose I have a POJO class like this: > {code:java} > public class Example { > private String key; > private List<Map<String, String>> values; > // getters, setters, equals+hashCode omitted > } > {code} > When a DataStream with this class is converted to a table, and some > operations are performed on it, it results in an exception which explicitly > says that I should file a ticket: > {noformat} > Caused by: org.apache.flink.api.common.InvalidProgramException: Table program > cannot be compiled. This is a bug. Please file an issue. > {noformat} > Please find the example Java code and the full stack trace attached. > From the exception and generated code it seems that Flink is upset with the > list field being treated as an array - but I cannot have an array type there > in the real code. > Also note that if I _don't_ specify the schema explicitly, it then maps the > {{values}} field to a `RAW('java.util.List', '...')` type, which also does > not work correctly and fails the job in case of even simplest operations like > printing. -- This message was sent by Atlassian Jira (v8.20.10#820010)