Gustavo de Morais created FLINK-41478:
-----------------------------------------
Summary: Change the default of table.exec.sink.require-on-conflict
to false
Key: FLINK-41478
URL: https://issues.apache.org/jira/browse/FLINK-41478
Project: Flink
Issue Type: Improvement
Components: Table SQL / Planner
Reporter: Gustavo de Morais
Assignee: Gustavo de Morais
Since 2.3, a query fails at planning time when its upsert key differs from the
sink's primary key and it has no ON CONFLICT clause
({{table.exec.sink.require-on-conflict}} defaults to {{true}}). This breaks
queries that ran fine on 2.2, fails queries the planner can't prove correct
because upsert key inference is conservative, and leaves CTAS, RTAS and CREATE
MATERIALIZED TABLE without a way to set the clause.
We should change the default to {{false}}, so a missing ON CONFLICT clause
behaves like ON CONFLICT DO DEDUPLICATE as before 2.3. The clause itself stays
unchanged and users can still opt in to requiring it.
Discussion: https://lists.apache.org/thread/46vofq8qp1lshr3j6lnlycb0fdxfm7t4
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)