最近、毎月きれいに月初にリリースされて気持ちの良い MySQL 5.1 シリーズです。
MySQL 5.1.38 がリリースされました。
このリリースは、控えめに言っても「MySQL 5.1 時代の歴史的リリース」 と呼べるかもしれません。
最近の MySQL は様々な機能のプラグイン化を進めていますが、今回初めて InnoDB ストレージエンジンを プラグイン化したものをリリースしました。従来の組み込み(ビルトイン)型のInnoDBももちろん含まれています。まだ InnoDBプラグインはベータレベルということですが、これまでの ビルトインInnoDBにはない試みも取り入れられるなど、今後に期待が寄せられます。
今後様々なところで InnoDB プラグインの日本語情報も出てくると思いますが、まず詳細は以下のリリースノートをご覧ください。
http://dev.mysql.com/doc/refman/5.1/en/news-5-1-38.html
MySQL 5.1.38 ダウンロードはこちらから:
http://dev.mysql.com/downloads/mysql/5.1.html
-----------------------
以下、チェンジログ:
■機能の追加と変更(5.1.38):
* Replication: With statement-based logging (SBL),
repeatedly calling statements that are unsafe for SBL
caused a warning message to be written to the error log
for each statement, and there was no way to disable this
behavior. Now the server logs messages about statements
that are unsafe for statement-based logging only if the
log_warnings variable is greater than 0.
(Bug#46265: http://bugs.mysql.com/46265)
* The undocumented TRANSACTIONAL and PAGE_CHECKSUM keywords
were removed from the grammar.
(Bug#45829: http://bugs.mysql.com/45829)
* Previously, SELECT ... INTO OUTFILE dumped column values
without character set conversion, which could produce
data files that cannot be imported without error if
different columns used different character sets. A
consequence of this is that mysqldump ignored the
--default-character-set option if the --tab option was
given (which causes SELECT ... INTO OUTFILE to be used to
dump data.)
INTO OUTFILE now can be followed by a CHARACTER SET
clause indicating the character set to which dumped
values should be converted. Also, mysqldump adds a
CHARACTER SET clause to the SELECT ... INTO OUTFILE
statement used to dump data, so that
--default-character-set is no longer ignored if --tab is
given.
Other changes are that SELECT ... INTO OUTFILE enforces
that ENCLOSED BY and ESCAPED BY arguments must be a
single character, and SELECT ... INTO OUTFILE and LOAD
DATA INFILE produce warnings if non-ASCII field or line
separators are specified.
(Bug#30946: http://bugs.mysql.com/30946)
* The MySQL euckr character set now can store extended
codes [81...FE][41..5A,61..7A,81..FE], which makes euckr
compatible with the Microsoft cp949 character set.
■バグ修正(5.1.38):
* Partitioning: Attempting to create a table using an
invalid or inconsistent subpartition definition caused
the server to crash. An example of such a statement is
shown here:
CREATE TABLE t2 (s1 INT, s2 INT)
PARTITION BY LIST (s1) SUBPARTITION BY HASH (s2) SUBPARTITIONS 1
(
PARTITION p1 VALUES IN (1),
PARTITION p2 VALUES IN (2) (SUBPARTITION p3)
);
(Bug#46354: http://bugs.mysql.com/46354)
* Partitioning: When using a debug build of MySQL, if a
query against a partitioned table having an index on one
or more DOUBLE columns used that index, the server failed
with an assertion.
(Bug#45816: http://bugs.mysql.com/45816)
* Partitioning: A failed RENAME TABLE operation on a table
with user-defined partitioning left the table in an
unusable state, due to only some of the table files
having been renamed.
(Bug#30102: http://bugs.mysql.com/30102)
* Replication: When a statement that changes a
non-transactional table failed, the transactional cache
was flushed, causing a mismatch between the execution and
logging histories. Now we avoid flushing the
transactional cache unless a COMMIT or ROLLBACK is
issued. (Bug#46129: http://bugs.mysql.com/46129)
* Replication: The internal function
get_master_version_and_clock() (defined in sql/slave.cc)
ignored errors and passed directly when queries failed,
or when queries succeeded but the result retrieved was
empty. Now this function tries to reconnect the master if
a query fails due to transient network problems, and to
fail otherwise. The I/O thread now prints a warning if
the some system variables do not exist on master (in the
event the master is a very old version of MySQQL,
compared to the slave.)
(Bug#45214: http://bugs.mysql.com/45214)
* Replication: When using the MIXED logging format, after
creating a temporary table and performing an update that
switched the logging format to ROW, the format switch
persisted following the update. This prevented any
subsequent DDL statements on temporary tables from being
written to the binary log until the temporary table was
dropped. (Bug#43046: http://bugs.mysql.com/43046)
See also Bug#40013: http://bugs.mysql.com/40013.
This regression was introduced by
Bug#20499: http://bugs.mysql.com/20499.
* Replication: If the --log-bin-trust-function-creators
option is not enabled, CREATE FUNCTION requires one of
the modifiers DETERMINISTIC, NO SQL, or READS SQL DATA.
When using statement-based mode, the execution of a
stored function should follow the same rules; however,
only functions defined with DETERMINSTIC could actually
be executed. In addition, the wrong error was generated
(ER_BINLOG_ROW_RBR_TO_SBR instead of
ER_BINLOG_UNSAFE_ROUTINE).
Now execution of stored functions is compatible with
creation in this regard; when a stored function without
one of the modifiers above is executed in STATEMENT mode,
the correct error is raised, and functions defined using
NO SQL, READS SQL DATA, or both (that is, without using
DETERMINSTIC) can be excuted.
(Bug#41166: http://bugs.mysql.com/41166)
* The test suite was missing from RPM packages.
(Bug#46834: http://bugs.mysql.com/46834)
* Incorrect index optimization could lead to incorrect
results or server crashes.
(Bug#46454: http://bugs.mysql.com/46454)
* The server printed warnings at startup about adjusting
the value of the max_join_size system variable. (These
were harmless, but might be seen by users as
significant.) (Bug#46385: http://bugs.mysql.com/46385)
* After an error such as a table-full condition, INSERT
IGNORE could cause an assertion failure for debug builds.
(Bug#46075: http://bugs.mysql.com/46075)
* An optimization that moved an item from a subquery to an
outer query could cause a server crash.
(Bug#46051: http://bugs.mysql.com/46051)
* Several Valgrind warnings were corrected.
(Bug#46003: http://bugs.mysql.com/46003,
Bug#46034: http://bugs.mysql.com/46034,
Bug#46042: http://bugs.mysql.com/46042)
* CREATE TABLE ... SELECT could cause a server crash if no
default database was selected.
(Bug#45998: http://bugs.mysql.com/45998)
* For problems reading SSL files during SSL initialization,
the server wrote error messages to stderr rather than to
the error log. (Bug#45770: http://bugs.mysql.com/45770)
* The vendor name change from MySQL AB to Sun Microsystems,
Inc. in RPM packages was not handled gracefully when
upgrading MySQL using an RPM package.
(Bug#45534: http://bugs.mysql.com/45534)
* A Windows Installation using the GUI installer would fail
with:
MySQL Server 5.1 Setup Wizard ended prematurely
The wizard was interrupted before MySQL Server 5.1. could be
completely installed.
Your system has not been modified. To complete installation at
another time, please run setup again.
Click Finish to exit the wizard
This was due to an step in the MSI installer that could
fail to execute correctly on some environments.
(Bug#45418: http://bugs.mysql.com/45418)
* Invalid memory reads could occur using the compressed
client/server protocol.
(Bug#45031: http://bugs.mysql.com/45031)
* The mysql_real_connect() C API function only attempted to
connect to the first IP address returned for a hostname.
This could be a problem if a hostname mapped to multiple
IP address and the server was not bound to the first one
returned. Now mysql_real_connect() attempts to connect to
all IPv4/6 addresses that a domain name maps to.
(Bug#45017: http://bugs.mysql.com/45017)
* Invalid input could cause invalid memory reads by the
parser. (Bug#45010: http://bugs.mysql.com/45010)
* Some files in an AIX tar file distribution unpacked with
incorrect permissions.
(Bug#44647: http://bugs.mysql.com/44647)
* For debug builds, executing a stored procedure as a
prepared statement could sometimes cause an assertion
failure. (Bug#44521: http://bugs.mysql.com/44521)
* Using mysql_stmt_execute() to call a stored procedure
could cause a server crash.
(Bug#44495: http://bugs.mysql.com/44495)
* Creating a new instance after previously removing an
instance would fail to complete the installation properly
because the security settings could not be applied
correctly. (Bug#44428: http://bugs.mysql.com/44428)
* mysqlslap ignored the --csv option if it was given
without an argument.
(Bug#44412: http://bugs.mysql.com/44412)
* Enabling the event scheduler from within the file
specified by --init-file caused a server crash.
(Bug#43587: http://bugs.mysql.com/43587)
* The server did not always check the return value of calls
to the hash_init() function.
(Bug#43572: http://bugs.mysql.com/43572)
* The table cache lock (LOCK_open) is now an adaptive
mutex, which should improve performance in workloads
where this lock is heavily contended.
(Bug#43435: http://bugs.mysql.com/43435)
* mysqladmin --count=X --sleep=Y incorrectly delayed Y
seconds after the last iteration before exiting.
(Bug#42639: http://bugs.mysql.com/42639)
* A test for stack growth failed on some platforms, leading
to server crashes.
(Bug#42213: http://bugs.mysql.com/42213)
* mysqladmin did not have enough space allocated for
tracking all variables when using --vertical or
--relative with extended-status.
(Bug#40395: http://bugs.mysql.com/40395)
* Partitioning a log table caused a server crash.
(Bug#40281: http://bugs.mysql.com/40281)
* When using quick access methods to search for rows in
UPDATE and DELETE statements, there was no check whether
a fatal error had already been sent to the client while
evaluating the quick condition. Consequently, a false OK
(following the error) was sent to the client, causing the
error to be incorrectly transformed into a warning.
(Bug#40113: http://bugs.mysql.com/40113)
* SHOW PROCESSLIST could access freed memory of a stored
procedure run in a concurrent session.
(Bug#38816: http://bugs.mysql.com/38816)
* During installation on Windows, the MySQL Instance
Configuration Wizard window could be opened at a size too
small to be usable.
(Bug#38723: http://bugs.mysql.com/38723)
* make_binary_distribution did not always generate correct
distribution names.
(Bug#37808: http://bugs.mysql.com/37808)
* The server crashed when executing a prepared statement
containing a duplicated MATCH() function call in the
select list and ORDER BY clause; for example, SELECT
MATCH(a) AGAINST('test') FROM t1 ORDER BY MATCH(a)
AGAINST('test'). (Bug#37740: http://bugs.mysql.com/37740)
* The output of mysqldump --tab for views included a DROP
TABLE statement without the IF EXISTS qualifier.
(Bug#37377: http://bugs.mysql.com/37377)
* mysql_upgrade silently ignored the --basedir and
--datadir options, which it accepts for backward
compatibility. Now it prints a warning.
(Bug#36558: http://bugs.mysql.com/36558)
* mysqlimport was not always compiled correctly to enable
thread support, which is required for the --use-threads
option. (Bug#32991: http://bugs.mysql.com/32991)
* mysqlcheck failed to fix table names when the
--fix-table-names and --all-in-1 options were both
specified. (Bug#31821: http://bugs.mysql.com/31821)
* If the MySQL server was killed without the PID file being
removed, attempts to stop the server with mysql.server
stop waited 900 seconds before giving up.
(Bug#31785: http://bugs.mysql.com/31785)
* When performing an installation on Windows using the GUI
installer, the installer would fail to wait long enough
during installation for the MySQL service to be
installed, which would cause the installation to fail and
may cause security settings, such as the root password to
not be applied correctly.
(Bug#30525: http://bugs.mysql.com/30525)
* mysql included extra spaces at the end of some result set
lines. (Bug#29622: http://bugs.mysql.com/29622)
* The mysql client inconsistently handled NUL bytes in
column data in various output formats.
(Bug#28203: http://bugs.mysql.com/28203)
* mysqlimport did not correctly quote and escape table
identifiers and file names.
(Bug#28071: http://bugs.mysql.com/28071)
* When installing the Windows service, using quotes around
command-line configuration parameters could cause the
quotes to incorrectly placed around the entire
command-line option, and not just the value.
(Bug#27535: http://bugs.mysql.com/27535)
* If the mysql client was built with the readline library
and the .inputrc file mapped Space to the magic-space
function, it became impossible to enter spaces.
(Bug#27439: http://bugs.mysql.com/27439)
* If InnoDB reached its limit on the number of concurrent
transactions (1023), it wrote a descriptive message to
the error log but returned a misleading error message to
the client, or an assertion failure occurred.
(Bug#18828: http://bugs.mysql.com/18828)
投稿者 | スレッド |
---|