This is a Monthly Rapid Update release of the MySQL Enterprise Server 5.0.
This section documents all changes and bugfixes that have been applied since the last MySQL Enterprise Server release (5.0.72). If you would like to receive more fine-grained and personalized update alerts about fixes that are relevant to the version and features you use, please consider subscribing to MySQL Enterprise (a commercial MySQL offering). For more details please see http://www.mysql.com/products/enterprise/advisors.html.
Functionality Added or Changed
Functionality Added or Changed
Previously, index hints did not work for
FULLTEXT searches. Now they work as follows:
For natural language mode searches, index hints are silently ignored. For example,
IGNORE INDEX(i) is ignored with no warning and the index is still used.
For boolean mode searches, index hints are honored. (Bug #38842)
CHECK TABLE ... FOR UPGRADE did not check for incompatible collation changes made in MySQL 5.0.48 (Bug #27562, Bug #29461, Bug #29499). This also affects mysqlcheck and mysql_upgrade, which cause that statement to be executed. See Checking Whether Tables or Indexes Must Be Rebuilt. (Bug #40984)
References: See also Bug #39585.
FEDERATED handler had a memory leak. (Bug #40875)
Prepared statements permitted invalid dates to be inserted when the
ALLOW_INVALID_DATES SQL mode was not enabled. (Bug #40365)
Support for the
revision field in
.frm files has been removed. This addresses the downgrading problem introduced by the fix for Bug #17823. (Bug #40021)
If the operating system is configured to return leap seconds from OS time calls or if the MySQL server uses a time zone definition that has leap seconds, functions such as
NOW() could return a value having a time part that ends with
:59:61. If such values are inserted into a table, they would be dumped as is by mysqldump but considered invalid when reloaded, leading to backup/restore problems.
Now leap second values are returned with a time part that ends with
:59:59. This means that a function such as
NOW() can return the same value for two or three consecutive seconds during the leap second. It remains true that literal temporal values having a time part that ends with
:59:61 are considered invalid.
For additional details about leap-second handling, see Time Zone Leap Second Support. (Bug #39920)
ONLY_FULL_GROUP_BY SQL mode enabled, the check for nonaggregated columns in queries with aggregate functions, but without a
GROUP BY clause was treating all the parts of the query as if they were in the select list. This is fixed by ignoring the nonaggregated columns in the
WHERE clause. (Bug #39656)
CHECK TABLE failed for
INFORMATION_SCHEMA tables. (Bug #39541)
With binary logging enabled
CREATE VIEW was subject to possible buffer overwrite and a server crash. (Bug #39040)
Queries with a
HAVING clause could return a spurious row. (Bug #38072)
TIMEDIFF() was erroneously treated as always returning a positive result. Also,
TIME values to
DECIMAL dropped the sign of negative values. (Bug #37553)
References: See also Bug #42525.
SHOW FULL TABLES to get the list of tables in a database. For some problems, such as an empty
.frm file for a table, this failed and mysqlcheck then would neglect to check other tables in the database. (Bug #37527)
Updating a view with a subquery in the
CHECK option could cause an assertion failure. (Bug #37460)
Statements that displayed the value of system variables (for example,
SHOW VARIABLES) expect variable values to be encoded in
character_set_system. However, variables set from the command line such as
datadir were encoded using
character_set_filesystem and not converted correctly. (Bug #37339)
CREATE INDEX could crash with
InnoDB plugin 1.0.1. (Bug #37284)
GROUP BY to convert numeric values to
CHAR could return truncated results. (Bug #36772)
The mysql client, when built with Visual Studio 2005, did not display Japanese characters. (Bug #36279)
perror on Windows did not know about Win32 system error codes. (Bug #34825)
Queries of the form
SELECT ... WHERE failed when the server used a single-byte character set and the client used a multibyte character set. (Bug #34760)
string = ANY(...)
References: See also Bug #20835.
For a stored procedure containing a
SELECT * ... RIGHT JOIN query, execution failed for the second call. (Bug #33811)
Previously, use of index hints with views (which do not have indexes) produced the error ERROR 1221 (HY000): Incorrect usage of USE/IGNORE INDEX and VIEW. Now this produces ERROR 1176 (HY000): Key '...' doesn't exist in table '...', the same error as for base tables without an appropriate index. (Bug #33461)
Some division operations produced a result with incorrect precision. (Bug #31616)
A race condition between the mysqld.exe server and the Windows service manager could lead to inability to stop the server from the service manager. (Bug #20430)