JingsongLi commented on a change in pull request #11490: [FLINK-15579][table-planner-blink] UpsertStreamTableSink should work on batch mode URL: https://github.com/apache/flink/pull/11490#discussion_r396859204
########## File path: flink-table/flink-table-planner-blink/src/main/scala/org/apache/flink/table/planner/plan/nodes/physical/batch/BatchExecSink.scala ########## @@ -81,13 +82,26 @@ class BatchExecSink[T]( override protected def translateToPlanInternal( planner: BatchPlanner): Transformation[Any] = { val resultTransformation = sink match { - case _: RetractStreamTableSink[T] | _: UpsertStreamTableSink[T] => - throw new TableException("RetractStreamTableSink and UpsertStreamTableSink is not" + - " supported in Batch environment.") - case streamTableSink: StreamTableSink[T] => - // we can insert the bounded DataStream into a StreamTableSink - val transformation = translateToTransformation(withChangeFlag = false, planner) + val transformation = streamTableSink match { + case _: RetractStreamTableSink[T] => + translateToTransformation(withChangeFlag = true, planner) Review comment: Like print sink, there is no way to know isBatch or isStreaming now. We can use a unify RetractSink to support. ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services