MySQL 4.1.17 Changelog

End of Product Lifecycle. Active development and support for MySQL Database Server versions 3.23, 4.0, and 4.1 has ended. For details, see http://www.mysql.com/about/legal/lifecycle/#calendar. Please consider upgrading to a recent version. Further updates to the content of this manual will be minimal. All formats of this manual will continue to be available until 31 Dec 2010.

Functionality Added or Changed

  • Support files for compiling with Visual Studio 6 have been removed. (Bug #15094)

  • In the latin5_turkish_ci collation, the order of the characters A WITH CIRCUMFLEX, I WITH CIRCUMLEX, and U WITH CIRCUMFLEX was changed. If you have used these characters in any indexed columns, you should rebuild those indexes. (Bug #13421)

  • Internal sha1_result function renamed to mysql_sha1_result to prevent conflicts with other projects. (Bug #13944)

Bugs Fixed

  • MySQL Cluster: A node which failed during cluster startup was sometimes not removed from the internal list of active nodes. (Bug #15587)

  • MySQL Cluster: If an abort by the Transaction Coordinator timed out, the abort condition was incorrectly handled, causing the transaction record to be released prematurely. (Bug #15685)

  • MySQL Cluster: Under some circumstances, it was possible for a restarting node to undergo a forced shutdown. (Bug #15632)

  • MySQL Cluster: There was a small window for a node failure to occur during a backup without an error being reported. (Bug #15425)

  • MySQL Cluster: A memory leak occurred when performing ordered index scans using indexes on columns larger than 32 bytes. This would eventually lead to the forced shutdown of all mysqld server processes used with the cluster. (Bug #13078)

  • Cluster API: Upon the completion of a scan where a key request remained outstanding on the primary replica and a starting node died, the scan did not terminate. This caused incomplete error handling for the failed node. (Bug #15908)

  • Multiple-table update operations were counting updates and not updated rows. As a result, if a row had several updates it was counted several times for the rows matched value but updated only once. (Bug #15028)

  • InnoDB: Comparison of indexed VARCHAR CHARACTER SET ucs2 COLLATE ucs2_bin columns using LIKE could fail. (Bug #14583)

  • Performing a RENAME TABLE on an InnoDB table when the server was started with the --innodb_file_per_table option and the data directory was a symlink caused a server crash. (Bug #15991)

  • Characters in the gb2312 and euckr character sets which did not have Unicode mappings were truncated. (Bug #15377)

  • Using an aggregate function as the argument for a HAVING clause resulted in the aggregate function always returning FALSE. (Bug #14274)

  • SELECT queries that began with an opening parenthesis were not being placed in the query cache. (Bug #14652)

  • DELETE could report full-text index corruption (Invalid key for table ...) if the index was built with repair-by-sort, the data in the full-text index used UCA collation, and some word appeared in the data terminated by a 0xC2A0 character as well as by other nonletter characters. (Bug #11336)

  • InnoDB: If foreign_key_checks was 0, InnoDB permitted inconsistent foreign keys to be created. (Bug #13778)

  • CAST(... AS TIME) operations returned different results when using versus not using prepared-statement protocol. (Bug #15805)

  • The COALESCE() function truncated data in a TINYTEXT column. (Bug #15581)

  • BDB: A DELETE, INSERT, or UPDATE of a BDB table could cause the server to crash where the query contained a subquery using an index read. (Bug #15536)

  • Symbolic links did not function properly on Windows platforms. (Bug #14960, Bug #14310)

  • Certain CREATE TABLE ... AS ... statements involving ENUM columns could cause server crash. (Bug #12913)

  • Using CAST() to convert values with long fractional or exponent parts to TIME returned wrong results. (Bug #12440)

  • A race condition when creating temporary files caused a deadlock on Windows with threads in Opening tables or Waiting for table states. (Bug #12071)

  • Certain permission management statements could create a NULL host name for a user, resulting in a server crash. (Bug #15598)

  • Issuing a DROP USER statement could cause some users to encounter a hostname is not permitted to connect to this MySQL server error. (Bug #15775)

  • For InnoDB tables, using a column prefix for a utf8 column in a primary key caused Cannot find record errors when attempting to locate records. (Bug #14056)

  • Access Denied error could be erroneously returned with specific grant combinations under high load. (Bug #7209)

  • Piping the fill_help_tables.sql file into mysqld resulted in a syntax error. (Bug #15965)

  • An INSERT ... SELECT statement between tables in a MERGE set can return errors when statement involves insert into child table from merge table or vice-versa. (Bug #5390)