MySQL 5.1.7ベータ版がリリースされました。


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







Functionality added or changed:

* Incompatible change: TYPE = engine_name is no longer accepted as a synonym for the ENGINE = engine_name table option. (TYPE has been deprecated for some time already.)
* Added the mysql_upgrade program that checks all tables for incompatibilities with the current version of MySQL Server and repairs them if necessary. This program should be run for each MySQL upgrade (rather than mysql_fix_privilege_tables). See Section 5.5.2, "mysql_upgrade --- Check Tables for MySQL Upgrade."
* All subpartitions within a given partitioned table are now guaranteed to have unique names.
  (Bug #15408 (http://bugs.mysql.com/15408))
* Added the FOR UPGRADE option for the CHECK TABLE statement. This option checks whether tables are incompatible with the current version of MySQL Server. Also added the --check-upgrade option to mysqlcheck that invokes CHECK TABLE with the FOR UPGRADE option. Added the --fix-db-names and --fix-table-names options to mysqlcheck.
* Added the RENAME DATABASE statement. This is a first version with limited functionality, especially it does not migrate any stored routines or events to the new schema (stored routines and events must be redefined in the new database). Its current main purpose is for migration of old data that uses filenames/dirnames in some coding page to the new filename encoding. Like a RENAME TABLE, it will also not change any account privileges listed in the system tables (this needs to be done manually, if this is required for the renamed table).
* The SQL mode in effect at the time an event is created or altered is recorded and used during event execution.
  (Bug #16407 (http://bugs.mysql.com/16407))
* Attempting to read pre-5.1.6 partitioned tables with a MySQL 5.1.7 (or later) server now generates a suitable warning message.
  (Bug #16695 (http://bugs.mysql.com/16695))
  For additional information about this issue, see Section D.1.3, "Changes in release 5.1.6 (01 February 2006)."
* NDB Cluster: Attempting to SELECT ... FROM INFORMATION_SCHEMA.FILES now raises a warning in the event that the cluster has crashed.
  (Bug #17087 (http://bugs.mysql.com/17087))
* Removed the have_isam and have_raid system variables.
* Status messages added to ndb_restore to allow users to know that data files for Disk Data are being created.
  (Bug #16873 (http://bugs.mysql.com/16873))
* Added the IN NATURAL LANGUAGE MODE and IN NATURAL LANGUAGE MODE WITH QUERY EXPANSION modifiers for full-text searches. See Section 12.7, "Full-Text Search Functions."
* Creator privileges are now checked for all events before execution.
  (Bug #17289 (http://bugs.mysql.com/17289))
* CREATE/DROP/ALTER EVENT statements are not allowed in triggers.
  (Bug #16410 (http://bugs.mysql.com/16410))

Bugs fixed:

* The mysql_fix_privilege_tables.sql script did not properly initialize the Event_priv column to 'Y' for those accounts that should have the EVENT privilege.
  (Bug #16400 (http://bugs.mysql.com/16400))
* NDB Cluster: Inserting the output of REPEAT('some_string', some_int) into a BLOB column resulted in the error Invalid blob attributes or invalid blob parts table.
  (Bug #17505 (http://bugs.mysql.com/17505))
* NDB Cluster: Row-based replication was not being set up correctly if a backup was already in progress. For example, connecting a mysqld instance to a cluster which was being backed up would result in the message NDB: skipping setup table test.t1 being written to the error log.
  (Bug #17459 (http://bugs.mysql.com/17459))
* NDB Cluster: CREATE TEMPORARY TABLE of a Cluster table would fail with an Unsupported error or crash the server.
  (Bug #17210 (http://bugs.mysql.com/17210),
  Bug #16552 (http://bugs.mysql.com/16552))
* NDB Cluster: UNIQUE keys in Cluster tables were limited to 225 bytes in length.
  (Bug #15918 (http://bugs.mysql.com/15918))
* NDB Cluster: REPLACE failed when attempting to update a primary key value in a Cluster table.
  (Bug #14007 (http://bugs.mysql.com/14007))
* NDB Cluster: Creating NDB tables containing BLOB columns but no primary key caused unpredictable behavior.
  (Bug #17559 (http://bugs.mysql.com/17559))
* Creating an event and using a whitespace character other than space following the DO keyword caused a server crash.
  (Bug #17453 (http://bugs.mysql.com/17453))
* Previously, a stored function invocation was written to the binary log as DO func_name() if the invocation changes data and occurs within a non-logged statement, or if the function invokes a stored procedure that produces an error. These invocations now are logged as SELECT func_name() instead for better control over error code checking (slave servers could stop due to detecting a different error than occurred on the master).
  (Bug #14769 (http://bugs.mysql.com/14769))
* CHECKSUM TABLE returned different values on MyISAM table depending on whether the QUICK or EXTENDED options were used.
  (Bug #8841 (http://bugs.mysql.com/8841))
* Querying the INFORMATION_SCHEMA.partitions table on a non-max server caused a server crash.
  (Bug #16591 (http://bugs.mysql.com/16591))
* MySQL server dropped client connection for certain SELECT statements against views defined that used MERGE algorithm.
  (Bug #16260 (http://bugs.mysql.com/16260))
* A statement containing GROUP BY and HAVING clauses could return incorrect results when the HAVING clause contained logic that returned FALSE for every row.
  (Bug #14927 (http://bugs.mysql.com/14927))
* Using GROUP BY on column used in WHERE clause could cause empty set to be returned.
  (Bug #16203 (http://bugs.mysql.com/16203))
* DROP DATABASE did not drop events for the database.
  (Bug #16406 (http://bugs.mysql.com/16406))
* Race conditions between event creation, dropping, and execution could result in a server crash or hang.
  (Bug #17373 (http://bugs.mysql.com/17373))
* SET sql_mode = N, where N > 31, did not work properly.
  (Bug #13897 (http://bugs.mysql.com/13897))
* Repeated invocation of my_init() and my_end() caused corruption of character set data and connection failure.
  (Bug #6536 (http://bugs.mysql.com/6536))
* When used with the ExtractValue() function, an XPath expression having no leading "/" character would crash the server.
  (Bug #16234 (http://bugs.mysql.com/16234))
* Attempting to add a new partition to a table partitioned by a unique key would cause an Out of memory error.
  (Bug #17169 (http://bugs.mysql.com/17169))
* A SELECT from the last partition of a subpartitioned table having a UNIQUE KEY could crash the MySQL Server.
  (Bug #16907 (http://bugs.mysql.com/16907))
* A SELECT on a subpartitioned table having a multiple-column PRIMARY or UNIQUE KEY, and whose partitioning function used only the first column of the key, could cause mysqld to crash.
  (Bug #16901 (http://bugs.mysql.com/16901))
* Using REPLACE INTO on a partitioned table having a primary key would crash the server in the event of a duplicate key error.
  (Bug #16782 (http://bugs.mysql.com/16782))
* DROP TABLE would sometimes fail on a table having subpartitions that used the default storage engine.
  (Bug #16775 (http://bugs.mysql.com/16775))
* NDB Cluster: Sharing of table names containing special characters between multiple SQL nodes was not handled correctly when binary logging was enabled (a timeout error resulted).
  (Bug #17415 (http://bugs.mysql.com/17415))
* NDB Cluster: Table definitions were not shared between multiple SQL nodes in a cluster without binary logging being enabled. (Bug #17414 (http://bugs.mysql.com/17414))
* NDB Cluster: Cluster log file paths were truncated to 128 characters. They may now be as long as MAX_PATH (the maximum path length permitted by the operating system).
  (Bug #17411 (http://bugs.mysql.com/17411))
* SHOW CREATE EVENT displayed no output.
  (Bug #16423 (http://bugs.mysql.com/16423))
* Statements that contained Unicode characters were not logged to the log tables correctly.
  (Bug #16905 (http://bugs.mysql.com/16905))
  (Bug#15619 (http://bugs.mysql.com/15619))
* On Windows platforms, some attempts to create partitioned tables from the command line would cause the mysql client to hang.
  (Bug #17082 (http://bugs.mysql.com/17082))
* NDB Cluster: SHOW CREATE TABLE would fail when run against a table created in a different session.
  (Bug #17340 (http://bugs.mysql.com/17340))
* NDB Cluster: Following multiple forced shutdowns and restarts of data nodes, DROP DATABASE could fail.
  (Bug #17325 (http://bugs.mysql.com/17325))
* NDB Cluster: An UPDATE with an inner join failed to match any records if both tables in the join did not have a primary key.
  (Bug #17257 (http://bugs.mysql.com/17257))
* NDB Cluster: A DELETE with a join in the WHERE clause failed to retrieve any records if both tables in the join did not have a primary key.
  (Bug #17249 (http://bugs.mysql.com/17249))
* The NDB Cluster storage engine did not allow views to be updated.
  (Bug #17206 (http://bugs.mysql.com/17206))
* NDB Cluster: Row-based replication of a cluster failed to take --binlog_ignore_db settings into account.
  (Bug #17188 (http://bugs.mysql.com/17188))
* Trying to create a partitioned table with more than 32 attributes failed.
  (Bug #17179 (http://bugs.mysql.com/17179))
* NDB Cluster: When attempting to import data into an NDB table using LOAD DATA INFILE, the server would hang in the event of a duplicate key error.
  (Bug #17154 (http://bugs.mysql.com/17154))
* NDB Cluster: In some cases, LOAD DATA INFILE did not load all data into NDB tables.
  (Bug #17081 (http://bugs.mysql.com/17081))
* NDB Cluster: Performing large numbers of data manipulation statements on cluster tables using Disk Data could lead to a server crash. ()
* NDB Cluster: In some cases, a cluster using Disk Data tables could not be restarted following a normal shutdown.
  (Bug #16872 (http://bugs.mysql.com/16872))
* NDB Cluster: The REDO log would become corrupted (and thus unreadable) in some circumstances, due to a failure in the query handler.
  (Bug #17295 (http://bugs.mysql.com/17295))
* NDB Cluster: CREATE TABLE new_tbl LIKE old_tbl; failed when old_tbl used the NDB storage engine.
  (Bug #17005 (http://bugs.mysql.com/17005))
* NDB Cluster: No error message was generated for setting NoOfFragmentLogFiles too low.
  (Bug #13966 (http://bugs.mysql.com/13966))
* NDB Cluster: No error message was generated for setting MaxNoOfAttributes too low.
  (Bug #13965 (http://bugs.mysql.com/13965))
* The SELECT privilege was required for triggers that performed no selects.
  (Bug #15196 (http://bugs.mysql.com/15196))
* The UPDATE privilege was required for triggers that performed no updates.
  (Bug #15166 (http://bugs.mysql.com/15166))
* CAST(... AS TIME) operations returned different results when using --ps-protocol mode versus not using prepared-statement protocol.
  (Bug #15805 (http://bugs.mysql.com/15805))
* Killing a long-running query containing a subquery could cause a server crash.
  (Bug #14851 (http://bugs.mysql.com/14851))
* InnoDB could display an incorrect error message for a cascading update.
  (Bug #9680 (http://bugs.mysql.com/9680))
* A RETURN statement within a trigger caused a server crash. RETURN now is disallowed within triggers. To exit immediately, use LEAVE.
  (Bug #16829 (http://bugs.mysql.com/16829))