- News -
MySQL : MySQL 5.0.26 リリース!
投稿者: webmaster 投稿日時: 2006-10-11 1:24:51 (10774 ヒット)

MySQL 5.0.26 がリリースされました。
バージョン 5.0.25 はコマーシャル・ライセンスのユーザにのみ公開されたようで、コミュニティ・エディションとしては 5.0.24 以来、2ヶ月ぶり(5.0.24a以来約1ヶ月)の5.0系リリースになります。

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


このリリースでは、ストアド・ルーチンの中で LAST_INSERT_ID() が正しい値を返さないことがある問題や、view生成時にカラム名をbin-logに出力しないためにレプリケーション環境下でview定義が異なってしまう問題など非常に多くの問題の修正や改善がなされています。

また、5.0.25 時に、セキュリティにかかわる修正もなされています。
詳しくはチェンジログをご覧ください。


=====
2006/10/13追記:
 MySQL KK の松信氏による新バージョン紹介記事が、MYCOMジャーナルに掲載されましたので、併せてご参照ください。
http://journal.mycom.co.jp/articles/2006/10/13/mysqlfix/
=====

バグ報告はこちらへ: http://bugs.mysql.com/

--------------------
以下チェンジログ:



■機能の追加と変更 (5.0.26)

- The source distribution has been updated so that the UDF example can be compiled under Windows with CMake. See Section 24.2.4.5, "Compiling and Installing User-Defined Functions." (Bug#19121: http://bugs.mysql.com/19121)

- The LOAD DATA FROM MASTER and LOAD TABLE FROM MASTER statements are deprecated. See Section 13.6.2.2, "LOAD DATA FROM MASTER Syntax," for recommended alternatives. (Bug#18822: http://bugs.mysql.com/18822)

- mysqldump now has a --flush-privileges option. It causes mysqldump to emit a FLUSH PRIVILEGES statement after dumping the mysql database. This option should be used any time the dump contains the mysql database and any other database that depends on the data in the mysql database for proper restoration. (Bug#21424: http://bugs.mysql.com/21424)

- The number of InnoDB threads is no longer limited to 1,000 on Windows. (Bug#22268: http://bugs.mysql.com/22268)



■バグ修正 (5.0.26)

- Deleting entries from a large MyISAM index could cause index corruption when it needed to shrink. Deletes from an index can happen when a record is deleted, when a key changes and must be moved and when a key must be un-inserted because of a duplicate key. This can also happen in REPAIR TABLE when a duplicate key is found and in myisamchk when sorting the records by an index. (Bug#22384: http://bugs.mysql.com/22384)

- Conversion of values inserted into a BIT column could affect adjacent columns. (Bug#22271: http://bugs.mysql.com/22271)

- The URL into the online manual that is printed in the stack trace message by the server was out of date. (Bug#21449: http://bugs.mysql.com/21449)

- PROCEDURE ANALYSE() returned incorrect values of M FLOAT(M, D) and DOUBLE(M, D). (Bug#20305: http://bugs.mysql.com/20305)

- Join conditions using partial indexes on utf8 columns of InnoDB tables incorrectly ignored rows where the length of the actual value was greater than the length of the partial index. (Bug#19960: http://bugs.mysql.com/19960)

- On an INSERT into an updatable but non-insertable view, an error message was issued stating that the view was not updatable. Now the message says the view is not insertable-into. (Bug#5505: http://bugs.mysql.com/5505)

- INSERT DELAYED did not honor SET INSERT_ID or the auto_increment_* system variables. (Bug#20627: http://bugs.mysql.com/20627, Bug# 20830)

- For character sets having a mbmaxlen value of 2, any ALTER TABLE statement changed TEXT columns to MEDIUMTEXT. (Bug#21620: http://bugs.mysql.com/21620)

- A query that used GROUP BY and an ALL or ANY quantified subquery in a HAVING clause could trigger an assertion failure. (Bug#21853: http://bugs.mysql.com/21853)

- For an ENUM column that used the ucs2 character set, using ALTER TABLE to modify the column definition caused the default value to be lost. (Bug#20108: http://bugs.mysql.com/20108)

- mysql_com.h unnecessarily referred to the ulong type. (Bug#22227: http://bugs.mysql.com/22227)

- Incorporated some portability fixes into the definition of __attribute__ in my_global.h. (Bug#2717: http://bugs.mysql.com/2717)

- Linking the pthreads library to single-threaded MySQL libraries caused dlopen() to fail at runtime on HP-UX. (Bug#18267: http://bugs.mysql.com/18267)

- In the package of pre-built time zone tables that is available for download at http://dev.mysql.com/downloads/timezones.html, the tables now explicitly use the utf8 character set so that they work the same way regardless of the system character set value. (Bug#21208: http://bugs.mysql.com/21208)

- The build process incorrectly tried to overwrite sql/lex_hash.h. This caused the build to fail when using a shadow link tree pointing to original sources that were owned by another account. (Bug#18888: http://bugs.mysql.com/18888)

- mysql_ftdump produced bad counts for common words. (Bug#22326: http://bugs.mysql.com/22326)

- yaSSL had a conflicting definition for socklen_t on hurd-i386 systems. (Bug#22326: http://bugs.mysql.com/22326)

- When records are merged from the insert buffer and the page needs to be reorganized, InnoDB used incorrect column length information when interpreting the records of the page. This caused a server crash due to apparent corruption of secondary indexes in ROW_FORMAT=COMPACT that contain prefix indexes of fixed-length columns. Data files should not be corrupted, but the crash was likely to repeat every time the server was restarted. (Bug#21638: http://bugs.mysql.com/21638)

- Using GROUP_CONCAT() on the result of a subquery in the FROM clause that itself used GROUP_CONCAT() could cause a server crash. (Bug#22015: http://bugs.mysql.com/22015)

- Execution of a prepared statement that uses an IN subquery with aggregate functions in the HAVING clause could cause a server crash. (Bug#21617: http://bugs.mysql.com/21617)

- The value of LAST_INSERT_ID() was not always updated correctly within stored routines. (Bug#21726: http://bugs.mysql.com/21726)

- The ARCHIVE engine incorrectly calculated the maximum file size on big-endian machines, resulting in a server crash when the file reached 2GB. (Bug#21675: http://bugs.mysql.com/21675)

- Selecting from a MERGE table could result in a server crash if the underlying tables had fewer indexes than the MERGE table itself. (Bug#21617: http://bugs.mysql.com/21617)

- A locking safety check in InnoDB reported a spurious error stored_select_lock_type is 0 inside ::start_stmt() for INSERT ... SELECT statements in innodb_locks_unsafe_for_binlog mode. The safety check was removed. (Bug#10746: http://bugs.mysql.com/10746)

- make install tried to build files that should already have been built by make all, causing a failure if installation was performed using a different account than the one used for the initial build. (Bug#19738: http://bugs.mysql.com/19738)

- The source distribution would not build on Windows due to a spurious dependency on ib_config.h. (Bug#22224: http://bugs.mysql.com/22224)

- The server returns a more informative error message when it attempts to open a MERGE table that has been defined to use non-MyISAM tables. (Bug#10974: http://bugs.mysql.com/10974)

- Within stored routines, some error messages were printed incorrectly. A non-null-terminated string was passed to a message-printing routine that expected a null-terminated string. (Bug#20778: http://bugs.mysql.com/20778)

- SUBSTR() results sometimes were stored improperly into a temporary table when multi-byte character sets were used. (Bug#20204: http://bugs.mysql.com/20204)

- On Windows, inserting into a MERGE table after renaming an underlying MyISAM table caused a server crash. (Bug#20789: http://bugs.mysql.com/20789)

- Certain malformed INSERT statements could crash the mysql client. (Bug#21142: http://bugs.mysql.com/21142)

- On Mac OS X, zero-byte read() or write() calls to an SMB-mounted filesystem could return a non-standard return value, leading to data corruption. Now such calls are avoided. (Bug#12620: http://bugs.mysql.com/12620)

- With TRADITIONAL SQL mode, assignment of out-of-bound values and rounding of assigned values was done correctly, but assignment of the same numbers represented as strings sometimes was handled differently. (Bug#6147: http://bugs.mysql.com/6147)

- The source distribution failed to compile when configured with the --without-geometry option. (Bug#12991: http://bugs.mysql.com/12991)

- The source distribution failed to compile when configured with the --with-libwrap option. (Bug#18246: http://bugs.mysql.com/18246)

- For INSERT ... ON DUPLICATE KEY UPDATE, use of VALUES(col_name) within the UPDATE clause sometimes was handled incorrectly. (Bug#21555: http://bugs.mysql.com/21555)

- Row equalities (such as WHERE (a,b) = (c,d) were not taken into account by the optimizer, resulting in slow query execution. Now they are treated as conjunctions of equalities between row elements. (Bug#16081: http://bugs.mysql.com/16081)

- Column names supplied for a view created on a master server could be lost on a slave server. (Bug#19419: http://bugs.mysql.com/19419)

- For a MyISAM table locked with LOCK TABLES ...WRITE, queries optimized using the index_merge method did not show rows inserted with the lock in place. (Bug#20256: http://bugs.mysql.com/20256)

- Table aliases in multiple-table DELETE statements sometimes were not resolved. (Bug#21392: http://bugs.mysql.com/21392)

- A function result in a comparison was replaced with a constant by the optimizer under some circumstances when this optimization was invalid. (Bug#21698: http://bugs.mysql.com/21698)

- A subquery that uses an index for both the WHERE and ORDER BY clauses produced an empty result. (Bug#21180: http://bugs.mysql.com/21180)

- If the auto_increment_offset setting causes MySQL to generate a value larger than the column's maximum possible value, the INSERT statement is accepted in strict SQL mode, whereas but should fail with an error. (Bug#20573: http://bugs.mysql.com/20573)

- Queries containing a subquery that used aggregate functions could return incorrect results. (Bug#16792: http://bugs.mysql.com/16792)

- EXPLAIN sometimes returned an incorrect select_type for a SELECT from a view, compared to the select_type for the equivalent SELECT from the base table. (Bug#5500: http://bugs.mysql.com/5500)

- Use of myisampack or myisamchk on a table with FULLTEXT indexing resulted in table corruption. (Bug#19702: http://bugs.mysql.com/19702)

- BIN(), OCT(), and CONV() did not work with BIT values. (Bug#15583: http://bugs.mysql.com/15583)

- The server could crash for the second execution of a function containing a SELECT statement that uses an aggregating IN subquery. (Bug#21493: http://bugs.mysql.com/21493)

- UPGRADE was treated as a reserved word, although it is not. (Bug#21772: http://bugs.mysql.com/21772)

- mysql_upgrade produced a malformed upgrade_defaults file by overwriting the [client] group header with a password option. This prevented mysqlcheck from running successfully when invoked by mysql_upgrade. (Bug#21011: http://bugs.mysql.com/21011)

- Usernames have a maximum length of 16 characters (even if they contain multi-byte characters), but were being truncated to 16 bytes. (Bug#20393: http://bugs.mysql.com/20393)

- mysql displayed an empty string for NULL values. (Bug#21618: http://bugs.mysql.com/21618)





■機能の追加と変更 (5.0.25):


- For the mysql client, typing Control-C causes mysql to attempt to kill the current statement. If this cannot be done, or Control-C is typed again before the statement is killed, mysql exits. Previously, Control-C caused mysql to exit in all cases. (Bug#17926: http://bugs.mysql.com/17926; see also Bug#1989: http://bugs.mysql.com/1989)

- For mysqlshow, if a database name argument contains wildcard characters (such as `_') but matches a single database name exactly, treat the name as a literal name. This allows a command such as mysqlshow information_schema work without having to escape the wildcard character. (Bug#19147: http://bugs.mysql.com/19147)

- If a DROP VIEW statement named multiple views, it stopped with an error if a non-existent view was named and did not drop the remaining views. Now it continues on and reports an error at the end, similar to DROP TABLE. (Bug#16614: http://bugs.mysql.com/16614)

- Table comments longer than 60 characters and column comments longer than 255 characters were truncated silently. Now a warning is issued, or an error in strict mode. (Bug#13934: http://bugs.mysql.com/13934)

- The bundled yaSSL library was upgraded to version 1.3.7.

- The bundled yaSSL library licensing has added a FLOSS exception similar to MySQL to resolve licensing incompatibilities with MySQL. (See the extra/yassl/FLOSS-EXCEPTIONS file in a MySQL source distribution for details.) (Bug#16755: http://bugs.mysql.com/16755)

- The server now issues a warning if it removes leading spaces from an alias. (Bug#10977: http://bugs.mysql.com/10977)

- The VIEW_DEFINITION column of the INFORMATION_SCHEMA VIEWS table now contains information about the view algorithm. (Bug#16832: http://bugs.mysql.com/16832)

- For a successful dump, mysqldump now writes a SQL comment to the end of the dump file in the following format: -- Dump completed on YYYY-MM-DD hh:mm:ss (Bug#10877: http://bugs.mysql.com/10877)

- The mysqld and mysqlmanager manpages have been reclassified from volume 1 to volume 8. (Bug#21220: http://bugs.mysql.com/21220)

- configure now defines the symbol DBUG_ON in config.h to indicate whether the source tree is configured to be compiled with debugging support. (Bug#19517: http://bugs.mysql.com/19517)

- The MySQL distribution now compiles on UnixWare 7.13. (Bug#20190: http://bugs.mysql.com/20190)

- The mysql client used the default character set if it automatically reconnected to the server, which is incorrect if the character set had been changed. To enable the character set to remain synchronized on the client and server, the mysql command charset (or \C) that changes the default character set and now also issues a SET NAMES statement. The changed character set is used for reconnects. (Bug#11972: http://bugs.mysql.com/11972)

- mysql_upgrade no longer reads the [client] option file group because it is not a client and did not understand client options such as host. Now it reads only the [mysql_upgrade] group. (Bug#19452: http://bugs.mysql.com/19452)

- MySQL now can do stack dumps on x86_64 and i386/NPTL systems. (Bug#21250: http://bugs.mysql.com/21250)

- TIMESTAMP columns that are NOT NULL now are reported that way by SHOW COLUMNS and INFORMATION_SCHEMA. (Bug#20910: http://bugs.mysql.com/20910)


■バグ修正 (5.0.25):

- Security fix: On Linux, and possibly other platforms using case-sensitive filesystems, it was possible for a user granted rights on a database to create or access a database whose name differed only from that of the first by the case of one or more letters. (CVE-2006-4226 (http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2006-4226), Bug#17647: http://bugs.mysql.com/17647)

- Security fix: A stored routine created by one user and then made accessible to a different user using GRANT EXECUTE could be executed by that user with the privileges of the routine's definer. (CVE-2006-4227 (http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2006-4227), Bug#18630: http://bugs.mysql.com/18630)

- CREATE TABLE ... SELECT statements that selected GEOMETRY values resulted in a table that contained BLOB columns, not GEOMETRY columns. (Bug#14807: http://bugs.mysql.com/14807)

- A DATE can be represented as an integer (such as 20060101) or as a string (such as '2006.01.01'). When a DATE (or TIME) column is compared in one SELECT against both representations, constant propagation by the optimizer led to comparison of DATE as a string against DATE as an integer. This could result in integer comparisons such as 2006 against 20060101, erroneously producing a false result. (Bug#21475: http://bugs.mysql.com/21475)

- A query result could be sorted improperly when using ORDER BY for the second table in a join. (Bug#21302: http://bugs.mysql.com/21302)

- EXPORT_SET() did not accept arguments with coercible character sets. (Bug#21531: http://bugs.mysql.com/21531)

- The --collation-server server option was being ignored. With the fix for this problem, if you choose a non-default character set with --character-set-server, you should also use --collation-server to specify the collation. (Bug#15276: http://bugs.mysql.com/15276)

- The index_merge/Intersection optimizer could have a memory overrrun when the number of table columns covered by an index is sufficiently large, possibly resulting in a server crash. (Bug#16201: http://bugs.mysql.com/16201)

- With max_sp_recursion set to 0, a stored procedure that executed a SHOW CREATE PROCEDURE statement for itself triggered a recursion limit exceeded error, though the statement involves no recursion. (Bug#21416: http://bugs.mysql.com/21416)

- The optimizer could produce an incorrect result after AND with collations such as latin1_german2_ci, utf8_czech_ci, and utf8_lithianian_ci. (Bug#9509: http://bugs.mysql.com/9509)

- Database and table names have a maximum length of 64 characters (even if they contain multi-byte characters), but were being truncated to 64 bytes. (Bug#21432: http://bugs.mysql.com/21432)

- character_set_results can be NULL to signify "no conversion," but some code did not check for NULL, resulting in a server crash. (Bug#21913: http://bugs.mysql.com/21913)

- InnoDB was slow with more than 100,000 .idb files. (Bug#21112: http://bugs.mysql.com/21112)

- SHOW INNODB STATUS contained some duplicate output. (Bug#21113: http://bugs.mysql.com/21113)

- Using cursors with READ COMMITTED isolation level could cause InnoDB to crash. (Bug#19834: http://bugs.mysql.com/19834)

- The ndb_mgm program was included in both the MySQL-ndb-tools and MySQL-ndb-management RPM packages, resulting in a conflict if both were installed. Now ndb_mgm is included only in MySQL-ndb-tools. (Bug#21058: http://bugs.mysql.com/21058)

- A query could produce different results with and without and index, if the WHERE clause contained a range condition that used an invalid DATETIME constant. (Bug#16249: http://bugs.mysql.com/16249)

- libmysqld produced some warnings to stderr which could not be silenced. These warnings now are suppressed. (Bug#13717: http://bugs.mysql.com/13717)

- The optimizer sometimes produced an incorrect row-count estimate after elimination of const tables. This resulted in choosing extremely inefficient execution plans in same cases when distribution of data in joins were skewed. (Bug#21390: http://bugs.mysql.com/21390)

- Query results could be incorrect if the WHERE clause contained t.key_part NOT IN (val_list), where val_list is a list of more than 1000 constants. (Bug#21282: http://bugs.mysql.com/21282)

- STR_TO_DATE() sometimes would return NULL if the %D format specifier was not the last specifier in the format string. (Bug#20987: http://bugs.mysql.com/20987)

- The myisam_stats_method variable was mishandled when set from an option file or on the command line. (Bug#21054: http://bugs.mysql.com/21054)

- The optimizer assumed that if (a=x AND b=x) is true, (a=x AND b=x) AND a=b is also true. But that is not always so if a and b have different data types. (Bug#21159: http://bugs.mysql.com/21159)

- InnoDB did not honor IGNORE INDEX, which prevented using IGNORE INDEX in cases where an index sort would be slower than a filesort. (Bug#21174: http://bugs.mysql.com/21174)

- If a column definition contained a character set declaration, but a DEFAULT value began with an introducer, the introducer character set was used as the column character set. (Bug#20695: http://bugs.mysql.com/20695)

- The MD5(), SHA1(), and ENCRYPT() functions should return a binary string, but the result sometimes was converted to the character set of the argument. MAKE_SET() and EXPORT_SET() now use the correct character set for their default separators, resulting in consistent result strings which can be coerced according to normal character set rules. (Bug#20536: http://bugs.mysql.com/20536)

- For connections that required a SUBJECT value, a check was performed to verify that the value was correct, but the connection was not refused if not. (Bug#20411: http://bugs.mysql.com/20411)

- Some Linux-x86_64-icc packages (of previous releases) mistakenly contained 32-bit binaries. Only ICC builds are affected, not gcc builds. Solaris and FreeBSD x86_64 builds are not affected. (Bug#22238: http://bugs.mysql.com/22238)

- INSERT ... SELECT sometimes generated a spurious Column count doesn't match value count error. (Bug#21774: http://bugs.mysql.com/21774)

- For TIME_FORMAT(), the %H and %k format specifiers can return values larger than two digits (if the hour is greater than 99), but for some query results that contained three-character hours, column values were truncated. (Bug#19844: http://bugs.mysql.com/19844)

- For table-format output, mysql did not always calculate columns widths correctly for columns containing multi-byte characters in the column name or contents. (Bug#17939: http://bugs.mysql.com/17939)

- Views could not be updated within a stored function or trigger. (Bug#17591: http://bugs.mysql.com/17591)

- Some user-level level errors were being written to the server's error log, which is for server errors. (Bug#20402: http://bugs.mysql.com/20402)

- When using tables created under MySQL 4.1 with a 5.0 server, if the tables contained VARCHAR columns, for some queries the metadata sent to the client could have an empty column name. (Bug#14897: http://bugs.mysql.com/14897)

- On 64-bit systems, use of the cp1250 character set with a primary key column in a LIKE clause caused a server crash for patterns having letters in the range 128..255. (Bug#19741: http://bugs.mysql.com/19741)

- N'xxx' and _utf8'xxx' were not treated as equivalent because N'xxx' failed to unescape backslashes (\) and doubled apostrophe/single quote characters (''). (Bug#17313: http://bugs.mysql.com/17313)

- ORDER BY RAND() LIMIT 1 always set a user variable to the last possible value from the table. (Bug#16861: http://bugs.mysql.com/16861)

- A subquery in the WHERE clause of the outer query and using IN and GROUP BY returned an incorrect result. (Bug#16255: http://bugs.mysql.com/16255)

- When NOW() was used in a BETWEEN clause of the definition for a view, it was replaced with a constant in the view. (Bug#15950: http://bugs.mysql.com/15950)

- A stored procedure with a CONTINUE handler that encountered an error continued to execute a statement that caused an error, rather with the next statement following the the one that caused the error. (Bug#8153: http://bugs.mysql.com/8153)

- libmysqlclient defined a symbol BN_bin2bn which belongs to OpenSSL. This could break applications that also linked against OpenSSL's libcrypto library. The fix required correcting an error in a build script that was failing to add rename macros for some functions. (Bug#21930: http://bugs.mysql.com/21930)

- COUNT(*) queries with ORDER BY and LIMIT could return the wrong result. (Bug#21787: http://bugs.mysql.com/21787) Note: This problem was introduced by the fix for Bug#9676: http://bugs.mysql.com/9676, which limited the rows stored in a temporary table to the LIMIT clause. This optimization is not applicable to non-group queries with aggregate functions. The current fix disables the optimization in such cases.

- Memory overruns could occur for certain kinds of subqueries. (Bug#21477: http://bugs.mysql.com/21477)

- The SELECT privilege was required for an insert on a view, instead of the INSERT privilege. (Bug#21261: http://bugs.mysql.com/21261) Note: This fixes a regression that was introduced by the fix for Bug#20989: http://bugs.mysql.com/20989.

- Running SHOW MASTER LOGS at the same time as binary log files were being switched would cause mysqld to hang. (Bug#21965: http://bugs.mysql.com/21965)

- A server or network failure with an open client connection would cause the client to hang even though the server was no longer available. (Bug#9678: http://bugs.mysql.com/9678)

- Transient errors in replication from master to slave may trigger multiple Got fatal error 1236: 'binlog truncated in the middle of event' errors on the slave. (Bug#4053: http://bugs.mysql.com/4053)

- Inserts into BIT columns of FEDERATED tables did not work. (Bug#14532: http://bugs.mysql.com/14532)

- The yaSSL library bundled with libmysqlclient had some conflicts with OpenSSL. Now macros are used to rename the conflicting symbols to have a prefix of ya. (Bug#19810: http://bugs.mysql.com/19810)

- It is possible to create MERGE tables into which data cannot be inserted (by not specifying a UNION clause. However, when an insert was attempted, the error message was confusing. Now an error occurs indicating that the table is read-only. (Bug#17766: http://bugs.mysql.com/17766)

- A NUL byte within a prepared statement string caused the rest of the string not to be written to the query log, allowing logging to be bypassed. (Bug#21813: http://bugs.mysql.com/21813)

- mysql_upgrade created temporary files in a possibly insecure way. (Bug#21224: http://bugs.mysql.com/21224)

- Some prepared statements caused a server crash when executed a second time. (Bug#21166: http://bugs.mysql.com/21166)

- With query_cache_type set to 0, RESET QUERY CACHE was very slow and other threads were blocked during the operation. Now a cache reset is faster and non-blocking. (Bug#21051: http://bugs.mysql.com/21051)

- NDB Cluster: Setting TransactionDeadlockDetectionTimeout to a value greater than 12000 would cause scans to deadlock, time out, fail to release scan records, until the cluster ran out of scan records and stopped processing. (Bug#21800: http://bugs.mysql.com/21800)

- NDB Cluster: The server provided a non-descriptive error message when encountering a fatally corrupted REDO log. (Bug#21615: http://bugs.mysql.com/21615)

- NDB Cluster: A partial rollback could lead to node restart failures. (Bug#21536: http://bugs.mysql.com/21536)

- NDB Cluster: The failure of a unique index read due to an invalid schema version could be handled incorrectly in some cases, leading to unpredictable results. (Bug#21384: http://bugs.mysql.com/21384)

- NDB Cluster: In a cluster with more than 2 replicas, a manual restart of one of the data nodes could fail and cause the other nodes in its nodegroup to shut down. (Bug#21213: http://bugs.mysql.com/21213)

- NDB Cluster: When the redo buffer ran out of space, a Pointer too large error was raised and the cluster could become unusable until restarted with --initial. (Bug#20892: http://bugs.mysql.com/20892)

- NDB Cluster: In some situations with a high disk-load, writing of the redo log could hang, causing a crash with the error message GCP STOP detected. (Bug#20904: http://bugs.mysql.com/20904)

- NDB Cluster: A vague error message was returned when reading of both schema files occurred during a restart of the cluster. (Bug#20860: http://bugs.mysql.com/20860)

- NDB Cluster: The server did not honor the value set for ndb_cache_check_time in the my.cnf file. (Bug#20708: http://bugs.mysql.com/20708)

- NDB Cluster: The server failed with a non-descriptive error message when out of data memory. (Bug#18475: http://bugs.mysql.com/18475)

- NDB Cluster: ndb_size.pl and ndb_error_reporter were missing from RPM packages. (Bug#20426: http://bugs.mysql.com/20426)

- When DROP DATABASE or SHOW OPEN TABLES was issued while concurrently issuing DROP TABLE (or RENAME TABLE, CREATE TABLE LIKE or any other statement that required a name lock) in another connection, the server crashed. (Bug#21216: http://bugs.mysql.com/21216)

- Use of zero-length variable names caused a server crash. (Bug#20908: http://bugs.mysql.com/20908)

- Prepared statements caused general log and server memory corruption. (Bug#14346: http://bugs.mysql.com/14346)

- mysqldump incorrectly tried to use LOCK TABLES for tables in the INFORMATION_SCHEMA database. (Bug#21527: http://bugs.mysql.com/21527)

- Adding ORDER BY to a SELECT DISTINCT(expr) query could produce incorrect results. (Bug#21456: http://bugs.mysql.com/21456)

- For InnoDB tables, the server could crash when executing NOT IN () subqueries. (Bug#21077: http://bugs.mysql.com/21077)

- Use of the --prompt option or prompt command caused mysql to be unable to connect to the Instance Manager. (Bug#17485: http://bugs.mysql.com/17485)

- The server crashed if it tried to access a CSV table for which the data file had been removed. (Bug#15205: http://bugs.mysql.com/15205)

- CREATE USER did not respect the 16-character username limit. (Bug#10668: http://bugs.mysql.com/10668)

- On Windows, a definition for mysql_set_server_option() was missing from the C client library. (Bug#16513: http://bugs.mysql.com/16513)

- For the CSV storage engine, memory-mapped pages of the data file were not invalidated when new data was appended to the file via traditional (file descriptor-based) I/O primitives. (Bug#15669: http://bugs.mysql.com/15669)

- In debugging mode, mysqld printed server_init rather than network_init during network initialization. (Bug#20968: http://bugs.mysql.com/20968)

- For user-defined functions created with CREATE FUNCTION, the DEFINER clause is not legal, but no error was generated. (Bug#21269: http://bugs.mysql.com/21269)

- mysqld --flush failed to flush changes to disk following an UPDATE statement for which no updated column had an index. (Bug#20060: http://bugs.mysql.com/20060)

- When not running in strict mode, the server failed to convert the invalid years portion of a DATE or DATETIME value to '0000' when inserting it into a table. (Bug#19370: http://bugs.mysql.com/19370)

- Setting myisam_repair_threads caused any repair operation on the table to fail to update the cardinality of indexes, instead making them always equal to 1. (Bug#18874: http://bugs.mysql.com/18874)

- The --with-collation option was not honored for client connections. (Bug#7192: http://bugs.mysql.com/7192)

- Users who had the SHOW VIEW privilege for a view and privileges on one of the view's base table could not see records in INFORMATION_SCHEMA tables relating to the base table. (Bug#20543: http://bugs.mysql.com/20543)

- An issue with yaSSL prevented Connector/J clients from connecting to the server using a certificate. (Bug#19705: http://bugs.mysql.com/19705)

- Some server errors were not reported to the client, causing both to try to read from the connection until a hang or crash resulted. (Bug#16581: http://bugs.mysql.com/16581)

- When setting a column to its implicit default value as the result of inserting a NULL into a NOT NULL column as part of a multi-row insert or LOAD DATA operation, the server returned a misleading warning message. (Bug#14770: http://bugs.mysql.com/14770)

- DECIMAL columns were handled incorrectly in two respects (Bug#16172: http://bugs.mysql.com/16172): 1. When the precision of the column was too small for the value. In this case, the original value was returned instead of an error. 2. When the scale of the column was set to 0. In this case, the value. In this case, the value was treated as though the scale had been defined as 2.

- Tables created with the FEDERATED storage engine did not permit indexes using NULL columns. (Bug#15133: http://bugs.mysql.com/15133)

- The Instance Manager allowed STOP INSTANCE to be used on a server instance that was not running. (Bug#12673: http://bugs.mysql.com/12673)

- On Windows, mysql_upgrade.exe could not find mysqlcheck.exe. (Bug#20950: http://bugs.mysql.com/20950)

- FEDERATED tables raised invalid duplicate key errors when attempting on one server to insert rows having the same primary key values as rows that had been deleted from the linked table on the other server. (Bug#18764: http://bugs.mysql.com/18764)

- The C API failed to return a status message when invoking a stored procedure. (Bug#15752: http://bugs.mysql.com/15752)

- A stored procedure that created and invoked a prepared statement was not executed when called in a mysqld init-file. (Bug#17843: http://bugs.mysql.com/17843)

- Stored procedures did not use the character set defined for the database in which they were created. (Bug#16676: http://bugs.mysql.com/16676)

- CREATE PROCEDURE, CREATE FUNTION, CREATE TRIGGER, and CREATE VIEW statements containing multi-line comments (/* ... */) could not be replicated. (Bug#20438: http://bugs.mysql.com/20438)

- The final parenthesis of a CREATE INDEX statement occurring in a stored procedure was omitted from the binary log when the stored procedure was called. (Bug#19207: http://bugs.mysql.com/19207)

- Attempting to insert a string of greater than 4096 bytes into a FEDERATED table resulted in the error ERROR 1296 (HY000) at line 2: Got error 10000 'Error on remote system: 1054: Unknown column 'string-value' from FEDERATED. This error was raised regardless of the type of column involved (VARCHAR, TEXT, and so on.) (Bug#17608: http://bugs.mysql.com/17608)

- Performance during an import on a table with a trigger that called a stored procedure was severely degraded. This issue first arose in MySQL 5.0.18. (Bug#21013: http://bugs.mysql.com/21013)

- Repeated DROP TABLE statements in a stored procedure could sometimes cause the server to crash. (Bug#19399: http://bugs.mysql.com/19399)

- The value returned by a stored function returning a string value was not of the declared character set. (Bug#16211: http://bugs.mysql.com/16211)

- For mysql, escaping with backslash sometimes did not work. (Bug#20103: http://bugs.mysql.com/20103)

- Under certain circumstances, AVG(key_val) returned a value but MAX(key_val) returned an empty set due to incorrect application of MIN()/MAX() optimization. (Bug#20954: http://bugs.mysql.com/20954)

- Using aggregate functions in subqueries yielded incorrect results under certain circumstances due to incorrect application of MIN()/MAX() optimization. (Bug#20792: http://bugs.mysql.com/20792)

- A query using WHERE column = constant OR column IS NULL did not return consistent results on successive invocations. The column in each part of the WHERE clause could be either the same column, or two different columns, for the effect to be observed. (Bug#21091: http://bugs.mysql.com/21091)

- The PASSWORD() function returned invalid results when used in some UNION queries. (Bug#16881: http://bugs.mysql.com/16881)

- USE did not refresh database privileges when employed to re-select the current database. (Bug#10979: http://bugs.mysql.com/10979)

- A query using WHERE NOT (column < ANY (subquery)) yielded a different result from the same query using the same column and subquery with WHERE (column > ANY (subquery)). (Bug#20975: http://bugs.mysql.com/20975)

- A user variable set to a value selected from an unsigned column was stored as a signed value. (Bug#7498: http://bugs.mysql.com/7498)

- SELECT statements using GROUP BY against a view could have missing columns in the output when there was a trigger defined on one of the base tables for the view. (Bug#20466: http://bugs.mysql.com/20466)

- A SELECT with a subquery that was bound to the outer query over multiple columns returned different results when a constant was used instead of one of the dependant columns. (Bug#18925: http://bugs.mysql.com/18925)

- When performing a GROUP_CONCAT(), the server transformed BLOB columns VARCHAR columns, which could cause erroneous results when using Connector/J and possibly other MySQL APIs. (Bug#16712: http://bugs.mysql.com/16712)

- The type of the value returned by the VARIANCE() function varied according to the type of the input value. The function should always return a DOUBLE value. (Bug#10966: http://bugs.mysql.com/10966)

- Performing an INSERT on a view that was defined using a SELECT that specified a collation and a column alias caused the server to crash (Bug#21086: http://bugs.mysql.com/21086).

- A query of the form shown here caused the server to crash: SELECT * FROM t1 NATURAL JOIN ( t2 JOIN ( t3 NATURAL JOIN t4, t5 NATURAL JOIN t6 ) ON (t3.id3 = t2.id3 AND t5.id5 = t2.id5) ); (Bug#21007: http://bugs.mysql.com/21007)

- NDB Cluster (Direct APIs): Invoking the MGM API function ndb_mgm_listen_event() caused a memory leak. (Bug#21671: http://bugs.mysql.com/21671)

- NDB Cluster (Direct APIs): The MGM API function ndb_logevent_get_fd() was not actually implemented. (Bug#21129: http://bugs.mysql.com/21129)

- A memory leak was found when running ndb_mgm -e "SHOW". (Bug#21670: http://bugs.mysql.com/21670)

- NDB Cluster: Restarting a data node while DDL operations were in progress on the cluster could cause other data nodes to fail. This could also lead to mysqld hanging or crashing under some circumstances. (Bug#21017: http://bugs.mysql.com/21017, Bug#21050: http://bugs.mysql.com/21050)

- NDB Cluster: An issue that arose from a patch for Bug#19852: http://bugs.mysql.com/19852 made in MySQL 5.0.23 was corrected. (See Section D.1.6, "Changes in release 5.0.23 (Not released).")

- NDB Cluster: The management client ALL STATUS command could sometimes report the status of some data nodes incorrectly. (Bug#13985: http://bugs.mysql.com/13985)

- NDB Cluster: Some queries involving joins on very large NDB tables could crash the MySQL server. (Bug#21059: http://bugs.mysql.com/21059)

- NDB Cluster: SELECT ... FOR UPDATE failed to lock the selected rows. (Bug#18184: http://bugs.mysql.com/18184)

- NDB Cluster: A Cluster whose storage nodes were installed from the MySQL-ndb-storage-* RPMs could not perform CREATE or ALTER operations that made use of non-default character sets or collations. (Bug#14918: http://bugs.mysql.com/14918)

- NDB Cluster: REPLACE statements did not work correctly on an NDB table having both a primary key and a unique key. In such cases, proper values were not set for columns which were not explicitly referenced in the statement. (Bug#20728: http://bugs.mysql.com/20728)

- NDB Cluster: Trying to create or drop a table while a node was restarting caused the node to crash. This is now handled by raising an error. (Bug#18781: http://bugs.mysql.com/18781)

- NDB Cluster: Running ndbd --nowait-nodes=id where id was the node ID of a node that was already running would fail with an invalid error message. (Bug#20419: http://bugs.mysql.com/20419)

- NDB Cluster: Incorrect values were inserted into AUTO_INCREMENT columns of tables restored from a cluster backup. (Bug#20820: http://bugs.mysql.com/20820)

- NDB Cluster: When attempting to restart the cluster following a data import, the cluster would fail during Phase 4 of the restart with Error 2334: Job buffer congestion. (Bug#20774: http://bugs.mysql.com/20774)

- NDB Cluster: A node failure during a scan could sometime cause the node to crash when restarting too quickly following the failure. (Bug#20197: http://bugs.mysql.com/20197)

- NDB Cluster: It was possible to use port numbers greater than 65535 for ServerPort in the config.ini file. (Bug#19164: http://bugs.mysql.com/19164)

- NDB Cluster: Under certain circumstances, a node that was shut down then restarted could hang during the restart. (Bug#18863: http://bugs.mysql.com/18863)

- NDB Cluster (Replication): In some cases, a large number of MySQL servers sending requests to the cluster simultaneously could cause the cluster to crash. This could also be triggered by many NDB API clients making simultaneous event subscriptions or unsubscriptions. (Bug#20683: http://bugs.mysql.com/20683)

- NDB Cluster (Direct APIs): NdbScanOperation::readTuples() and NdbIndexScanOperation::readTuples() ignored the batch parameter. (Bug#20252: http://bugs.mysql.com/20252)

- The implementation for UNCOMPRESS() did not indicate that it could return NULL, causing the optimizer to do the wrong thing. (Bug#18539: http://bugs.mysql.com/18539)

- TIMESTAMPDIFF() examined only the date and ignored the time when the requested difference unit was months or quarters. (Bug#16226: http://bugs.mysql.com/16226)

- perror did not properly report NDB error codes. (Bug#16561: http://bugs.mysql.com/16561)

- mysqlimport sends a set @@character_set_database=binary statement to the server, but this is not understood by pre-4.1 servers. Now mysqlimport encloses the statement within a /*!40101 ... */ comment so that old servers will ignore it. (Bug#15690: http://bugs.mysql.com/15690)

- The character set was not being properly initialized for CAST() with a type like CHAR(2) BINARY, which resulted in incorrect results or even a server crash. (Bug#17903: http://bugs.mysql.com/17903)

- For ODBC compatibility, MySQL supports use of WHERE col_name IS NULL for DATE or DATETIME columns that are NOT NULL, to allow column values of '0000-00-00' or '0000-00-00 00:00:00' to be selected. However, this was not working for WHERE clauses in DELETE statements. (Bug#8143: http://bugs.mysql.com/8143)

- The --master-data option for mysqldump requires certain privileges, but mysqldump generated a truncated dump file without producing an appropriate error message or exit status if the invoking user did not have those privileges. (Bug#21215: http://bugs.mysql.com/21215)

- ALTER VIEW did not retain existing values of attributes that had been originally specified but were not changed in the ALTER VIEW statement. (Bug#21080: http://bugs.mysql.com/21080)

- mysql crashed for very long arguments to the connect command. (Bug#21042: http://bugs.mysql.com/21042)

- perror crashed on Solaris due to NULL return value of strerror() system call. (Bug#20145: http://bugs.mysql.com/20145)

- The query command for mysqltest did not work. (Bug#19890: http://bugs.mysql.com/19890)

- For certain queries, the server incorrectly resolved a reference to an aggregate function and crashed. (Bug#20868: http://bugs.mysql.com/20868)

- When executing a SELECT with ORDER BY on a view that is constructed from a SELECT statement containing a stored function, the stored function was evaluated too many times. (Bug#19862: http://bugs.mysql.com/19862)

- Subqueries on INFORMATION_SCHEMA tables could erroneously return an empty result. (Bug#21231: http://bugs.mysql.com/21231)

- On 64-bit Windows, a missing table generated error 1017, not the correct value of 1146. (Bug#21396: http://bugs.mysql.com/21396)

- The same trigger error message was produced under two conditions: The trigger duplicated an existing trigger name, or the trigger duplicated an existing combination of action and event. Now different messages are produced for the two conditions so as to be more informative. (Bug#10946: http://bugs.mysql.com/10946)

- Multiplication of DECIMAL values could produce incorrect fractional part and trailing garbage caused by signed overflow. (Bug#20569: http://bugs.mysql.com/20569)

- A subquery that contained LIMIT N,1 could return more than one row. (Bug#20519: http://bugs.mysql.com/20519)

- DESCRIBE returned the type BIGINT for a column of a view if the column was specified by an expression over values of the type INT. (Bug#19714: http://bugs.mysql.com/19714)

- Multiple invocations of the REVERSE() function could return different results. (Bug#18243: http://bugs.mysql.com/18243)

- Using > ALL with subqueries that return no rows yielded incorrect results under certain circumstances due to incorrect application of MIN()/MAX() optimization. (Bug#18503: http://bugs.mysql.com/18503)

- Using ANY with "non-table" subqueries such as SELECT 1 yielded incorrect results under certain circumstances due to incorrect application of MIN()/MAX() optimization. (Bug#16302: http://bugs.mysql.com/16302)

- When a row was inserted through a view but did not specify a value for a column that had no default value in the base table, no warning or error occurred. Now a warning occurs, or an error in strict SQL mode. (Bug#16110: http://bugs.mysql.com/16110)

- The use of WHERE col_name IS NULL in SELECT statements reset the value of LAST_INSERT_ID() to zero. (Bug#14553: http://bugs.mysql.com/14553)

- The server crashed when using the range access method to execut a subquery with a ORDER BY DESC clause. (Bug#20869: http://bugs.mysql.com/20869)

- Use of the join cache in favor of an index for ORDER BY operations could cause incorrect result sorting. (Bug#17212: http://bugs.mysql.com/17212)

- A user-defined function that is called on each row of a returned result set, could receive an in_null state that is set, if it was set previously. Now, the is_null state is reset to false before each invocation of a UDF. (Bug#19904: http://bugs.mysql.com/19904)

- Referring to a stored function qualified with the name of one database and tables in another database caused a "table doesn't exist" error. (Bug#18444: http://bugs.mysql.com/18444)

- For NDB and possibly InnoDB tables, a BEFORE UPDATE trigger could insert incorrect values. (Bug#18437: http://bugs.mysql.com/18437)

- Triggers on tables in the mysql database caused a server crash. Triggers for tables in this database now are disallowed. (Bug#18361: http://bugs.mysql.com/18361)

- The length of the pattern string prefix for LIKE operations was calculated incorrectly for multi-byte character sets. As a result, the the scanned range was wider than necessary if the prefix contained any multi-byte characters, and rows could be missing from the result set. (Bug#16674: http://bugs.mysql.com/16674, Bug#18359: http://bugs.mysql.com/18359)

- For very complex SELECT statements could create temporary tables that were too big, but for which the temporary files did not get removed, causing subsequent queries to fail. (Bug#11824: http://bugs.mysql.com/11824)

- For spatial data types, the server formerly returned these as VARSTRING values with a binary collation. Now the server returns spatial values as BLOB values. (Bug#10166: http://bugs.mysql.com/10166)

- Using SELECT and a table join while running a concurrent INSERT operation would join incorrect rows. (Bug#14400: http://bugs.mysql.com/14400)

- Using SELECT on a corrupt table using the dynamic record format could cause a server crash. (Bug#19835: http://bugs.mysql.com/19835)

- Using tables from MySQL 4.x in MySQL 5.x, in particular those with VARCHAR fields and using INSERT DELAYED to update data in the table would result in either data corruption or a server crash. (Bug#16611: http://bugs.mysql.com/16611, Bug#16218: http://bugs.mysql.com/16218, Bug#17294: http://bugs.mysql.com/17294)

- Checking a MyISAM table (using CHECK TABLE) having a spatial index and only one row would wrongly indicate that the table was corrupted. (Bug#17877: http://bugs.mysql.com/17877)

- SHOW GRANTS FOR CURRENT_USER did not return definer grants when executed in DEFINER context (such as within a stored prodedure defined with SQL SECURITY DEFINER), it returned the invoker grants. (Bug#15298: http://bugs.mysql.com/15298)

- For SELECT ... FOR UPDATE statements that used DISTINCT or GROUP BY over all key parts of a unique index (or primary key), the optimizer unnecessarily created a temporary table, thus losing the linkage to the underlying unique index values. This caused a Result set not updatable error. (The temporary table is unnecessary because under these circumstances the distinct or grouped columns must also be unique.) (Bug#16458: http://bugs.mysql.com/16458)

- The first time a user who had been granted the CREATE ROUTINE privilege used that privilege to create a stored function or procedure, the Password column in that user's row in the mysql.user table was set to NULL. (Bug#19857: http://bugs.mysql.com/19857)

- Creation of a view as a join of views or tables could fail if the views or tables are in different databases. (Bug#20482: http://bugs.mysql.com/20482)

- Use of MIN() or MAX() with GROUP BY on a ucs2 column could cause a server crash. (Bug#20076: http://bugs.mysql.com/20076)

- INSERT INTO ... SELECT ... LIMIT 1 could be slow because the LIMIT was ignored when selecting candidate rows. (Bug#9676: http://bugs.mysql.com/9676)

- Certain queries having a WHERE clause that included conditions on multi-part keys with more than 2 key parts could produce incorrect results and send [Note] Use_count: Wrong count for key at... messages to STDERR. (Bug#16168: http://bugs.mysql.com/16168)

- The mysql_list_fields() C API function returned the incorrect table name for views. (Bug#19671: http://bugs.mysql.com/19671)

- A cast problem caused incorrect results for prepared statements that returned float values when MySQL was compiled with gcc 4.0. (Bug#19694: http://bugs.mysql.com/19694)

- Updating a column of a FEDERATED table to NULL sometimes failed. (Bug#16494: http://bugs.mysql.com/16494)

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

[AD]