- News -
MySQL : MySQL 4.0.18 リリース
投稿者: webmaster 投稿日時: 2004-2-13 18:00:00 (12675 ヒット)

MySQL 4.0.18 がリリースされました。



-----------
Functionality added or changed:

- Fixed processing of LOAD DATA by mysqlbinlog in remote mode. (Bug #1378)

- New utility program `myisam_ftdump' was added to binary distributions.

- ENGINE is now a synonym for the TYPE option for CREATE TABLE and ALTER TABLE.

- lower_case_table_names system variable now can take a value of 2, to store table names in mixed case on case-insensitive filesystems. It's forced to 2 if the database directory is located on a case-insensitive filesystem.

- For replication of MEMORY (HEAP) tables: Made the master automatically write a DELETE FROM statement to its binary log when a MEMORY table is opened for the first time since master's startup. This is for the case where the slave has replicated a non-empty MEMORY table, then the master is shut down and restarted: the table is now empty on master; the DELETE FROM empties it on slave too. Note that even with this fix, between the master's restart and the first use of the table on master, the slave still has out-of-date data in the table. But if you use the init-file option to populate the MEMORY table on the master at startup, it ensures that the failing time interval is zero. (Bug #2477)

- Optimizer is now better tuned for the case where the first used key part (of many) is a constant. (Bug #1679)

- Removed old non-working --old-rpl-compat server option, which was a holdover from the very first 4.0.x versions. (Bug #2428)



Bugs fixed:

- mysqlhotcopy now works on NetWare.

- DROP DATABASE could not drop databases with RAID tables that had more than nine RAID_CHUNKS. (Bug #2627)

- Fixed bug in range optimizer when using overlapping ranges. (Bug #2448)

- Limit wait_timeout to 2147483 on Windows (OS limit). (Bug #2400)

- Fixed bug when --init-file crashes MySQL if it contains a large SELECT. (Bug #2526)

- SHOW KEYS now shows NULL in the Sub_part column for FULLTEXT indexes.

- The signal thread's stack size was increased to enable mysqld to run on Debian/IA-64 with a TLS-enabled glibc. (Bug #2599)

- Now only the SELECT privilege is needed for tables that are only read in multiple-table UPDATE statements. (Bug #2377)

- Give proper error message if one uses LOCK TABLES ... ; INSERT ... SELECT and one used the same table in the INSERT and SELECT part. (Bug #2296)

- SELECT INTO ... DUMPFILE now deletes the generated file on error.

- Fixed foreign key reference handling to allow references to column names that contain spaces. (Bug #1725)

- Fixed problem with index reads on character columns with BDB tables. The symptom was that data could be returned in the wrong lettercase. (Bug #2509)

- Fixed a spurious table corruption problem that could sometimes appear on tables with indexed TEXT columns if these columns happened to contain values having trailing spaces. This bug was introduced in 4.0.17.

- Fixed a problem where some queries could hang if a condition like indexed_TEXT_column = expr was present and the column contained values having trailing spaces. This bug was introduced in 4.0.17.

- Fixed a bug that could cause incorrect results from a query that involved range conditions on indexed TEXT columns that happened to contain values having trailing spaces. This bug was introduced in 4.0.17. (Bug #2295)

- Fixed incorrect path names in some of the manual pages. (Bug #2270)

- Fixed spurious ``table corrupted'' errors in parallel repair operations. See section 5.2.3 Server System Variables.

- Fixed a crashing bug in parallel repair operations. See section 5.2.3 Server System Variables.

- Fixed bug in updating MyISAM tables for BLOB values longer than 16MB. (Bug #2159)

- Fixed bug in mysqld_safe when running multiple instances of MySQL. (Bug #2114)

- Fixed a bug in using HANDLER statement with tables not from a current database. (Bug #2304)

- Fixed a crashing bug that occurred due to the fact that multiple-table UPDATE statements did not check that there was only one table to be updated. (Bug #2103)

- Fixed a crashing bug that occurred due to BLOB column type index size being calculated incorrectly in MIN() and MAX() optimizations. (Bug #2189)

- Fixed a bug with incorrect syntax for LOCK TABLES in mysqldump. (Bug #2242)

- Fixed a bug in mysqld_safe that caused mysqld to generate a warning about duplicate user=xxx options if this option was specified in the [mysqld] or [server] sections of `my.cnf'. (Bug #2163)

- INSERT DELAYED ... SELECT ... could cause table corruption because tables were not locked properly. This is now fixed by ignoring DELAYED in this context. (Bug #1983)

- Replication: Sometimes the master gets a non-fatal error during the execution of a statement that does not immediately succeed. (For example, a write to a MyISAM table may first receive ``no space left on device,'' but later complete when disk space becomes available. See section A.4.3 How MySQL Handles a Full Disk.) The bug was that the master forgot to reset the error code to 0 after success, so the error code got into its binary log, thus causing the slave to issue false alarms such as ``did not get the same error as on master.'' (Bug #2083)

- Removed a misleading ``check permissions on master.info'' from a replication error message, because the cause of the problem could be something other than permissions. (Bug #2121)

- Fixed a crash when the replication slave was unable to create the first relay log. (Bug #2145)

- Replication of LOAD DATA INFILE for an empty file from a 3.23 master to a 4.0 slave caused the slave to print an error. (Bug #2452)

- When automatically forcing lower_case_table_names to 1 if the file system was case insensitive, mysqld could crash. This bug existed only in MySQL 4.0.17. (Bug #2481)

- Restored ability to specify default values for TIMESTAMP columns that was erroneously disabled in previous release. (Bug #2539) Fixed SHOW CREATE TABLE to reflect these values. (Bug #1885) Note that because of the auto-update feature for the first TIMESTAMP column in a table, it makes no sense to specify a default value for the column. Any such default will be silently ignored (unless another TIMESTAMP column is added before this one). Also fixed the meaning of the DEFAULT keyword when it is used to specify the value to be inserted into a TIMESTAMP column other than the first. (Bug #2464)

- Fixed bug for out-of-range arguments on QNX platform that caused UNIX_TIMESTAMP() to produce incorrect results or that caused non-zero values to be inserted into TIMESTAMP columns. (Bug #2523) Also, current time zone now is taken into account when checking if datetime values satisfy both range boundaries for TIMESTAMP columns. The range allowed for a TIMESTAMP column is time zone-dependent and equivalent to a range of 1970-01-01 00:00:01 UTC to 2037-12-31 23:59:59 UTC.

- Multiple-table DELETE statements were never replicated by the slave if there were any replicate-*-table options. (Bug #2527)

- Changes to session counterparts of variables query_prealloc_size, query_alloc_block_size, trans_prealloc_size, trans_alloc_block_size now have an effect. (Bug #1948)

- Fixed bug in ALTER TABLE RENAME, when rename to the table with the same name in another database silently dropped destination table if it existed. (Bug #2628)

印刷用ページ このニュースを友達に送る
投稿者 スレッド

[AD]