- News -
MySQL : MySQL 5.0.17 リリース
投稿者: webmaster 投稿日時: 2005-12-20 9:47:50 (7064 ヒット)

MySQL 5.0.17 がリリースされました。 5.0系としては約1ヶ月ぶりのリリースです。

バージョン 5.0で新たに加えられた、ビューやトリガ、情報スキーマなどに関する修正が目立ちます。
その他目につくものとしては、「mysqldump で バイナリ列の値がゼロバイトの時、0x のみが出力されていた」問題が、ようやく修正されました。

ダウンロードはこちら。
  http://dev.mysql.com/downloads/


以下チェンジログ(5.0.17):
-----------------------------------------------

■機能の追加と変更:

- The syntax for CREATE TRIGGER now includes a DEFINER clause for specifying which access privileges to check at trigger invocation time. See Section 18.1, "CREATE TRIGGER Syntax" for more information.

- Added a DEFINER column to the INFORMATION_SCHEMA.TRIGGERS table.

- Invoking a stored function or trigger creates a new savepoint level. When the function or trigger finishes, the previous savepoint level is restored. (See Bug #13825 (http://bugs.mysql.com/13825) for more information.)

- Recursion is allowed in stored procedures. Recursive stored functions and triggers still are disallowed. (Bug#10100 (http://bugs.mysql.com/10100))

- In the latin5_turkish_ci collation, the order of the characters A WITH CIRCUMFLEX, I WITH CIRCUMFLEX, and U WITH CIRCUMFLEX was changed. If you have used these characters in any indexed columns, you should rebuild those indexes. (Bug#13421 (http://bugs.mysql.com/13421))



■バグ修正:

- NDB Cluster: Using ORDER BY primary_key_column when selecting from a table having the primary key on a VARCHAR column caused a forced shutdown of the cluster. (Bug #14828 (http://bugs.mysql.com/14828), Bug #15240 (http://bugs.mysql.com/15240), Bug #15682 (http://bugs.mysql.com/15682), Bug #15517 (http://bugs.mysql.com/15517))

- NDB Cluster: Under certain circumstances, when mysqld connects to a cluster management server, the connection would fail before a node ID could be allocated. (Bug #15215 (http://bugs.mysql.com/15215))

- NDB Cluster: There was a small window for a node failure to occur during a backup without an error being reported. (Bug #15425 (http://bugs.mysql.com/15425))

- mysql --help was missing a newline after the version string when the bundled readline library was not used. (Bug #15097 (http://bugs.mysql.com/15097))

- Implicit versus explicit conversion of float to integer (such as inserting a float value into an integer column versus using CAST(... AS UNSIGNED before inserting the value) could produce different results. Implicit and explicit typecasts now are done the same way, with a value equal to the nearest integer according to the prevailing rounding mode. (Bug #12956 (http://bugs.mysql.com/12956))

- GROUP BY on a view column did not correctly account for the possibility that the column could contain NULL values. (Bug #14850 (http://bugs.mysql.com/14850))

- ANALYZE TABLE did not properly update table statistics for a MyISAM table with a FULLTEXT index containing stopwords, so a subsequent ANALYZE TABLE would not recognize the table as having already been analyzed. (Bug #14902 (http://bugs.mysql.com/14902))

- The maximum value of MAX_ROWS was handled incorrectly on 64-bit systems. (Bug #14155 (http://bugs.mysql.com/14155))

- NDB Cluster: A forced cluster shutdown occurred when the management daemon was restarted with a changed config.ini file that added an API/SQL node. (Bug #15512 (http://bugs.mysql.com/15512))

- 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 (http://bugs.mysql.com/15028))

- A statement that produced a warning, when fetched via mysql_stmt_fetch(), did not produce a warning count according to mysql_warning_count(). (Bug #15510 (http://bugs.mysql.com/15510))

- Manual manipulation of the mysql.proc table could cause a server crash. This should not happen, but it is also not supported that the server will notice such changes. (Bug #14233 (http://bugs.mysql.com/14233))

- Revised table locking to allow proper assessment of view security. (Bug #11555 (http://bugs.mysql.com/11555))

- Within a stored procedure, inserting with INSERT ... SELECT into a table with an AUTO_INCREMENT column did not generate the correct sequence number. (Bug #14304 (http://bugs.mysql.com/14304))

- SELECT queries that began with an opening parenthesis were not being placed in the query cache. (Bug #14652 (http://bugs.mysql.com/14652))

- Space truncation was being ignored when inserting into BINARY or VARBINARY columns. Now space truncation results in a warning, or an error in strict mode. (Bug #14299 (http://bugs.mysql.com/14299))

- The database-changing code for stored routine handling caused an error-handling problem resulting in a server crash. (Bug #15392 (http://bugs.mysql.com/15392))

- Selecting from a view processed with the temptable algorithm caused a server crash if the query cache was enabled. (Bug #15119 (http://bugs.mysql.com/15119))

- REPAIR TABLES, BACKUP TABLES, RESTORE TABLES within a stored procedure caused a server crash. (Bug #13012 (http://bugs.mysql.com/13012))

- Creating a view that referenced a stored function that selected from a view caused a crash upon selection from the view. (Bug #15096 (http://bugs.mysql.com/15096))

- ALTER TABLE ... SET DEFAULT had no effect. (Bug #14693 (http://bugs.mysql.com/14693))

- Creating a view within a stored procedure could result in an out of memory error or a server crash. (Bug #14885 (http://bugs.mysql.com/14885))

- InnoDB: A race condition allowed two threads to drop a hash index simultaneously. (Bug #14747 (http://bugs.mysql.com/14747))

- mysqlhotcopy tried to copy INFORMATION_SCHEMA tables. (Bug #14610 (http://bugs.mysql.com/14610))

- CHAR(... USING ...) and CONVERT(CHAR(...) USING ...), though logically equivalent, could produce different results. (Bug #14146 (http://bugs.mysql.com/14146))

- The value of INFORMATION_SCHEMA.TABLES.TABLE_TYPE sometimes was reported as empty. (Bug #14476 (http://bugs.mysql.com/14476))

- InnoDB: Activitity on an InnoDB table caused execution time for SHOW CREATE TABLE for the table to increase. (Bug #13762 (http://bugs.mysql.com/13762))

- DELETE from CSV tables reported an incorrect rows-affected value. (Bug #13406 (http://bugs.mysql.com/13406))

- The server crashed if compiled without any transactional storage engines. (Bug #15047 (http://bugs.mysql.com/15047))

- Declaring a stored routine variable to have a DEFAULT value that referred to a variable of the same name caused a server crash. (For example: DECLARE x INT DEFAULT x) Now the DEFAULT variable is interpreted as referring to a variable in an outer scope, if there is one. (Bug #14376 (http://bugs.mysql.com/14376))

- Perform character set conversion of constant values whenever possible without data loss. (Bug #10446 (http://bugs.mysql.com/10446))

- mysql ignored the MYSQL_TCP_PORT environment variable. (Bug #5792 (http://bugs.mysql.com/5792))

- ROW_COUNT() returned an incorrect result after EXECUTE of a prepared statement. (Bug #14956 (http://bugs.mysql.com/14956))

- A UNION of DECIMAL columns could produce incorrect results. (Bug #14216 (http://bugs.mysql.com/14216))

- Queries that select records based on comparisons to a set of column could crash the server if there was one index covering the columns, and a set of other non-covering indexes that taken together cover the columns. (Bug #15204 (http://bugs.mysql.com/15204))

- When using an aggregate function to select from a table that has a multiple-column primary key, adding ORDER BY to the query could produce an incorrect result. (Bug #14920 (http://bugs.mysql.com/14920))

- SHOW CREATE TABLE for a view could fail if the client had locked the view. (Bug #14726 (http://bugs.mysql.com/14726))

- For binary string data types, mysqldump --hex-blob produced an illegal output value of 0x rather than ''. (Bug #13318 (http://bugs.mysql.com/13318))

- Some comparisons for the IN() operator were inconsistent with equivalent comparisons for the = operator. (Bug #12612 (http://bugs.mysql.com/12612))

- In a stored procedure, continuing (via a condition handler) after a failed variable initialization caused a server crash. (Bug #14643 (http://bugs.mysql.com/14643))

- Within a stored procedure, exception handling for UPDATE statements that caused a duplicate-key error caused a Packets out of order error for the following statement. (Bug #13729 (http://bugs.mysql.com/13729))

- Creating a table containing an ENUM or SET column from within a stored procedure or prepared statement caused a server crash later when executing the procedure or statement. (Bug #14410 (http://bugs.mysql.com/14410))

- Selecting from a view used filesort retrieval when faster retrieval was possible. (Bug #14816 (http://bugs.mysql.com/14816))

- Warnings from a previous command were not being reset when fetching from a cursor. (Bug #13524 (http://bugs.mysql.com/13524))

- RESET MASTER failed to delete log files on Windows. (Bug #13377 (http://bugs.mysql.com/13377))

- Using ORDER BY on a column from a view, when also selecting the column normally, and via an alias, caused a mistaken Column 'x' in order clause is ambiguous error. (Bug #14662 (http://bugs.mysql.com/14662))

- Invoking a stored procedure within another stored procedure caused the server to crash. (Bug #13549 (http://bugs.mysql.com/13549))

- Stored functions making use of cursors were not replicated. (Bug #14077 (http://bugs.mysql.com/14077))

- CAST(expr AS BINARY(N)) did not pad with 0x00 to a length of N bytes. (Bug #14255 (http://bugs.mysql.com/14255))

- Casting a FLOAT or DOUBLE whose value was less than 1.0E-06 to DECIMAL would yield an inappropriate value. (Bug #14268 (http://bugs.mysql.com/14268))

- In some cases, a left outer join could yield an invalid result or cause the server to crash, due to a MYSQL_DATA_TRUNCATED error. (Bug #13488 (http://bugs.mysql.com/13488))

- For a invalid view definition, selecting from the INFORMATION_SCHEMA.VIEWS table or using SHOW CREATE VIEW failed, making it difficult to determine what part of the definition was invalid. Now the server returns the definition and issues a warning. (Bug #13818 (http://bugs.mysql.com/13818))

- The server could misinterpret old trigger definition files created before MySQL 5.0.17. Now they are interpreted correctly, but this takes more time and the server issues a warning that the trigger should be recreated. (Bug #14090 (http://bugs.mysql.com/14090))

- mysqldump --triggers did not account for the SQL mode and could dump trigger definitions with missing whitespace if the IGNORE_SPACE mode was enabled. (Bug #14554 (http://bugs.mysql.com/14554))

- Within a trigger definition the CURRENT_USER() function evaluated to the user whose actions caused the trigger to be activated. Now that triggers have a DEFINER value, CURRENT_USER() evaluates to the trigger definer. (Bug #5861 (http://bugs.mysql.com/5861))

- CREATE TABLE tbl_name (...) SELECT ... could crash the server and write invalid data into the .frm file if the CREATE TABLE and SELECT both contained a column with the same name. Also, if a default value is specified in the column definition, it is now actually used. (Bug #14480 (http://bugs.mysql.com/14480))

- A newline character in a column alias in a view definition caused an error when selecting from the view later. (Bug #13622 (http://bugs.mysql.com/13622))

- mysql_fix_privilege_tables.sql contained an erroneous comment that resulted in an error when the file contents were processed. (Bug #14469 (http://bugs.mysql.com/14469))

- On Windows, the server could crash during shutdown if both replication threads and normal client connection threads were active. (Re-fix of Bug #11796 (http://bugs.mysql.com/11796))

- The grammar for supporting the DEFINER = CURRENT_USER clause in CREATE VIEW and ALTER VIEW was incorrect. (Bug #14719 (http://bugs.mysql.com/14719))

- Queries on ARCHIVE tables that used the filesort sorting method could result in a server crash. (Bug #14433 (http://bugs.mysql.com/14433))

- The mysql_stmt_fetch() C APP function could return MYSQL_NO_DATA for a SELECT COUNT(*) FROM tbl_name WHERE 1 = 0 statement, which should return 1 row. (Bug #14845 (http://bugs.mysql.com/14845))

- A LIMIT-related optimization failed to take into account that MyISAM table indexes can be disabled, causing Error 124 when it tried to use such an index. (Bug #14616 (http://bugs.mysql.com/14616))

- A server crash resulted from the following sequence of events:
1) With no default database selected, create a stored procedure with the procedure name explicitly qualified with a database name (CREATE PROCEDURE db_name.proc_name ...).
2) Create another stored procedure with no database name qualifier.
3) Execute SHOW PROCEDURE STATUS. (Bug #14569 (http://bugs.mysql.com/14569))

- Complex subqueries could cause improper internal query execution environment initialization and crash the server. (Bug #14342 (http://bugs.mysql.com/14342))

- For a table that had been opened with HANDLER OPEN, issuing OPTIMIZE TABLE, ALTER TABLE, or REPAIR TABLE caused a server crash. (Bug #14397 (http://bugs.mysql.com/14397))

- A server crash could occur if a prepared statement invoked a stored procedure that existed when the statement was prepared but had been dropped and recreated prior to statement execution. (Bug #12329 (http://bugs.mysql.com/12329))

- A server crash could occur if a prepared statement updated a table for which a trigger existed when the statement was prepared but had been dropped prior to statement execution. (Bug #13399 (http://bugs.mysql.com/13399))

- Statements that implicitly commit a transaction are prohibited in stored functions and triggers. An attempt to create a function or trigger containing such a statement produces an error. (Bug #13627 (http://bugs.mysql.com/13627)) (The originally reported symptom was that a trigger that dropped another trigger could cause a server crash. That problem was fixed by the patch for Bug #13343 (http://bugs.mysql.com/13343).)

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

[AD]