InnoDB: For each insert, memset would be called three times to allocate memory \
for system fields. To reduce CPU usage, the three memset calls are now combined \
into a single call.
Replication: When used on a table employing a transactional storage engine, a \
failed TRUNCATE TABLE was still written to the binary log and thus replayed on \
the slave. This could lead to inconsistency when the master retained data that \
was removed on the slave.
Now in such cases TRUNCATE TABLE is logged only when it executes successfully.
Certain INFORMATION_SCHEMA queries could cause a server exit.
For indexes on prefixes or character string columns, index corruption could \
occur for assignment of binary data to the column due to improper character \
Solaris-specific scripts were included in and installed by non-Solaris packages.
EXPLAIN on a query with an EXISTS subquery containing a UNION could cause a \
server exit. Multiple executions of a prepared EXPLAIN on a UNION of subqueries \
could cause a server exit.
Executing a correlated subquery on an ARCHIVE table which has an AUTO_INCREMENT \
column caused the server to hang.
The client library could cause clients to exit due to incorrectly mapping the \
client error number to the corresponding message, if reallocation of packet \
buffer memory occurred.
Calling mysql_get_server_version() with an invalid connection handler argument \
caused the client to exit. Now it returns 0 and reports a \
On Windows, calling mysql_thread_init() call without mysql_init() caused the \
client to exit. windows. Now it returns a nonzero result because it is an error \
to call mysql_thread_init() before the client library is initialized with \
CMake produced not-useful warnings about INTERFACE_LINK_LIBRARIES policy.
LOAD DATA LOCAL INFILE could use all CPU if import errors occurred when there \
were no line delimiters.
A statement of the following form broke row-based replication because it created \
a table having a field of data type BIGINT with a display width of 3000, which \
is beyond the maximum acceptable value of 255:
CREATE TABLE t1 AS SELECT REPEAT('A',1000) DIV 1 AS a;
Functionality Added or Changed
On Solaris, mysql_config --libs now includes -R/path/to/library so that \
libraries can be found at runtime.
InnoDB: A regression introduced by Bug 14329288 would result in a performance \
degradation when a compressed table does not fit into memory.
InnoDB: The maximum value for innodb_thread_sleep_delay is now 1000000 \
microseconds. The previous maximum value (4294967295 microseconds on 32-bit and \
18446744073709551615 microseconds on 64-bit) was unnecessarily large. Because \
the maximum value of innodb_thread_sleep_delay is limited by the value set for \
innodb_adaptive_max_sleep_delay (when set to a non-zero value), the maximum \
value for innodb_thread_sleep_delay is now the same as the maximum value for \
InnoDB: In debug builds, creating a unique index on a binary column, with input \
data containing duplicate keys, would cause an assertion.
InnoDB: InnoDB would fail to start when innodb_data_file_path specified the data \
file size in kilobytes by appending K to the size value.
InnoDB: An insert buffer merge would cause an assertion error due to incorrectly \
handled ownership information for externally stored BLOBs.
InnoDB: Assertion failure in thread thread_num in file ibuf0ibuf.cc line 4080
InnoDB: Failing assertion: rec_get_deleted_flag(rec, page_is_comp(page))
InnoDB: Decreasing the auto_increment_increment value would have no affect on \
the next auto-increment value.
Replication: The server did not handle correctly the insertion of a row larger \
than 4 GB when using row-based replication.
Replication: When using row-based replication, an additional auto-increment \
column on the slave version of a table was not updated correctly; a zero was \
Replication: Statements involving the Performance Schema tables should not be \
written to the binary log, because the content of these tables is applicable \
only to a given MySQL Server instance, and may differ greatly between different \
servers in a replication topology. The database administrator should be able to \
configure (INSERT, UPDATE, or DELETE) or flush (TRUNCATE TABLE) performance \
schema tables on a single server without affecting others. However, when \
replicating from a MySQL 5.5 master to a MySQL 5.5 or later slave, warnings \
about unsafe statements updating Performance Schema tables were elevated to \
errors. For MySQL 5.6 and later slaves, this prevented the simultaneous use of \
performance_schema and GTIDs (see Replication with Global Transaction \
Identifiers, in the MySQL 5.6 Manual).
This fix causes all updates on tables in the performance_schema database to be \
filtered on the master and not replicated, regardless of the type of logging \
that is in effect. Prior to this fix, statements using were handled by being \
marked as unsafe for replication, which caused warnings during execution; the \
statements were nonetheless written to the binary log, regardless of the logging \
format in effect.
Existing replication behavior for tables in the INFORMATION_SCHEMA database is \
not changed by this fix.
For more information, see MySQL Performance Schema.
Compilation failed if MySQL was configured with CFLAGS set to include a -Werror \
option with an argument.
A shared libmysqld embedded server library was not built on Linux.
While printing the server version, the mysql client did not check for buffer \
overflow in a string variable.
Contraction information in a collation could be mishandled, resulting in \
incorrect decisions about whether a character is part of a contraction, and \
miscalculation of contraction weights.
DROP TRIGGER succeeded even with the read_only system variable enabled.
Updating the Performance Schema setup_instruments table on a replication master \
caused a slave to exit.
Due to a race condition, it was possible for two threads to end up with the same \
query ID for different queries.
When run by root, mysqld --help --verbose exited with a nonzero error code after \
displaying the help message.
MySQL client programs from a Community Edition distribution could not connect \
using SSL to a MySQL server from an Enterprise Edition. This was due to a \
difference in certificate handling by yaSSL and OpenSSL (used for Community and \
Enterprise, respectively). OpenSSL expected a blank certificate to be sent when \
not all of the --ssl-ca, --ssl-cert, and --ssl-key options were specified, and \
yaSSL did not do so. To resolve this, yaSSL has been modified to send a blank \
certificate when an option is missing.
A deadlock error occurring during subquery execution could cause an assertion to \
The Performance Schema stage/sql/Waiting to get readlock instrument is no longer \
used and has been removed.
For system variables that take a string value, SET statements permitted an \
unquoted value, but values that contained dots were parsed incorrectly and only \
part of the value was assigned. For example, SET GLOBAL slow_query_log_file = \
my_slow.log assigned the value my_slow. Now such values must be quoted or an \
On Windows, mysql_install_db.pl could be run only from within the bin directory \
under the installation directory.