[ 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)