Stanislav Lukyanov created IGNITE-8550:
------------------------------------------

             Summary: CacheAbstractJdbcStore expects merge to always return 1 
but MySQL may also return 2 or 0
                 Key: IGNITE-8550
                 URL: https://issues.apache.org/jira/browse/IGNITE-8550
             Project: Ignite
          Issue Type: Bug
          Components: sql
            Reporter: Stanislav Lukyanov


CacheAbstractJdbcStore.write attempts to execute a merge update if it is 
available, and expects the merge to always return 1 (as the number of updated 
entries is always 1).

However, MySQL's `INSERT ... ON DUPLICATE KEY UPDATE` 
(https://dev.mysql.com/doc/refman/8.0/en/insert-on-duplicate.html) may return 0 
or 2, depending on what was updated:
{quote}With ON DUPLICATE KEY UPDATE, the affected-rows value per row is 1 if 
the row is inserted as a new row, 2 if an existing row is updated, and 0 if an 
existing row is set to its current values.{quote}
Because of that, CacheAbstractJdbcStore may report a false warning.

Need to consider either removing the warning or special-case the MySQL dialect 
to allow to return values other than 1.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to