[
https://issues.apache.org/jira/browse/NIFI-13116?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Mikhail Pinevskiy updated NIFI-13116:
-------------------------------------
Fix Version/s: (was: 1.26.0)
> PutDatabaseRecord (INSERT_IGNORE) uses Update keys while not specified
> ----------------------------------------------------------------------
>
> Key: NIFI-13116
> URL: https://issues.apache.org/jira/browse/NIFI-13116
> Project: Apache NiFi
> Issue Type: Bug
> Affects Versions: 1.25.0, 2.0.0-M2
> Reporter: Mikhail Pinevskiy
> Priority: Major
> Time Spent: 0.5h
> Remaining Estimate: 0h
>
> PutDatabaseRecord hides field "Update Keys" while using INSERT_IGNORE ("A
> comma-separated list of column names that uniquely identifies a row in the
> database for UPDATE statements. If the Statement Type is UPDATE and this
> property is not set, the table's Primary Keys are used. In this case, if no
> Primary Key exists, the conversion to SQL will fail if Unmatched Column
> Behaviour is set to FAIL. This property is ignored if the Statement Type is
> INSERT").
> Despite this field not being set and not being used, classes like
> PostgreSQLDatabaseAdapter use it in methods for INSERT_IGNORE and UPSERT,
> which triggers an exception if list of Update Keys is empty or null.
> MySQLDatabaseAdapter methods have same checks for Update Keys, but do not use
> them. With that for PostgreSQL we have "instert ... on conflict (Update Keys)
> ignore", and for MySQL any constraint will trigger "on conflict" on any
> constraint, not specified.
> It means different and unclear behaviour, so i suggest removing use of Update
> Keys in said classes.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)