Bugs fixed:
Incompatible Change:
An additional correction to the original MySQL 5.1.23 fix was
made to normalize directory names before adding them to the list
of directories. This prevents /etc/ and
/etc from being considered different, for
example.
(Bug#20748)
See also Bug#38180
Partitioning:
A LIST partitioned MyISAM
table returned erroneous results when an index was present on a
column in the WHERE clause and NOT
IN was used on that column.
Searches using the index were also much slower then if the index were not present. (Bug#35931)
Partitioning:
SELECT COUNT(*) was not correct for some
partitioned tables using a storage engine that did not support
HA_STATS_RECORDS_IS_EXACT. Tables using the
ARCHIVE storage engine were known to be
affected.
This was because ha_partition::records() was
not implemented, and so the default
handler::records() was used in its place.
However, this is not correct behavior if the storage engine does
not support HA_STATS_RECORDS_IS_EXACT.
The solution was to implement
ha_partition::records() as a wrapper around
the underlying partition records.
As a result of this fix, the rows column in the output of
EXPLAIN PARTITIONS now includes the total
number of records in the partitioned table.
(Bug#35745)
Replication: Some kinds of internal errors (such as Out of stack) cuased the server to crash. (Bug#37150)
Replication:
Row-based replication did not correctly copy
TIMESTAMP values from a big-endian storage
engine to a little-endian storage engine.
(Bug#37076)
Server-side cursors were not initialized properly, which could cause a server crash. (Bug#38486)
The fix for Bug#20748 caused a problem such that on Unix, MySQL
programs looked for options in ~/my.cnf
rather than the standard location of
~/.my.cnf.
(Bug#38180)
If the table definition cache contained tables with many
BLOB columns, much memory could be allocated
to caching BLOB values. Now a size limit on
the cached BLOB values is enforced.
(Bug#38002)
For InnoDB tables, ORDER BY ...
DESC sometimes returned results in ascending order.
(Bug#37830)
The server returned unexpected results if a right side of the
NOT IN clause consisted of the
NULL value and some constants of the same
type. For example, this query might return 3, 4, 5, and so forth
if a table contained those values:
SELECT * FROM t WHERE NOT t.id IN (NULL, 1, 2);
Setting the session value of the
innodb_table_locks system variable caused a
server crash.
(Bug#37669)
Nesting of IF() inside of
SUM() could cause an extreme
server slowdown.
(Bug#37662)
Killing a query that used an EXISTS subquery
as the argument to SUM() or
AVG() caused a server crash.
(Bug#37627)
SELECT DISTINCT from a simple view on an
InnoDB table, where all selected columns
belong to the same unique index key, returned incorrect results.
(Bug#36632)
The mysql client failed to recognize comment
lines consisting of -- followed by a newline.
(Bug#36244)
The UUID() function returned
UUIDs with the wrong time; this was because the offset for the
time part in UUIDs was miscalculated.
(Bug#35848)
The configure script did not allow
utf8_hungarian_ci to be specified as the
default collation.
(Bug#35808)
Freeing of an internal parser stack during parsing of complex stored programs caused a server crash. (Bug#35577, Bug#37269, Bug#37728)
mysqlbinlog left temporary files on the disk after shutdown, leading to the pollution of the temporary directory, which eventually caused mysqlbinlog to fail. This caused problems in testing and other situations where mysqlbinlog might be invoked many times in a relatively short period of time. (Bug#35543)
Index scans performed with the sort_union()
access method returned bad data when the
sort_buffer_size limit was reached.
(Bug#35478)
A significant slowdown occurred when many
SELECT statements that return many rows from
InnoDB tables were running concurrently.
(Bug#34409)
mysql_install_db failed if the server was
running with a SQL mode of TRADITIONAL. This
program now resets the SQL mode internally to avoid this
problem.
(Bug#34159)
Fast ALTER TABLE operations were not fast for
columns that used multibyte character sets.
(Bug#33873)
The internal functions my_getsystime(),
my_micro_time(), and
my_micro_time_and_time() did not work
correctly on Windows. One symptom was that uniqueness of
UUID() values could be
compromised.
(Bug#33748)
Cached queries that used 256 or more tables were not properly
cached, so that later query invalidation due to a
TRUNCATE TABLE for one of the tables caused
the server to hang.
(Bug#33362)
mysql_upgrade attempted to use the
/proc filesystem even on systems that do
not have it.
(Bug#31605)
The Serbian translation for the
ER_INCORRECT_GLOBAL_LOCAL_VAR error was
corrected.
(Bug#29738)
In some cases, the parser interpreted the ;
character as the end of input and misinterpreted stored program
definitions.
(Bug#26030)
The FLUSH PRIVILEGES statement did not
produce an error when it failed.
(Bug#21226)
After executing a prepared statement that accesses a stored function, the next execution would fail to find the function if the stored function cache was flushed in the meantime. (Bug#12093, Bug#21294)

User Comments
Add your own comment.