What Is the FileHippo Safety Guarantee?
# Bugs Fixed
* Incompatible Change: Replication: The statements in the following list are now marked as unsafe for statement-based replication. This is due to the fact that each of these statements depends on the results of a SELECT statement whose order cannot always be determined. When using STATEMENT logging mode, a warning is issued in the binary log for any of these statements; when using MIXED logging mode, the statement is logged using the row-based format.
- INSERT ... SELECT ... ON DUPLICATE KEY UPDATE
- REPLACE ... SELECT
- CREATE TABLE ... IGNORE SELECT
- CREATE TABLE ... REPLACE SELECT
- INSERT IGNORE ... SELECT
- UPDATE IGNORE
When upgrading, you should note the use of these statements in your applications, keeping in mind that a statement that inserts or replaces rows obtained from a SELECT can take up many times as much space in the binary log when logged using row-based format than when only the statement itself is logged. Depending on the number and size of the rows selected and inserted (or replaced) by any such statements, the difference in size of the binary log after the logging of these statements is switched from statement-based to row-based can potentially be several orders of magnitude. See Section 184.108.40.206, “Advantages and Disadvantages of Statement-Based and Row-Based Replication”.
* Replication: A replication master could send damaged events to slaves after the binary log disk on the master became full. To correct this issue, only complete events are now pushed by the master dump thread to the slave I/O thread. In addition, the error text that the master sends to the slave when an incomplete event is found now states that the incomplete event may have been caused by running out of disk space on the master, and provides coordinates of the first and the last event bytes read.
* mysql_plugin mishandled the --plugin-ini, --mysqld, and --my-print-defaults options under some circumstances.
* mysql_plugin returned the wrong error code from failed server bootstrap execution.
* Several improvements were made to the libedit library bundled with MySQL distributions, and that is available for all platforms that MySQL supports except Windows.
- Navigation keys did not work for UTF-8 input.
- Word navigation and delete operations did not work for UTF-8 input with Cyrillic characters.
- Nonlatin characters were corrupted in overwrite mode for UTF-8 input.
- Long queries caused the statement history file to become corrupted.
- The Alt key caused history operations to fail.
* ARCHIVE tables with NULL columns could cause server crashes or become corrupt under concurrent load.
* OPTIMIZE TABLE could corrupt MyISAM tables if myisam_use_mmap was enabled.
* A query that selected a GROUP_CONCAT() function result could return different values depending on whether an ORDER BY of the function result was present.
* For FEDERATED tables, loss of connection to the remote table during some insert operations could cause a server crash.