-
CMake workarounds for older OS X and XCode versions were removed. On OS X, compilation always uses Clang, even for 32-bit builds.
Compilation on OS X is now supported for OS X 10.8 and up, using XCode 5 and up. Compilation on older versions may work but is unsupported. (Bug #18510941)
-
Previously, the
MYSQL_MAINTAINER_MODECMake option was turned on by default for debug builds and off for release builds, andMYSQL_MAINTAINER_MODEcaused-Werrorto be enabled when building with GCC. This made it cumbersome to enable-Werrorunder certain conditions, such as when compiling with Clang.Now,
MYSQL_MAINTAINER_MODEis on by default when compiling debug builds with GCC, andMYSQL_MAINTAINER_MODEenbles-Werrorregardless of whether GCC or Clang is used. Enabling-Werrorwith Clang can be done simply by explicitly setting-DMYSQL_MAINTAINER_MODE=1when running CMake. In addition, some compilation warnings reported by Clang 3.4 were fixed, making it possible to build the default debug build with-Werror. (Bug #18313717) Build support was modified to produce the same warnings for Clang as for gcc. (Bug #17959689)
CMake configuration for the
Clangcompiler sets more appropriate flags for building on Linux. Specifically,-g -fno-omit-frame-pointer -fno-strict-aliasingis now added. (Bug #17633291)
Replication: The global scope for the
sql_log_binsystem variable has been deprecated, and this variable can now be set with session scope only. The statementSET GLOBAL SQL_LOG_BINnow produces an error. It remains possible to read the global value ofsql_log_bin, but doing so produces a warning. You should act now to remove from your applications any dependencies on reading this value; the global scopesql_log_binis removed in MySQL 8.0. (Bug #67433, Bug #15868071)
-
InnoDB: An
ALTER TABLEoperation raised an assertion. When a foreign key object was removed from the dictionary cache, an incorrect foreign key object was removed from the rb-tree. (Bug #19908343)References: This issue is a regression of: Bug #18806829.
InnoDB: In debug builds, setting the
innodb_limit_optimistic_insert_debugdebug configuration option to 1 caused an infinite B-tree page split. (Bug #19904003, Bug #74605)InnoDB: The
dict_set_corrupted()function attempted to update the clustered index of theSYS_INDEXESdata dictionary table incorrectly. (Bug #19584379)InnoDB: A procedure, called from a function to perform an operation on a temporary table, caused the server to halt. (Bug #19306524)
InnoDB: A
CREATE TABLEoperation that failed wheninnodb_strict_modewas enabled succeeded without printing a warning wheninnodb_strict_modewas disabled. (Bug #17852083)Replication: When using a MySQL version that had been compiled with the
WITH_DEBUGoption enabled, usingexpire_logs_daysto purge binary logs caused a restart to crash the server. This problem arose after the fix for Bug #17283409. The fix ensures thatcurrent_thdis checked before callingDEBUG_SYNC(). (Bug #19553099)Replication: A corrupted header length in
FORMAT_DESCRIPTION_LOG_EVENTcould cause the server to stop unexpectedly. This was due toFORMAT_DESCRIPTION_LOG_EVENTbeing considered invalid if the header length was too short. (Bug #19145712)Replication: Start log events were not checked by slaves for minimum size. (Bug #19145698)
Replication: A kernel mutex contention was being caused because mysqlbinlog was calling localtime() for every event read, which in turn called stat(/etc/localtime). This fix ensures that mysqlbinlog uses localtime_r(), which is optimized to store the read only timezone internal structure. This also means that mysqlbinlog now establishes the time zone at the beginning of processing and you can not change it during processing. This is the same behavior as MySQL server. (Bug #72701, Bug #18808072)
Microsoft Windows: On Windows, the replace utility did not work. (Bug #16581605)
Previously,
InnoDBpermitted a foreign key to be created which referenced a parent table for which the user did not have sufficient privileges. Now, the user must have at least one of theSELECT,INSERT,UPDATE,DELETE, orREFERENCESprivileges for the parent table to create a foreign key. (Bug #18790730)Binary MySQL distributions for OS X 10.8 and up now bundle the
MySQL.prefPaneandMySQLStartupItem.pkgtools into the main package as configurable options instead of separate packages. (Bug #74123, Bug #19701502)On CentOS 6, specifying a relative path name for the
--socketoption caused MySQL startup script failure. (Bug #74111, Bug #19775856)The
IS_FREE_LOCK()andIS_USED_LOCK()function implementations contained a race condition due to which they could access freed memory when a user lock was concurrently checked and freed. Accessing freed memory could result in an incorrect function return value or server exit. (Bug #73123, Bug #19070633)mysql_setpermission failed to properly quote user names in SQL statements that it generated. (Bug #66317, Bug #14486004)