- News -
MySQL : MySQL 5.0.6 リリース
投稿者: webmaster 投稿日時: 2005-6-1 13:10:34 (7584 ヒット)

MySQL 5.0.6 がリリースされました。
5.0.5 はリリースされなかったので、バージョン番号としては 5.0.4 の次に 5.0.6 がリリースされたことになります。


mysqlコマンドラインを使用中、コメントの中の場合に /*> プロンプト になる、という変更はおもしろいですね。




以下チェンジログです。バージョン 5.0.6 での変更と、リリースされなかった 5.0.5 での変更点がそれぞれ書かれています。

バージョン 5.0.6 での変更点
■機能の追加と変更
- INCOMPATIBLE CHANGE: `MyISAM' and `InnoDB' tables created with `DECIMAL' columns in MySQL 5.0.3 to 5.0.5 will appear corrupt after an upgrade to MySQL 5.0.6. Dump such tables with `mysqldump' before upgrading, and then reload them after upgrading. (The same incompatibility will occur for these tables created in MySQL 5.0.6 after a downgrade to MySQL 5.0.3 to 5.0.5.) (Bug #10465, Bug #10625)
- Added `REFERENCED_TABLE_SCHEMA', `REFERENCED_TABLE_NAME', and `REFERENCED_COLUMN_NAME' columns to the `KEY_COLUMN_USAGE' table of `INFORMATION_SCHEMA'. (Bug #9587)
- Added a `--show-warnings' option to `mysql' to cause warnings to be shown after each statement if there are any. This option applies to interactive and batch mode. In interactive mode, `\w' and `\W' may be used to enable and disable warning display. (Bug #8684)
- Removed a limitation that prevented use of FIFOs as logging targets (such as for the general query log). This modification _does not apply_ to the binary log and the relay log. (Bug #8271)
- Added a `--debug' option to `my_print_defaults'.
- When the server cannot read a table because it cannot read the `.frm' file, print a message that the table was created with a different version of MySQL. (This can happen if you create tables that use new features and then downgrade to an older version of MySQL.) (Bug #10435)
- `SHOW VARIABLES' now shows the `slave_compresed_protocol', `slave_load_tmpdir' and `slave_skip_errors' system variables. (Bug #7800)
- Removed unused system variable `myisam_max_extra_sort_file_size'.
- Changed default value of `myisam_data_pointer_size' from 4 to 6. This allows us to avoid `table is full' errors for most cases.
- The variable `concurrent_insert' now takes 3 values. Setting this to 2 changes MyISAM to do concurrent inserts to end of table if table is in use by another thread.
- New `/*>' prompt for `mysql'. This prompt indicates that a `/* ... */' comment was begun on an earlier line and the closing `*/' sequence has not yet been seen. (Bug #9186)
- If strict SQL mode is enabled, `VARCHAR' and `VARBINARY' columns with a length greater than 65,535 no longer are silently converted to `TEXT' or `BLOB' columns. Instead, an error occurs. (Bug #8295, Bug #8296)
- The `INFORMATION_SCHEMA.SCHEMATA' table now has a `DEFAULT_COLLATION_NAME' column. (Bug #8998)
- `InnoDB': When the maximum length of `SHOW INNODB STATUS' output would be exceeded, truncate the beginning of the list of active transactions, instead of truncating the end of the output. (Bug #5436)
- `InnoDB': If `innodb_locks_unsafe_for_binlog' option is set and the isolation level of the transaction is not set to serializable then `InnoDB' uses a consistent read for select in clauses like `INSERT INTO ... SELECT' and `UPDATE ... (SELECT)' that do not specify `FOR UPDATE' or `IN SHARE MODE'. Thus no locks are set to rows read from selected table.
- Updated version of `libedit' to 2.9. (Bug #2596)
- Removed `mysqlshutdown.exe' and `mysqlwatch.exe' from the Windows "With Installer" distribution.


■バグ修正
- `MERGE' tables could fail on Windows due to incorrect interpretation of pathname separator characters for filenames in the `.MRG' file. (Bug #10687)
- Fixed a server crash for `INSERT ... ON DUPLICATE KEY UPDATE' with `MERGE' tables, which do not have unique indexes. (Bug #10400)
- Fix `FORMAT()' to do better rounding for double values (for example, `FORMAT(4.55,1)' returns `4.6', not `4.5'). (Bug #9060)
- Disallow use of `SESSION' or `GLOBAL' for user variables or local variables in stored routines. (Bug #9286)
- Fixed a server crash when using `GROUP BY ... WITH ROLLUP' on an indexed column in an `InnoDB' table. (Bug #9798)
- In strict SQL mode, some assignments to numeric columns that should have been rejected were not (such as the result of an arithmetic expression or an explicit `CAST()' operation). (Bug #6961)
- `CREATE TABLE t AS SELECT UUID()' created a `VARCHAR(12)' column, which is too small to hold the 36-character result from `UUID()'. (Bug #9535)
- Fixed a server crash in the `BLACKHOLE' storage engine. (Bug #10175)
- Fixed a server crash resulting from repeated calls to `ABS()' when the argument evaluated to `NULL'. (Bug #10599)
- For a user-defined function invoked from within a prepared statement, the UDF's initialization routine was invoked for each execution of the statement, but the deinitialization routine was not. (It was invoked only when the statement was closed.) Similarly, when invoking a UDF from within a trigger, the initialization routine was invoked but the deinitialization routine was not. For UDFs that have an expensive deinit function (such as `myperl', this bugfix will have negative performance consequences. (Bug #9913)
- Portability fix for Cygwin: Don't use `#pragma interface' in source files. (Bug #10241)
- Fix `CREATE TABLE ... LIKE' to work when `lower_case_table_names' is set on a case-sensitive filesystem and the source table name is not given in lowercase. (Bug #9761)
- Fixed a server crash resulting from a `CHECK TABLE' statement where the arguments were a view name followed by a table name. (Bug #9897)
- Within a stored procedure, attempting to update a view defined as an inner join failed with a `Table 'TBL_NAME' was locked with a READ lock and can't be updated' error. (Bug #9481)
- Fixed a problem with `INFORMATION_SCHEMA' tables being inaccessible depending on lettercase used to refer to them. (Bug #10018)
- `my_print_defaults' was ignoring the `--defaults-extra-file' option or crashing when the option was given. (Bug #9136, Bug #9851)
- The `INFORMATION_SCHEMA.COLUMNS' table was missing columns of views for which the user has access. (Bug #9838)
- Fixed a `mysqldump' crash that occurred with the `--complete-insert' option when dumping tables with a large number of long column names. (Bug #10286)
- Corrected a problem where `DEFAULT' values where not assigned properly to `BIT(1)' or `CHAR(1)' columns if certain other columns preceded them in the table definition. (Bug #10179)
- For `MERGE' tables, avoid writing absolute pathnames in the `.MRG' file for the names of the constituent `MyISAM' tables so that if the data directory is moved, `MERGE' tables will not break. For `mysqld', write just the `MyISAM' table name if it is in the same database as the `MERGE' table, and a path relative to the data directory otherwise. For the embedded servers, absolute pathnames may still be used. (Bug #5964)
- Corrected a problem resolving outer column references in correlated subqueries when using the prepared statements. (Bug #10041)
- Corrected the error message for exceeding the `MAX_CONNECTIONS_PER_HOUR' limit to say `max_connections_per_hour' instead of `max_connections'. (Bug #9947)
- Fixed incorrect memory block allocation for the query cache in the embedded server. (Bug #9549)
- Corrected an inability to select from a view within a stored procedure. (Bug #9758)
- Fixed a server crash resulting from use of `AVG(DISTINCT)' with `GROUP BY ... WITH ROLLUP'. (Bug #9799)
- Fixed a server crash resulting from use of `DISTINCT AVG()' with `GROUP BY ... WITH ROLLUP'. (Bug #9800)
- Fixed a server crash resulting from use of a `CHAR' or `VARCHAR' column with `MIN()' or `MAX()' and `GROUP BY ... WITH ROLLUP'. (Bug #9820)
- Fixed a server crash resulting from use of `SELECT DISTINCT' with a prepared statement that uses a cursor. (Bug #9520)
- Fixed server crash resulting from multiple calls to stored procedure that assigned result of subquery to a variable or compared it to a value with `IN'. (Bug #5963)
- Selecting from a single-table view defined on multiple-table views caused a server crash. (Bug #8528)
- If the file named by a `--defaults-extra-file' option does not exist or is otherwise inaccessible, an error now occurs. (Bug #5056)
- `net_read_timeout' and `net_write_timeout' were not being respected on Windows. (Bug #9721)
- `SELECT' from `INFORMATION_SCHEMA' tables failed if the statement has a `GROUP BY' clause and an aggregate function in the select list. (Bug #9404)
- Corrected some failures of prepared statements for SQL (`PREPARE' plus `EXECUTE') to return all rows for some `SELECT' statements. (Bug #9096, Bug #9777)
- Remove extra slashes in `--tmpdir' value (for example, convert `/var//tmp' to `/var/tmp', because they caused various errors. (Bug #8497)
- Added `Create_routine_priv', `Alter_routine_priv', and `Execute_priv' privileges to the `mysql.host' privilege table. (They had been added to `mysql.db' in MySQL 5.0.3 but not to the `host' table.) (Bug #8166)
- Fixed `configure' to properly recognize whether NTPL is available on Linux. (Bug #2173)
- Incomplete results were returned from `INFORMATION_SCHEMA.COLUMNS' for `INFORMATION_SCHEMA' tables for non-`root' users. (Bug #10261)
- Fixed a portability problem in compiling `mysql.cc' with `VC++' on Windows. (Bug #10245)
- `SELECT 0/0' returned `0' rather than `NULL'. (Bug #10404)
- `MAX()' for an `INT UNSIGNED' (unsigned 4-byte integer) column could return negative values if the column contained values larger than 2^31. (Bug #9298)
- `SHOW CREATE VIEW' got confused and could not find the view if there was a temporary table with the same name as the view. (Bug #8921)
- Fixed a deadlock resulting from use of `FLUSH TABLES WITH READ LOCK' while an `INSERT DELAYED' statement is in progress. (Bug #7823)
- The optimizer was choosing suboptimal execution plans for certain outer joins where the right table of a left join (or left table of a right join) had both `ON' and `WHERE' conditions. (Bug #10162)
- `RENAME TABLE' for an `ARCHIVE' table failed if the `.arn' file was not present. (Bug #9911)
- Invoking a stored function that executed a `SHOW' statement resulted in a server crash. (Bug #8408)

- Fixed problems with static variables and do not link with `libsupc++' to allow building on FreeBSD 5.3. (Bug #9714)

- Fixed some `awk' script portability problems in `cmd-line-utils/libedit/makelist.sh'. (Bug #9954)
- Fixed a problem with mishandling of `NULL' key parts in hash indexes on `VARCHAR' columns, resulting in incorrect query results. (Bug #9489, Bug #10176)




リリースされなかった 5.0.5 での変更点
■機能の追加と変更
Functionality added or changed:
- Added support for the `BIT' data type to the `MEMORY', `InnoDB', and `BDB' storage engines.
- `SHOW VARIABLES' no longer displays the deprecated `log_update' system variable. (Bug #9738)
- `--innodb-fast-shutdown' is now also settable on the fly (global variable `innodb_fast_shutdown'). It now accepts values 0, 1 and 2 (except on Netware where 2 is disabled); if set to 2, then when the MySQL server shuts down, InnoDB will just flush its logs and then shut down brutally (and quickly) as if it was a MySQL crash; no committed transaction will be lost, but a crash recovery will be done at next startup.


■バグ修正
- *Security fix:* If `mysqld' was started with `--user=NON_EXISTENT_USER', it would run using the privileges of the account it was invoked from, even if that was `root'. (Bug #9833)
- Corrected a failure to resolve a column reference correctly for a `LEFT JOIN' that compared a join column to an `IN' subquery. (Bug #9338)
- Fixed a problem where, after an internal temporary table in memory became too large and had to be converted to an on-disk table, the error indicator was not cleared and the query failed with error 1023 (`Can't find record in '''). (Bug #9703)
- Multiple-table updates could produce spurious data-truncation warnings if they used a join across columns that are indexed using a column prefix. (Bug #9103)
- Fixed a string-length comparison problem that caused `mysql' to fail loading dump files containing certain `\'-sequences. (Bug #9756)
- Fixed a failure to resolve a column reference properly when an outer join involving a view contained a subquery and the column was used in the subquery and the outer query. (Bug #6106, Bug #6107)
- Use of a subquery that used `WITH ROLLUP' in the `FROM' clause of the main query sometimes resulted in a `Column cannot be null' error. (Bug #9681)
- Fixed a memory leak that occurred when selecting from a view that contained a subquery. (Bug #10107)
- Fixed an optimizer bug in computing the union of two ranges for the `OR' operator. (Bug #9348)
- Fixed a segmentation fault in `mysqlcheck' that occurred when the last table checked in `--auto-repair' mode returned an error (such as the table being a `MERGE' table). (Bug #9492)
- `SET @var= CAST(NULL AS [INTEGER|CHAR])' now sets the result type of the variable to `INTEGER'/`CHAR'. (Bug #6598)
- Incorrect results were returned for queries of the form `SELECT ... LEFT JOIN ... WHERE EXISTS (SUBQUERY)', where the subquery selected rows based on an `IS NULL' condition. (Bug #9516)
- Executing `LOCK TABLES' and then calling a stored procedure caused an error and resulting in the server thinking that no stored procedures exist. (Bug #9566)
- Selecting from a view containing a subquery caused the server to hang. (Bug #8490)
- Within a stored procedure, attempting to execute a multiple-table `UPDATE' failed with a `Table 'TBL_NAME' was locked with a READ lock and can't be updated' error. (Bug #9486)
- Starting `mysqld' with the `--skip-innodb' and `--default-storage-engine=innodb' (or `--default-table-type=innodb' caused a server crash. (Bug #9815)
- Queries containing `CURRENT_USER()' incorrectly were registered in the query cache. (Bug #9796)
- Setting the `storage_engine' system variable to `MEMORY' succeeded, but retrieving the variable resulted in a value of `HEAP' (the old name for the `MEMORY' storage engine) rather than `MEMORY'. (Bug #10039)
- `mysqlshow' displayed an incorrect row count for tables. (Bug #9391)
- The server died with signal 11 if a non-existent location was specified for the location of the binary log. Now the server exits after printing an appropriate error messsage. (Bug #9542)
- Fixed a problem in the client/server protocol where the server closed the connection before sending the final error message. The problem could show up as a `Lost connection to MySQL server during query' when attempting to connect to access a non-existent database. (Bug #6387, Bug #9455)
- Fixed a `readline'-related crash in `mysql' when the user pressed Control-R. (Bug #9568)
- For stored functions that should return a `YEAR' value, corrected a failure of the value to be in `YEAR' format. (Bug #8861)
- Fixed a server crash resulting from invocation of a stored function that returned a value having an `ENUM' or `SET' data type. (Bug #9775)
- Fixed a server crash resulting from invocation of a stored function that returned a value having a `BLOB' data type. (Bug #9102)
- Fixed a server crash resulting from invocation of a stored function that returned a value having a `BIT' data type. (Bug #7648)
- `TIMEDIFF()' with a negative time first argument and postive time second argument produced incorrect results. (Bug #8068)
- Fixed a problem with `OPTIMIZE TABLE' for `InnoDB' tables being written twice to the binary log. (Bug #9149)
- `InnoDB': Prevent `ALTER TABLE' from changing the storage engine if there are foreign key constraints on the table. (Bug #5574, Bug #5670)
- `InnoDB': Fixed a bug where next-key locking doesn't allow the insert which does not produce a phantom. (Bug #9354) If the range is of type `'a' <= uniquecolumn', `InnoDB' lock only the RECORD, if the record with the column value `'a'' exists in a CLUSTERED index. This allows inserts before a range.
- `InnoDB': When `FOREIGN_KEY_CHECKS=0', `ALTER TABLE' and `RENAME TABLE' will ignore any type incompatibilities between referencing and referenced columns. Thus, it will be possible to convert the character sets of columns that participate in a foreign key. Be sure to convert all tables before modifying any data! (Bug #9802)
- Provide more informative error messages in clustered setting when a query is issued against a table that has been modified by another `mysqld' server. (Bug #6762)



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

[AD]