Github user fhueske commented on a diff in the pull request:
https://github.com/apache/flink/pull/4585#discussion_r142667720
--- Diff:
flink-libraries/flink-table/src/test/scala/org/apache/flink/table/runtime/stream/sql/SqlITCase.scala
---
@@ -92,6 +92,63 @@ class SqlITCase extends StreamingWithStateTestBase {
assertEquals(expected.sorted, StreamITCase.retractedResults.sorted)
}
+ @Test
+ def testUnboundedGroupByCollect(): Unit = {
+
+ val env = StreamExecutionEnvironment.getExecutionEnvironment
+ val tEnv = TableEnvironment.getTableEnvironment(env)
+ StreamITCase.clear
+
+ val sqlQuery = "SELECT b, COLLECT(a) FROM MyTable GROUP BY b"
+
+ val t = StreamTestData.get3TupleDataStream(env).toTable(tEnv).as('a,
'b, 'c)
+ tEnv.registerTable("MyTable", t)
+
+ val result = tEnv.sql(sqlQuery).toRetractStream[Row]
+ result.addSink(new StreamITCase.RetractingSink).setParallelism(1)
+ env.execute()
+
+ val expected = List(
+ "1,{1=1}",
+ "2,{2=1, 3=1}",
+ "3,{4=1, 5=1, 6=1}",
+ "4,{7=1, 8=1, 9=1, 10=1}",
+ "5,{11=1, 12=1, 13=1, 14=1, 15=1}",
+ "6,{16=1, 17=1, 18=1, 19=1, 20=1, 21=1}")
+ assertEquals(expected.sorted, StreamITCase.retractedResults.sorted)
+ }
+
+ @Test
+ def testUnboundedGroupByCollectWithObject(): Unit = {
+
+ val env = StreamExecutionEnvironment.getExecutionEnvironment
+ val tEnv = TableEnvironment.getTableEnvironment(env)
--- End diff --
add `env.setStateBackend(this.getStateBackend)` to enforce serialization
through the `MapView`.
---