[ https://issues.apache.org/jira/browse/FLINK-20535?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jark Wu closed FLINK-20535. --------------------------- Resolution: Not A Problem The legacy sink (by using 'connector.type' = 'xxx') infers primary key from query, however, primary key can't be inferred in many cases. This problem has been fixed in 1.11 by introducing the new sink (by using 'connector' = 'xxx'), it will always use the primary key defined on the DDL. You can have a look at the docs: https://ci.apache.org/projects/flink/flink-docs-release-1.12/dev/table/connectors/jdbc.html > "GROUPING SETS" query result cannot upsert to table > ---------------------------------------------------- > > Key: FLINK-20535 > URL: https://issues.apache.org/jira/browse/FLINK-20535 > Project: Flink > Issue Type: Bug > Components: Table SQL / API > Affects Versions: 1.11.2 > Reporter: richt richt > Priority: Major > > > {code:java} > //代码占位符 > insert into table_sink > city , case when dt is null then 'ALL' else dt end, > count(*) from table_source > group by GROUPING SETS ((city, dt), dt) > {code} > even i spicify the primary key in the table_sink , but it still throw > exeception > "UpsertStreamTableSink requires that Table has a full primary keys if it is > updated." > at > org.apache.flink.table.planner.plan.nodes.physical.stream.StreamExecLegacySink.translateToPlanInternal(StreamExecLegacySink.scala:93) -- This message was sent by Atlassian Jira (v8.3.4#803005)