MySQL 5.1.6アルファ版がリリースされました。


最も普及しているオープンソースデータベース管理システムであるMySQL 5.1.6アル ファ版がリリースされました。

コミュニティエディションは、http://dev.mysql.com/downloads/とミラーサイトのダウンロード・ページから、ソースコード及び多くのプラットフォーム のためのバイナリで現在利用可能です。

すべてのミラーサイトが現在、最新であるとは限らないことに注意してください。 あるミラーサイトでこのバージョンを見つけることができない場合は、再度確認を行 うか、あるいは別のダウンロード・サイトを選択してください。

これは、アルファ版の新開発リリースで、新しい特徴と最近発見されたバグの対処を 加えています。

注意:このアルファリリースは、他の出荷前製品リリースと同様、重大なデータを備 えた、「製品」レベルのシステムあるいはシステムにインストールされるべきではあ りません。




Functionality added or changed:

* Packaging changes: MySQL 5.1.6 introduces some changes to distribution packaging:
  + Distributions include both a mysqld optimized server and mysqld-debug debugging server. There is no separate debug distribution.
  + There is no longer a mysqld-max server.
  + Server binaries are no longer stripped, except for RPM distributions.
  + Binary distributions for Unix and Unix-like systems no longer include safe_mysqld as a link to mysqld_safe. safe_mysqld has been deprecated since MySQL 4.0 and is now removed.
* Events: MySQL 5.1.6 introduces the Events Scheduler, which allows one to schedule SQL statements for execution at predetermined times. Events can be transient (one-time-only) or recurrent at regular intervals, and may execute queries and statements permitted in stored routines, including compound statements.
  + The CREATE EVENT statement creates events. Users must have the EVENT privilege to create events.
  + Events can be altered after creation (with ALTER EVENT) and dropped when no longer needed (with DROP EVENT).
  + For more information, seehttp://dev.mysql.com/doc/refman/5.1/en/events.html
* INCOMPATIBLE CHANGE: This release introduced the TRIGGER privilege. Previously, the SUPER privilege was needed to create or drop triggers. Now those operations require the TRIGGER privilege. This is a security improvement because you no longer need to grant users the SUPER privilege to enable them to create triggers. However, the requirement that the account named in a trigger's DEFINER clause must have the SUPER privilege has changed to a requirement for the TRIGGER privilege. After upgrading, be sure to update your grant tables as described in Section 5.5, "mysql_fix_privilege_tables --- Upgrade MySQL System Tables."
  This process will assign the TRIGGER privilege to all accounts that had the SUPER privilege. (After updating, you might also consider whether any of those accounts no longer need SUPER.)
  If you fail to update the grant tables, triggers may fail when activated.
  (Bug#9142 (http://bugs.mysql.com/9142))
* INCOMPATIBLE CHANGE: Due to a change in the naming scheme for partitioning and subpartitioning files, it is not possible for the server to read partitioned tables created in previous MySQL versions. A suggested workaround is (1) to create a non-
  partitioned table with the same table schema using a standard CREATE TABLE statement (that is, with no partitioning clauses) and then (2) to issue a SELECT INTO to copy the data into the non-partitioned table before the upgrade; following the upgrade, you can partition the new table using ALTER TABLE ... PARTITION BY .... Alternatively, you can dump the table using mysqldump prior to upgrading and reload it afterwards with LOAD DATA. In either case, you should drop the pre-5.1.6 partitioned tables before upgrading to 5.1.6 or later.
  (Bug#13437 (http://bugs.mysql.com/13437))
  Important: If any partitioned tables that were created prior to MySQL 5.1.6 are present following an upgrade to MySQL 5.1.6 or later, it is also not possible to read from the INFORMATION_SCHEMA.PARTITIONS table, nor will you be able to drop those tables or the database or databases in which they are located. In this event, you must:(1) shut down mysqld; (2) manually delete the table, partition, and (if any) subpartition files; and then (3) restart the MySQL Server.
  (Bug#16695 (http://bugs.mysql.com/16695))
* INCOMPATIBLE CHANGE: Words with apostrophes are now matched in a FULLTEXT search against non-apostrophe words (for example, a search for Jerry will match against the term Jerry's). Users upgrading to this version must issue REPAIR TABLE statements for tables containing FULLTEXT indexes.
  (Bug#14194 (http://bugs.mysql.com/14194))
* Partition pruning. A new optimization now ensures searches of partitioned tables use only those partitions relevant to the search. The optimization also affects INSERT and UPDATE operations on partitioned tables, making those operations faster on partitioned table than in earlier versions of MySQL.
* Replication between MySQL Clusters is now supported. It is now also possible to replicate between a MySQL Cluster and a non-cluster database. See Section 16.7, "MySQL Cluster Replication."
* The mysqldump utility now supports an option for dumping tablespaces. Use "-Y" or "--all-tablespaces" to enable this functionality.
  (Bug#16753 (http://bugs.mysql.com/16753))
* Partition support is not an "engine", but it was included in the output of SHOW ENGINES. Now it is not.
  (Bug#14355 (http://bugs.mysql.com/14355))
  The have_partition_engine was renamed to have_partitioning.
  (Bug#16718 (http://bugs.mysql.com/16718))
* ANALYZE TABLE is now supported for partitioned tables.
  (Bug#13441 (http://bugs.mysql.com/13441))
* Support for OPTIMIZE, CHECK, and REPAIR of partitioned tables has been added.
* The slow query and general logs can now be queried in table form, using the CSV engine; that is, it's now possible to SELECT FROM mysql.slow_log and SELECT FROM mysql.general_log.
* Added the --log-output option for controlling whether log files or log tables are used.
* Added the character_set_filesystem system variable.
* Added the event_scheduler system variable.
* Added the ndb_extra_logging system variable.
* Added the FILES table to INFORMATION_SCHEMA.
* The ARCHIVE storage engine supports the AUTO_INCREMENT column attribute and the AUTO_INCREMENT table option. Section 14.8, "The ARCHIVE Storage Engine."
* Fixed a crash when fulltext search parser plugin returned more words than half of the length (in bytes) of the query string.
  (Bug#16722 (http://bugs.mysql.com/16722))
* Significant optimizations of partition management has been performed for non-NDB partitioned tables. This relates to ALTER TABLE DROP PARTITION, ALTER TABLE ADD PARTITION, ALTER TABLE REORGANIZE PARTITION. + Now adding a new partition to RANGE/LIST partitioned can be done without touching other partitions and the same with DROP PARTITION and REORGANIZE will only reorganize those partitions necessary to reorganize.
* The ALTER TABLE REORGANIZE PARTITION has been changed, previously the syntax used the keyword REORGANISE.
* A number of new partition commands have been added:

Bugs fixed:

* STR_TO_DATE(1,NULL) caused a server crash.
  (Bug#15828 (http://bugs.mysql.com/15828))
* An INSERT statement in a stored procedure corrupted the binary log.
  (Bug#16621 (http://bugs.mysql.com/16621))
* MYSQL_OPT_RECONNECT option was modified by calls to the mysql_real_connect() function.
  (Bug#15719 (http://bugs.mysql.com/15719))
* Specifying a value for --tmptable without a trailing slash had unpredictable results.
  (Bug#15904 (http://bugs.mysql.com/15904))
* Attempting to insert data into a partitioned table that used the BLACKHOLE storage engine caused mysqld to crash.
  (Bug#14524 (http://bugs.mysql.com/14524))
* Using RANGE partitioning with a CASE statement as the partitioning function would cause records to be placed in the wrong partition.
  (Bug#15393 (http://bugs.mysql.com/15393))
* ALTER TABLE ... ADD PARTITIONS on a table with one partition crashed the server.
  (Bug#15820 (http://bugs.mysql.com/15820))
* NDB Cluster returned incorrect "Can't find file" error for OS error 24, changed to "Too many open files".
  (Bug#15020 (http://bugs.mysql.com/15020))
* Multi-byte path names for LOAD DATA and SELECT ... INTO OUTFILE caused errors.
  (Bug#12448 (http://bugs.mysql.com/12448))
* Certain subqueries where the inner query is the result of a aggregate function would return different results on MySQL 5.0 than on MySQL 4.1.
  (Bug#15347 (http://bugs.mysql.com/15347))
* Error message for specifying value for which no partition exists returned wrong values on certain platforms.
  (Bug#15910 (http://bugs.mysql.com/15910))
* Certain Japanese table names were not properly saved during a CREATE TABLE statement.
  (Bug#3906 (http://bugs.mysql.com/3906))
* NDB Cluster leaked disk space when performing INSERTS/DELETES in a loop.
  (Bug#16771 (http://bugs.mysql.com/16771))
* NDB Cluster returned wrong error when tablespace on disk was full.
  (Bug#16738 (http://bugs.mysql.com/16738))
* The DATA DIRECTORY and INDEX DIRECTORY clauses of a CREATE TABLE statement involving partitions did not work.
  (Bug#14354 (http://bugs.mysql.com/14354))
* Subquery could return wrong results when records cache and grouping was involved.
  (Bug#15347 (http://bugs.mysql.com/15347))
* In some cases the query optimizer did not properly perform multiple joins where inner joins followed left joins, resulting in corrupted result sets.
  (Bug#15633 (http://bugs.mysql.com/15633))
* The absence of a table in the left part of a left or right join was not checked prior to name resolution, which resulted in a server crash.
  (Bug#15538 (http://bugs.mysql.com/15538))
* NDB Cluster: Trying to import too many dumped tables requiring resources beyond those allocated in the cluster configuration would cause the server to crash instead of reporting an insufficient resources error.
  (Bug#16455 (http://bugs.mysql.com/16455))
* NDB Cluster (Disk Data): Tablespaces created using parameters with relatively low values (< 10 MB) produced filesizes much smaller than expected.
  (Bug#16742 (http://bugs.mysql.com/16742))
* NDB Cluster: CREATE TABLESPACE statements were incorrectly parsed on 64-bit platforms. (INITIAL SIZE size worked, but INITIAL SIZE = size failed.)
  (Bug#13556 (http://bugs.mysql.com/13556))
* Trying to add more than one partition in a single ALTER TABLE... ADD PARTITION statement caused the server to crash.
  (Bug#16534 (http://bugs.mysql.com/16534))
* Creating a partitioned table using a storage engine other than the session default storage engine caused the server to crash.
  (Bug#15966 (http://bugs.mysql.com/15966))
* An ALTER TABLE ... PARTITION BY ... statement did not have any effect.
  (Bug#15523 (http://bugs.mysql.com/15523))
* NDBCluster (Disk Data): The error message generated by a failed ADD UNDOFILE did not provide any reasons for the failure.
  (Bug#16267 (http://bugs.mysql.com/16267))
* NDBCluster (Disk Data): DROP LOGFILE GROUP corrupted the cluster file system and caused ndbd to fail when running more than one node on the same system.
  (Bug#16193 (http://bugs.mysql.com/16193))
* NDBCluster: A bitfield whose offset and length totaled 32 would crash the cluster.
  (Bug#16125 (http://bugs.mysql.com/16125))
* NDBCluster: Upon the completion of a scan where a key request remained outstanding on the primary replica and a starting node died, the scan did not terminate. This caused incompleted error handling of the failed node.
  (Bug#15908 (http://bugs.mysql.com/15908))
* NDBCluster: The ndb_autodiscover test failed sporadically due to a node not being permitted to connect to the cluster.
  (Bug#15619 (http://bugs.mysql.com/15619))
* Using mysqldump to obtain a dump of a partitioned table employing the NDB storage engine produced a non-functional table creation statement.
  (Bug#13155 (http://bugs.mysql.com/13155))
* SHOW CREATE TABLE did not display the PARTITIONS clause for tables partitioned by HASH or KEY.
  (Bug#14327 (http://bugs.mysql.com/14327))
* Inserting a negative value into an integer column used as the partitioning key for a table partitioned by HASH could cause the server to crash.
  (Bug#15968 (http://bugs.mysql.com/15968))
* With a table partitioned by LIST, inserting a value which was smaller than any value shown in the partitioning value-lists could cause the server to crash.
  (Bug#14365 (http://bugs.mysql.com/14365))
* ALTER TABLE ... DROP PARTITION would truncate all DATE column values in the table's remaining partitions to NULL.
  (Bug#13644 (http://bugs.mysql.com/13644))
* ALTER TABLE ... ADD PARTITION could crash the server or cause an Out of memory error in some circumstances.
  (Bug#13447 (http://bugs.mysql.com/13447))
* The server would allow foreign keys to be declared in the definition of a partitioned table despite the fact that partitioned tables do not support foreign keys (see Section 17.4, "Restrictions and Limitations on Partitioning").
  (Bug#13446 (http://bugs.mysql.com/13446))
* A SELECT from a key-partitioned table with a multi-column key could cause the server to crash.
  (Bug#13445 (http://bugs.mysql.com/13445))
* Issuing a TRUNCATE statement twice in succession on the same partitioned table would cause the server to crash.
  (Bug#13442 (http://bugs.mysql.com/13442))
* Using a REPLACE statement on a partitioned table caused the server to crash.
  (Bug#13440 (http://bugs.mysql.com/13440))
* Using an identifier rather than a literal integer value in the LESS THAN clause of a range-partitioned table could cause the server to crash and corruption of tables.
  (Bug#13439 (http://bugs.mysql.com/13439))
* Using ENGINE=... within a PARTITION clause could cause the server to crash.
  (Bug#13438 (http://bugs.mysql.com/13438))
* CREATE TABLE ... LIKE did not work if the table whose schema was to be copied was a partitioned table.
  (Bug#13435 (http://bugs.mysql.com/13435))
* SHOW CREATE TABLE did not display the PARTITIONS clause for tables partitioned by HASH or KEY.
  (Bug#14327 (http://bugs.mysql.com/14327))
* Certain permission management statements could create a NULL hostname for a user, resulting in a server crash.
  (Bug#15598 (http://bugs.mysql.com/15598))
* Temporary table aliasing did not work inside stored functions.
  (Bug#12198 (http://bugs.mysql.com/12198))
* Parallel builds occasionally failed on Solaris.
  (Bug#16282 (http://bugs.mysql.com/16282))