-
Frazer Clement authored
Fix to problem where WRITE_ROW error 121 was seen by MySQLD when Inserting rows into the ndb_binlog_index table. The problem was due to the Ndb storage engine handler calling the wrong overloaded variant of a Server internal Api. This resulted in the 64-bit integer epoch being mapped to a 64-bit double precision floating point number, with a loss of accuracy for numbers greater than 2^53. The loss of accuracy results in duplicate key errors when the number is used as a key. A testcase is added which verifies that large epoch values do not result in duplicates. Other incorrect usage of the Field::store() api is corrected here.
Frazer Clement authoredFix to problem where WRITE_ROW error 121 was seen by MySQLD when Inserting rows into the ndb_binlog_index table. The problem was due to the Ndb storage engine handler calling the wrong overloaded variant of a Server internal Api. This resulted in the 64-bit integer epoch being mapped to a 64-bit double precision floating point number, with a loss of accuracy for numbers greater than 2^53. The loss of accuracy results in duplicate key errors when the number is used as a key. A testcase is added which verifies that large epoch values do not result in duplicates. Other incorrect usage of the Field::store() api is corrected here.
Loading