• antony@ppcg5.local's avatar
    Bug#25513 · fc241de3
    antony@ppcg5.local authored
      "Federared Transactions Failure"
      Bug occurs when the user performs an operation which inserts more than 
      one row into the federated table and the federated table references a 
      remote table stored within a transactional storage engine. When the
      insert operation for any one row in the statement fails due to 
      constraint violation, the federated engine is unable to perform 
      statement rollback and so the remote table contains a partial commit. 
      The user would expect a statement to perform the same so a statement 
      rollback is expected.
      This bug was fixed by implementing  bulk-insert handling into the
      federated storage engine. This will relieve the bug for most common
      situations by enabling the generation of a multi-row insert into the
      remote table and thus permitting the remote table to perform 
      statement rollback when neccessary.
      The multi-row insert is limited to the maximum packet size between 
      servers and should the size overflow, more than one insert statement 
      will be sent and this bug will reappear. Multi-row insert is disabled
      when an "INSERT...ON DUPLICATE KEY UPDATE" is being performed.
      The bulk-insert handling will offer a significant performance boost 
      when inserting a large number of small rows.
    This patch builds on Bug29019 and Bug25511
    fc241de3
ha_federated.h 11.8 KB