更新日誌 |
# Bugs fixed:
- InnoDB Storage Engine: Replication: Trying to update a column, previously set to NULL, of an InnoDB table with no primary key caused replication to fail with Can't find record in 'table' on the slave. - InnoDB Storage Engine: The server could halt if InnoDB interpreted a very heavy I/O load for 15 minutes or more as an indication that the server was hung. This change fixes the logic that measures how long InnoDB threads were waiting, which formerly could produce false positives. - InnoDB Storage Engine: With the setting lower_case_table_names=2, inserts into InnoDB tables covered by foreign key constraints could fail after a server restart. - Replication: Using the --server-id option with mysqlbinlog could cause format description log events to be filtered out of the binary log, leaving mysqlbinlog unable to read the remainder of the log. Now such events are always read without regard to the value of this option. - As part of the the fix for this problem, mysqlbinlog now also reads rotate log events without regard to the value of --server-id. - On Windows, the server rejected client connections if no DNS server was available. - mysql_upgrade did not properly upgrade the authentication_string column of the mysql.user table. - InnoDB invoked some zlib functions without proper initialization. - Comparison of a DATETIME stored program variable and NOW() led to an “Illegal mix of collations error” when character_set_connection was set to utf8. (Bug #60625, Bug #11926811) - Selecting from a view for which the definition included a HAVING clause failed with an error: * 1356: View '...' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them - CREATE TABLE syntax permits specification of a STORAGE {DEFAULT|DISK|MEMORY} option. However, this value was not written to the .frm file, so that a subsequent CREATE TABLE ... LIKE for the table did not include that option. * Also, ALTER TABLE of a table that had a tablespace incorrectly destroyed the tablespace. - The server permitted max_allowed_packet to be set lower than net_buffer_length, which does not make sense because max_allowed_packet is the upper limit on net_buffer_length values. Now a warning occurs and the value remains unchanged. - A missing variable initialization for Item_func_set_user_var objects could cause an assertion to be raised. - When the server was started with the --skip-innodb option, it initialized the have_innodb system variable to YES rather than DISABLED. - In Item_func_month::val_str(), a Valgrind warning for a too-late NULL value check was corrected. - In Item::get_date, a Valgrind warning for a missing NULL value check was corrected. - In extract_date_time(), a Valgrind warning for a missing end-of-string check was corrected. - In string context, the MIN() and MAX() functions did not take into account the unsignedness of a BIGINT UNSIGNED argument. - In Item_func::val_decimal, a Valgrind warning for a missing NULL value check was corrected. - In Item_func_str_to_date::val_str, a Valgrind warning for an uninitialized variable was corrected. - An assertion could be raised in Item_func_int_val::fix_num_length_and_dec() due to overflow for geometry functions. - With prepared statements, the server could attempt to send result set metadata after the table had been closed. - With lower_case_table_names=2, resolution of objects qualified by database names could fail. - SHOW EVENTS did not always show events from the correct database.
|