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)

Reply via email to