[ https://issues.apache.org/jira/browse/FLINK-8594?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16356367#comment-16356367 ]
Hequn Cheng commented on FLINK-8594: ------------------------------------ Sounds good. A dedicated \{{DISTINCT}} operator is more clear and efficient. I will implement a dedicated operator for {{DISTINCT}} without state retention time configured. I think this task can be a sub-task of [FLINK-8566|https://issues.apache.org/jira/browse/FLINK-8566].What do you think? > Make producesUpdates in DataStreamGroupAggregate return false if it is a > distinct group by without state retention configuration > --------------------------------------------------------------------------------------------------------------------------------- > > Key: FLINK-8594 > URL: https://issues.apache.org/jira/browse/FLINK-8594 > Project: Flink > Issue Type: Improvement > Components: Table API & SQL > Reporter: Hequn Cheng > Assignee: Hequn Cheng > Priority: Major > > Internally, the {{DISTINCT}} is translated into a {{GROUP BY}} with all > distinct fields being keys and no aggregation functions. However, this kind > of \{{GROUP BY}} don't generate update at all if the state retention time has > not been configured. We can treat the result table as an append table. > Therefore, we can make the \{{producesUpdates}} function return false, so the > downstream group by will not choose the correspond retract agg function, > i.e., {{MaxWithRetractAggFunction}} -- This message was sent by Atlassian JIRA (v7.6.3#76005)