[ https://issues.apache.org/jira/browse/FLINK-7596?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Tzu-Li (Gordon) Tai closed FLINK-7596. -------------------------------------- Resolution: Fixed Fix Version/s: (was: 1.3.3) 1.3.4 > fix bug when Set Operation handles ANY type > ------------------------------------------- > > Key: FLINK-7596 > URL: https://issues.apache.org/jira/browse/FLINK-7596 > Project: Flink > Issue Type: Bug > Components: Table API & SQL > Reporter: Ruidong Li > Assignee: Ruidong Li > Priority: Major > Fix For: 1.3.4, 1.4.0 > > > If two inputs with Any(GenericRelDataType), when they comes to Set > Operation({{UNION}}, {{MINUS}},...), it will cause a {{TableException}} with > info is "Type is not supported: ANY" > Here is the test case: > {code} > @Test > def testUnion(): Unit = { > val list = List((1, new NODE), (2, new NODE)) > val list2 = List((3, new NODE), (4, new NODE)) > val env = StreamExecutionEnvironment.getExecutionEnvironment > val tEnv = TableEnvironment.getTableEnvironment(env) > val s1 = tEnv.fromDataStream(env.fromCollection(list)) > val s2 = tEnv.fromDataStream(env.fromCollection(list2)) > val result = s1.unionAll(s2).toAppendStream[Row] > result.addSink(new StreamITCase.StringSink[Row]) > env.execute() > } > class NODE { > val x = new util.HashMap[String, String]() > } > {code} > This bug happens because Flink doesn't handle {{createSqlType(ANY)}} and > Calcite doesn't know the differences between {{ANY}} and > {{ANY(GenericRelDataType)}}, so the {{createSqlType(ANY)}} of Calcite will > return a {{BasicSqlType}} instead. -- This message was sent by Atlassian JIRA (v7.6.3#76005)