オリジナル版:http://dev.mysql.com/doc/refman/5.1/en/news-5-1-29.html
最も普及しているオープンソースデータベースの新たなリリース候補であるMySQL 5.1.29rc版がリリースされました。
MySQL 5.1.29rc版はまだ安定版候補のリリースであり、他の多くの試作商品リリースと同様、商品レベルのシステムまたは、重要なデータを含むシステムに対してインストールしないように注意してください。5.0使用の商品レベルのシステムについては、以下のMySQL Enterpriseの商品説明のページをご覧ください。
http://mysql.com/products/enterprise/
MySQL 5.1.29rc版は、http://dev.mysql.com/downloads/とミラーサイトのダウンロード・ページから、ソースコード及び多くのプラットフォームのためのバイナリで現在利用可能です。
すべてのミラーサイトが現在、最新であるとは限らないことに注意してください。
あるミラーサイトでこのバージョンを見つけることができない場合は、再度確認を行うか、あるいは別のダウンロード・サイトを選択してください。
バグレポート、バグ修正、パッチ等の情報をお待ちしておりますので、以下のページをご利用ください。
http://forge.mysql.com/wiki/Contributing
以下のセクションはMySQL5.1の最も最近にリリースされたバージョンであるMySQL5.1.28rc版と比較してのMySQLソースコードにおけるバージョン間の変更を記載しています。
http://dev.mysql.com/doc/refman/5.1/en/news-5-1-29.html
以下は、追加または変更された機能です。
=======================================================================
Functionality added or changed:
* Important Change: The --skip-thread-priority option is now
deprecated in MySQL 5.1 and is removed in MySQL 6.0 such that
the server won't change the thread priorities by default.
Giving threads different priorities might yield marginal
improvements in some platforms (where it actually works), but
it might instead cause significant degradation depending on
the thread count and number of processors. Meddling with the
thread priorities is a not a safe bet as it is very dependent
on the behavior of the CPU scheduler and system where MySQL is
being run.
(Bug#35164:http://bugs.mysql.com/35164,
Bug#37536:http://bugs.mysql.com/37536)
* Important Change: The --log option now is deprecated and will
be removed (along with the log system variable) in the future.
Instead, use the --general_log option to enable the general
query log and the --general_log_file=file_name option to set
the general query log filename. The values of these options
are available in the general_log and general_log_file system
variables, which can be changed at runtime.
Similar changes were made for the --log-slow-queries option
and log_slow_queries system variable. You should use the
--slow_query_log and --slow_query_log_file=file_name options
instead (and the slow_query_log and slow_query_log_file system
variables).
* The SHOW PROFILES and SHOW PROFILE statements were added to
display statement profile data, and the accompanying
"INFORMATION_SCHEMA.PROFILING" table. Profiling is controlled
via the 'profiling' and 'profiling_history_size' session
variables. (Community contribution by Jeremy Cole)
* The BUILD/compile-solaris-* scripts now compile MySQL with the
mtmalloc library rather than malloc.
(Bug#38727:http://bugs.mysql.com/38727)
Bugs fixed:
* Incompatible Change: Replication: The default binary logging
mode has been changed from MIXED to STATEMENT for
compatibility with MySQL 5.0.
(Bug#39812:http://bugs.mysql.com/39812)
* Incompatible Change: In connection with view creation, the
server created arc directories inside database directories and
maintained useless copies of .frm files there. Creation and
renaming procedures of those copies as well as creation of arc
directories has been discontinued.
This change does cause a problem when downgrading to older
server versions which manifests itself under these
circumstances:
1. Create a view v_orig in MySQL 5.1.29 or higher.
2. Rename the view to v_new and then back to v_orig.
3. Downgrade to an older 5.1.x server and run mysql_upgrade.
4. Try to rename v_orig to v_new again. This operation
fails.
As a workaround to avoid this problem, use either of these
approaches:
+ Dump your data using mysqldump before downgrading and
reload the dump file after downgrading.
+ Instead of renaming a view after the downgrade, drop it
and recreate it.
(Bug#17823:http://bugs.mysql.com/17823)
See also Bug#40021:http://bugs.mysql.com/40021
* Important Change: Replication: The SUPER privilege is now
required to change the session value of binlog_format as well
as its global value. For more information about binlog_format,
see Section 15.1.2, "Replication Formats."
(Bug#39106:http://bugs.mysql.com/39106)
* Partitioning: Replication: Replication to partitioned MyISAM
tables could be slow with row-based binary logging.
(Bug#35843:http://bugs.mysql.com/35843)
* Partitioning: If an error occurred when evaluating a column of
a partitioned table for the partitioning function, the row
could be inserted anyway.
(Bug#38083:http://bugs.mysql.com/38083)
* Partitioning: Using INSERT ... SELECT to insert records into a
partitioned MyISAM table could fail if some partitions were
empty and others are not.
(Bug#38005:http://bugs.mysql.com/38005)
* Partitioning: Ordered range scans on partitioned tables were
not always handled correctly. In some cases this caused some
rows to be returned twice. The same issue also caused GROUP BY
query results to be aggregated incorrectly.
(Bug#30573:http://bugs.mysql.com/30573,
Bug#33257:http://bugs.mysql.com/33257,
Bug#33555:http://bugs.mysql.com/33555)
* Replication: Server code used in binary logging could in some
cases be invoked even though binary logging was not actually
enabled, leading to asserts and other server errors.
(Bug#38798:http://bugs.mysql.com/38798)
* Replication: Replication of BLACKHOLE tables did not work with
row-based binary logging.
(Bug#38360:http://bugs.mysql.com/38360)
* Replication: In some cases, a replication master sent a
special event to a reconnecting slave to keep the slave's
temporary tables, but they still had references to the "old"
slave SQL thread and used them to access that thread's data.
(Bug#38269:http://bugs.mysql.com/38269)
* Replication: Replication filtering rules were inappropiately
applied when executing BINLOG pseudo-queries. One way in which
this problem showed itself was that, when replaying a binary
log with mysqlbinlog, RBR events were sometimes not executed
if the --replicate-do-db option was specified. Now replication
rules are applied only to those events executed by the slave
SQL thread.
(Bug#36099:http://bugs.mysql.com/36099)
* Replication: For a CREATE TABLE ... SELECT statement that
creates a table in a database other than the current one, the
table could be created in the wrong database on replication
slaves if row-based binary logging is used.
(Bug#34707:http://bugs.mysql.com/34707)
* Replication: A statement did not always commit or roll back
correctly when the server was shut down; the error could be
triggered by having a failing UPDATE or INSERT statement on a
transactional table, causing an implicit rollback.
(Bug#32709:http://bugs.mysql.com/32709)
See also Bug#38262:http://bugs.mysql.com/38262
* CHECK TABLE ... FOR UPGRADE did not check for incompatible
collation changes made in MySQL 5.0.48.
(Bug#39585:http://bugs.mysql.com/39585)
* The Sun Studio compiler failed to build debug versions of the
server due to use of features specific to gcc.
(Bug#39451:http://bugs.mysql.com/39451)
* For a TIMESTAMP column in an InnoDB table, testing the column
with multiple conditions in the WHERE clause caused a server crash.
(Bug#39353:http://bugs.mysql.com/39353)
* References to local variables in stored procedures are
replaced with NAME_CONST(name, value) when written to the
binary log. However, an "illegal mix of collation" error might
occur when executing the log contents if the value's collation
differed from that of the variable. Now information about the
variable collation is written as well.
(Bug#39182:http://bugs.mysql.com/39182)
* Queries of the form SELECT ... REGEXP BINARY NULL could lead
to a hung or crashed server.
(Bug#39021:http://bugs.mysql.com/39021)
* Statements of the form INSERT ... SELECT .. ON DUPLICATE KEY
UPDATE col_name = DEFAULT could result in a server crash.
(Bug#39002:http://bugs.mysql.com/39002)
* Column names constructed due to wild-card expansion done
inside a stored procedure could point to freed memory if the
expansion was performed after the first call to the stored
procedure. (Bug#38823:http://bugs.mysql.com/38823)
* Repeated CREATE TABLE ... SELECT statements, where the created
table contained an AUTO_INCREMENT column, could lead to an
assertion failure. (Bug#38821:http://bugs.mysql.com/38821)
* For deadlock between two transactions that required a timeout
to resolve, all server tables became inaccessible for the
duration of the deadlock.
(Bug#38804:http://bugs.mysql.com/38804)
* When inserting a string into a duplicate-key error message,
the server could improperly interpret the string, resulting in
a crash. (Bug#38701:http://bugs.mysql.com/38701)
* A race condition between threads sometimes caused unallocated
memory to be addressed.
(Bug#38692:http://bugs.mysql.com/38692)
* A server crash resulted from concurrent execution of a
multiple-table UPDATE that used a NATURAL or USING join
together with FLUSH TABLES WITH READ LOCK or ALTER TABLE for
the table being updated.
(Bug#38691:http://bugs.mysql.com/38691)
* On ActiveState Perl, mysql-test-run.pl --start-and-exit
started but did not exit.
(Bug#38629:http://bugs.mysql.com/38629)
* An uninitialized variable in the query profiling code was
corrected (detected by Valgrind).
(Bug#38560:http://bugs.mysql.com/38560)
* A server crash resulted from execution of an UPDATE that used
a derived table together with FLUSH TABLES.
(Bug#38499:http://bugs.mysql.com/38499)
* Stored procedures involving substrings could crash the server
on certain platforms due to invalid memory reads.
(Bug#38469:http://bugs.mysql.com/38469)
* The handlerton-to-plugin mapping implementation did not free
handler plugin references when the plugin was uninstalled,
resulting in a server crash after several install/uninstall
cycles. Also, on Mac OS X, the server crashed when trying to
access an EXAMPLE table after the EXAMPLE plugin was
installed.
(Bug#37958:http://bugs.mysql.com/37958)
* The server crashed if an argument to a stored procedure was a
subquery that returned more than one row.
(Bug#37949:http://bugs.mysql.com/37949)
* When analyzing the possible index use cases, the server was
incorrectly reusing an internal structure, leading to a server
crash.
(Bug#37943:http://bugs.mysql.com/37943)
* Access checks were skipped for SHOW PROCEDURE STATUS and SHOW
FUNCTION STATUS, which could lead to a server crash or
insufficient access checks in subsequent statements.
(Bug#37908:http://bugs.mysql.com/37908)
* The <=> operator could return incorrect results when comparing
NULL to DATE, TIME, or DATETIME values.
(Bug#37526:http://bugs.mysql.com/37526)
* The combination of a subquery with a GROUP BY, an aggregate
function calculated outside the subquery, and a GROUP BY on
the outer SELECT could cause the server to crash.
(Bug#37348:http://bugs.mysql.com/37348)
* The NO_BACKSLASH_ESCAPES SQL mode was ignored for LOAD DATA
INFILE and SELECT INTO ... OUTFILE. The setting is taken into
account now.
(Bug#37114:http://bugs.mysql.com/37114)
* In some cases, references to views were confused with
references to anonymous tables and privilege checking was not
performed.
(Bug#36086:http://bugs.mysql.com/36086)
* For crash reports on Windows, symbol names in stack traces
were not correctly resolved.
(Bug#35987:http://bugs.mysql.com/35987)
* ALTER EVENT changed the PRESERVE attribute of an event even
when PRESERVE was not specified in the statement.
(Bug#35981:http://bugs.mysql.com/35981)
* Hostname values in SQL statements were not being checked for
'@', which is illegal according to RFC952.
(Bug#35924:http://bugs.mysql.com/35924)
* mysql_install_db failed on machines that had the hostname set
to localhost.
(Bug#35754:http://bugs.mysql.com/35754)
* Dynamic plugins failed to load on i5/OS.
(Bug#35743:http://bugs.mysql.com/35743)
* With the PAD_CHAR_TO_FULL_LENGTH SQL mode enabled, a ucs2 CHAR
column returned additional garbage after trailing space
characters.
(Bug#35720:http://bugs.mysql.com/35720)
* With binary logging enabled, CREATE TABLE ... SELECT failed if
the source table was a log table.
(Bug#34306:http://bugs.mysql.com/34306)
* A trigger for an InnoDB table activating multiple times could
lead to AUTO_INCREMENT gaps.
(Bug#31612:http://bugs.mysql.com/31612)
* mysqldump could fail to dump views containing a large number
of columns.
(Bug#31434:http://bugs.mysql.com/31434)
* The server could improperly type user-defined variables used
in the select list of a query.
(Bug#26020:http://bugs.mysql.com/26020)
* For access to the INFORMATION_SCHEMA.VIEWS table, the server
did not check the SHOW VIEW and SELECT provileges, leading to
inconsistency between output from that table and the SHOW
CREATE VIEW statement.
(Bug#22763:http://bugs.mysql.com/22763)
* mysqld_safe would sometimes fail to remove the pid file for
the old mysql process after a crash. As a result, the server
would fail to start due to a false A mysqld process already
exists... error.
(Bug#11122:http://bugs.mysql.com/11122)