MySQL 5.0.26がリリースされました


最も普及しているオープンソースデータベース管理システムであるMySQL 5.0.26がリリースされました。コミュニティエディションは、http://dev.mysql.com/downloads/とミラーサイトのダウンロード・ページから、ソースコード及び多くのプラットフォームのためのバイナリで現在利用可能です。




このバージョンでの個々のバグ修正に関するより詳細については、http://bugs.mysql.com/ で、バグデータベースを参照して下さい。



Functionality added or changed:
   * The source distribution has been updated so that the UDF
     example can be compiled under Windows with CMake. See Section, "Compiling and Installing User-Defined Functions."
     statements are deprecated. See Section, "LOAD DATA
     FROM MASTER Syntax," for recommended alternatives.
   * 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)

Bugs fixed:
   * 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.
   * 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.
   * 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.
   * 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.
   * 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.
   * Incorporated some portability fixes into the definition of
     __attribute__ in my_global.h.
   * Linking the pthreads library to single-threaded MySQL
     libraries caused dlopen() to fail at runtime on HP-UX.
   * In the package of pre-built time zone tables that is available
     for download athttp://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.
   * 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.
   * 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.
   * 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.
   * 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.
   * On Windows, inserting into a MERGE table after renaming an
     underlying MyISAM table caused a server crash.
   * 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.
   * 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.
   * The source distribution failed to compile when configured with
     the --without-geometry option.
   * The source distribution failed to compile when configured with
     the --with-libwrap option.
     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.
   * 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.
   * 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.
   * A subquery that uses an index for both the WHERE and ORDER BY
     clauses produced an empty result.
   * 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.
   * Queries containing a subquery that used aggregate functions
     could return incorrect results.
   * 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.
   * Use of myisampack or myisamchk on a table with FULLTEXT
     indexing resulted in table corruption.
   * BIN(), OCT(), and CONV() did not work with BIT values.
   * 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.
   * 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.
   * 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.