Github user hequn8128 commented on a diff in the pull request: https://github.com/apache/flink/pull/4471#discussion_r158489035 --- Diff: flink-libraries/flink-table/src/main/scala/org/apache/flink/table/plan/util/UpdatingPlanChecker.scala --- @@ -116,14 +135,100 @@ object UpdatingPlanChecker { val windowStartEnd = w.getWindowProperties.map(_.name) // we have only a unique key if at least one window property is selected if (windowStartEnd.nonEmpty) { - keys = Some(groupKeys ++ windowStartEnd) + val smallestAttribute = windowStartEnd.sorted.head --- End diff -- Thanks, `windowStartEnd.min` is better, i want to get the lexicographic smallest attribute from `windowStartEnd` . I have sorted it before get the first string.
---