MySQL 4.1.19 リリース

投稿日時 2006-5-5 10:11:28 | トピック: MySQL

MySQL 4.1.19 がリリースされました。

これまで mysql クライアントでは、接続時にパラメタでキャラクタセット名を指定していましたが、
\C の後に キャラクタセット名を入れることで、接続中でもキャラクタセットを変更できるようになりました。
(例: mysql> \C eucjpms )



------
以下チェンジログ;


■機能の追加と変更(4.1.19):

- Security enhancement: Added the global max_prepared_stmt_count system variable to limit the total number of prepared statements in the server. This limits the potential for denial-of-service attacks based on running the server out of memory by preparing huge numbers of statements. The current number of prepared statements is available through the prepared_stmt_count system variable. (Bug#16365: http://bugs.mysql.com/16365)

- InnoDB now caches a list of unflushed files instead of scanning for unflushed files during a table flush operation. This improves performance when --innodb-file-per-table is set on a system with a large number of InnoDB tables. (Bug#15653: http://bugs.mysql.com/15653)

- New charset command added to mysql command-line client. By typing charset name or \C name (such as \C UTF8), the client character set can be changed without reconnecting. (Bug#16217: http://bugs.mysql.com/16217)

- Large file support was re-enabled for the MySQL server binary for the AIX 5.2 platform. (Bug#13571: http://bugs.mysql.com/13571)

- When using the GROUP_CONCAT() function where the group_concat_max_len system variable was greater than 512, the type of the result was BLOB only if the query included an ORDER BY clause; otherwise the result was a VARCHAR. The result type of the GROUP_CONCAT() function is now VARCHAR only if the value of the group_concat_max_len system variable is less than or equal to 512. Otherwise, this function returns a BLOB. (Bug#14169: http://bugs.mysql.com/14169)


■バグ修正(4.1.19):

- Security fix: A malicious client, using specially crafted invalid login or COM_TABLE_DUMP packets was able to read uninitialized memory, which potentially, though unlikely in MySQL, could have led to an information disclosure. Thanks to Stefano Di Paola <stefano.dipaola@wisec.it> for finding and reporting this bug.

- NDB Cluster: A simultaneous DROP TABLE and table update operation utilising a table scan could trigger a node failure. (Bug#18597: http://bugs.mysql.com/18597)

- NDB Cluster: Backups could fail for large clusters with many tables, where the number of tables approached MaxNoOfTables. (Bug#17607: http://bugs.mysql.com/17607)

- The IN-to-EXISTS transformation was making a reference to a parse tree fragment that was left out of the parse tree. This caused problems with prepared statements. (Bug#18492: http://bugs.mysql.com/18492)

- Attempting to set the default value of an ENUM or SET column to NULL caused a server crash. (Bug#19145: http://bugs.mysql.com/19145)

- Index corruption could occur in cases when key_cache_block_size was not a multiple of myisam_block_size (for example, with key_cache_block_size=1536 and myisam_block_size=1024). (Bug#19079: http://bugs.mysql.com/19079)

- UNCOMPRESS(NULL) could cause subsequent UNCOMPRESS() calls to return NULL for legal non-NULL arguments. (Bug#18643: http://bugs.mysql.com/18643)

- Conversion of a number to a CHAR UNICODE string returned an invalid result. (Bug#18691: http://bugs.mysql.com/18691)

- A call to MIN() with a CASE expression as its argument could return a non-minimum value. (Bug#17896: http://bugs.mysql.com/17896)

- A LOCK TABLES statement that failed could cause MyISAM not to update table statistics properly, causing a subsequent CHECK TABLE to report table corruption. (Bug#18544: http://bugs.mysql.com/18544)

- Avoid trying to include when it doesn't work in C++ code. (Bug#13621: http://bugs.mysql.com/13621)

- Executing SELECT on a large table that had been compressed within myisampack could cause a crash. (Bug#17917: http://bugs.mysql.com/17917)

- NDB Cluster: In a 2-node cluster with a node failure, restarting the node with a low value for StartPartialTimeout could cause the cluster to come up partitioned ("split-brain" issue). (Bug#16447: http://bugs.mysql.com/16447) A similar issue could occur when the cluster was first started with a sufficiently low value for this parameter. (Bug#18612: http://bugs.mysql.com/18612)

- NDB Cluster: On systems with multiple network interfaces, data nodes would get "stuck" in startup phase 2 if the interface connecting them to the management server was working on node startup while the interface interconnecting the data nodes experienced a temporary outage. (Bug#15695: http://bugs.mysql.com/15695)

- mysql_config returned incorrect libraries on x86_64 systems. (Bug#13158: http://bugs.mysql.com/13158)

- mysql_reconnect() sent a SET NAMES statement to the server, even for pre-4.1 servers that do not understand the statement. (Bug#18830: http://bugs.mysql.com/18830)

- During conversion from one character set to ucs2, multi-byte characters with no ucs2 equivalent were converted to multiple characters, rather than to 0x003F QUESTION MARK. (Bug#15375: http://bugs.mysql.com/15375)

- The mysql_close() C API function leaked handles for share-memory connections on Windows. (Bug#15846: http://bugs.mysql.com/15846)

- The euro sign was not stored correctly in columns using the latin1_german1_ci or latin1_general_ci collation. (Bug#18321: http://bugs.mysql.com/18321)

- The server was always built as though --with-extra-charsets=complex had been specified. (Bug#12076: http://bugs.mysql.com/12076)

- SELECT ... WHERE column LIKE 'A%' when column had a key and used the latin2_czech_cs collation. (Bug#17374: http://bugs.mysql.com/17374)

- A query using WHERE (column_1, column_2) IN ((value_1, value_2)[, (..., ...), ...]) would return incorrect results. (Bug#16248: http://bugs.mysql.com/16248)

- The -lmtmalloc library was removed from the output of mysql_config on Solaris, as it caused problems when building DBD::mysql (and possibly other applications) on that platform that tried to use dlopen() to access the client library. (Bug#18322: http://bugs.mysql.com/18322)

- When running a query that contained a GROUP_CONCAT( SELECT GROUP_CONCAT(...) ), the result was NULL except in the ROLLUP part of the result, if there was one. (Bug#15560: http://bugs.mysql.com/15560)

- CASTdouble AS SIGNED INT) for large double values outside the signed integer range truncates the result to be within range, but the result sometimes had the wrong sign. (Bug#15098: http://bugs.mysql.com/15098)

- SET value definitions containing commas were not rejected. Now a definition such as SET('a,b','c,d') results in an error. (Bug#15316: http://bugs.mysql.com/15316)

- MyISAM: Keys for which the first part of the key was a CHAR or VARCHAR column using the UTF-8 character set and longer than 254 bytes could become corrupted. (Bug#17705: http://bugs.mysql.com/17705)

- NDB Cluster: A timeout in the handling of an ABORT condition with more that 32 operations could yield a node failure. (Bug#18414: http://bugs.mysql.com/18414)

- NDB Cluster: A node restart immediately following a CREATE TABLE would fail. Important: This fix supports 2-node Clusters only. (Bug#18385: http://bugs.mysql.com/18385)

- NDB Cluster: In event of a node failure during a rollback, a "false" lock could be established on the backup for that node, which lock could not be removed without restarting the node. (Bug#18352: http://bugs.mysql.com/18352)

- NDB Cluster: The cluster created a crashed replica of a table having an ordered index --- or when logging was not enabled, of a table having a table or unique index --- leading to a crash of the cluster following 8 successibe restarts. (Bug#18298: http://bugs.mysql.com/18298)

- NDB Cluster: When replacing a failed master node, the replacement node could cause the cluster to crash from a buffer overflow if it had an excessively large amount of data to write to the cluster log. (Bug#18118: http://bugs.mysql.com/18118)

- NDB Cluster: Restarting nodes were allowed to start and join the cluster too early. (Bug#16772: http://bugs.mysql.com/16772)

- If InnoDB encountered a HA_ERR_LOCK_TABLE_FULL error and rolled back a transaction, the transaction was still written to the binary log. (Bug#18283: http://bugs.mysql.com/18283)

- Connecting to a server with a UCS2 default character set with a client using a non-UCS2 character set crashed the server. (Bug#18004: http://bugs.mysql.com/18004)

- Character set conversion of string constants for UNION of constant and table column was not done when it was safe to do so. (Bug#15949: http://bugs.mysql.com/15949)

- Use of TRUNCATE TABLE for a TEMPORARY table on a master server was propagated to slaves properly, but slaves did not decrement the Slave_open_temp_tables counter properly. (Bug#17137: http://bugs.mysql.com/17137)

- SELECT COUNT(*) for a MyISAM table could return different results depending on whether an index was used. (Bug#14980: http://bugs.mysql.com/14980)

- Large file support did not work in AIX server binaries. (Bug#10776: http://bugs.mysql.com/10776)

- Security Improvement: GRANTs to users with wildcards in their host information could be erroneously applied to similar users with the same username and similar wildcards. For example, a privilege granted to foo@% are also applied to user foo@192.%. (Bug#14385: http://bugs.mysql.com/14385)

- NDB Cluster: Inserting and deleting BLOB column values while a backup was in process could cause the loss of an ndbd node. (Bug#14028: http://bugs.mysql.com/14028)

- Setting the myisam_repair_threads system variable to a value larger than 1 could cause corruption of large MyISAM tables. (Bug#11527: http://bugs.mysql.com/11527)

- Security improvement: In grant table comparisons, improper use of a latin1 collation caused some hostname matches to be true that should have been false. Thanks to Deomid Ryabkov for finding this bug and proposing a solution. (Bug#15756: http://bugs.mysql.com/15756)

- NDB Cluster: ndb_delete_all would run out of memory on tables containing BLOB columns. (Bug#16693: http://bugs.mysql.com/16693)

- 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)

- mysqldump tried to dump data from a view. (In MySQL 4.1, this applies when connecting to a server from MySQL 5.0 or higher.) (Bug#16389: http://bugs.mysql.com/16389)

- 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)

- 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: 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: 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)

- Binary distributions for Solaris contained files with group ownership set to the non-existing wheel group. Now the bin group is used. (Bug#15562: http://bugs.mysql.com/15562)

- Killing a long-running query containing a subquery could cause a server crash. (Bug#14851: http://bugs.mysql.com/14851)

- Repeated invocation of my_init() and my_end() caused corruption of character set data and connection failure. (Bug#6536: http://bugs.mysql.com/6536)

- A FULLTEXT query in a prepared statement could result in unexpected behavior. (Bug#14496: http://bugs.mysql.com/14496)

- A FULLTEXT query in a UNION could result in unexpected behavior. (Bug#16893: http://bugs.mysql.com/16893)

- Server crash when dropping InnoDB constraints named TABLENAME_ibfk_0. (Bug#16387: http://bugs.mysql.com/16387)

- Corrected race condition when dropping the adaptive hash index for a B-tree page in InnoDB. (Bug#16582: http://bugs.mysql.com/16582)

- LOAD DATA FROM MASTER produced invalid warnings and Packet out of order errors when the database already existed on the slave. (Bug#15302: http://bugs.mysql.com/15302)

- A key on a MEMORY table would sometimes fail to match a row. (Bug#12796: http://bugs.mysql.com/12796)

- MYSQL_STMT objects were not preserved following a connection reset. Attempting to operate on them afterwards caused the server to crash. (Bug#12744: http://bugs.mysql.com/12744)





MyNA Web Siteにて更に多くのニュース記事をよむことができます
http://www.mysql.gr.jp/frame

このニュース記事が掲載されているURL:
http://www.mysql.gr.jp/frame/article.php?storyid=72