<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Marketgrid Consulting Blog &#187; MySQL 5.5</title>
	<atom:link href="http://www.marketgrid.com/blog/tag/mysql-5-5/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.marketgrid.com/blog</link>
	<description>MySQL, website development and performance news</description>
	<lastBuildDate>Mon, 09 Jan 2012 12:39:12 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>MySQL Community Server 5.5.14</title>
		<link>http://www.marketgrid.com/blog/2011/07/mysql-community-server-5-5-14/</link>
		<comments>http://www.marketgrid.com/blog/2011/07/mysql-community-server-5-5-14/#comments</comments>
		<pubDate>Thu, 07 Jul 2011 05:13:22 +0000</pubDate>
		<dc:creator>Phil Smith</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Releases]]></category>
		<category><![CDATA[MySQL 5.5]]></category>
		<category><![CDATA[MySQL Community Server 5.5]]></category>

		<guid isPermaLink="false">http://www.marketgrid.com/blog/?p=570</guid>
		<description><![CDATA[MySQL 5.5.14 is a new version of the 5.5 production release of the world&#8217;s most popular open source  database. MySQL 5.5.14 is recommended for use on production systems. &#160; MySQL 5.5 includes several high-impact enhancements to improve the performance and scalability of the MySQL Database, taking advantage of the latest multi-CPU and multi-core hardware and [...]]]></description>
			<content:encoded><![CDATA[<p>MySQL 5.5.14 is a new version of the 5.5 production release of the world&#8217;s most popular open source  database. MySQL 5.5.14 is recommended for use on production systems.</p>
<p>&nbsp;</p>
<p>MySQL 5.5 includes several high-impact enhancements to improve the performance and scalability of the MySQL Database, taking advantage of the latest multi-CPU and multi-core hardware and operating systems. In addition, with release 5.5, InnoDB is now the default storage engine for the MySQL Database, delivering ACID transactions, referential integrity and crash recovery by default.</p>
<p>&nbsp;</p>
<p>MySQL 5.5 also provides a number of additional enhancements including:</p>
<p>&nbsp;</p>
<p>- Significantly improved performance on Windows, with various Windows specific features and improvements</p>
<p>- Higher availability, with new semi-synchronous replication and Replication Heart Beat</p>
<p>- Improved usability, with Improved index and table partitioning, SIGNAL/RESIGNAL support and enhanced diagnostics, including a new Performance Schema monitoring capability.</p>
<p>Changes in MySQL 5.5.14 :</p>
<p>&nbsp;</p>
<p>Functionality added or changed:</p>
<p>&nbsp;</p>
<p>* CMake configuration support on Linux now provides a boolean</p>
<p>ENABLE_GCOV option to control whether to include support for</p>
<p>gcov. (Bug #12549572)</p>
<p>&nbsp;</p>
<p>* InnoDB now permits concurrent reads while creating a secondary</p>
<p>index. (Bug #11853126)</p>
<p>See also Bug #11751388, Bug #11784056, Bug #11815600.</p>
<p>&nbsp;</p>
<p>* Client programs now display more information for SSL errors to</p>
<p>aid in diagnosis and debugging of connection problems. (Bug</p>
<p>#21287, Bug #11745920)</p>
<p>&nbsp;</p>
<p>* In the audit plugin interface, the event_class member was</p>
<p>removed from the mysql_event_general structure and the calling</p>
<p>sequence for the notification function changed. Originally,</p>
<p>the second argument was a pointer to the event structure. The</p>
<p>function now receives this information as two arguments: an</p>
<p>event class number and a pointer to the event. Corresponding</p>
<p>to these changes, MYSQL_AUDIT_INTERFACE_VERSION was increased</p>
<p>to 0&#215;0300.</p>
<p>The plugin_audit.h header file, and the NULL_AUDIT example</p>
<p>plugin in the plugin/audit_null directory have been modified</p>
<p>per these changes. See Section 21.2.4.7, &#8220;Writing Audit</p>
<p>Plugins.&#8221;</p>
<p>&nbsp;</p>
<p>Bugs fixed:</p>
<p>&nbsp;</p>
<p>* Replication: A mistake in thread cleanup could cause a</p>
<p>replication master to crash. (Bug #12578441)</p>
<p>&nbsp;</p>
<p>* Replication: When using row-based replication and attribute</p>
<p>promotion or demotion (see Section 15.4.1.6.2, &#8220;Replication of</p>
<p>Columns Having Different Data Types&#8221;), memory allocated</p>
<p>internally for conversion of BLOB columns was not freed</p>
<p>afterwards. (Bug #12558519)</p>
<p>&nbsp;</p>
<p>* Adding support for Windows authentication to libmysql</p>
<p>introduced a link dependency on the system Secur32 library.</p>
<p>The Microsoft Visual C++ link information was modified to pull</p>
<p>in this library automatically. (Bug #12612143)</p>
<p>&nbsp;</p>
<p>* In some cases, memory allocated for</p>
<p>Query_tables_list::sroutines() was not freed properly. (Bug</p>
<p>#12429877)</p>
<p>&nbsp;</p>
<p>* After the fix for Bug#11889186, MAKEDATE() arguments with a</p>
<p>year part greater than 9999 raised an assertion. (Bug</p>
<p>#12403504)</p>
<p>&nbsp;</p>
<p>* An assertion could be raised due to a missing NULL value check</p>
<p>in Item_func_round::fix_length_and_dec(). (Bug #12392636)</p>
<p>&nbsp;</p>
<p>* An assertion could be raised during two-phase commits if the</p>
<p>binary log was used as the transaction coordinator log. (Bug</p>
<p>#12346411)</p>
<p>&nbsp;</p>
<p>* A problem introduced in 5.5.11 caused very old (MySQL 4.0)</p>
<p>clients to be unable to connect to the server. (Bug #61222,</p>
<p>Bug #12563279)</p>
<p>&nbsp;</p>
<p>* Using CREATE EVENT IF NOT EXISTS for an event that already</p>
<p>existed and was enabled caused multiple instances of the event</p>
<p>to run. (Bug #61005, Bug #12546938)</p>
<p>&nbsp;</p>
<p>* An embedded client would abort rather than issue an error</p>
<p>message if it issued a TEE command (\T file_name) and the</p>
<p>directory containing the file did not exist. This occurred</p>
<p>because the wrong error handler was called. (Bug #57491, Bug</p>
<p>#11764633)</p>
<p>&nbsp;</p>
<p>* On some platforms, the Incorrect value: xxx for column yyy at</p>
<p>row zzz error produced by LOAD DATA INFILE could have an</p>
<p>incorrect value of zzz. (Bug #46895, Bug #11755168)</p>
<p>&nbsp;</p>
<p>* An attempt to install nonexistent files during installation</p>
<p>was corrected. (Bug #43247, Bug #11752142)</p>
<p>&nbsp;</p>
<p>* On FreeBSD 64-built builds of the embedded server, exceptions</p>
<p>were not prevented from propagating into the embedded</p>
<p>application. (Bug #38965, Bug #11749418)</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.marketgrid.com/blog/2011/07/mysql-community-server-5-5-14/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL Community Server 5.5.11</title>
		<link>http://www.marketgrid.com/blog/2011/04/mysql-community-server-5-5-11/</link>
		<comments>http://www.marketgrid.com/blog/2011/04/mysql-community-server-5-5-11/#comments</comments>
		<pubDate>Thu, 07 Apr 2011 13:31:19 +0000</pubDate>
		<dc:creator>Phil Smith</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Releases]]></category>
		<category><![CDATA[MySQL 5.5]]></category>
		<category><![CDATA[MySQL Community Server]]></category>

		<guid isPermaLink="false">http://www.marketgrid.com/blog/?p=525</guid>
		<description><![CDATA[MySQL 5.5.11 is a new version of the 5.5 production release of the world&#8217;s most popular open source database. MySQL 5.5.11 is recommended for use on production systems. &#160; MySQL 5.5 includes several high-impact enhancements to improve the performance and scalability of the MySQL Database, taking advantage of the latest multi-CPU and multi-core hardware and [...]]]></description>
			<content:encoded><![CDATA[<p>MySQL 5.5.11 is a new version of the 5.5 production release of the world&#8217;s most popular open source database. MySQL 5.5.11 is recommended for use on production systems.</p>
<p>&nbsp;</p>
<p>MySQL 5.5 includes several high-impact enhancements to improve the</p>
<p>performance and scalability of the MySQL Database, taking advantage of</p>
<p>the latest multi-CPU and multi-core hardware and operating systems. In</p>
<p>addition, with release 5.5, InnoDB is now the default storage engine for</p>
<p>the MySQL Database, delivering ACID transactions, referential integrity</p>
<p>and crash recovery by default.</p>
<p>&nbsp;</p>
<p>MySQL 5.5 also provides a number of additional enhancements including:</p>
<p>&nbsp;</p>
<p>- Significantly improved performance on Windows, with various Windows specific features and improvements</p>
<p>- Higher availability, with new semi-synchronous replication and Replication Heart Beat</p>
<p>- Improved usability, with Improved index and table partitioning, SIGNAL/RESIGNAL support and enhanced diagnostics, including a new Performance Schema monitoring capability.</p>
<p>&nbsp;</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>&nbsp;</p>
<p>D.1.2. Changes in MySQL 5.5.11 (07 April 2011):</p>
<p>&nbsp;</p>
<p>Functionality added or changed:</p>
<p>&nbsp;</p>
<p>* The undocumented SHOW NEW MASTER statement has been removed.</p>
<p>&nbsp;</p>
<p>Bugs fixed:</p>
<p>&nbsp;</p>
<p>* Partitioning: A problem with a previous fix for poor</p>
<p>performance of INSERT ON DUPLICATE KEY UPDATE statements on</p>
<p>tables having many partitions caused the handler function for</p>
<p>reading a row from a specific index to fail to store the ID of</p>
<p>the partition last used. This caused some statements to fail</p>
<p>with Can&#8217;t find record errors. (Bug #59297, Bug #11766232)</p>
<p>&nbsp;</p>
<p>* On some systems, debug builds of comp_err.c could fail due to</p>
<p>an uninitialized variable. (Bug #59906, Bug #11766729)</p>
<p>&nbsp;</p>
<p>* The server read one byte too many when trying to process an</p>
<p>XML string lacking a closing quote (&#8216;) or double quote (&#8220;)</p>
<p>character used as an argument for UpdateXML() or</p>
<p>ExtractValue(). (Bug #59901, Bug #11766725)</p>
<p>See also Bug #44332.</p>
<p>&nbsp;</p>
<p>* Aggregation followed by a subquery could produce an incorrect</p>
<p>result. (Bug #59839, Bug #11766675)</p>
<p>&nbsp;</p>
<p>* mysqldump did not quote database names in ALTER DATABASE</p>
<p>statements in its output, which could cause an error at reload</p>
<p>time for database names containing a dash. (Bug #59398, Bug</p>
<p>#11766310)</p>
<p>&nbsp;</p>
<p>* If a multiple-table update updated a row through two aliases</p>
<p>and the first update physically moved the row, the second</p>
<p>update failed to locate the row. This resulted in different</p>
<p>errors depending on storage engine, although these errors did</p>
<p>not accurately describe the problem:</p>
<p>&nbsp;</p>
<p>*</p>
<p>&nbsp;</p>
<p>MyISAM: Got error 134 from storage engine</p>
<p>&nbsp;</p>
<p>*</p>
<p>&nbsp;</p>
<p>InnoDB: Can&#8217;t find record in &#8216;tbl&#8217;</p>
<p>&nbsp;</p>
<p>For MyISAM, which is nontransactional, the update executed</p>
<p>first was performed but the second was not. In addition, for</p>
<p>two equal multiple-table update statements, one could succeed</p>
<p>and the other fail depending on whether the record actually</p>
<p>moved, which is inconsistent.||</p>
<p>Now such an update returns an error if it will update a table</p>
<p>through multiple aliases, and perform an update that may</p>
<p>physically more the row in at least one of these aliases. (Bug</p>
<p>#57373, Bug #11764529, Bug #55385, Bug #11762751)</p>
<p>&nbsp;</p>
<p>* SHOW WARNINGS output following EXPLAIN EXTENDED could include</p>
<p>unprintable characters. (Bug #57341, Bug #11764503)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.marketgrid.com/blog/2011/04/mysql-community-server-5-5-11/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL Community Server 5.5.10</title>
		<link>http://www.marketgrid.com/blog/2011/03/mysql-community-server-5-5-10/</link>
		<comments>http://www.marketgrid.com/blog/2011/03/mysql-community-server-5-5-10/#comments</comments>
		<pubDate>Thu, 17 Mar 2011 11:06:36 +0000</pubDate>
		<dc:creator>Phil Smith</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Releases]]></category>
		<category><![CDATA[MySQL 5.5]]></category>
		<category><![CDATA[MySQL 5.5.10]]></category>

		<guid isPermaLink="false">http://www.marketgrid.com/blog/?p=520</guid>
		<description><![CDATA[MySQL 5.5.10 is a new version of the 5.5 production release of the world&#8217;s most popular open source database. MySQL 5.5.10 is recommended for use on production systems. &#160; MySQL 5.5 includes several high-impact enhancements to improve the performance and scalability of the MySQL Database, taking advantage of the latest multi-CPU and multi-core hardware and [...]]]></description>
			<content:encoded><![CDATA[<p>MySQL 5.5.10 is a new version of the 5.5 production release of the world&#8217;s most popular open source database. MySQL 5.5.10 is recommended for use on production systems.</p>
<p>&nbsp;</p>
<p>MySQL 5.5 includes several high-impact enhancements to improve the performance and scalability of the MySQL Database, taking advantage of the latest multi-CPU and multi-core hardware and operating systems. In addition, with release 5.5, InnoDB is now the default storage engine for the MySQL Database, delivering ACID transactions, referential integrity and crash recovery by default.</p>
<p>&nbsp;</p>
<p>MySQL 5.5 also provides a number of additional enhancements including:</p>
<p>&nbsp;</p>
<p>- Significantly improved performance on Windows, with various Windows specific features and improvements</p>
<p>- Higher availability, with new semi-synchronous replication and Replication Heart Beat</p>
<p>- Improved usability, with Improved index and table partitioning, SIGNAL/RESIGNAL support and enhanced diagnostics, including a new PERFORMANCE_SCHEMA</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>The following section lists the changes in the MySQL source code since the previous released version of MySQL 5.5.</p>
<p>&nbsp;</p>
<p>&#8212;-</p>
<p>&nbsp;</p>
<p>D.1.2. Changes in MySQL 5.5.10</p>
<p>&nbsp;</p>
<p>Configuration Notes:</p>
<p>&nbsp;</p>
<p>* MySQL releases are now built on all platforms using CMake</p>
<p>rather than the GNU autotools, so autotools support has been</p>
<p>removed. For instructions on building MySQL with CMake, see</p>
<p>Section 2.11, &#8220;Installing MySQL from Source.&#8221; Third-party</p>
<p>tools that need to extract the MySQL version number formerly</p>
<p>found in configure.in can use the VERSION file. See Section</p>
<p>2.11.6, &#8220;MySQL Configuration and Third-Party Tools.&#8221;</p>
<p>&nbsp;</p>
<p>C API Notes:</p>
<p>&nbsp;</p>
<p>* Incompatible Change: The shared library version of the client</p>
<p>library was increased to 18 to reflect ABI changes, and avoid</p>
<p>compatibility problems with the client library in MySQL 5.1.</p>
<p>Note that this is an incompatible change between 5.5.10 and</p>
<p>earlier 5.5 versions, so client programs that use the 5.5</p>
<p>client library should be recompiled against the 5.5.10 client</p>
<p>library.</p>
<p>&nbsp;</p>
<p>Functionality added or changed:</p>
<p>&nbsp;</p>
<p>* MySQL distributions now include auth_socket, a server-side</p>
<p>authentication plugin that authenticates clients that connect</p>
<p>from the local host through the Unix socket file. The plugin</p>
<p>uses the SO_PEERCRED socket option to obtain information about</p>
<p>the user running the client program (and thus can be built</p>
<p>only on systems that support this option. For a connection to</p>
<p>succeed, the plugin requires a match between the login name of</p>
<p>the connecting client user and the MySQL user name presented</p>
<p>by the client program. For more information, see Section</p>
<p>5.5.6.1.4, &#8220;The Socket Peer-Credential Authentication Plugin.&#8221;</p>
<p>(Bug #59017, Bug #11765993)</p>
<p>&nbsp;</p>
<p>* The mysql_upgrade, mysqlbinlog, mysqlcheck, mysqlimport,</p>
<p>mysqlshow, and mysqlslap clients now have &#8211;default-auth and</p>
<p>&#8211;plugin-dir options for specifying which authentication</p>
<p>plugin and plugin directory to use. (Bug #58139)</p>
<p>&nbsp;</p>
<p>* Boolean system variables can be enabled at run time by setting</p>
<p>them to the value ON or OFF, but previously this did not work</p>
<p>at server startup. Now at startup such variables can be</p>
<p>enabled by setting them to ON or TRUE, or disabled by setting</p>
<p>them to OFF or FALSE. Any other nonnumeric variable is</p>
<p>invalid. (Bug #46393)</p>
<p>See also Bug #51631.</p>
<p>&nbsp;</p>
<p>* Previously, for queries that were aborted due to sort problem,</p>
<p>the server wrote the message Sort aborted to the error log.</p>
<p>Now the server writes more information to provide a more</p>
<p>specific message, such as:</p>
<p>[ERROR] mysqld: Sort aborted: Out of memory (Needed 24 bytes)</p>
<p>[ERROR] mysqld: Out of sort memory,</p>
<p>consider increasing server sort buffer size</p>
<p>[ERROR] mysqld: Sort aborted: Out of sort memory,</p>
<p>consider increasing server sort buffer size</p>
<p>[ERROR] mysqld: Sort aborted: Incorrect number of arguments for</p>
<p>FUNCTION test.f1; expected 0, got 1</p>
<p>In addition, if the server was started with &#8211;log-warnings=2,</p>
<p>the server write information about the host, user, and query.</p>
<p>(Bug #36022, Bug #11748358)</p>
<p>&nbsp;</p>
<p>* mysqldump &#8211;xml now displays comments from column definitions.</p>
<p>(Bug #13618)</p>
<p>&nbsp;</p>
<p>* MySQL distributions now include mysql_clear_password, a</p>
<p>client-side authentication plugin that sends the password to</p>
<p>the server without hashing or encryption. Although this is</p>
<p>insecure, and thus apprpropriate precautions should be taken</p>
<p>such as using an SSL connection, the plugin is useful in</p>
<p>conjunction with server-side plugins that must have access to</p>
<p>the original password in clear text. For more information, see</p>
<p>Section 5.5.6.1.3, &#8220;The Clear Text Client-Side Authentication</p>
<p>Plugin.&#8221;</p>
<p>&nbsp;</p>
<p>Bugs fixed:</p>
<p>&nbsp;</p>
<p>* InnoDB Storage Engine: Raised the number of I/O requests that</p>
<p>each AIO</p>
<p>(<a href="http://dev.mysql.com/doc/innodb/1.1/en/glossary.html#glos_aio">http://dev.mysql.com/doc/innodb/1.1/en/glossary.html#glos_aio</a></p>
<p>) helper thread could process, from 32 to 256. The new limit</p>
<p>applies to Linux and Unix platforms; the limit on Windows</p>
<p>remains 32. (Bug #59472)</p>
<p>&nbsp;</p>
<p>* InnoDB Storage Engine: InnoDB returned values for &#8220;rows</p>
<p>examined&#8221; in the query plan that were higher than expected.</p>
<p>NULL values were treated in an inconsistent way. The</p>
<p>inaccurate statistics could trigger &#8220;false positives&#8221; in</p>
<p>combination with the MAX_JOIN_SIZE setting, because the</p>
<p>queries did not really examine as many rows as reported. (Bug</p>
<p>#30423)</p>
<p>&nbsp;</p>
<p>* Replication: When using the statement-based logging format,</p>
<p>INSERT ON DUPLICATE KEY UPDATE and INSERT IGNORE statements</p>
<p>affecting transactional tables that did not fail were not</p>
<p>written to the binary log if they did not insert any rows.</p>
<p>(With statement-based logging, all successful statements</p>
<p>should be logged, whether they do or do not cause any rows to</p>
<p>be changed.) (Bug #59338)</p>
<p>&nbsp;</p>
<p>* Replication: Formerly, STOP SLAVE stopped the slave I/O thread</p>
<p>first and then stopped the slave SQL thread; thus, it was</p>
<p>possible for the I/O thread to stop after replicating only</p>
<p>part of a transaction which the SQL thread was executing, in</p>
<p>which case&#8212;if the transaction could not be rolled back</p>
<p>safely&#8212;the SQL thread could hang.</p>
<p>Now, STOP SLAVE stops the slave SQL thread first and then</p>
<p>stops the I/O thread; this guarantees that the I/O thread can</p>
<p>fetch any remaining events in the transaction that the SQL</p>
<p>thread is executing, so that the SQL thread can finish the</p>
<p>transaction if it cannot be rolled back safely. (Bug #58546)</p>
<p>&nbsp;</p>
<p>* DES_DECRYPT() could crash if the argument was not produced by</p>
<p>DES_ENCRYPT(). (Bug #59632, Bug #11766505)</p>
<p>&nbsp;</p>
<p>* The server and client did not always properly negotiate</p>
<p>authentication plugin names. (Bug #59453)</p>
<p>&nbsp;</p>
<p>* &#8211;autocommit=ON did not work (it set the global autocommit</p>
<p>value to 0, not 1). (Bug #59432)</p>
<p>&nbsp;</p>
<p>* A query of the following form returned an incorrect result,</p>
<p>where the values for col_name in the result set were entirely</p>
<p>replaced with NULL values:</p>
<p>SELECT DISTINCT col_name &#8230; ORDER BY col_name DESC;</p>
<p>(Bug #59308, Bug #11766241)</p>
<p>&nbsp;</p>
<p>* SHOW PRIVILEGES did not display a row for the PROXY privilege.</p>
<p>(Bug #59275)</p>
<p>&nbsp;</p>
<p>* SHOW PROFILE could truncate source file names or fail to show</p>
<p>function names. (Bug #59273, Bug #11766214)</p>
<p>&nbsp;</p>
<p>* DELETE or UPDATE statements could fail if they used DATE or</p>
<p>DATETIME values with a year, month, or day part of zero. (Bug</p>
<p>#59173)</p>
<p>&nbsp;</p>
<p>* The ESCAPE clause for the LIKE operator allows only</p>
<p>expressions that evaluate to a constant at execution time, but</p>
<p>aggregate functions were not being rejected. (Bug #59149)</p>
<p>&nbsp;</p>
<p>* Memory leaks detected by Valgrind, some of which could cause</p>
<p>incorrect query results, were corrected. (Bug #59110, Bug</p>
<p>#11766075)</p>
<p>&nbsp;</p>
<p>* The DEFAULT_CHARSET and DEFAULT_COLLATION CMake options did</p>
<p>not work. (Bug #58991)</p>
<p>&nbsp;</p>
<p>* An OUTER JOIN query using WHERE column IS NULL could return an</p>
<p>incorrect result. (Bug #58490, Bug #11765513)</p>
<p>&nbsp;</p>
<p>* Starting the server with the &#8211;defaults-file=file_name option,</p>
<p>where the file name had no extension, caused a server crash.</p>
<p>(Bug #58455, Bug #11765482)</p>
<p>&nbsp;</p>
<p>* Outer joins with an empty table could produce incorrect</p>
<p>results. (Bug #58422)</p>
<p>&nbsp;</p>
<p>* In debug builds, SUBSTRING_INDEX(FORMAT(&#8230;), FORMAT(&#8230;))</p>
<p>could cause a server crash. (Bug #58371)</p>
<p>&nbsp;</p>
<p>* When mysqladmin was run with the &#8211;sleep and &#8211;count options,</p>
<p>it went into an infinite loop executing the specified command.</p>
<p>(Bug #58221)</p>
<p>&nbsp;</p>
<p>* Some string manipulating SQL functions use a shared string</p>
<p>object intended to contain an immutable empty string. This</p>
<p>object was used by the SQL function SUBSTRING_INDEX() to</p>
<p>return an empty string when one argument was of the wrong</p>
<p>datatype. If the string object was then modified by the SQL</p>
<p>function INSERT(), undefined behavior ensued. (Bug #58165, Bug</p>
<p>#11765225)</p>
<p>&nbsp;</p>
<p>* Parsing nested regular expressions could lead to recursion</p>
<p>resulting in a stack overflow crash. (Bug #58026, Bug</p>
<p>#11765099)</p>
<p>&nbsp;</p>
<p>* The fix for Bug#25192 caused load_defaults() to add an</p>
<p>argument separator to distinguish options loaded from</p>
<p>configure files from those provided on the command line,</p>
<p>whether or not the application needed it. (Bug #57953)</p>
<p>&nbsp;</p>
<p>* The mysql client went into an infinite loop if the standard</p>
<p>input was a directory. (Bug #57450)</p>
<p>&nbsp;</p>
<p>* Outer joins on a unique key could return incorrect results.</p>
<p>(Bug #57034)</p>
<p>&nbsp;</p>
<p>* The expression const1 BETWEEN const2 AND field was optimized</p>
<p>incorrectly and produced incorrect results. (Bug #57030, Bug</p>
<p>#11764215)</p>
<p>&nbsp;</p>
<p>* Some RPM installation scripts used a hardcoded value for the</p>
<p>data directory, which could result in a failed installation</p>
<p>for users who have a nonstandard data directory location. The</p>
<p>same was true for other configuration values such as the PID</p>
<p>file name. (Bug #56581, Bug #11763817)</p>
<p>&nbsp;</p>
<p>* On FreeBSD and OpenBSD, the server incorrectly checked the</p>
<p>range of the system date, causing legal values to be rejected.</p>
<p>(Bug #55755, Bug #11763089)</p>
<p>&nbsp;</p>
<p>* Sorting using ORDER BY AVG(DISTINCT decimal_col) caused a</p>
<p>server crash or incorrect results. (Bug #52123, Bug #11759784)</p>
<p>&nbsp;</p>
<p>* When using ExtractValue() or UpdateXML(), if the XML to be</p>
<p>read contained an incomplete XML comment, MySQL read beyond</p>
<p>the end of the XML string when processing, leading to a crash</p>
<p>of the server. (Bug #44332)</p>
<p>&nbsp;</p>
<p>* DATE_ADD() and DATE_SUB() return a string if the first</p>
<p>argument is a string, but incorrectly returned a binary</p>
<p>string. Now they return a character string with a collation of</p>
<p>connection_collation. (Bug #31384, Bug #11747221)</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.marketgrid.com/blog/2011/03/mysql-community-server-5-5-10/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL Community Server 5.5.8</title>
		<link>http://www.marketgrid.com/blog/2010/12/mysql-community-server-5-5-8/</link>
		<comments>http://www.marketgrid.com/blog/2010/12/mysql-community-server-5-5-8/#comments</comments>
		<pubDate>Thu, 16 Dec 2010 08:47:47 +0000</pubDate>
		<dc:creator>Phil Smith</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Releases]]></category>
		<category><![CDATA[MySQL 5.5]]></category>
		<category><![CDATA[MySQL Community Server]]></category>

		<guid isPermaLink="false">http://www.marketgrid.com/blog/?p=456</guid>
		<description><![CDATA[MySQL Database 5.5.8 GA has been released. The first 5.5 production version of the world&#8217;s most popular open source database.  MySQL 5.5.8 is recommended for use on production systems. MySQL 5.5 includes several high-impact changes to address scalability and performance issues in MySQL Database.  These changes exploit advances in hardware and CPU design and enable [...]]]></description>
			<content:encoded><![CDATA[<p>MySQL Database 5.5.8 GA has been released.</p>
<p>The first 5.5 production version of the world&#8217;s most popular open source database.  MySQL 5.5.8 is recommended for use on production systems.</p>
<p>MySQL 5.5 includes several high-impact changes to address scalability and performance issues in MySQL Database.  These changes exploit advances in hardware and CPU design and enable better utilization of existing</p>
<p>hardware.  MySQL 5.5 also provides a number of other new enhancements, including:</p>
<p>- InnoDB I/O Subsystem Changes</p>
<p>- Enhanced Solaris Support</p>
<p>- Diagnostic and Monitoring Capabilities</p>
<p>The following section lists the changes in the MySQL source code since</p>
<p>the previous released version of MySQL 5.5.</p>
<p>&#8212;-</p>
<p>D.1.1. Changes in MySQL 5.5.8 (03 December 2010)</p>
<p>Configuration Notes:</p>
<p>* MySQL releases are now built on all platforms using CMake</p>
<p>rather than the GNU autotools, so autotools support has been</p>
<p>removed. For instructions on building MySQL with CMake, see</p>
<p>Section 2.11, &#8220;Installing MySQL from Source.&#8221; Third-party</p>
<p>tools that need to extract the MySQL version number formerly</p>
<p>found in configure.in can use the VERSION file. See Section</p>
<p>2.11.6, &#8220;MySQL Configuration and Third-Party Tools.&#8221;</p>
<p>Functionality added or changed:</p>
<p>* Support for the IBMDB2I storage engine has been removed.</p>
<p>(Bug#58079: <a href="http://bugs.mysql.com/bug.php?id=58079">http://bugs.mysql.com/bug.php?id=58079</a>)</p>
<p>* A &#8211;bind-address option has been added to a number of MySQL</p>
<p>client programs: mysql, mysqldump, mysqladmin, mysqlbinlog,</p>
<p>mysqlcheck, mysqlimport, and mysqlshow. This is for use on a</p>
<p>computer having multiple network interfaces, and enables you</p>
<p>to choose which interface is used to connect to the MySQL</p>
<p>server.</p>
<p>Bugs fixed:</p>
<p>* Performance: InnoDB Storage Engine: Improved concurrency when</p>
<p>several ANALYZE TABLE or SHOW TABLE STATUS statements are run</p>
<p>simultaneously for InnoDB tables.</p>
<p>(Bug#53046: <a href="http://bugs.mysql.com/bug.php?id=53046">http://bugs.mysql.com/bug.php?id=53046</a>)</p>
<p>* Incompatible Change: Previously, tables in the</p>
<p>performance_schema database had uppercase names. This was</p>
<p>incompatible with the lower_case_table_names system variable,</p>
<p>and caused issues when the variable value was changed after</p>
<p>installing or upgrading.</p>
<p>Now performance_schema table names are lowercase, so they</p>
<p>appear in uniform lettercase regardless of the</p>
<p>lower_case_table_names setting. References to these tables in</p>
<p>SQL statements should be given in lowercase. This is an</p>
<p>incompatible change, but provides compatible behavior across</p>
<p>different values of lower_case_table_names.</p>
<p>If you upgrade to MySQL 5.5.8 from an earlier version of MySQL</p>
<p>5.5, be sure to run mysql_upgrade (and restart the server) to</p>
<p>change the names of existing performance_schema tables from</p>
<p>uppercase to lowercase.</p>
<p>(Bug#57609: <a href="http://bugs.mysql.com/bug.php?id=57609">http://bugs.mysql.com/bug.php?id=57609</a>)</p>
<p>* Incompatible Change: The following changes were made to the</p>
<p>performance_schema.threads table for conformance with the</p>
<p>implementation in MySQL 5.6:</p>
<p>+ ID column: Renamed to PROCESSLIST_ID, removed NOT NULL</p>
<p>from definition.</p>
<p>+ NAME column: Changed from VARCHAR(64) to VARCHAR(128).</p>
<p>(Bug#57154: <a href="http://bugs.mysql.com/bug.php?id=57154">http://bugs.mysql.com/bug.php?id=57154</a>)</p>
<p>* Incompatible Change: Deadlock occurred when a connection that</p>
<p>had some table open through a HANDLER statement tried to</p>
<p>update data through a DML statement while another connection</p>
<p>tried to execute FLUSH TABLES WITH READ LOCK concurrently.</p>
<p>Starvation of FLUSH TABLES WITH READ LOCK statements occurred</p>
<p>when there was a constant load of concurrent DML statements in</p>
<p>two or more connections.</p>
<p>These problems resulted from the global read lock</p>
<p>implementation, which was reimplemented with the following</p>
<p>consequences:</p>
<p>+ To solve deadlock in event-handling code that was exposed</p>
<p>by this patch, the LOCK_event_metadata mutex was replaced</p>
<p>with metadata locks on events. As a result, DDL operations</p>
<p>on events are now prohibited under LOCK TABLES. This is</p>
<p>an incompatible change.</p>
<p>+ The global read lock (FLUSH TABLES WITH READ LOCK) no</p>
<p>longer blocks DML and DDL on temporary tables. Before</p>
<p>this patch, server behavior was not consistent in this</p>
<p>respect: In some cases, DML/DDL statements on temporary</p>
<p>tables were blocked; in others, they were not. Since the</p>
<p>main use cases for FLUSH TABLES WITH READ LOCK are</p>
<p>various forms of backups and temporary tables are not</p>
<p>preserved during backups, the server now consistently</p>
<p>allows DML/DDL on temporary tables under the global read</p>
<p>lock.</p>
<p>+ Thread state names are now either Waiting for global read</p>
<p>lock or Waiting for commit lock, depending on which stage</p>
<p>FLUSH TABLES WITH READ LOCK is in.</p>
<p>(Bug#57006: <a href="http://bugs.mysql.com/bug.php?id=57006">http://bugs.mysql.com/bug.php?id=57006</a>,</p>
<p>Bug#54673: <a href="http://bugs.mysql.com/bug.php?id=54673">http://bugs.mysql.com/bug.php?id=54673</a>)</p>
<p>* InnoDB Storage Engine: Values could be truncated in certain</p>
<p>INFORMATION_SCHEMA columns, such as</p>
<p>REFERENTIAL_CONSTRAINTS.REFERENCED_TABLE_NAME and</p>
<p>KEY_COLUMN_USAGE.REFERENCED_TABLE_NAME.</p>
<p>(Bug#57960: <a href="http://bugs.mysql.com/bug.php?id=57960">http://bugs.mysql.com/bug.php?id=57960</a>)</p>
<p>* InnoDB Storage Engine: For an InnoDB table created with</p>
<p>ROW_FORMAT=COMPRESSED or ROW_FORMAT=DYNAMIC, a query using the</p>
<p>READ UNCOMMITTED isolation level could cause the server to</p>
<p>stop with an assertion error, if BLOB or other large columns</p>
<p>that use off-page storage were being inserted at the same</p>
<p>time. (Bug#57799: <a href="http://bugs.mysql.com/bug.php?id=57799">http://bugs.mysql.com/bug.php?id=57799</a>)</p>
<p>* InnoDB Storage Engine: The server could stop with an assertion</p>
<p>error on Windows Vista and Windows 7 systems.</p>
<p>(Bug#57720: <a href="http://bugs.mysql.com/bug.php?id=57720">http://bugs.mysql.com/bug.php?id=57720</a>)</p>
<p>* InnoDB Storage Engine: A followup fix to</p>
<p>Bug#54678: <a href="http://bugs.mysql.com/bug.php?id=54678">http://bugs.mysql.com/bug.php?id=54678</a>. TRUNCATE</p>
<p>TABLE could still cause a crash (assertion error) in the</p>
<p>debug version of the server.</p>
<p>(Bug#57700: <a href="http://bugs.mysql.com/bug.php?id=57700">http://bugs.mysql.com/bug.php?id=57700</a>)</p>
<p>* InnoDB Storage Engine: The InnoDB system tablespace could grow</p>
<p>continually for a server under heavy load.</p>
<p>(Bug#57611: <a href="http://bugs.mysql.com/bug.php?id=57611">http://bugs.mysql.com/bug.php?id=57611</a>)</p>
<p>* InnoDB Storage Engine: Heavy concurrent updates of a BLOB</p>
<p>column in an InnoDB table could cause a hang.</p>
<p>(Bug#57579: <a href="http://bugs.mysql.com/bug.php?id=57579">http://bugs.mysql.com/bug.php?id=57579</a>)</p>
<p>* InnoDB Storage Engine: The innodb_stats_on_metadata option</p>
<p>could prevent the ANALYZE TABLE statement from running.</p>
<p>(Bug#57252: <a href="http://bugs.mysql.com/bug.php?id=57252">http://bugs.mysql.com/bug.php?id=57252</a>)</p>
<p>* InnoDB Storage Engine: A query for an InnoDB table could</p>
<p>return the wrong value if a column value was changed to a</p>
<p>different case, and the column had a case-insensitive index.</p>
<p>(Bug#56680: <a href="http://bugs.mysql.com/bug.php?id=56680">http://bugs.mysql.com/bug.php?id=56680</a>)</p>
<p>* InnoDB Storage Engine: An existing InnoDB could be switched to</p>
<p>ROW_FORMAT=COMPRESSED implicitly by a KEY_BLOCK_SIZE clause in</p>
<p>an ALTER TABLE statement. Now, the row format is only switched</p>
<p>to compressed if there is an explicit ROW_FORMAT=COMPRESSED</p>
<p>clause. on the ALTER TABLE statement.</p>
<p>Any valid, non-default ROW_FORMAT parameter takes precedence</p>
<p>over KEY_BLOCK_SIZE when both are specified. KEY_BLOCK_SIZE</p>
<p>only enables ROW_FORMAT=COMPRESSED if ROW_FORMAT is not</p>
<p>specified on either the CREATE TABLE or ALTER TABLE statement,</p>
<p>or is specified as DEFAULT. In case of a conflict between</p>
<p>KEY_BLOCK_SIZE and ROW_FORMAT clauses, the KEY_BLOCK_SIZE is</p>
<p>ignored if innodb_strict_mode is off, and the statement causes</p>
<p>an error if innodb_strict_mode is on.</p>
<p>(Bug#56632: <a href="http://bugs.mysql.com/bug.php?id=56632">http://bugs.mysql.com/bug.php?id=56632</a>)</p>
<p>* InnoDB Storage Engine: The clause KEY_BLOCK_SIZE=0 is now</p>
<p>allowed on CREATE TABLE and ALTER TABLE statements for InnoDB</p>
<p>tables, regardless of the setting of innodb_strict_mode. The</p>
<p>zero value has the effect of resetting the KEY_BLOCK_SIZE</p>
<p>table parameter to its default value, depending on the</p>
<p>ROW_FORMAT parameter, as if it had not been specified. That</p>
<p>default is 8 if ROW_FORMAT=COMPRESSED. Otherwise,</p>
<p>KEY_BLOCK_SIZE is not used or stored with the table</p>
<p>parameters.</p>
<p>As a consequence of this fix, ROW_FORMAT=FIXED is not allowed</p>
<p>when the innodb_strict_mode is enabled.</p>
<p>(Bug#56628: <a href="http://bugs.mysql.com/bug.php?id=56628">http://bugs.mysql.com/bug.php?id=56628</a>)</p>
<p>* InnoDB Storage Engine: A large number of foreign key</p>
<p>declarations could cause the output of the SHOW CREATE</p>
<p>STATEMENT statement to be truncated.</p>
<p>(Bug#56143: <a href="http://bugs.mysql.com/bug.php?id=56143">http://bugs.mysql.com/bug.php?id=56143</a>)</p>
<p>* InnoDB Storage Engine: A compilation problem affected the</p>
<p>InnoDB source code on NetBSD/sparc64.</p>
<p>(Bug#53916: <a href="http://bugs.mysql.com/bug.php?id=53916">http://bugs.mysql.com/bug.php?id=53916</a>)</p>
<p>* InnoDB Storage Engine: Clarified the message when a CREATE</p>
<p>TABLE statement fails because a foreign key constraint does</p>
<p>not have the required indexes.</p>
<p>(Bug#16290: <a href="http://bugs.mysql.com/bug.php?id=16290">http://bugs.mysql.com/bug.php?id=16290</a>)</p>
<p>* Partitioning: &#8220;Fast&#8221; ALTER TABLE operations (that do not</p>
<p>involve a table copy) on a partitioned table could leave the</p>
<p>table in an unusable state.</p>
<p>(Bug#57985: <a href="http://bugs.mysql.com/bug.php?id=57985">http://bugs.mysql.com/bug.php?id=57985</a>)</p>
<p>* Partitioning: An INSERT &#8230; ON DUPLICATE KEY UPDATE column = 0</p>
<p>statement on an AUTO_INCREMENT column caused the debug server</p>
<p>to crash. (Bug#57890: <a href="http://bugs.mysql.com/bug.php?id=57890">http://bugs.mysql.com/bug.php?id=57890</a>)</p>
<p>* Replication: Concurrent statements using a stored function and</p>
<p>a DROP DATABASE statement that caused the same stored function</p>
<p>to be dropped could cause statement-based replication to fail.</p>
<p>This problem is resolved by making sure that DROP DATABASE</p>
<p>takes an exclusive metadata lock on all stored functions and</p>
<p>stored procedures that it causes to be dropped.</p>
<p>(Bug#57663: <a href="http://bugs.mysql.com/bug.php?id=57663">http://bugs.mysql.com/bug.php?id=57663</a>)</p>
<p>See also Bug#30977: <a href="http://bugs.mysql.com/bug.php?id=30977">http://bugs.mysql.com/bug.php?id=30977</a>.</p>
<p>* Replication: When STOP SLAVE is issued, the slave SQL thread</p>
<p>rolls back the current transaction and stops immediately if</p>
<p>the transaction updates only tables which use transactional</p>
<p>storage engines are updated. Previously, this occurred even</p>
<p>when the transaction contained CREATE TEMPORARY TABLE</p>
<p>statements, DROP TEMPORARY TABLE statements, or both, although</p>
<p>these statements cannot be rolled back. Because temporary</p>
<p>tables persist for the lifetime of a user session (in the</p>
<p>case, the replication user), they remain until the slave is</p>
<p>stopped or reset. When the transaction is restarted following</p>
<p>a subsequent START SLAVE statement, the SQL thread aborts with</p>
<p>an error that a temporary table to be created (or dropped)</p>
<p>already exists (or does not exist, in the latter case).</p>
<p>Following this fix, if an ongoing transaction contains CREATE</p>
<p>TEMPORARY TABLE statements, DROP TEMPORARY TABLE statements,</p>
<p>or both, the SQL thread now waits until the transaction ends,</p>
<p>then stops.</p>
<p>(Bug#56118: <a href="http://bugs.mysql.com/bug.php?id=56118">http://bugs.mysql.com/bug.php?id=56118</a>)</p>
<p>* Replication: If there exist both a temporary table and a</p>
<p>non-temporary table having the same, updates normally apply</p>
<p>only to the temporary table, with the exception of a CREATE</p>
<p>TABLE &#8230; SELECT statement that creates a non-temporary table</p>
<p>having the same name as an existing temporary table. When such</p>
<p>a statement was replicated using the MIXED logging format, and</p>
<p>the statement was unsafe for row-based logging, updates were</p>
<p>misapplied to the temporary table.</p>
<p>Updates were also applied wrongly when a temporary table that</p>
<p>used a transactional storage engine was dropped inside a</p>
<p>transaction, followed by updates within the same transaction</p>
<p>to a non-temporary table having the same name.</p>
<p>(Bug#55478: <a href="http://bugs.mysql.com/bug.php?id=55478">http://bugs.mysql.com/bug.php?id=55478</a>)</p>
<p>See also Bug#47899: <a href="http://bugs.mysql.com/bug.php?id=47899">http://bugs.mysql.com/bug.php?id=47899</a>,</p>
<p>Bug#55709: <a href="http://bugs.mysql.com/bug.php?id=55709">http://bugs.mysql.com/bug.php?id=55709</a>.</p>
<p>* Replication: When making changes to relay log settings using</p>
<p>CHANGE MASTER TO, the I/O cache was not cleared. This could</p>
<p>result in replication failure when the slave attempted to read</p>
<p>stale data from the cache and then stopped with an assertion.</p>
<p>(Bug#55263: <a href="http://bugs.mysql.com/bug.php?id=55263">http://bugs.mysql.com/bug.php?id=55263</a>)</p>
<p>* Replication: Replication of SET and ENUM columns represented</p>
<p>using more than 1 byte (that is, SET columns with more than 8</p>
<p>members and ENUM columns with more than 256 constants) between</p>
<p>platforms using different endianness failed when using the</p>
<p>row-based format. This was because columns of these types are</p>
<p>represented internally using integers, but the internal</p>
<p>functions used by MySQL to handle them treated them as</p>
<p>strings. (Bug#52131: <a href="http://bugs.mysql.com/bug.php?id=52131">http://bugs.mysql.com/bug.php?id=52131</a>)</p>
<p>See also Bug#53528: <a href="http://bugs.mysql.com/bug.php?id=53528">http://bugs.mysql.com/bug.php?id=53528</a>.</p>
<p>* Replication: Trying to read from a binary log containing a log</p>
<p>event of an invalid type caused the slave to crash.</p>
<p>(Bug#38718: <a href="http://bugs.mysql.com/bug.php?id=38718">http://bugs.mysql.com/bug.php?id=38718</a>)</p>
<p>* Replication: When replicating the mysql.tables_priv table, the</p>
<p>Grantor column was not replicated, and was thus left empty on</p>
<p>the slave. (Bug#27606: <a href="http://bugs.mysql.com/bug.php?id=27606">http://bugs.mysql.com/bug.php?id=27606</a>)</p>
<p>* Setting the read_only system variable at server startup did</p>
<p>not work. (Bug#58669: <a href="http://bugs.mysql.com/bug.php?id=58669">http://bugs.mysql.com/bug.php?id=58669</a>)</p>
<p>* mysql_upgrade failed after an upgrade from MySQL 5.1.</p>
<p>(Bug#58514: <a href="http://bugs.mysql.com/bug.php?id=58514">http://bugs.mysql.com/bug.php?id=58514</a>)</p>
<p>* When configuring the build with -DBUILD_CONFIG=mysql_release</p>
<p>and building with Visual Studio Express, the build failed if</p>
<p>signtool.exe was not present.</p>
<p>(Bug#58313: <a href="http://bugs.mysql.com/bug.php?id=58313">http://bugs.mysql.com/bug.php?id=58313</a>)</p>
<p>* When configuring the build with -DBUILD_CONFIG=mysql_release</p>
<p>on Linux, libaio is required, but the error message if it was</p>
<p>missing was uninformative.</p>
<p>(Bug#58227: <a href="http://bugs.mysql.com/bug.php?id=58227">http://bugs.mysql.com/bug.php?id=58227</a>)</p>
<p>* Use of NAME_CONST() in a HAVING clause caused a server crash.</p>
<p>(Bug#58199: <a href="http://bugs.mysql.com/bug.php?id=58199">http://bugs.mysql.com/bug.php?id=58199</a>)</p>
<p>* BETWEEN did not use indexes for DATE or DATETIME columns.</p>
<p>(Bug#58190: <a href="http://bugs.mysql.com/bug.php?id=58190">http://bugs.mysql.com/bug.php?id=58190</a>)</p>
<p>* Memory was allocated in fn_expand() for storing path names,</p>
<p>but not freed anywhere.</p>
<p>(Bug#58173: <a href="http://bugs.mysql.com/bug.php?id=58173">http://bugs.mysql.com/bug.php?id=58173</a>)</p>
<p>* In debug builds, inserting a FLOAT value into a CHAR(0) column</p>
<p>could crash the server.</p>
<p>(Bug#58137: <a href="http://bugs.mysql.com/bug.php?id=58137">http://bugs.mysql.com/bug.php?id=58137</a>)</p>
<p>* Failure to create a thread to handle a user connection could</p>
<p>result in a server crash.</p>
<p>(Bug#58080: <a href="http://bugs.mysql.com/bug.php?id=58080">http://bugs.mysql.com/bug.php?id=58080</a>)</p>
<p>* During configuration, ADD_VERSION_INFO in</p>
<p>cmake/mysql_version.cmake failed if LINK_FLAGS was modified.</p>
<p>(Bug#58074: <a href="http://bugs.mysql.com/bug.php?id=58074">http://bugs.mysql.com/bug.php?id=58074</a>)</p>
<p>* Performance Schema did not account for I/O for the binary log</p>
<p>file (no I/O was counted).</p>
<p>(Bug#58052: <a href="http://bugs.mysql.com/bug.php?id=58052">http://bugs.mysql.com/bug.php?id=58052</a>)</p>
<p>* Several compilation problems were fixed.</p>
<p>(Bug#57992: <a href="http://bugs.mysql.com/bug.php?id=57992">http://bugs.mysql.com/bug.php?id=57992</a>,</p>
<p>Bug#57993: <a href="http://bugs.mysql.com/bug.php?id=57993">http://bugs.mysql.com/bug.php?id=57993</a>,</p>
<p>Bug#57994: <a href="http://bugs.mysql.com/bug.php?id=57994">http://bugs.mysql.com/bug.php?id=57994</a>,</p>
<p>Bug#57995: <a href="http://bugs.mysql.com/bug.php?id=57995">http://bugs.mysql.com/bug.php?id=57995</a>,</p>
<p>Bug#57996: <a href="http://bugs.mysql.com/bug.php?id=57996">http://bugs.mysql.com/bug.php?id=57996</a>,</p>
<p>Bug#57997: <a href="http://bugs.mysql.com/bug.php?id=57997">http://bugs.mysql.com/bug.php?id=57997</a>,</p>
<p>Bug#58057: <a href="http://bugs.mysql.com/bug.php?id=58057">http://bugs.mysql.com/bug.php?id=58057</a>)</p>
<p>* After creating a table with two foreign key constraints, the</p>
<p>INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS table displayed</p>
<p>only one of them.</p>
<p>(Bug#57904: <a href="http://bugs.mysql.com/bug.php?id=57904">http://bugs.mysql.com/bug.php?id=57904</a>)</p>
<p>* Incorrect error handling raised an assertion if character set</p>
<p>conversion wrapped an item that failed.</p>
<p>(Bug#57882: <a href="http://bugs.mysql.com/bug.php?id=57882">http://bugs.mysql.com/bug.php?id=57882</a>)</p>
<p>* In debug builds, a missing DBUG_RETURN macro in sql/client.c</p>
<p>caused mysql to be unable to connect to the server.</p>
<p>(Bug#57744: <a href="http://bugs.mysql.com/bug.php?id=57744">http://bugs.mysql.com/bug.php?id=57744</a>)</p>
<p>* Clients using a client library older than MySQL 5.5.7 suffered</p>
<p>loss of connection after executing mysql_change_user() while</p>
<p>connected to a 5.5.7 server.</p>
<p>(Bug#57689: <a href="http://bugs.mysql.com/bug.php?id=57689">http://bugs.mysql.com/bug.php?id=57689</a>)</p>
<p>* The MySQL-shared RPM package failed to provide the lowercase</p>
<p>virtual identifier &#8216;mysql-shared&#8217; in the RPM &#8216;Provides&#8217; tags</p>
<p>(usually used for backward compatibility).</p>
<p>(Bug#57596: <a href="http://bugs.mysql.com/bug.php?id=57596">http://bugs.mysql.com/bug.php?id=57596</a>)</p>
<p>* For an upgrade to MySQL 5.5.7 from a previous release, the</p>
<p>server exited if the mysql.proxies_priv table did not exist,</p>
<p>making upgrades inconvenient. Now the server treats a missing</p>
<p>proxies_priv table as equivalent to an empty table. However,</p>
<p>after starting the server, you should still run mysql_upgrade</p>
<p>to create the table.</p>
<p>(Bug#57551: <a href="http://bugs.mysql.com/bug.php?id=57551">http://bugs.mysql.com/bug.php?id=57551</a>)</p>
<p>* SHOW PROCESSLIST displayed non-ASCII characters improperly.</p>
<p>(Bug#57306: <a href="http://bugs.mysql.com/bug.php?id=57306">http://bugs.mysql.com/bug.php?id=57306</a>)</p>
<p>* Passing a string that was not null-terminated to UpdateXML()</p>
<p>or ExtractValue() caused the server to fail with an assertion.</p>
<p>(Bug#57279: <a href="http://bugs.mysql.com/bug.php?id=57279">http://bugs.mysql.com/bug.php?id=57279</a>)</p>
<p>* SET GLOBAL debug could cause a crash on Solaris if the server</p>
<p>failed to open the trace file.</p>
<p>(Bug#57274: <a href="http://bugs.mysql.com/bug.php?id=57274">http://bugs.mysql.com/bug.php?id=57274</a>)</p>
<p>* In debug builds, an assertion could be raised during</p>
<p>conversion of strings to floating-point values.</p>
<p>(Bug#57203: <a href="http://bugs.mysql.com/bug.php?id=57203">http://bugs.mysql.com/bug.php?id=57203</a>)</p>
<p>* A user with no privileges on a stored routine or the</p>
<p>mysql.proc table could discover the routine&#8217;s existence.</p>
<p>(Bug#57061: <a href="http://bugs.mysql.com/bug.php?id=57061">http://bugs.mysql.com/bug.php?id=57061</a>)</p>
<p>* Queries executed using the Index Merge access method and a</p>
<p>temporary file could return incorrect results.</p>
<p>(Bug#56862: <a href="http://bugs.mysql.com/bug.php?id=56862">http://bugs.mysql.com/bug.php?id=56862</a>)</p>
<p>* The server could crash as a result of accessing freed memory</p>
<p>when populating INFORMATION_SCHEMA.VIEWS if a view could not</p>
<p>be opened properly.</p>
<p>(Bug#56540: <a href="http://bugs.mysql.com/bug.php?id=56540">http://bugs.mysql.com/bug.php?id=56540</a>)</p>
<p>* Valgrind warnings about overlapping memory when</p>
<p>double-assigning the same variable were corrected.</p>
<p>(Bug#56138: <a href="http://bugs.mysql.com/bug.php?id=56138">http://bugs.mysql.com/bug.php?id=56138</a>)</p>
<p>* If a STOP SLAVE statement was issued while the slave SQL</p>
<p>thread was executing a statement that invoked the SLEEP()</p>
<p>function, both statements hung.</p>
<p>(Bug#56096: <a href="http://bugs.mysql.com/bug.php?id=56096">http://bugs.mysql.com/bug.php?id=56096</a>)</p>
<p>* OPTIMIZE TABLE for InnoDB tables could raise an assertion.</p>
<p>(Bug#55930: <a href="http://bugs.mysql.com/bug.php?id=55930">http://bugs.mysql.com/bug.php?id=55930</a>)</p>
<p>* Warnings raised by a trigger were not cleared upon successful</p>
<p>completion. Now warnings are cleared if the trigger completes</p>
<p>successfully, per the SQL standard.</p>
<p>(Bug#55850: <a href="http://bugs.mysql.com/bug.php?id=55850">http://bugs.mysql.com/bug.php?id=55850</a>)</p>
<p>* For CMake builds, some parts of the source were unnecessarily</p>
<p>compiled twice if the embedded server was built.</p>
<p>(Bug#55647: <a href="http://bugs.mysql.com/bug.php?id=55647">http://bugs.mysql.com/bug.php?id=55647</a>)</p>
<p>* Boolean command options caused an error if given with an</p>
<p>option value and the loose- option prefix.</p>
<p>(Bug#54569: <a href="http://bugs.mysql.com/bug.php?id=54569">http://bugs.mysql.com/bug.php?id=54569</a>)</p>
<p>* An error in a stored procedure could leave the session in a</p>
<p>different default database.</p>
<p>(Bug#54375: <a href="http://bugs.mysql.com/bug.php?id=54375">http://bugs.mysql.com/bug.php?id=54375</a>)</p>
<p>* The CMake &#8220;wrapper&#8221; for configure (configure.pl) did not</p>
<p>handle the &#8211;with-comment option properly.</p>
<p>(Bug#52275: <a href="http://bugs.mysql.com/bug.php?id=52275">http://bugs.mysql.com/bug.php?id=52275</a>)</p>
<p>* Grouping by a TIME_TO_SEC() function result could cause a</p>
<p>server crash or incorrect results. Grouping by a function</p>
<p>returning a BLOB could cause an unexpected &#8220;Duplicate entry&#8221;</p>
<p>error and incorrect result.</p>
<p>(Bug#52160: <a href="http://bugs.mysql.com/bug.php?id=52160">http://bugs.mysql.com/bug.php?id=52160</a>)</p>
<p>* The find_files() function used by SHOW statements performed</p>
<p>redundant and unnecessary memory allocation.</p>
<p>(Bug#51208: <a href="http://bugs.mysql.com/bug.php?id=51208">http://bugs.mysql.com/bug.php?id=51208</a>)</p>
<p>* The Windows sample option files contained values more</p>
<p>appropriate for Linux.</p>
<p>(Bug#50021: <a href="http://bugs.mysql.com/bug.php?id=50021">http://bugs.mysql.com/bug.php?id=50021</a>)</p>
<p>* A failed RENAME TABLE operation could prevent a FLUSH TABLES</p>
<p>WITH READ LOCK from completing.</p>
<p>(Bug#47924: <a href="http://bugs.mysql.com/bug.php?id=47924">http://bugs.mysql.com/bug.php?id=47924</a>)</p>
<p>* Error messages for several internal conditions that should not</p>
<p>occur were changed to instruct the user to file a bug if they</p>
<p>do occur. (Bug#47027: <a href="http://bugs.mysql.com/bug.php?id=47027">http://bugs.mysql.com/bug.php?id=47027</a>)</p>
<p>* On file systems with case insensitive file names, and</p>
<p>lower_case_table_names=2, the server could crash due to a</p>
<p>table definition cache inconsistency.</p>
<p>(Bug#46941: <a href="http://bugs.mysql.com/bug.php?id=46941">http://bugs.mysql.com/bug.php?id=46941</a>)</p>
<p>* Handling of host name lettercase in GRANT statements was</p>
<p>inconsistent.</p>
<p>(Bug#36742: <a href="http://bugs.mysql.com/bug.php?id=36742">http://bugs.mysql.com/bug.php?id=36742</a>)</p>
<p>* SET NAMES utf8 COLLATE utf8_sinhala_ci did not work.</p>
<p>(Bug#26474: <a href="http://bugs.mysql.com/bug.php?id=26474">http://bugs.mysql.com/bug.php?id=26474</a>)</p>
<p>* The utf16_bin collation uses code-point order, not</p>
<p>byte-by-byte order, as described at Section 9.1.14.1, &#8220;Unicode</p>
<p>Character Sets.&#8221; (The order was byte-by-byte in MySQL 5.5.7.)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.marketgrid.com/blog/2010/12/mysql-community-server-5-5-8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL Community Server 5.5.7-rc</title>
		<link>http://www.marketgrid.com/blog/2010/11/mysql-community-server-5-5-7-rc/</link>
		<comments>http://www.marketgrid.com/blog/2010/11/mysql-community-server-5-5-7-rc/#comments</comments>
		<pubDate>Thu, 11 Nov 2010 09:40:05 +0000</pubDate>
		<dc:creator>Phil Smith</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Releases]]></category>
		<category><![CDATA[MySQL 5.5]]></category>

		<guid isPermaLink="false">http://www.marketgrid.com/blog/?p=410</guid>
		<description><![CDATA[MySQL Server 5.5.7-rc, a new version of the popular Open Source Database Management System, has been released. The &#8220;-rc&#8221; suffix indicates this is a &#8220;release candidate&#8221;. When there is sufficient positive feedback, there will be a &#8220;GA&#8221; (production quality) version of 5.5. From then on, MySQL 5.5 will receive production bug fixing support. MySQL 5.5 [...]]]></description>
			<content:encoded><![CDATA[<p>MySQL Server 5.5.7-rc, a new version of the popular Open Source Database Management System, has been released.</p>
<p>The &#8220;-rc&#8221; suffix indicates this is a &#8220;release candidate&#8221;. When there is sufficient positive feedback, there will be a &#8220;GA&#8221; (production quality) version of 5.5. From then on, MySQL 5.5 will receive production bug</p>
<p>fixing support.</p>
<p>MySQL 5.5 includes several high-impact changes to address scalability and performance issues in MySQL Server. These changes exploit advances in hardware and CPU design and enable better utilization of existing</p>
<p>hardware.</p>
<p>The new features in these releases are above beta quality. As with any other pre-production release, caution should be taken when installing on production level systems or systems with critical data.</p>
<p>Changes in MySQL 5.5.7-rc:</p>
<p>Authentication Changes:</p>
<p>* MySQL authentication supports two new capabilities, pluggable</p>
<p>authentication and proxy users:</p>
<p>+ With pluggable authentication, the server can use plugins</p>
<p>to authenticate incoming client connections, and clients</p>
<p>can load an authentication plugin that interacts properly</p>
<p>with the corresponding server plugin. This capability</p>
<p>enables clients to connect to the MySQL server with</p>
<p>credentials that are appropriate for authentication</p>
<p>methods other than the built-in MySQL authentication</p>
<p>based on native MySQL passwords stored in the mysql.user</p>
<p>table. For example, plugins can be created to use</p>
<p>external authentication methods such as LDAP, Kerberos,</p>
<p>PAM, or Windows login IDs.</p>
<p>+ Proxy user capability enables a client who connects and</p>
<p>authenticates as one user to be treated, for purposes of</p>
<p>access control while connected, as having the privileges</p>
<p>of a different user. In effect, one user impersonates</p>
<p>another. Proxy capability depends on pluggable</p>
<p>authentication because it is based on having an</p>
<p>authentication plugin return to the server the user name</p>
<p>that the connecting user impersonates.</p>
<p>Pluggable authentication entails these changes:</p>
<p>+ For user specifications in the CREATE USER and GRANT</p>
<p>statements, a new IDENTIFIED WITH clause for specifying</p>
<p>the authentication plugin.</p>
<p>+ For the mysql.user table, new columns that specify plugin</p>
<p>information. The plugin column, if nonempty, indicates</p>
<p>which plugin authenticates connections for an account.</p>
<p>The authentication_string column is a string that is</p>
<p>passed to the plugin.</p>
<p>+ For the mysql_options() C API function, new</p>
<p>MYSQL_DEFAULT_AUTH and MYSQL_PLUGIN_DIR options that</p>
<p>enable client programs to load authentication plugins.</p>
<p>+ For the mysql client, new &#8211;default-auth and &#8211;plugin-dir</p>
<p>options for specifying which authentication plugin and</p>
<p>plugin directory to use.</p>
<p>+ For the mysqltest client, a new &#8211;plugin-dir option for</p>
<p>specifying which plugin directory to use, and a new</p>
<p>connect() command argument to specify an authentication</p>
<p>plugin.</p>
<p>+ For the server plugin API, a new</p>
<p>MYSQL_AUTHENTICATION_PLUGIN plugin type.</p>
<p>+ A client plugin API that enables client programs to</p>
<p>manage plugins.</p>
<p>+ Reimplementation of the built-in authentication methods</p>
<p>previously supported in MySQL as plugins. These methods</p>
<p>provide native password checking and pre-MySQL 4.1.1</p>
<p>authentication that uses shorter password hash values.</p>
<p>This change only reimplements the built-in methods as</p>
<p>plugins that cannot be unloaded. Existing clients</p>
<p>authenticate as before with no changes needed. In</p>
<p>particular, starting the server with the &#8211;secure-auth</p>
<p>option still prevents clients that have pre-4.1.1</p>
<p>password hashes from connecting, and &#8211;skip-grant-tables</p>
<p>still disables all password checking.</p>
<p>Proxy user capability entails these changes:</p>
<p>+ A new PROXY privilege that can be managed with the GRANT</p>
<p>and REVOKE statements.</p>
<p>+ New proxy_user and external_user system variables that</p>
<p>indicate whether the current session uses proxying.</p>
<p>+ A new mysql.proxies_priv grant table that records proxy</p>
<p>information for MySQL accounts.</p>
<p>Due to these changes, the server requires that the new grant</p>
<p>table, proxies_priv, be present in the mysql database. If you</p>
<p>are upgrading from a previous MySQL release rather than</p>
<p>performing a new installation, the server will exit during</p>
<p>startup after finding that this table is missing. To create</p>
<p>the table, start the server with the &#8211;skip-grant-tables</p>
<p>option to cause it to skip the normal grant table checks, then</p>
<p>run mysql_upgrade. For example:</p>
<p>shell&gt; mysqld &#8211;skip-grant-tables &amp;</p>
<p>shell&gt; mysql_upgrade</p>
<p>Then stop the server and restart it normally.</p>
<p>You can specify other options on the mysqld command line if</p>
<p>necessary. Alternatively, if your installation is configured</p>
<p>so that the server normally reads options from an option file,</p>
<p>use the &#8211;defaults-file option to specify the file (enter each</p>
<p>command on a single line):</p>
<p>shell&gt; mysqld &#8211;defaults-file=/usr/local/mysql/etc/my.cnf</p>
<p>&#8211;skip-grant-tables &amp;</p>
<p>shell&gt; mysql_upgrade</p>
<p>With the &#8211;skip-grant-tables option, the server does no</p>
<p>password or privilege checking, so any client can connect and</p>
<p>effectively have all privileges. For additional security, use</p>
<p>the &#8211;skip-networking option as well to prevent remote clients</p>
<p>from connecting.</p>
<p>For additional information, consult these references:</p>
<p>+ Information about pluggable authentication, including</p>
<p>installation and usage instructions: Section 5.5.6,</p>
<p>&#8220;Pluggable Authentication.&#8221;</p>
<p>+ Information about proxy users: Section 5.5.7, &#8220;Proxy</p>
<p>Users.&#8221;</p>
<p>+ Information about the server and client plugin API:</p>
<p>Section 23.2.4.1, &#8220;General Plugin Data Structures and</p>
<p>Functions.&#8221;</p>
<p>+ Information about the C API functions for managing client</p>
<p>plugins: See Section 22.9.10, &#8220;Client Plugin API C</p>
<p>Functions.&#8221;</p>
<p>Functionality added or changed:</p>
<p>* The unused and undocumented thread_pool_size system variable</p>
<p>was removed.</p>
<p>(Bug#57338)</p>
<p>* A new status variable, Handler_read_last, displays the number</p>
<p>of requests to read the last key in an index. With ORDER BY,</p>
<p>the server will issue a first-key request followed by several</p>
<p>next-key requests, whereas with With ORDER BY DESC, the server</p>
<p>will issue a last-key request followed by several previous-key</p>
<p>requests. (Bug#52312)</p>
<p>Bugs fixed:</p>
<p>* Performance: InnoDB Storage Engine: The master InnoDB</p>
<p>background thread could sometimes cause transient performance</p>
<p>drops due to excessive flushing of modified pages.</p>
<p>(Bug#56933)</p>
<p>* Security Fix: The server crashed for assignment of values of</p>
<p>types other than Geometry to items of type GeometryCollection</p>
<p>(MultiPoint, MultiCurve, MultiSurface). Now the server checks</p>
<p>the field type and fails with bad geometry value if it detects</p>
<p>incorrect parameters.</p>
<p>(Bug#55531)</p>
<p>* Security Fix: EXPLAIN EXTENDED caused a server crash with some</p>
<p>prepared statements.</p>
<p>(Bug#54494)</p>
<p>* Security Fix: In prepared-statement mode, EXPLAIN for a SELECT</p>
<p>from a derived table caused a server crash.</p>
<p>(Bug#54488)</p>
<p>* Security Fix: The PolyFromWKB() function could crash the</p>
<p>server when improper WKB data was passed to the function.</p>
<p>(Bug#51875,</p>
<p>CVE-2010-3840</p>
<p>(<a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-3840%29">http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-3840)</a>)</p>
<p>* Incompatible Change: Replication: The behavior of INSERT</p>
<p>DELAYED statements when using statement-based replication has</p>
<p>changed as follows:</p>
<p>Previously, when using binlog_format=STATEMENT, a warning was</p>
<p>issued in the client when executing INSERT DELAYED; now, no</p>
<p>warning is issued in such cases.</p>
<p>Previously, when using binlog_format=STATEMENT, INSERT DELAYED</p>
<p>was logged as INSERT DELAYED; now, it is logged as an INSERT,</p>
<p>without the DELAYED option.</p>
<p>However, when binlog_format=STATEMENT, INSERT DELAYED</p>
<p>continues to be executed as INSERT (without the DELAYED</p>
<p>option). The behavior of INSERT DELAYED remains unchanged when</p>
<p>using binlog_format=ROW: INSERT DELAYED generates no warnings,</p>
<p>is executed as INSERT DELAYED, and is logged using the</p>
<p>row-based format.</p>
<p>This change also affects binlog_format=MIXED, because INSERT</p>
<p>DELAYED is no longer considered unsafe. Now, when the logging</p>
<p>format is MIXED, no switch to row-based logging occurs. This</p>
<p>means that the statement is logged as a simple INSERT (that</p>
<p>is, without the DELAYED option), using the statement-based</p>
<p>logging format.</p>
<p>(Bug#54579)</p>
<p>* Incompatible Change: Previously, if you flushed the logs using</p>
<p>FLUSH LOGS or mysqladmin flush-logs and mysqld was writing the</p>
<p>error log to a file (for example, if it was started with the</p>
<p>&#8211;log-error option), it renamed the current log file with the</p>
<p>suffix -old, then created a new empty log file. This had the</p>
<p>problem that a second log-flushing operation thus caused the</p>
<p>original error log file to be lost unless you saved it under a</p>
<p>different name. For example, you could use the following</p>
<p>commands to save the file:</p>
<p>shell&gt; mysqladmin flush-logs</p>
<p>shell&gt; mv host_name.err-old backup-directory</p>
<p>To avoid the preceding file-loss problem, renaming no longer</p>
<p>occurs. The server merely closes and reopens the log file. To</p>
<p>rename the file, you can do so manually before flushing. Then</p>
<p>flushing the logs reopens a new file with the original file</p>
<p>name. For example, you can rename the file and create a new</p>
<p>one using the following commands:</p>
<p>shell&gt; mv host_name.err host_name.err-old</p>
<p>shell&gt; mysqladmin flush-logs</p>
<p>shell&gt; mv host_name.err-old backup-directory</p>
<p>(Bug#29751)</p>
<p>* InnoDB Storage Engine: Replication: If the master had</p>
<p>innodb_file_per_table=OFF, innodb_file_format=Antelope (and</p>
<p>innodb_strict_mode=OFF), or both, certain CREATE TABLE</p>
<p>options, such as KEY_BLOCK_SIZE, were ignored. This could</p>
<p>allow master to avoid raising ER_TOO_BIG_ROWSIZE errors.</p>
<p>However, the ignored CREATE TABLE options were still written</p>
<p>into the binary log, so that, if the slave had</p>
<p>innodb_file_per_table=ON and innodb_file_format=Barracuda, it</p>
<p>could encounter an ER_TOO_BIG_ROWSIZE error while executing</p>
<p>the record from the log, causing the slave SQL thread to abort</p>
<p>and replication to fail.</p>
<p>In the case where the master was running MySQL 5.1 and the</p>
<p>slave was MySQL 5.5 (or later), the failure occurred when both</p>
<p>master and slave were running with default values for</p>
<p>innodb_file_per_table and innodb_file_format. This could cause</p>
<p>problems during upgrades.</p>
<p>To address this issue, the default values for</p>
<p>innodb_file_per_table and innodb_file_format are reverted to</p>
<p>the MySQL 5.1 default values&#8212;that is, OFF and Antelope,</p>
<p>respectively.</p>
<p>(Bug#56318)</p>
<p>* InnoDB Storage Engine: The server could crash with a high</p>
<p>volume of concurrent LOCK TABLE and UNLOCK TABLES statements.</p>
<p>(Bug#57345)</p>
<p>* InnoDB Storage Engine: InnoDB incorrectly reported an error</p>
<p>when a cascading foreign key constraint deleted more than 250</p>
<p>rows. (Bug#57255)</p>
<p>* InnoDB Storage Engine: The output from the SHOW ENGINE INNODB</p>
<p>STATUS command can now be up to 1 MB. Formerly, it was</p>
<p>truncated at 64 KB. Monitoring applications that parse can</p>
<p>check if output exceeds this new, larger limit by testing the</p>
<p>Innodb_truncated_status_writes status variable.</p>
<p>(Bug#56922)</p>
<p>* InnoDB Storage Engine: A SELECT &#8230; FOR UPDATE statement</p>
<p>affecting a range of rows in an InnoDB table could cause a</p>
<p>crash in the debug version of the server.</p>
<p>(Bug#56716)</p>
<p>* InnoDB Storage Engine: Improved the performance of UPDATE</p>
<p>operations on InnoDB tables, when only non-indexed columns are</p>
<p>changed. (Bug#56340)</p>
<p>* InnoDB Storage Engine: When MySQL was restarted after a crash</p>
<p>with the option innodb_force_recovery=6, certain queries</p>
<p>against InnoDB tables could fail, depending on WHERE or ORDER</p>
<p>BY clauses.</p>
<p>Usually in such a disaster recovery situation, you dump the</p>
<p>entire table using a query without these clauses. During</p>
<p>advanced troubleshooting, you might use queries with these</p>
<p>clauses to diagnose the position of the corrupted data, or to</p>
<p>recover data following the corrupted part.</p>
<p>(Bug#55832)</p>
<p>* InnoDB Storage Engine: The CHECK TABLE command could cause a</p>
<p>time-consuming verification of the InnoDB adaptive hash index</p>
<p>memory structure. Now this extra checking is only performed in</p>
<p>binaries built for debugging.</p>
<p>(Bug#55716)</p>
<p>* InnoDB Storage Engine: A heavy workload with a large number of</p>
<p>threads could cause a crash in the debug version of the</p>
<p>server. (Bug#55699)</p>
<p>* InnoDB Storage Engine: The server could crash on shutdown, if</p>
<p>started with &#8211;innodb-use-system-malloc=0.</p>
<p>(Bug#55627)</p>
<p>* InnoDB Storage Engine: If the server crashed during a RENAME</p>
<p>TABLE operation on an InnoDB table, subsequent crash recovery</p>
<p>could fail. This problem could also affect an ALTER TABLE</p>
<p>statement that caused a rename operation internally.</p>
<p>(Bug#55027)</p>
<p>* InnoDB Storage Engine: Setting the PACK_KEYS=0 table option</p>
<p>for an InnoDB table prevented new indexes from being added to</p>
<p>the table. (Bug#54606)</p>
<p>* InnoDB Storage Engine: Changed the locking mechanism for the</p>
<p>InnoDB data dictionary during ROLLBACK operations, to improve</p>
<p>concurrency for REPLACE statements.</p>
<p>(Bug#54538)</p>
<p>* InnoDB Storage Engine: With multiple buffer pools enabled,</p>
<p>InnoDB could flush more data from the buffer pool than</p>
<p>necessary, causing extra I/O overhead.</p>
<p>(Bug#54346)</p>
<p>* InnoDB Storage Engine: InnoDB transactions could be</p>
<p>incorrectly committed during recovery, rather than rolled</p>
<p>back, if the server crashed and was restarted after performing</p>
<p>ALTER TABLE&#8230;ADD PRIMARY KEY on an InnoDB table, or some</p>
<p>other operation that involves copying the entire table.</p>
<p>(Bug#53756)</p>
<p>* InnoDB Storage Engine: InnoDB startup messages now include the</p>
<p>start and end times for buffer pool initialization, and the</p>
<p>total buffer pool size.</p>
<p>(Bug#48026)</p>
<p>* Partitioning: Multi-table UPDATE statements involving a</p>
<p>partitioned MyISAM table could cause this table to become</p>
<p>corrupted. Not all tables affected by the UPDATE needed to be</p>
<p>partitioned for this issue to be observed.</p>
<p>(Bug#55458)</p>
<p>* Partitioning: EXPLAIN PARTITIONS returned bad estimates for</p>
<p>range queries on partitioned MyISAM tables. In addition,</p>
<p>values in the rows column of EXPLAIN PARTITIONS output did not</p>
<p>take partition pruning into account.</p>
<p>(Bug#53806,</p>
<p>Bug#46754)</p>
<p>* Replication: SET PASSWORD caused row-based replication to fail</p>
<p>between a MySQL 5.1 master and a MySQL 5.5 slave.</p>
<p>This fix makes it possible to replicate SET PASSWORD</p>
<p>correctly, using row-based replication between a master</p>
<p>running MySQL 5.1.53 or a later MySQL 5.1 release to a slave</p>
<p>running MySQL 5.5.7 or a later MySQL 5.5 release.</p>
<p>(Bug#57098)</p>
<p>See also Bug#55452,</p>
<p>Bug#57357.</p>
<p>* Replication: Backticks used to enclose identifiers for</p>
<p>savepoints were not preserved in the binary log, which could</p>
<p>lead to replication failure when the identifier, stripped of</p>
<p>backticks, could be misinterpreted, causing a syntax or other</p>
<p>error.</p>
<p>This could cause problems with MySQL application programs</p>
<p>making use of generated savepoint IDs. If, for instance,</p>
<p>java.sql.Connection.setSavepoint() is called without any</p>
<p>parameters, Connector/J automatically generates a savepoint</p>
<p>identifier consisting of a string of hexadecimal digits 0-F</p>
<p>encased in backtick (`) characters. If such an ID took the</p>
<p>form `NeN` (where N represents a string of the decimal digits</p>
<p>0-9, and e is a literal uppercase or lowercase &#8220;E&#8221; character).</p>
<p>Removing the backticks when writing the identifier into the</p>
<p>binary log left behind a substring which the slave MySQL</p>
<p>server tried to interpret as a floating point number, rather</p>
<p>than as an identifier. The resulting syntax error caused loss</p>
<p>of replication.</p>
<p>(Bug#55961)</p>
<p>See also Bug#55962.</p>
<p>* Replication: When a slave tried to execute a transaction</p>
<p>larger than the slave&#8217;s value for max_binlog_cache_size, it</p>
<p>crashed. This was caused by an assertion that the server</p>
<p>should roll back only the statement but not the entire</p>
<p>transaction when the error ER_TRANS_CACHE_FULL occurred.</p>
<p>However, the slave SQL thread always rolled back the entire</p>
<p>transaction whenever any error occurred, regardless of the</p>
<p>type of error.</p>
<p>(Bug#55375)</p>
<p>* Replication: The error message for</p>
<p>ER_SLAVE_HEARTBEAT_VALUE_OUT_OF_RANGE was hard coded in</p>
<p>English in sql_yacc.yy, so that it could not be translated in</p>
<p>errmsg.txt for other languages.</p>
<p>Additionally, this same error message was used for three</p>
<p>separate error conditions:</p>
<p>1. When the heartbeat period exceeded the value of</p>
<p>slave_net_timeout.</p>
<p>2. When the heartbeat period was nonnegative but shorter</p>
<p>than 1 millisecond.</p>
<p>3. When the value for the heartbeat period was either</p>
<p>negative or greater than the maximum allowed.</p>
<p>These issues have been addressed as follows:</p>
<p>+ By using three distinct error messages for each of the</p>
<p>conditions listed previously.</p>
<p>+ By moving the sources for these error messages into the</p>
<p>errmsg-utf8.txt file to facilitate translations into</p>
<p>languages other than English.</p>
<p>(Bug#54144)</p>
<p>* A buffer overrun could occur when formatting DBL_MAX numbers.</p>
<p>(Bug#57209)</p>
<p>* The server could crash inside memcpy() when reading certain</p>
<p>Performance Schema tables.</p>
<p>(Bug#56761)</p>
<p>* Memory leaks detected by Valgrind were corrected.</p>
<p>(Bug#56709)</p>
<p>* It was possible to compile mysqld with Performance Schema</p>
<p>support but with a dummy atomic-operations implementation,</p>
<p>which caused a server crash. This problem does not affect</p>
<p>binary distributions. It is helpful as a safety measure for</p>
<p>users who build MySQL from source.</p>
<p>(Bug#56521)</p>
<p>* The server crashed if a table maintenance statement such as</p>
<p>ANALYZE TABLE or REPAIR TABLE was executed on a MERGE table</p>
<p>and opening and locking a child table failed. For example,</p>
<p>this could happen if a child table did not exist or if a lock</p>
<p>timeout happened while waiting for a conflicting metadata lock</p>
<p>to disappear.</p>
<p>As a consequence of this bug fix, it is now possible to use</p>
<p>CHECK TABLE for log tables without producing an error.</p>
<p>(Bug#56422,</p>
<p>Bug#56494)</p>
<p>* Deadlock could occur for heavily concurrent workloads</p>
<p>consisting of a mix of DML, DDL, and FLUSH TABLES statements</p>
<p>affecting the same set of tables.</p>
<p>(Bug#56405)</p>
<p>* The server could crash during shutdown due to a race condition</p>
<p>relating to Performance Schema cleanup.</p>
<p>(Bug#56324)</p>
<p>* ALTER TABLE on a MERGE table could result in deadlock with</p>
<p>other connections.</p>
<p>(Bug#56292,</p>
<p>Bug#57002)</p>
<p>* The tcmalloc library was missing from binary MySQL packages</p>
<p>for Linux. (Bug#56267<a href="http://bugs.mysql.com/bug.php?id=56267"></a>)</p>
<p>* An INSERT DELAYED statement for a MERGE table could cause</p>
<p>deadlock if it occurred as part of a transaction or under LOCK</p>
<p>TABLES, and there was a concurrent DDL or LOCK TABLES &#8230;</p>
<p>WRITE statement that tried to lock one of its underlying</p>
<p>tables. (Bug#56251)</p>
<p>* In debug builds, the server raised an assertion for DROP</p>
<p>DATABASE in installations that had an outdated or corrupted</p>
<p>mysql.proc table. For example, this affected mysql_upgrade</p>
<p>when run as part of a MySQL 5.1 to 5.5 upgrade.</p>
<p>(Bug#56137)</p>
<p>* A negative TIME argument to MIN() or MAX() could raise an</p>
<p>assertion. (Bug#56120)</p>
<p>* The ordering for supplementary characters with the</p>
<p>utf8mb4_bin, utf16_bin, and utf32_bin collations was</p>
<p>incorrect. (Bug#55980<a href="http://bugs.mysql.com/bug.php?id=55980"></a>)</p>
<p>* Short (single-letter) command-line options did not work.</p>
<p>(Bug#55873)</p>
<p>* If a query specified a DATE or DATETIME value in a format</p>
<p>different from &#8216;YYYY-MM-DD HH:MM:SS&#8217;, a greater-than-or-equal</p>
<p>(&gt;=) condition matched only greater-than values in an indexed</p>
<p>TIMESTAMP column.</p>
<p>(Bug#55779)</p>
<p>* If a view was named as the destination table for CREATE TABLE</p>
<p>&#8230; SELECT, the server produced a warning whether or not IF</p>
<p>NOT EXISTS was used. Now it produces a warning only when IF</p>
<p>NOT EXISTS is used, and an error otherwise.</p>
<p>(Bug#55777<a href="http://bugs.mysql.com/bug.php?id=55777"></a>)</p>
<p>* After the fix for</p>
<p>Bug#39653<a href="http://bugs.mysql.com/bug.php?id=39653"></a>, the</p>
<p>shortest available secondary index was used for full table</p>
<p>scans. The primary clustered key was used only if no secondary</p>
<p>index could be used. However, when the chosen secondary index</p>
<p>includes all columns of the table being scanned, it is better</p>
<p>to use the primary index because the amount of data to scan is</p>
<p>the same but the primary index is clustered. This is now taken</p>
<p>into account.</p>
<p>(Bug#55656)</p>
<p>* For Performance Schema, the default number of rwlock classes</p>
<p>was increased to 30, and the default number of rwlock and</p>
<p>mutex instances was increased to 1 million. These changes were</p>
<p>made to account for the volume of data instrumented when the</p>
<p>InnoDB storage engine is used (because of the InnoDB buffer</p>
<p>pool). (Bug#55576<a href="http://bugs.mysql.com/bug.php?id=55576"></a>)</p>
<p>* If there was an active SELECT statement, an error arising</p>
<p>during trigger execution could cause a server crash.</p>
<p>(Bug#55421<a href="http://bugs.mysql.com/bug.php?id=55421"></a>)</p>
<p>* Assignment of InnoDB scalar subquery results to a variable</p>
<p>resulted in unexpected S locks in READ COMMITTED transaction</p>
<p>isolation level.</p>
<p>(Bug#55382<a href="http://bugs.mysql.com/bug.php?id=55382"></a>)</p>
<p>* Queries involving predicates of the form const NOT BETWEEN</p>
<p>not_indexed_column AND indexed_column could return incorrect</p>
<p>data due to incorrect handling by the range optimizer.</p>
<p>(Bug#54802<a href="http://bugs.mysql.com/bug.php?id=54802"></a>)</p>
<p>* With an UPDATE IGNORE statement including a subquery that was</p>
<p>evaluated using a temporary table, an error transferring the</p>
<p>data from the temporary was ignored, causing an assertion to</p>
<p>be raised. (Bug#54543)</p>
<p>* MIN() or MAX() with a subquery argument could raise a debug</p>
<p>assertion for debug builds or return incorrect data for</p>
<p>nondebug builds.</p>
<p>(Bug#54465<a href="http://bugs.mysql.com/bug.php?id=54465"></a>)</p>
<p>* If one session attempted to drop a database containing a table</p>
<p>which another session had opened with HANDLER, any instance of</p>
<p>ALTER DATABASE, CREATE DATABASE, or DROP DATABASE issued by</p>
<p>the latter session produced a deadlock.</p>
<p>(Bug#54360)</p>
<p>* INFORMATION_SCHEMA plugins with no deinit() method resulted in</p>
<p>a memory leak.</p>
<p>(Bug#54253<a href="http://bugs.mysql.com/bug.php?id=54253"></a>)</p>
<p>* Row subqueries producing no rows were not handled as UNKNOWN</p>
<p>values in row comparison expressions.</p>
<p>(Bug#54190<a href="http://bugs.mysql.com/bug.php?id=54190"></a>)</p>
<p>* Setting SETUP_INSTRUMENTS.TIMER = &#8216;NO&#8217; caused TIMER_WAIT</p>
<p>values for aggregations to be NULL rather than 0.</p>
<p>(Bug#53874<a href="http://bugs.mysql.com/bug.php?id=53874"></a>)</p>
<p>* The max_length metadata value of MEDIUMBLOB types was reported</p>
<p>as 1 byte greater than the correct value.</p>
<p>(Bug#53296)</p>
<p>* If an application using the embedded server called</p>
<p>mysql_library_init() a second time after calling</p>
<p>mysql_library_init() and mysql_library_end() to start and stop</p>
<p>the server, the application crashed when reading option files.</p>
<p>(Bug#53251<a href="http://bugs.mysql.com/bug.php?id=53251"></a>)</p>
<p>* The fix for Bug#30234<a href="http://bugs.mysql.com/bug.php?id=30234"></a></p>
<p>caused the server to reject the DELETE tbl_name.* &#8230; Access</p>
<p>compatibility syntax for multiple-table DELETE statements.</p>
<p>(Bug#53034<a href="http://bugs.mysql.com/bug.php?id=53034"></a>)</p>
<p>* The plugin_ftparser.h and plugin_audit.h include files are</p>
<p>part of the public API/ABI, but were not tested by the ABI</p>
<p>check. (Bug#52821<a href="http://bugs.mysql.com/bug.php?id=52821"></a>)</p>
<p>* An atomic &#8220;compare and swap&#8221; operation using x86 assembly code</p>
<p>(32 bit) could access incorrect data, which would make it work</p>
<p>incorrectly and lose the intended atomicity. This would in</p>
<p>turn cause the MySQL server to work on inconsistent data</p>
<p>structures and return incorrect data. That code part affected</p>
<p>only 32-bit builds; the effect has been observed when icc was</p>
<p>used to build binaries. With gcc, no incorrect results have</p>
<p>been observed during tests, so this fix is a proactive one.</p>
<p>Other compilers do not use this assembly code.</p>
<p>(Bug#52419<a href="http://bugs.mysql.com/bug.php?id=52419"></a>)</p>
<p>* In LOAD DATA INFILE, using a SET clause to set a column equal</p>
<p>to itself caused a server crash.</p>
<p>(Bug#51850<a href="http://bugs.mysql.com/bug.php?id=51850"></a>)</p>
<p>* In some cases, when the left part of a NOT IN subquery</p>
<p>predicate was a row and contained NULL values, the query</p>
<p>result was incorrect.</p>
<p>(Bug#51070<a href="http://bugs.mysql.com/bug.php?id=51070"></a>)</p>
<p>* CHECKSUM TABLE for Performance Schema tables could cause a</p>
<p>server crash due to uninitialized memory reads.</p>
<p>(Bug#50557)</p>
<p>* For some queries, the optimizer produced incorrect results</p>
<p>using the Index Merge access method with InnoDB tables.</p>
<p>(Bug#50402<a href="http://bugs.mysql.com/bug.php?id=50402"></a>)</p>
<p>* EXPLAIN produced an incorrect rows value for queries evaluated</p>
<p>using an index scan and that included LIMIT, GROUP BY, and</p>
<p>ORDER BY on a computed column.</p>
<p>(Bug#50394<a href="http://bugs.mysql.com/bug.php?id=50394"></a>)</p>
<p>* mysql_store_result() and mysql_use_result() are not for use</p>
<p>with prepared statements and are not intended to be called</p>
<p>following mysql_stmt_execute(), but failed to return an error</p>
<p>when invoked that way.</p>
<p>(Bug#47485<a href="http://bugs.mysql.com/bug.php?id=47485"></a>)</p>
<p>* Using REPAIR TABLE table USE_FRM on a MERGE table caused the</p>
<p>server to crash.</p>
<p>(Bug#46339<a href="http://bugs.mysql.com/bug.php?id=46339"></a>)</p>
<p>* If the global and session debug system variables had the same</p>
<p>value, the debug trace file could be closed twice, leading to</p>
<p>freeing already freed memory and a server crash.</p>
<p>(Bug#46165)</p>
<p>* Trailing space removal for utf32 strings was done with</p>
<p>non-multibyte-safe code, leading to incorrect result length</p>
<p>and assertion failure.</p>
<p>(Bug#42511)</p>
<p>* A malformed packet sent by the server when the query cache was</p>
<p>in use resulted in lost-connection errors.</p>
<p>(Bug#42503<a href="http://bugs.mysql.com/bug.php?id=42503"></a>)</p>
<p>* Multiple-statement execution could fail.</p>
<p>(Bug#40877<a href="http://bugs.mysql.com/bug.php?id=40877"></a>)</p>
<p>* CREATE TABLE failed if a column referred to in an index</p>
<p>definition and foreign key definition was in different</p>
<p>lettercases in the two definitions.</p>
<p>(Bug#39932)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.marketgrid.com/blog/2010/11/mysql-community-server-5-5-7-rc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL Community Server 5.5.6-rc</title>
		<link>http://www.marketgrid.com/blog/2010/09/mysql-community-server-5-5-6-rc/</link>
		<comments>http://www.marketgrid.com/blog/2010/09/mysql-community-server-5-5-6-rc/#comments</comments>
		<pubDate>Mon, 20 Sep 2010 09:35:50 +0000</pubDate>
		<dc:creator>Phil Smith</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Releases]]></category>
		<category><![CDATA[MySQL 5.5]]></category>

		<guid isPermaLink="false">http://www.marketgrid.com/blog/?p=358</guid>
		<description><![CDATA[MySQL Server 5.5.6-rc, a new version of the popular Open Source Database Management System, has been released. The "-rc" suffix indicates this is a "release candidate". When there is sufficient positive feedback, there will be a "GA" (production quality) version of 5.5. From then on, MySQL 5.5 will receive production bug fixing support.  MySQL 5.5 [...]]]></description>
			<content:encoded><![CDATA[<pre>MySQL Server 5.5.6-rc, a new version of the popular Open Source
Database Management System, has been released.

The "-rc" suffix indicates this is a "release candidate". When there is
sufficient positive feedback, there will be a "GA" (production quality)
version of 5.5. From then on, MySQL 5.5 will receive production bug
fixing support. 

 MySQL 5.5 includes several high-impact changes to address scalability
and performance issues in MySQL Server. These changes exploit advances
in hardware and CPU design and enable better utilization of existing
hardware.

For an overview of what's new in MySQL 5.5, please see the section
"What Is New in MySQL 5.5" online at

    <a href="http://dev.mysql.com/doc/refman/5.5/en/mysql-nutshell.html">http://dev.mysql.com/doc/refman/5.5/en/mysql-nutshell.html</a>

The new features in these releases are above beta quality. As with any
other pre-production release, caution should be taken when installing
on production level systems or systems with critical data.

For information on installing MySQL 5.5.6-rc on new servers, please see
the MySQL installation documentation at

    <a href="http://dev.mysql.com/doc/refman/5.5/en/installing.html">http://dev.mysql.com/doc/refman/5.5/en/installing.html</a>

For upgrading from previous MySQL releases, please see the important
upgrade considerations at

<a href="http://dev.mysql.com/doc/refman/5.5/en/upgrading-from-previous-series.html">http://dev.mysql.com/doc/refman/5.5/en/upgrading-from-previous-series.html</a> 

 The complete list of all "Bugs Fixed" may be viewed online at

    <a href="http://dev.mysql.com/doc/refman/5.5/en/news-5-5-6.html">http://dev.mysql.com/doc/refman/5.5/en/news-5-5-6.html</a>

Special note for those of you who build from source:

Since MySQL 5.5.5-m3, CMake joins GNU autotools as a build framework for
all platforms. We've already used CMake on Windows only. Our existing
support for GNU autotools isn't going away just yet, but you can now
alternatively use CMake as per the instructions on this web page:

   <a href="http://forge.mysql.com/wiki/CMake">http://forge.mysql.com/wiki/CMake</a>

----

Changes in MySQL 5.5.6:

Functionality added or changed:

  * Incompatible Change: The SHA2() function now returns a
    character string with the connection character set and
    collation. Previously, it returned a binary string. This
    is the same change made for several other encryption
    functions in MySQL 5.5.3.
    (Bug#54661: <a href="http://bugs.mysql.com/bug.php?id=54661">http://bugs.mysql.com/bug.php?id=54661</a>)

  * Overhead for the Performance Schema interface was
    reduced.
    (Bug#55087: <a href="http://bugs.mysql.com/bug.php?id=55087">http://bugs.mysql.com/bug.php?id=55087</a>)

Bugs fixed:

  * Security Fix: After changing the values of the
    innodb_file_format or innodb_file_per_table configuration
    parameters, DDL statements could cause a server crash.
    (Bug#55039: <a href="http://bugs.mysql.com/bug.php?id=55039">http://bugs.mysql.com/bug.php?id=55039</a>)

  * Security Fix: Joins involving a table with a unique SET
    column could cause a server crash.
    (Bug#54575: <a href="http://bugs.mysql.com/bug.php?id=54575">http://bugs.mysql.com/bug.php?id=54575</a>)

  * Security Fix: Incorrect handling of NULL arguments could
    lead to a crash for IN() or CASE operations when NULL
    arguments were either passed explicitly as arguments (for
    IN()) or implicitly generated by the WITH ROLLUP modifier
    (for IN() and CASE).
    (Bug#54477: <a href="http://bugs.mysql.com/bug.php?id=54477">http://bugs.mysql.com/bug.php?id=54477</a>)

  * Security Fix: A malformed argument to the BINLOG
    statement could result in Valgrind warnings or a server
    crash.
    (Bug#54393: <a href="http://bugs.mysql.com/bug.php?id=54393">http://bugs.mysql.com/bug.php?id=54393</a>)

  * Security Fix: Use of TEMPORARY InnoDB tables with
    nullable columns could cause a server crash.
    (Bug#54044: <a href="http://bugs.mysql.com/bug.php?id=54044">http://bugs.mysql.com/bug.php?id=54044</a>)

  * Security Fix: Using EXPLAIN with queries of the form
    SELECT ... UNION ... ORDER BY (SELECT ... WHERE ...)
    could cause a server crash.
    (Bug#52711: <a href="http://bugs.mysql.com/bug.php?id=52711">http://bugs.mysql.com/bug.php?id=52711</a>)

  * Incompatible Change: Replication: As of MySQL 5.5.6, handling
    of CREATE TABLE IF NOT EXISTS ... SELECT statements has been
    changed for the case that the destination table already
    exists:

       + Previously, for CREATE TABLE IF NOT EXISTS ... SELECT,
         MySQL produced a warning that the table exists, but
         inserted the rows and wrote the statement to the binary
         log anyway. By contrast, CREATE TABLE ... SELECT (without
         IF NOT EXISTS) failed with an error, but MySQL inserted
         no rows and did not write the statement to the binary
         log.

       + MySQL now handles both statements the same way when the
         destination table exists, in that neither statement
         inserts rows or is written to the binary log. The
         difference between them is that MySQL produces a warning
         when IF NOT EXISTS is present and an error when it is
         not.

    This change in handling of IF NOT EXISTS results in an
    incompatibility for statement-based replication from a MySQL
    5.1 master with the original behavior and a MySQL 5.5 slave
    with the new behavior. Suppose that CREATE TABLE IF NOT EXISTS
    ... SELECT is executed on the master and the destination table
    exists. The result is that rows are inserted on the master but
    not on the slave. (Row-based replication does not have this
    problem.)
    To address this issue, statement-based binary logging for
    CREATE TABLE IF NOT EXISTS ... SELECT is changed in MySQL 5.1
    as of 5.1.51:

       + If the destination table does not exist, there is no
         change: The statement is logged as is.

       + If the destination table does exist, the statement is
         logged as the equivalent pair of CREATE TABLE IF NOT
         EXISTS and INSERT ... SELECT statements. (If the SELECT
         in the original statement is preceded by IGNORE or
         REPLACE, the INSERT becomes INSERT IGNORE or REPLACE,
         respectively.)

    This change provides forward compatibility for statement-based
    replication from MySQL 5.1 to 5.5 because when the destination
    table exists, the rows will be inserted on both the master and
    slave. To take advantage of this compatibility measure, the
    5.1 server must be at least 5.1.51 and the 5.5 server must be
    at least 5.5.6.
    To upgrade an existing 5.1-to-5.5 replication scenario,
    upgrade the master first to 5.1.51 or higher. Note that this
    differs from the usual replication upgrade advice of upgrading
    the slave first.
    A workaround for applications that wish to achieve the
    original effect (rows inserted regardless of whether the
    destination table exists) is to use CREATE TABLE IF NOT EXISTS
    and INSERT ... SELECT statements rather than CREATE TABLE IF
    NOT EXISTS ... SELECT statements.
    Along with the change just described, the following related
    change was made: Previously, if an existing view was named as
    the destination table for CREATE TABLE IF NOT EXISTS ...
    SELECT, rows were inserted into the underlying base table and
    the statement was written to the binary log. As of MySQL
    5.1.51 and 5.5.6, nothing is inserted or logged.
    (Bug#47442: <a href="http://bugs.mysql.com/bug.php?id=47442">http://bugs.mysql.com/bug.php?id=47442</a>,
    Bug#47132: <a href="http://bugs.mysql.com/bug.php?id=47132">http://bugs.mysql.com/bug.php?id=47132</a>,
    Bug#48814: <a href="http://bugs.mysql.com/bug.php?id=48814">http://bugs.mysql.com/bug.php?id=48814</a>,
    Bug#49494: <a href="http://bugs.mysql.com/bug.php?id=49494">http://bugs.mysql.com/bug.php?id=49494</a>)

  * Incompatible Change: Several changes were made to Performance
    Schema tables:

       + The SETUP_OBJECTS table was removed.

       + The PROCESSLIST table was renamed to THREADS.

       + The EVENTS_WAITS_SUMMARY_BY_EVENT_NAME table was renamed
         to EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME.

    (Bug#55416: <a href="http://bugs.mysql.com/bug.php?id=55416">http://bugs.mysql.com/bug.php?id=55416</a>)

  * Incompatible Change: Handling of warnings and errors
    during stored program execution was problematic:

       + If one statement generated several warnings or
         errors, only the handler for the first was
         activated, even if another might be more
         appropriate.

       + Warning or error information could be lost.

    (Bug#36185: <a href="http://bugs.mysql.com/bug.php?id=36185">http://bugs.mysql.com/bug.php?id=36185</a>,
    Bug#5889: <a href="http://bugs.mysql.com/bug.php?id=5889">http://bugs.mysql.com/bug.php?id=5889</a>,
    Bug#9857: <a href="http://bugs.mysql.com/bug.php?id=9857">http://bugs.mysql.com/bug.php?id=9857</a>,
    Bug#23032: <a href="http://bugs.mysql.com/bug.php?id=23032">http://bugs.mysql.com/bug.php?id=23032</a>)

  * Important Change: Replication: The LOAD DATA INFILE
    statement is now considered unsafe for statement-based
    replication. When using statement-based logging mode, the
    statement now produces a warning; when using mixed-format
    logging, the statement is made using the row-based
    format.
    (Bug#34283: <a href="http://bugs.mysql.com/bug.php?id=34283">http://bugs.mysql.com/bug.php?id=34283</a>)

  * Partitioning: With innodb_thread_concurrency = 1, ALTER TABLE
    ... REORGANIZE PARTITION and SELECT could deadlock. There were
    unreleased latches in the ALTER TABLE ... REORGANIZE PARTITION
    thread which were needed by the SELECT thread to be able to
    continue. (Bug#54747: <a href="http://bugs.mysql.com/bug.php?id=54747">http://bugs.mysql.com/bug.php?id=54747</a>)

  * Partitioning: An ALTER TABLE ... ADD PARTITION statement
    run concurrently with a read lock caused spurious
    ER_TABLE_EXISTS and ER_NO_SUCH_TABLE errors on subsequent
    attempts.
    (Bug#53676: <a href="http://bugs.mysql.com/bug.php?id=53676">http://bugs.mysql.com/bug.php?id=53676</a>)
    See also
    Bug#53770: <a href="http://bugs.mysql.com/bug.php?id=53770">http://bugs.mysql.com/bug.php?id=53770</a>.

  * Partitioning: UPDATE and INSERT statements affecting
    partitioned tables performed poorly when using row-based
    replication.
    (Bug#52517: <a href="http://bugs.mysql.com/bug.php?id=52517">http://bugs.mysql.com/bug.php?id=52517</a>)

  * Partitioning: INSERT ON DUPLICATE KEY UPDATE statements
    performed poorly on tables having many partitions. This
    was because the handler function for reading a row from a
    specific index was not optimized in the partitioning
    handler.
    (Bug#52455: <a href="http://bugs.mysql.com/bug.php?id=52455">http://bugs.mysql.com/bug.php?id=52455</a>)

  * Partitioning: ALTER TABLE ... TRUNCATE PARTITION, when
    called concurrently with transactional DML on the table,
    was executed immediately and did not wait for the
    concurrent transaction to release locks. As a result, the
    ALTER TABLE statement was written into the binary log
    before the DML statement, which led to replication
    failures when using row-based logging.
    (Bug#49907: <a href="http://bugs.mysql.com/bug.php?id=49907">http://bugs.mysql.com/bug.php?id=49907</a>)
    See also
    Bug#42643: <a href="http://bugs.mysql.com/bug.php?id=42643">http://bugs.mysql.com/bug.php?id=42643</a>.

  * Partitioning: When the storage engine used to create a
    partitioned table was disabled, attempting to drop the
    table caused the server to crash.
    (Bug#46086: <a href="http://bugs.mysql.com/bug.php?id=46086">http://bugs.mysql.com/bug.php?id=46086</a>)

  * Replication: When using the row-based logging format, a
    failed CREATE TABLE ... SELECT statement was written to
    the binary log, causing replication to break if the
    failed statement was later re-run on the master. In such
    cases, a DROP TABLE ... IF EXIST statement is now logged
    in the event that a CREATE TABLE ... SELECT fails.
    (Bug#55625: <a href="http://bugs.mysql.com/bug.php?id=55625">http://bugs.mysql.com/bug.php?id=55625</a>)

  * Replication: When using the row-based logging format, a
    SET PASSWORD statement was written to the binary log
    twice.
    (Bug#55452: <a href="http://bugs.mysql.com/bug.php?id=55452">http://bugs.mysql.com/bug.php?id=55452</a>)

  * Replication: When closing temporary tables, after the
    session connection was already closed, if the writing of
    the implicit DROP TABLE statement into the binary log
    failed, it was possible for the resulting error to be
    mishandled, triggering an assertion.
    (Bug#55387: <a href="http://bugs.mysql.com/bug.php?id=55387">http://bugs.mysql.com/bug.php?id=55387</a>)

  * Replication: Executing SHOW BINLOG EVENTS increased the
    value of max_allowed_packet applying to the session that
    executed the statement.
    (Bug#55322: <a href="http://bugs.mysql.com/bug.php?id=55322">http://bugs.mysql.com/bug.php?id=55322</a>)

  * Replication: Setting binlog_format = ROW then creating
    and then dropping a temporary table led an assertion.
    (Bug#54925: <a href="http://bugs.mysql.com/bug.php?id=54925">http://bugs.mysql.com/bug.php?id=54925</a>)

  * Replication: When using mixed-format replication, changes
    made to a non-transactional temporary table within a
    transaction were not written into the binary log when the
    transaction was rolled back. This could lead to a failure
    in replication if the temporary table was used again
    afterwards.
    (Bug#54872: <a href="http://bugs.mysql.com/bug.php?id=54872">http://bugs.mysql.com/bug.php?id=54872</a>)
    See also
    Bug#53259: <a href="http://bugs.mysql.com/bug.php?id=53259">http://bugs.mysql.com/bug.php?id=53259</a>.

  * Replication: If binlog_format was explicitly switched
    from STATEMENT to ROW following the creation of a
    temporary table, then on disconnection the master failed
    to write the expected DROP TEMPORARY TABLE statement into
    the binary log. As a consequence, temporary tables (and
    their corresponding files) accumulated as this scenario
    was repeated.
    (Bug#54842: <a href="http://bugs.mysql.com/bug.php?id=54842">http://bugs.mysql.com/bug.php?id=54842</a>)
    See also
    Bug#52616: <a href="http://bugs.mysql.com/bug.php?id=52616">http://bugs.mysql.com/bug.php?id=52616</a>.

  * Replication: If the SQL thread was started while the I/O
    thread was performing rotation of the relay log, the 2
    threads could begin to race for the same I/O cache,
    leading to a crash of the server.
    (Bug#54509: <a href="http://bugs.mysql.com/bug.php?id=54509">http://bugs.mysql.com/bug.php?id=54509</a>)
    See also
    Bug#50364: <a href="http://bugs.mysql.com/bug.php?id=50364">http://bugs.mysql.com/bug.php?id=50364</a>.

  * Replication: Two related issues involving temporary
    tables and transactions were introduced by a fix made in
    MySQL 5.1.37:

      1. When a temporary table was created or dropped within
         a transaction, any failed statement that following
         the CREATE TEMPORARY TABLE or DROP TEMPORARY TABLE
         statement triggered a rollback, which caused the
         slave diverge from the master.

      2. When a CREATE TEMPORARY TABLE ... SELECT * FROM ...
         statement was executed within a transaction in which
         only tables using transactional storage engines were
         used and the transaction was rolled back at the end,
         the changes---including the creation of the
         temporary table---were not written to the binary
         log.

    The current fix restores the correct behavior in both of
    these cases.
    (Bug#53560: <a href="http://bugs.mysql.com/bug.php?id=53560">http://bugs.mysql.com/bug.php?id=53560</a>)
    This regression was introduced by
    Bug#43929: <a href="http://bugs.mysql.com/bug.php?id=43929">http://bugs.mysql.com/bug.php?id=43929</a>.

  * Replication: The value of
    binlog_direct_non_transactional_updates had no effect on
    statements mixing transactional tables and
    nontransactional tables, or mixing temporary tables and
    nontransactional tables.
    As part of the fix for this issue, updates to temporary
    tables are now handled as transactional or
    nontransactional according to their storage engine types.
    (In effect, the current fix reverts a change made
    previously as part of the fix for
    Bug#53259: <a href="http://bugs.mysql.com/bug.php?id=53259">http://bugs.mysql.com/bug.php?id=53259</a>.)
    In addition, unsafe mixed statements (that is, statements
    which access transactional table as well nontransactional
    or temporary tables, and write to any of them) are now
    handled as transactional when the statement-based logging
    format is in use.
    (Bug#53452: <a href="http://bugs.mysql.com/bug.php?id=53452">http://bugs.mysql.com/bug.php?id=53452</a>)
    See also
    Bug#51894: <a href="http://bugs.mysql.com/bug.php?id=51894">http://bugs.mysql.com/bug.php?id=51894</a>.

  * Replication: When binlog_format=STATEMENT, any statement
    that is flagged as being unsafe, possibly causing the
    slave to go out of sync, generates a warning. This
    warning is written to the server log, the warning count
    is returned to the client in the server's response, and
    the warnings are accessible through SHOW WARNINGS.
    The current bug affects only the counts for warnings to
    the client and that are visible through SHOW WARNINGS; it
    does not affect which warnings are written to the log.
    The current issue came about because the fix for an
    earlier issue caused warnings for substatements to be
    cleared whenever a new substatement was started. However,
    this suppressed warnings for unsafe statements in some
    cases. Now, such warnings are no longer cleared.
    (Bug#50312: <a href="http://bugs.mysql.com/bug.php?id=50312">http://bugs.mysql.com/bug.php?id=50312</a>)
    This regression was introduced by
    Bug#36649: <a href="http://bugs.mysql.com/bug.php?id=36649">http://bugs.mysql.com/bug.php?id=36649</a>.

  * Replication: Replication could break if a transaction
    involving both transactional and nontransactional tables
    was rolled back to a savepoint. It broke if a concurrent
    connection tried to drop a transactional table which was
    locked after the savepoint was set. This DROP TABLE
    completed when ROLLBACK TO SAVEPOINT was executed because
    the lock on the table was dropped by the transaction.
    When the slave later tried to apply the binary log
    events, it would fail because the table had already been
    dropped.
    (Bug#50124: <a href="http://bugs.mysql.com/bug.php?id=50124">http://bugs.mysql.com/bug.php?id=50124</a>)

  * Replication: When CURRENT_USER() or CURRENT_USER was used
    to supply the name and host of the affected user or of
    the definer in any of the statements DROP USER, RENAME
    USER, GRANT, REVOKE, and ALTER EVENT, the reference to
    CURRENT_USER() or CURRENT_USER was not expanded when
    written to the binary log. This resulted in
    CURRENT_USER() or CURRENT_USER being expanded to the user
    and host of the slave SQL thread on the slave, thus
    breaking replication. Now CURRENT_USER() and CURRENT_USER
    are expanded prior to being written to the binary log in
    such cases, so that the correct user and host are
    referenced on both the master and the slave.
    (Bug#48321: <a href="http://bugs.mysql.com/bug.php?id=48321">http://bugs.mysql.com/bug.php?id=48321</a>)

  * After an RPM installation mysqld would be started with the
    root, rather than the mysql user.
    (Bug#56574: <a href="http://bugs.mysql.com/bug.php?id=56574">http://bugs.mysql.com/bug.php?id=56574</a>)

  * An assertion was raised if (1) an InnoDB table was created
    using CREATE TABLE ... SELECT where the query used an
    INFORMATION_SCHEMA table and a view existed in the database;
    or (2) sny statement that modified an InnoDB table had a
    subquery referencing an INFORMATION_SCHEMA table.
    (Bug#55973: <a href="http://bugs.mysql.com/bug.php?id=55973">http://bugs.mysql.com/bug.php?id=55973</a>)

  * CMake would produce bad dependencies for the
    sql/lex_hash.h file during configuration.
    (Bug#55842: <a href="http://bugs.mysql.com/bug.php?id=55842">http://bugs.mysql.com/bug.php?id=55842</a>)

  * mysql_upgrade did not handle the --ssl option properly.
    (Bug#55672: <a href="http://bugs.mysql.com/bug.php?id=55672">http://bugs.mysql.com/bug.php?id=55672</a>)

  * Using MIN() or MAX() on a column containing the maximum
    TIME value caused a server crash.
    (Bug#55648: <a href="http://bugs.mysql.com/bug.php?id=55648">http://bugs.mysql.com/bug.php?id=55648</a>)

  * Incorrect handling of user variable assignments as
    subexpressions could lead to incorrect results or server
    crashes.
    (Bug#55615: <a href="http://bugs.mysql.com/bug.php?id=55615">http://bugs.mysql.com/bug.php?id=55615</a>)

  * The default compiler options used for Mac OS X 10.5 would
    be set incorrectly.
    (Bug#55601: <a href="http://bugs.mysql.com/bug.php?id=55601">http://bugs.mysql.com/bug.php?id=55601</a>)

  * The server was not checking for errors generated during
    the execution of Item::val_xxx() methods when copying
    data to a group, order, or distinct temp table's row.
    (Bug#55580: <a href="http://bugs.mysql.com/bug.php?id=55580">http://bugs.mysql.com/bug.php?id=55580</a>)

  * ORDER BY clauses that included user variable expressions
    could cause a debug assertion to be raised.
    (Bug#55565: <a href="http://bugs.mysql.com/bug.php?id=55565">http://bugs.mysql.com/bug.php?id=55565</a>)

  * The InnoDB storage engine was not included in the default
    installation when using the configure script.
    (Bug#55547: <a href="http://bugs.mysql.com/bug.php?id=55547">http://bugs.mysql.com/bug.php?id=55547</a>)

  * SHOW CREATE TRIGGER took a stronger metadata lock than
    required. This caused the statement to be blocked
    unnecessarily. For example, LOCK TABLES ... WRITE in one
    session blocked SHOW CREATE TRIGGER in another session.
    Also, a SHOW CREATE TRIGGER statement issued inside a
    transaction did not release its metadata locks at the end
    of statement execution. Consequently, SHOW CREATE TRIGGER
    was able to block other sessions from accessing the table
    (for example, using ALTER TABLE).
    (Bug#55498: <a href="http://bugs.mysql.com/bug.php?id=55498">http://bugs.mysql.com/bug.php?id=55498</a>)

  * A single-table DELETE ordered by a column that had a
    hash-type index could raise an assertion or cause a
    server crash.
    (Bug#55472: <a href="http://bugs.mysql.com/bug.php?id=55472">http://bugs.mysql.com/bug.php?id=55472</a>)

  * A call to mysql_library_init() following a call to
    mysql_library_end() caused a client crash.
    (Bug#55345: <a href="http://bugs.mysql.com/bug.php?id=55345">http://bugs.mysql.com/bug.php?id=55345</a>)

  * A statement that was aborted by KILL QUERY while it
    waited on a metadata lock could raise an assertion in
    debug builds, or send OK to the client instead of
    ER_QUERY_INTERRUPTED in regular builds.
    (Bug#55223: <a href="http://bugs.mysql.com/bug.php?id=55223">http://bugs.mysql.com/bug.php?id=55223</a>)

  * The mysql_config tool would not output the requirement
    for the aio library for mysqld-libs.
    (Bug#55215: <a href="http://bugs.mysql.com/bug.php?id=55215">http://bugs.mysql.com/bug.php?id=55215</a>)

  * GROUP BY operations used max_sort_length inconsistently.
    (Bug#55188: <a href="http://bugs.mysql.com/bug.php?id=55188">http://bugs.mysql.com/bug.php?id=55188</a>)

  * The Windows MSI installer would fail to preserve custom
    settings, such as the configured data directory, during
    installation.
    (Bug#55169: <a href="http://bugs.mysql.com/bug.php?id=55169">http://bugs.mysql.com/bug.php?id=55169</a>)

  * IF() with a subquery argument could raise a debug assertion
    for debug builds under some circumstances.
    (Bug#55077: <a href="http://bugs.mysql.com/bug.php?id=55077">http://bugs.mysql.com/bug.php?id=55077</a>)

  * Building MySQL on Solaris 8 x86 failed when using Sun
    Studio due to gcc inline assembler code.
    (Bug#55061: <a href="http://bugs.mysql.com/bug.php?id=55061">http://bugs.mysql.com/bug.php?id=55061</a>)

  * When upgrading an existing install with an RPM on Linux,
    the MySQL server might not have been restarted properly.
    This was due to a naming conflict when upgrading from a
    community named RPM. Previous installations are now
    correctly removed, and the MySQL init script are
    recreated and then start the MySQL server as normal.
    (Bug#55015: <a href="http://bugs.mysql.com/bug.php?id=55015">http://bugs.mysql.com/bug.php?id=55015</a>)

  * The thread_concurrency system variable was unavailable on
    non-Solaris systems.
    (Bug#55001: <a href="http://bugs.mysql.com/bug.php?id=55001">http://bugs.mysql.com/bug.php?id=55001</a>)

  * mysqld_safe contained a syntax error that prevented it
    from restarting the server.
    (Bug#54991: <a href="http://bugs.mysql.com/bug.php?id=54991">http://bugs.mysql.com/bug.php?id=54991</a>)

  * If audit plugins were installed that were interested in
    MYSQL_AUDIT_GENERAL_CLASS events and the general query
    log was disabled, failed INSTALL PLUGIN or UNINSTALL
    PLUGIN statements caused a server crash.
    (Bug#54989: <a href="http://bugs.mysql.com/bug.php?id=54989">http://bugs.mysql.com/bug.php?id=54989</a>)

  * A SHOW CREATE TABLE statement issued inside a transaction
    did not release its metadata locks at the end of
    statement execution. Consequently, SHOW CREATE TABLE was
    able to block other sessions from accessing the table
    (for example, using ALTER TABLE).
    (Bug#54905: <a href="http://bugs.mysql.com/bug.php?id=54905">http://bugs.mysql.com/bug.php?id=54905</a>)

  * INFORMATION_SCHEMA.ENGINES and SHOW ENGINES described
    MyISAM as the default storage engine, but this is not
    true as of MySQL 5.5.5.
    (Bug#54832: <a href="http://bugs.mysql.com/bug.php?id=54832">http://bugs.mysql.com/bug.php?id=54832</a>)

  * The MERGE storage engine tried to use memory mapping on
    the underlying MyISAM tables even on platforms that do
    not support it and even when myisam_use_mmap was
    disabled. This led to a hang for INSERT INTO ... SELECT
    FROM statements that selected from a MyISAM table into a
    MERGE table that contained the same MyISAM table.
    (Bug#54811: <a href="http://bugs.mysql.com/bug.php?id=54811">http://bugs.mysql.com/bug.php?id=54811</a>,
    Bug#50788: <a href="http://bugs.mysql.com/bug.php?id=50788">http://bugs.mysql.com/bug.php?id=50788</a>)

  * Incorrect error handling could result in an OPTIMIZE
    TABLE crash.
    (Bug#54783: <a href="http://bugs.mysql.com/bug.php?id=54783">http://bugs.mysql.com/bug.php?id=54783</a>)

  * Performance Schema event collection for a thread could
    "leak" from one connection to another if the thread was
    used for one connection, then cached, then reused for
    another connection.
    (Bug#54782: <a href="http://bugs.mysql.com/bug.php?id=54782">http://bugs.mysql.com/bug.php?id=54782</a>)

  * Some memory used for InnoDB asynchronous I/O was not freed at
    shutdown. (Bug#54764: <a href="http://bugs.mysql.com/bug.php?id=54764">http://bugs.mysql.com/bug.php?id=54764</a>)

  * In debug builds, an assertion could be raised when the
    server tried to send an OK packet to the client after
    having failed to detect errors during processing of the
    WHERE condition of an UPDATE statement.
    (Bug#54734: <a href="http://bugs.mysql.com/bug.php?id=54734">http://bugs.mysql.com/bug.php?id=54734</a>)

  * In a slave SQL thread or Event Scheduler thread, the
    SLEEP() function could not sleep more than five seconds.
    (Bug#54729: <a href="http://bugs.mysql.com/bug.php?id=54729">http://bugs.mysql.com/bug.php?id=54729</a>)

  * Implementation of the 64-bit dulint structure in InnoDB
    was not optimized for 64-bit processors, resulting in
    excessive storage and reduced performance.
    (Bug#54728: <a href="http://bugs.mysql.com/bug.php?id=54728">http://bugs.mysql.com/bug.php?id=54728</a>)

  * The output from the SHOW ENGINE INNODB STATUS command now
    includes information about "spin rounds" for RW-locks
    (both shared and exclusive locks).
    (Bug#54726: <a href="http://bugs.mysql.com/bug.php?id=54726">http://bugs.mysql.com/bug.php?id=54726</a>)

  * SET sql_select_limit = 0 did not work.
    (Bug#54682: <a href="http://bugs.mysql.com/bug.php?id=54682">http://bugs.mysql.com/bug.php?id=54682</a>)

  * An ALTER TABLE statement could convert an InnoDB
    compressed table (with row_format=compressed) back to an
    uncompressed table (with row_format=compact).
    (Bug#54679: <a href="http://bugs.mysql.com/bug.php?id=54679">http://bugs.mysql.com/bug.php?id=54679</a>)

  * Assignments of the PASSWORD() or OLD_PASSWORD() function
    to a user variable did not preserve the character set of
    the function return value.
    (Bug#54668: <a href="http://bugs.mysql.com/bug.php?id=54668">http://bugs.mysql.com/bug.php?id=54668</a>)

  * A signal-handler redefinition for SIGUSR1 was removed.
    The redefinition could cause the server to encounter a
    kernel deadlock on Solaris when there are many active
    threads. Other POSIX platforms might also be affected.
    (Bug#54667: <a href="http://bugs.mysql.com/bug.php?id=54667">http://bugs.mysql.com/bug.php?id=54667</a>)

  * InnoDB could issue an incorrect message on startup, if
    tables were created under the setting
    innodb_file_per_table=ON and the server was restarted
    under the setting innodb_file_per_table=OFF. The message
    was of the form InnoDB: Warning: allocated tablespace n,
    old maximum was 0.
    (Bug#54658: <a href="http://bugs.mysql.com/bug.php?id=54658">http://bugs.mysql.com/bug.php?id=54658</a>)

  * Queries that named view columns in a GROUP BY clause
    could cause a server crash.
    (Bug#54515: <a href="http://bugs.mysql.com/bug.php?id=54515">http://bugs.mysql.com/bug.php?id=54515</a>)

  * Performance Schema displayed spurious startup error
    messages when the server was run in bootstrap mode.
    (Bug#54467: <a href="http://bugs.mysql.com/bug.php?id=54467">http://bugs.mysql.com/bug.php?id=54467</a>)

  * For distributions built with cmake rather than the GNU
    autotools, mysql lacked pager support.
    (Bug#54466: <a href="http://bugs.mysql.com/bug.php?id=54466">http://bugs.mysql.com/bug.php?id=54466</a>)

  * The server failed to disregard sort order for some
    zero-length tuples, leading to an assertion failure.
    (Bug#54459: <a href="http://bugs.mysql.com/bug.php?id=54459">http://bugs.mysql.com/bug.php?id=54459</a>)

  * The default value of myisam_max_extra_sort_file_size
    (<a href="http://dev.mysql.com/doc/refman/5.0/en/server-system-var">http://dev.mysql.com/doc/refman/5.0/en/server-system-var</a>
    iables.html#sysvar_myisam_max_extra_sort_file_size) could
    be higher than the maximum accepted value, leading to
    warnings upon the server start.
    (Bug#54457: <a href="http://bugs.mysql.com/bug.php?id=54457">http://bugs.mysql.com/bug.php?id=54457</a>)

  * The database server could crash when renaming a table
    that had active transactions. (This issue only affected
    the database server when built for debugging.)
    (Bug#54453: <a href="http://bugs.mysql.com/bug.php?id=54453">http://bugs.mysql.com/bug.php?id=54453</a>)

  * The server could crash during the recovery phase of
    startup, if it previously crashed while inserting BLOB or
    other large columns that use off-page storage into an
    InnoDB table created with ROW_FORMAT=REDUNDANT or
    ROW_FORMAT=COMPACT.
    (Bug#54408: <a href="http://bugs.mysql.com/bug.php?id=54408">http://bugs.mysql.com/bug.php?id=54408</a>)

  * Errors during processing of WHERE conditions in HANDLER
    ... READ statements were not detected, so the handler
    code still tried to send EOF to the client, raising an
    assertion.
    (Bug#54401: <a href="http://bugs.mysql.com/bug.php?id=54401">http://bugs.mysql.com/bug.php?id=54401</a>)

  * If a session tried to drop a database containing a table
    opened with HANDLER in another session, any DATABASE
    statement (CREATE, DROP, ALTER) executed by that session
    produced a deadlock.
    (Bug#54360: <a href="http://bugs.mysql.com/bug.php?id=54360">http://bugs.mysql.com/bug.php?id=54360</a>)

  * For an InnoDB table created with ROW_FORMAT=COMPRESSED or
    ROW_FORMAT=DYNAMIC, a query using the READ UNCOMMITTED
    isolation level could cause the server to stop with an
    assertion error, if BLOB or other large columns that use
    off-page storage were being inserted at the same time.
    (Bug#54358: <a href="http://bugs.mysql.com/bug.php?id=54358">http://bugs.mysql.com/bug.php?id=54358</a>)

  * Fast index creation in the InnoDB Plugin could fail,
    leaving the new secondary index corrupted.
    (Bug#54330: <a href="http://bugs.mysql.com/bug.php?id=54330">http://bugs.mysql.com/bug.php?id=54330</a>)

  * For distributions built with cmake rather than the GNU
    autotools, some scripts were built without the execute
    bit set.
    (Bug#54129: <a href="http://bugs.mysql.com/bug.php?id=54129">http://bugs.mysql.com/bug.php?id=54129</a>)

  * INSERT IGNORE INTO ... SELECT statements could cause a
    debug assertion to be raised.
    (Bug#54106: <a href="http://bugs.mysql.com/bug.php?id=54106">http://bugs.mysql.com/bug.php?id=54106</a>)

  * A client could supply data in chunks to a prepared
    statement parameter other than of type TEXT or BLOB using
    the mysql_stmt_send_long_data() C API function (or
    COM_STMT_SEND_LONG_DATA command). This led to a crash
    because other data types are not valid for long data.
    (Bug#54041: <a href="http://bugs.mysql.com/bug.php?id=54041">http://bugs.mysql.com/bug.php?id=54041</a>)

  * mysql_secure_installation did not properly identify local
    accounts and could incorrectly remove nonlocal root
    accounts.
    (Bug#54004: <a href="http://bugs.mysql.com/bug.php?id=54004">http://bugs.mysql.com/bug.php?id=54004</a>)

  * A client with automatic reconnection enabled saw the
    error message Lost connection to MySQL server during
    query if the connection was lost between the
    mysql_stmt_prepare() and mysql_stmt_execute() C API
    functions. However, mysql_stmt_errno() returned 0, not
    the corresponding error number 2013.
    (Bug#53899: <a href="http://bugs.mysql.com/bug.php?id=53899">http://bugs.mysql.com/bug.php?id=53899</a>)

  * INFORMATION_SCHEMA.COLUMNS reported incorrect precision
    for BIGINT UNSIGNED columns.
    (Bug#53814: <a href="http://bugs.mysql.com/bug.php?id=53814">http://bugs.mysql.com/bug.php?id=53814</a>)

  * If a session executing TRUNCATE TABLE on an InnoDB table
    was killed during open_tables(), an assertion could be
    raised.
    (Bug#53757: <a href="http://bugs.mysql.com/bug.php?id=53757">http://bugs.mysql.com/bug.php?id=53757</a>)

  * Transactions could be incorrectly committed during
    recovery, rather than rolled back, if the server crashed
    and was restarted after performing ALTER TABLE...ADD
    PRIMARY KEY on an InnoDB table, or some other operation
    that involves copying the entire table.
    (Bug#53756: <a href="http://bugs.mysql.com/bug.php?id=53756">http://bugs.mysql.com/bug.php?id=53756</a>)

  * The patch for
    Bug#36569: <a href="http://bugs.mysql.com/bug.php?id=36569">http://bugs.mysql.com/bug.php?id=36569</a> caused
    performance regressions and incorrect execution of some
    UPDATE statments.
    (Bug#53737: <a href="http://bugs.mysql.com/bug.php?id=53737">http://bugs.mysql.com/bug.php?id=53737</a>,
    Bug#53742: <a href="http://bugs.mysql.com/bug.php?id=53742">http://bugs.mysql.com/bug.php?id=53742</a>)

  * Missing Performance Schema tables were not reported in
    the error log at server startup.
    (Bug#53617: <a href="http://bugs.mysql.com/bug.php?id=53617">http://bugs.mysql.com/bug.php?id=53617</a>)

  * mysql_upgrade could incorrectly remove TRIGGER
    privileges.
    (Bug#53613: <a href="http://bugs.mysql.com/bug.php?id=53613">http://bugs.mysql.com/bug.php?id=53613</a>)

  * SHOW ENGINE PERFORMANCE_SCHEMA STATUS underreported the
    amount of memory allocated by Performance Schema.
    (Bug#53566: <a href="http://bugs.mysql.com/bug.php?id=53566">http://bugs.mysql.com/bug.php?id=53566</a>)

  * Portability problems in SHOW STATUS could lead to
    incorrect results on some platforms.
    (Bug#53493: <a href="http://bugs.mysql.com/bug.php?id=53493">http://bugs.mysql.com/bug.php?id=53493</a>)

  * Builds of MySQL generated a large number of warnings.
    (Bug#53445: <a href="http://bugs.mysql.com/bug.php?id=53445">http://bugs.mysql.com/bug.php?id=53445</a>)

  * Performance Schema header files were not installed in the
    correct directory.
    (Bug#53255: <a href="http://bugs.mysql.com/bug.php?id=53255">http://bugs.mysql.com/bug.php?id=53255</a>)

  * The server could crash when processing subqueries with
    empty results.
    (Bug#53236: <a href="http://bugs.mysql.com/bug.php?id=53236">http://bugs.mysql.com/bug.php?id=53236</a>)

  * Misimplementation of the os_fast_mutex_trylock() function
    in InnoDB resulted in unnecessary blocking and reduced
    performance.
    (Bug#53204: <a href="http://bugs.mysql.com/bug.php?id=53204">http://bugs.mysql.com/bug.php?id=53204</a>)

  * With lower_case_table_names set to a nonzero value,
    searches for table or database names in
    INFORMATION_SCHEMA tables could produce incorrect
    results.
    (Bug#53095: <a href="http://bugs.mysql.com/bug.php?id=53095">http://bugs.mysql.com/bug.php?id=53095</a>)

  * Use of uint in typelib.h caused compilation problems in
    Windows. This was changed to unsigned int.
    (Bug#52959: <a href="http://bugs.mysql.com/bug.php?id=52959">http://bugs.mysql.com/bug.php?id=52959</a>)

  * The mysql-debug.pdb supplied with releases did not match
    the corresponding mysqld.exe.
    (Bug#52850: <a href="http://bugs.mysql.com/bug.php?id=52850">http://bugs.mysql.com/bug.php?id=52850</a>)

  * The PERFORMANCE_SCHEMA database was not correctly created and
    populated on Windows.
    (Bug#52809: <a href="http://bugs.mysql.com/bug.php?id=52809">http://bugs.mysql.com/bug.php?id=52809</a>)

  * The large_pages system variable was tied to the
    --large-files command-line option, not the --large-pages
    option.
    (Bug#52716: <a href="http://bugs.mysql.com/bug.php?id=52716">http://bugs.mysql.com/bug.php?id=52716</a>)

  * Attempts to access a nonexistent table in the
    performance_schema database resulted in a misleading
    error message.
    (Bug#52586: <a href="http://bugs.mysql.com/bug.php?id=52586">http://bugs.mysql.com/bug.php?id=52586</a>)

  * The ABI check for MySQL failed to compile with gcc 4.5.
    (Bug#52514: <a href="http://bugs.mysql.com/bug.php?id=52514">http://bugs.mysql.com/bug.php?id=52514</a>)

  * Performance Schema could enter an infinite loop if
    required to create a large number of mutex instances.
    (Bug#52502: <a href="http://bugs.mysql.com/bug.php?id=52502">http://bugs.mysql.com/bug.php?id=52502</a>)

  * mysql_secure_installation sometimes failed to locate the
    mysql client.
    (Bug#52274: <a href="http://bugs.mysql.com/bug.php?id=52274">http://bugs.mysql.com/bug.php?id=52274</a>)

  * InnoDB could not create tables that used the utf32
    character set.
    (Bug#52199: <a href="http://bugs.mysql.com/bug.php?id=52199">http://bugs.mysql.com/bug.php?id=52199</a>)

  * Some queries involving GROUP BY and a function that
    returned DATE raised a debug assertion.
    (Bug#52159: <a href="http://bugs.mysql.com/bug.php?id=52159">http://bugs.mysql.com/bug.php?id=52159</a>)

  * If a symbolic link was used in a file path name, the
    Performance Schema did not resolve all file io events to
    the same name.
    (Bug#52134: <a href="http://bugs.mysql.com/bug.php?id=52134">http://bugs.mysql.com/bug.php?id=52134</a>)

  * PARTITION BY KEY on a utf32 ENUM column raised a
    debugging assertion.
    (Bug#52121: <a href="http://bugs.mysql.com/bug.php?id=52121">http://bugs.mysql.com/bug.php?id=52121</a>)

  * A pending FLUSH TABLES tbl_list WITH READ LOCK statement
    unnecessarily aborted transactions.
    (Bug#52117: <a href="http://bugs.mysql.com/bug.php?id=52117">http://bugs.mysql.com/bug.php?id=52117</a>)

  * FLUSH TABLES WITH READ LOCK in one session and FLUSH
    TABLES tbl_list WITH READ LOCK in another session were
    mutually exclusive.
    (Bug#52044: <a href="http://bugs.mysql.com/bug.php?id=52044">http://bugs.mysql.com/bug.php?id=52044</a>)

  * Reading a ucs2 data file with LOAD DATA INFILE was
    subject to three problems. 1) Incorrect parsing of the
    file as ucs2 data, resulting in incorrect length of the
    parsed string. This is fixed by truncating the invalid
    trailing bytes (incomplete multibyte characters) when
    reading from the file. 2) Reads from a proper ucs2 file
    did not recognize newline characters. This is fixed by
    first checking whether a byte is a newline (or any other
    special character) before reading it as a part of a
    multibyte character. 3) When using user variables to hold
    column data, the character set of the user variable was
    set incorrectly to the database charset. This is fixed by
    setting it to the character set specified in the LOAD
    DATA INFILE statement, if any.
    (Bug#51876: <a href="http://bugs.mysql.com/bug.php?id=51876">http://bugs.mysql.com/bug.php?id=51876</a>)

  * XA START had a race condition that could cause a server
    crash.
    (Bug#51855: <a href="http://bugs.mysql.com/bug.php?id=51855">http://bugs.mysql.com/bug.php?id=51855</a>)

  * The results of some ORDER BY ... DESC queries were sorted
    incorrectly.
    (Bug#51431: <a href="http://bugs.mysql.com/bug.php?id=51431">http://bugs.mysql.com/bug.php?id=51431</a>)

  * Index Merge between three indexes could return incorrect
    results.
    (Bug#50389: <a href="http://bugs.mysql.com/bug.php?id=50389">http://bugs.mysql.com/bug.php?id=50389</a>)

  * MIN() and MAX() returned incorrect results for DATE
    columns if the set of values included '0000-00-00'.
    (Bug#49771: <a href="http://bugs.mysql.com/bug.php?id=49771">http://bugs.mysql.com/bug.php?id=49771</a>)

  * Searches in INFORMATION_SCHEMA tables for rows matching a
    nonexistent database produced an error instead of an
    empty query result.
    (Bug#49542: <a href="http://bugs.mysql.com/bug.php?id=49542">http://bugs.mysql.com/bug.php?id=49542</a>)

  * DROP DATABASE failed if there was a TEMPORARY table with
    the same name as a non-TEMPORARY table in the database.
    (Bug#48067: <a href="http://bugs.mysql.com/bug.php?id=48067">http://bugs.mysql.com/bug.php?id=48067</a>)

  * Performing large numbers of RENAME TABLE statements
    caused excessive memory use.
    (Bug#47991: <a href="http://bugs.mysql.com/bug.php?id=47991">http://bugs.mysql.com/bug.php?id=47991</a>)

  * An assertion occurred in ha_myisammrg.cc line 1137:
        DBUG_ASSERT(this-&gt;file-&gt;children_attached);
    The problem was found while running RQG tests and the
    assertion occurred during REPAIR, OPTIMIZE, and ANALYZE
    operations.
    (Bug#47633: <a href="http://bugs.mysql.com/bug.php?id=47633">http://bugs.mysql.com/bug.php?id=47633</a>)

  * The optimize method of the ARCHIVE storage engine did not
    preserve the FRM embedded in the ARZ file when rewriting
    the ARZ file for optimization. This meant an ARCHIVE
    table that had been optimized could not be discovered.
    The ARCHIVE engine stores the FRM in the ARZ file so it
    can be transferred from machine to machine without also
    needing to copy the FRM file. The engine subsequently
    restores the embedded FRM during discovery.
    (Bug#45377: <a href="http://bugs.mysql.com/bug.php?id=45377">http://bugs.mysql.com/bug.php?id=45377</a>)

  * With character_set_connection set to utf16 or utf32,
    CREATE TABLE t1 AS SELECT HEX() ... caused a server
    crash.
    (Bug#45263: <a href="http://bugs.mysql.com/bug.php?id=45263">http://bugs.mysql.com/bug.php?id=45263</a>)

  * The my_like_range_xxx() functions returned badly formed
    maximum strings for Asian character sets, which caused
    problems for storage engines.
    (Bug#45012: <a href="http://bugs.mysql.com/bug.php?id=45012">http://bugs.mysql.com/bug.php?id=45012</a>)

  * A debugging assertion could be raised after a write
    failure to a closed socket.
    (Bug#42496: <a href="http://bugs.mysql.com/bug.php?id=42496">http://bugs.mysql.com/bug.php?id=42496</a>)

  * Enumeration plugin variables were subject to a type
    casting error, causing inconsistent results between
    different platforms.
    (Bug#42144: <a href="http://bugs.mysql.com/bug.php?id=42144">http://bugs.mysql.com/bug.php?id=42144</a>)

  * Sort-index_merge for join tables other than the first
    table used excessive memory.
    (Bug#41660: <a href="http://bugs.mysql.com/bug.php?id=41660">http://bugs.mysql.com/bug.php?id=41660</a>)

  * The mechanism that checks if there is enough space for
    redo logs was improved, reducing the chance of
    encountering this message: ERROR: the age of the last
    checkpoint is x, which exceeds the log group capacity y.
    (Bug#39168: <a href="http://bugs.mysql.com/bug.php?id=39168">http://bugs.mysql.com/bug.php?id=39168</a>)

  * Rows inserted in a table by one session were not
    immediately visible to another session that queried the
    table, even if the insert had committed.
    (Bug#37521: <a href="http://bugs.mysql.com/bug.php?id=37521">http://bugs.mysql.com/bug.php?id=37521</a>)

  * Statements of the form UPDATE ... WHERE ... ORDER BY used
    a filesort even when not required.
    (Bug#36569: <a href="http://bugs.mysql.com/bug.php?id=36569">http://bugs.mysql.com/bug.php?id=36569</a>)
    See also
    Bug#53737: <a href="http://bugs.mysql.com/bug.php?id=53737">http://bugs.mysql.com/bug.php?id=53737</a>,
    Bug#53742: <a href="http://bugs.mysql.com/bug.php?id=53742">http://bugs.mysql.com/bug.php?id=53742</a>.

  * Reading from a temporary MERGE table, with two
    non-temporary child MyISAM tables, resulted in the error:
        ERROR 1168 (HY000): Unable to open underlying table which is
        differently defined or of non-MyISAM type or doesn't exist
    (Bug#36171: <a href="http://bugs.mysql.com/bug.php?id=36171">http://bugs.mysql.com/bug.php?id=36171</a>)

  * safemalloc was excessively slow under certain conditions
    and has been removed. The --skip-safemalloc server option
    has also been removed, and the --with-debug=full
    configuration option is no different from --with-debug.
    (Bug#34043: <a href="http://bugs.mysql.com/bug.php?id=34043">http://bugs.mysql.com/bug.php?id=34043</a>)

  * Threads that were calculating the estimated number of
    records for a range scan did not respond to the KILL
    statement. That is, if a range join type is possible
    (even if not selected by the optimizer as a join type of
    choice and thus not shown by EXPLAIN), the query in the
    statistics state (shown by the SHOW PROCESSLIST) did not
    respond to the KILL statement.
    (Bug#25421: <a href="http://bugs.mysql.com/bug.php?id=25421">http://bugs.mysql.com/bug.php?id=25421</a>)

  * Problems in the atomic operations implementation could
    lead to server crashes.
    (Bug#22320: <a href="http://bugs.mysql.com/bug.php?id=22320">http://bugs.mysql.com/bug.php?id=22320</a>,
    Bug#52261: <a href="http://bugs.mysql.com/bug.php?id=52261">http://bugs.mysql.com/bug.php?id=52261</a>)

  * Improved performance and scalability on Windows systems,
    especially for Windows Vista and higher. Re-enabled the
    use of atomic instructions on Windows systems. For
    Windows Vista and higher, reduced the number of event
    handles used. To compile on Windows systems now requires
    Windows SDK v6.0 or later; either upgrade to Visual
    Studio 2008 or 2010, or for Visual Studio 2005, install
    Windows SDK Update for Windows Vista.
    (Bug#22268: <a href="http://bugs.mysql.com/bug.php?id=22268">http://bugs.mysql.com/bug.php?id=22268</a>)</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.marketgrid.com/blog/2010/09/mysql-community-server-5-5-6-rc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL Community Server 5.5.5-m3</title>
		<link>http://www.marketgrid.com/blog/2010/07/mysql-community-server-5-5-5-m3/</link>
		<comments>http://www.marketgrid.com/blog/2010/07/mysql-community-server-5-5-5-m3/#comments</comments>
		<pubDate>Mon, 19 Jul 2010 09:41:32 +0000</pubDate>
		<dc:creator>Phil Smith</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Releases]]></category>
		<category><![CDATA[MySQL 5.5]]></category>

		<guid isPermaLink="false">http://www.marketgrid.com/blog/?p=234</guid>
		<description><![CDATA[MySQL Server 5.5.5-m3, a new version of the popular Open Source Database Management System, has been released. The &#8220;-m3&#8243; suffix indicates that these releases belong to the third milestone, also called &#8220;Celosia&#8221;. You can read more about the release model and the planned milestones at  http://forge.mysql.com/wiki/Development_Cycle The new features in these releases are of beta [...]]]></description>
			<content:encoded><![CDATA[<p>MySQL Server 5.5.5-m3, a new version of the popular Open Source Database Management System, has been released.</p>
<p>The &#8220;-m3&#8243; suffix indicates that these releases belong to the third milestone, also called &#8220;Celosia&#8221;.</p>
<p>You can read more about the release model and the planned milestones at  <a href="http://forge.mysql.com/wiki/Development_Cycle">http://forge.mysql.com/wiki/Development_Cycle</a></p>
<p>The new features in these releases are of beta quality. As with any other pre-production release, caution should be taken when installing on production level systems or systems with critical data.</p>
<p>Please note that *downgrading* from these releases to a previous release series, including MySQL Server 5.5 milestone 2 (Betony) releases, is not supported.</p>
<p>MySQL 5.5 is based on MySQL 5.4, which won&#8217;t get any further updates.</p>
<p>MySQL 5.5 includes several high-impact changes to address scalability and performance issues in MySQL Server. These changes exploit advances in hardware and CPU design and enable better utilization of existing</p>
<p>hardware.</p>
<p>For an overview of what&#8217;s new in MySQL 5.5, please see the section &#8220;What Is New in MySQL 5.5&#8243; online at  <a href="http://dev.mysql.com/doc/refman/5.5/en/mysql-nutshell.html">http://dev.mysql.com/doc/refman/5.5/en/mysql-nutshell.html</a></p>
<p>For information on installing MySQL 5.5.5-m3 on new servers, please see the MySQL installation documentation at  <a href="http://dev.mysql.com/doc/refman/5.5/en/installing.html">http://dev.mysql.com/doc/refman/5.5/en/installing.html</a></p>
<p>For upgrading from previous MySQL releases, please see the important upgrade considerations at</p>
<p><a href="http://dev.mysql.com/doc/refman/5.5/en/upgrading-from-previous-series.html">http://dev.mysql.com/doc/refman/5.5/en/upgrading-from-previous-series.html</a> &lt;<a href="http://dev.mysql.com/doc/refman/5.5/en/installing.html">http://dev.mysql.com/doc/refman/5.5/en/installing.html</a>&gt;</p>
<p>MySQL Server 5.5 is available in source and binary form for a number of platforms from the &#8220;Development Releases&#8221; selection of download pages at</p>
<p><a href="http://dev.mysql.com/downloads/mysql/">http://dev.mysql.com/downloads/mysql/</a></p>
<p>The complete list of all &#8220;Bugs Fixed&#8221; may be viewed online at  http://dev.mysql.com/doc/refman/5.5/en/news-5-5-5.html</p>
<p>Special note for those of you who build from source:</p>
<p>In MySQL 5.5.5-m3, CMake joins GNU autotools as a build framework for all platforms. Existing support for GNU autotools isn&#8217;t going away just yet, but if you are so inclined, you can now alternatively use CMake as per the</p>
<p>instructions on the web page linked below. The official packages for this release are the first to be produced using CMake.</p>
<p><a href="http://forge.mysql.com/wiki/CMake">http://forge.mysql.com/wiki/CMake</a></p>
<p>Changes in MySQL 5.5.5:</p>
<p>|InnoDB is now the default storage engine, rather than MyISAM in|||  the regular versions of MySQL. This change has the following consequences:</p>
<p>* Existing tables are not affected by this change, only new tables that are created.</p>
<p>* Some of the|InnoDB|  option settings also change, so that the default configuration represents the best practices for|InnoDB|</p>
<p>functionality,reliability, and file management:</p>
<p>|innodb_file_format=Barracuda|  rather than|Antelope|,</p>
<p>|innodb_strict_mode=TRUE|  rather than|FALSE|, and</p>
<p>|innodb_file_per_table=TRUE|  rather than|FALSE|.</p>
<p>* The system tables remain in|MyISAM|  format.</p>
<p>*|MyISAM|  remains the default storage engine for the embedded version of MySQL</p>
<p>Bugs Fixed:</p>
<p>* Performance: While looking for the shortest index for a covering index scan, the optimizer did not consider the full</p>
<p>row length for a clustered primary key, as in InnoDB. Secondary covering indexes will now be preferred, making full</p>
<p>table scans less likely.</p>
<p>(Bug#39653:http://bugs.mysql.com/bug.php?id=39653)</p>
<p>* Security Fix: The server failed to check the table name argument of a COM_FIELD_LIST command packet for validity and</p>
<p>compliance to acceptable table name standards. This could be exploited to bypass almost all forms of checks for privileges</p>
<p>and table-level grants by providing a specially crafted table name argument to COM_FIELD_LIST.</p>
<p>In MySQL 5.0 and above, this allowed an authenticated user with SELECT privileges on one table to obtain the field</p>
<p>definitions of any table in all other databases and potentially of other MySQL instances accessible from the</p>
<p>server&#8217;s file system.</p>
<p>Additionally, for MySQL version 5.1 and above, an authenticated user with DELETE or SELECT privileges on one</p>
<p>table could delete or read content from any other table in all databases on this server, and potentially of other MySQL</p>
<p>instances accessible from the server&#8217;s file system.</p>
<p>(Bug#53371:http://bugs.mysql.com/bug.php?id=53371,</p>
<p>CVE-2010-1848 (<a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-1848%29">http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-1848)</a>)</p>
<p>* Security Fix: The server was susceptible to a buffer-overflow attack due to a failure to perform bounds checking on the</p>
<p>table name argument of a COM_FIELD_LIST command packet. By sending long data for the table name, a buffer is overflown,</p>
<p>which could be exploited by an authenticated user to inject malicious code.</p>
<p>(Bug#53237:http://bugs.mysql.com/bug.php?id=53237,</p>
<p>CVE-2010-1850 (<a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-1850%29">http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-1850)</a>)</p>
<p>* Security Fix: Privilege checking for UNINSTALL PLUGIN was incorrect. (Bug#51770:http://bugs.mysql.com/bug.php?id=51770,</p>
<p>CVE-2010-1621 (<a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-1621%29">http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-1621)</a>)</p>
<p>* Security Fix: The server could be tricked into reading packets indefinitely if it received a packet larger than the maximum</p>
<p>size of one packet.</p>
<p>(Bug#50974:http://bugs.mysql.com/bug.php?id=50974,</p>
<p>CVE-2010-1849 (<a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-1849%29">http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-1849)</a>)</p>
<p>* Incompatible Change: TRUNCATE TABLE did not take an exclusive lock on a table if truncation was done by deleting all rows in</p>
<p>the table. For InnoDB tables, this could break proper isolation because InnoDB ended up aborting some granted locks</p>
<p>when truncating a table. Now an exclusive metadata lock is taken before TRUNCATE TABLE can proceed. This guarantees that</p>
<p>no other transaction is using the table.</p>
<p>Incompatible change: Truncation using delete no longer fails if sql_safe_updates is enabled (this was an undocumented side</p>
<p>effect). (Bug#42643:http://bugs.mysql.com/bug.php?id=42643)</p>
<p>* Important Change: Replication: It was possible to set sql_log_bin with session scope inside a transaction or</p>
<p>subquery. (Bug#53437:http://bugs.mysql.com/bug.php?id=53437)</p>
<p>* Important Change: Replication: When changing binlog_format or binlog_direct_non_transactional_updates, permissions were not</p>
<p>checked prior to checking the scope and context of the variable being changed.</p>
<p>As a result of this fix, an error is no longer reported when&#8212;in the context of a transaction or a stored</p>
<p>function&#8212;you try to set a value for a session variable that is the same as its previous value, or for a variable whose</p>
<p>scope is global only.</p>
<p>(Bug#51277:http://bugs.mysql.com/bug.php?id=51277)</p>
<p>* Important Change: Replication: When invoked, CHANGE MASTER TO and SET GLOBAL sql_slave_skip_counter now cause information to</p>
<p>be written to the error log about the slave&#8217;s state prior to execution of the statement. For CHANGE MASTER TO, this</p>
<p>information includes the previous values for MASTER_HOST, MASTER_PORT, MASTER_LOG_FILE, and MASTER_LOG_POS. For SET</p>
<p>GLOBAL sql_slave_skip_counter, this information includes the previous values of sql_slave_skip_counter, the group relay log</p>
<p>name, and the group relay log position.</p>
<p>(Bug#43406:http://bugs.mysql.com/bug.php?id=43406,</p>
<p>Bug#43407:http://bugs.mysql.com/bug.php?id=43407)</p>
<p>* Partitioning: Replication: Attempting to execute LOAD DATA on a partitioned MyISAM table while using statement-based logging</p>
<p>mode caused the master to hang or crash.</p>
<p>(Bug#51851:http://bugs.mysql.com/bug.php?id=51851)</p>
<p>* Partitioning: Replication: The NO_DIR_IN_CREATE server SQL mode was not enforced when defining subpartitions. In certain</p>
<p>cases, this could lead to failures on replication slaves.</p>
<p>(Bug#42954:http://bugs.mysql.com/bug.php?id=42954)</p>
<p>* Partitioning: Rows inserted into a table created using a PARTITION BY LIST COLUMNS option referencing multiple columns</p>
<p>could be inserted into the wrong partition.</p>
<p>(Bug#52815:http://bugs.mysql.com/bug.php?id=52815)</p>
<p>* Partitioning: Partition pruning on RANGE partitioned tables did not always work correctly; the last partition was not</p>
<p>excluded if the range was beyond it (when not using MAXVALUE).</p>
<p>Now the last partition is not included if the partitioning function value is not within the range.</p>
<p>(Bug#51830:http://bugs.mysql.com/bug.php?id=51830)</p>
<p>* Partitioning: Attempting to partition a table using a DECIMAL column caused the server to crash; this not supported and is</p>
<p>now specifically disallowed.</p>
<p>Bug#51347:http://bugs.mysql.com/bug.php?id=51347)</p>
<p>* Partitioning: ALTER TABLE statements that cause table partitions to be renamed or dropped (such as ALTER TABLE &#8230;</p>
<p>ADD PARTITION, ALTER TABLE &#8230; DROP PARTITION, and ALTER TABLE &#8230; REORGANIZE PARTITION) &#8212; when run concurrently with</p>
<p>queries against the INFORMATION_SCHEMA.PARTITIONS table &#8212;</p>
<p>could fail, cause the affected partitioned tables to become unusable, or both. This was due to the fact that the</p>
<p>INFORMATION_SCHEMA database ignored the name lock imposed by the ALTER TABLE statement on the partitions affected. In</p>
<p>particular, this led to problems with InnoDB tables, because InnoDB would accept the rename operation, but put it in a</p>
<p>background queue, so that subsequent rename operations failed when InnoDB was unable to find the correct partition. Now,</p>
<p>INFORMATION_SCHEMA honors name locks imposed by ongoing ALTER TABLE statements that cause partitions to be renamed or</p>
<p>dropped. (Bug#50561:http://bugs.mysql.com/bug.php?id=50561)</p>
<p>See also Bug#47343:http://bugs.mysql.com/bug.php?id=47343,</p>
<p>Bug#45808:http://bugs.mysql.com/bug.php?id=45808.</p>
<p>* Partitioning: The insert_id server system variable was not reset following an insert that failed on a partitioned MyISAM</p>
<p>table having an AUTO_INCREMENT column.</p>
<p>(Bug#50392:http://bugs.mysql.com/bug.php?id=50392)</p>
<p>* Partitioning: Foreign keys are not supported on partitioned tables. However, it was possible via an ALTER TABLE statement</p>
<p>to set a foreign key on a partitioned table; it was also possible to partition a table with a single foreign key.</p>
<p>(Bug#50104:http://bugs.mysql.com/bug.php?id=50104)</p>
<p>* Partitioning: When attempting to perform DDL on a partitioned table and the table&#8217;s .par file could not be found, the server</p>
<p>returned the inaccurate error message Out of memory; restart server and try again (needed 2 bytes). Now in such cases, the</p>
<p>server returns the error Failed to initialize partitions from .par file. (Bug#49161:http://bugs.mysql.com/bug.php?id=49161)</p>
<p>* Partitioning: GROUP BY queries performed poorly for some partitioned tables. This was due to the block size not being</p>
<p>set for partitioned tables, thus the keys per block was not correct, which could cause such queries to be optimized</p>
<p>incorrectly.</p>
<p>(Bug#48229:http://bugs.mysql.com/bug.php?id=48229)</p>
<p>See also Bug#37252:http://bugs.mysql.com/bug.php?id=37252.</p>
<p>* Partitioning: REPAIR TABLE failed for partitioned ARCHIVE tables. (Bug#46565:http://bugs.mysql.com/bug.php?id=46565)</p>
<p>* Replication: When using unique keys on NULL columns in row-based replication, the slave sometimes chose the wrong row</p>
<p>when performing an update. This happened because a table having a unique key on such a column could have multiple rows</p>
<p>containing NULL for the column used by the unique key, and the slave merely picked the first row containing NULL in that</p>
<p>column. (Bug#53893:http://bugs.mysql.com/bug.php?id=53893)</p>
<p>* Replication: When a CREATE TEMPORARY TABLE &#8230; SELECT statement was executed within a transaction that updated only</p>
<p>transactional engines and was later rolled back (for example, due to a deadlock) the changes&#8212;including the creation of the</p>
<p>temporary table&#8212;were not written to the binary log, which caused subsequent updates to this table to fail on the slave.</p>
<p>(Bug#53421:http://bugs.mysql.com/bug.php?id=53421)</p>
<p>* Replication: When using the statement-based logging format, statements that used CONNECTION_ID() were always kept in the</p>
<p>transaction cache; consequently, nontransactional changes that should have been flushed before the transaction were kept in</p>
<p>the transaction cache.</p>
<p>(Bug#53075:http://bugs.mysql.com/bug.php?id=53075)</p>
<p>This regression was introduced by</p>
<p>Bug#51894:http://bugs.mysql.com/bug.php?id=51894.</p>
<p>* Replication: In some cases, attempting to update a column with a value of an incompatible type resulted in a mismatch between</p>
<p>master and slave because the column value was set to its implicit default value on the master (as expected), but the</p>
<p>same column on the slave was set to NULL.</p>
<p>(Bug#52868:http://bugs.mysql.com/bug.php?id=52868)</p>
<p>* Replication: When temporary tables were in use, switching the binary logging format from STATEMENT to ROW did not take</p>
<p>effect until all temporary tables were dropped. (The existence of temporary tables should prevent switching the format only</p>
<p>from ROW to STATEMENT from taking effect, not the reverse.)</p>
<p>(Bug#52616:http://bugs.mysql.com/bug.php?id=52616)</p>
<p>* Replication: A buffer overrun in the handling of DATE column values could cause mysqlbinlog to fail when reading back logs</p>
<p>containing certain combinations of DML on a table having a DATE column followed by dropping the table.</p>
<p>(Bug#52202:http://bugs.mysql.com/bug.php?id=52202)</p>
<p>* Replication: The failure of a REVOKE statement was logged with the wrong error code, causing replication slaves to stop even</p>
<p>when the failure was expected on the master.</p>
<p>(Bug#51987:http://bugs.mysql.com/bug.php?id=51987)</p>
<p>* -laio missing from embedded libs (Bug#55215:_http://bugs.mysql.com/bug.php?id=55215_)</p>
<p>Please see the complete list of changes to MySQL 5.5.5 at <a href="http://dev.mysql.com/doc/refman/5.5/en/news-5-5-5.html">http://dev.mysql.com/doc/refman/5.5/en/news-5-5-5.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.marketgrid.com/blog/2010/07/mysql-community-server-5-5-5-m3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL Server 5.5.2-m2</title>
		<link>http://www.marketgrid.com/blog/2010/02/mysql-server-5-5-2-m2/</link>
		<comments>http://www.marketgrid.com/blog/2010/02/mysql-server-5-5-2-m2/#comments</comments>
		<pubDate>Sat, 27 Feb 2010 21:34:39 +0000</pubDate>
		<dc:creator>Phil Smith</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Releases]]></category>
		<category><![CDATA[MySQL 5.5]]></category>

		<guid isPermaLink="false">http://www.marketgrid.com/blog/?p=148</guid>
		<description><![CDATA[MySQL Server 5.5.2-m2, a new version of the  Open Source Database Management System, has been released. The &#8220;-m2&#8243; suffix tells this belongs to the second milestone according to our &#8220;milestone&#8221; release model, also called &#8220;Betony&#8221;. What Is New in MySQL 5.5 The following features have been added to MySQL 5.5: * Support for an interface [...]]]></description>
			<content:encoded><![CDATA[<p>MySQL Server 5.5.2-m2, a new version of the  Open Source Database Management System, has been released. The &#8220;-m2&#8243; suffix tells this belongs to the second milestone according to our &#8220;milestone&#8221; release model, also called &#8220;Betony&#8221;.</p>
<p>What Is New in MySQL 5.5</p>
<p>The following features have been added to MySQL 5.5:</p>
<p>* Support for an interface for semisynchronous replication:<br />
A commit performed on the master side blocks before returning<br />
to the session that performed the transaction until at least<br />
one slave acknowledges that it has received and logged the events<br />
for the transaction.<br />
Semisynchronous replication is implemented through an optional<br />
plugin component. See Section 16.2.8, &#8220;Semisynchronous Replication&#8221;</p>
<p>* Support for the SQL standard SIGNAL and RESIGNAL statements.<br />
See Section 12.8.8, &#8220;SIGNAL and RESIGNAL&#8221;.</p>
<p>* Enhancements to XML functionality, including a new LOAD XML<br />
statement.</p>
<p>* Two new types of user-defined partitioning are supported:<br />
RANGE COLUMNS partitioning is an extension to RANGE partitioning;<br />
LIST COLUMNS partitioning is an extension to LIST partitioning.<br />
Each of these extensions provides two enhancements to MySQL<br />
partitioning capabilities:</p>
<p>1. It is possible to define partitioning ranges or lists based on<br />
DATE, DATETIME, or string values (such as CHAR or VARCHAR).</p>
<p>You can also define ranges or lists based on multiple column<br />
values when partitioning tables by RANGE COLUMNS or LIST COLUMNS,<br />
respectively. Such a range or list may refer to up to 16 columns.</p>
<p>2. For tables defined using these partitioning types, partition<br />
pruning can now optimize queries with WHERE conditions that use<br />
multiple comparisons between (different) column values and<br />
constants, such as<br />
a = 10 AND b &gt; 5 or a &lt; &#8220;2005-11-25&#8243; AND b = 10 AND c = 50.</p>
<p>For more information, see Section 17.2.1, &#8220;RANGE Partitioning&#8221;,<br />
and Section 17.2.2, &#8220;LIST Partitioning&#8221;.</p>
<p>* It is now possible to delete all rows from one or more partitions<br />
of a partitioned table using the ALTER TABLE &#8230; TRUNCATE<br />
PARTITION statement. Executing the statement deletes rows without<br />
affecting the structure of the table. The partitions named in the<br />
TRUNCATE PARTITION clause do not have to be contiguous.</p>
<p>* Key caches are now supported for indexes on partitioned MyISAM<br />
tables, using the CACHE INDEX and LOAD INDEX INTO CACHE statements.<br />
In addition, a key cache can be defined for and loaded with indexes<br />
from an entire partitioned table, or for one or more partitions.<br />
In the latter case, the partitions are not required to be contiguous.</p>
<p>* The TO_SECONDS() function is added. This function converts a date or<br />
datetime expression to a number of seconds since the year 0. You may<br />
use this function in partitioning expressions, and partition pruning<br />
is supported for table defined using such expressions.</p>
<p>The following constructs are deprecated and will be removed in a future MySQL release. Where alternatives are shown, applications should be updated to use them.</p>
<p>* The table_type system variable (use storage_engine).</p>
<p>The TYPE table option to specify the storage engine for<br />
CREATE TABLE or ALTER TABLE (use ENGINE).</p>
<p>The SHOW TABLE TYPES SQL statement (use SHOW ENGINES).</p>
<p>* The log_bin_trust_routine_creators variable<br />
(use log_bin_trust_function_creators).</p>
<p>* TIMESTAMP(N): The ability to specify a display width of N<br />
(use without N).</p>
<p>* The SHOW INNODB STATUS and SHOW MUTEX STATUS SQL statements<br />
(use SHOW ENGINE INNODB STATUS for both of these).</p>
<p>* The LOAD TABLE &#8230; FROM MASTER and LOAD DATA FROM MASTER SQL<br />
statements.</p>
<p>* The SHOW PLUGIN SQL statement (use SHOW PLUGINS).</p>
<p>* The BACKUP TABLE and the RESTORE TABLE SQL statements.</p>
<p>* The &#8211;master-xxx server options to set replication parameters<br />
(use the CHANGE MASTER TO statement instead):<br />
&#8211;master-host, &#8211;master-user, &#8211;master-password, &#8211;master-port,<br />
&#8211;master-connect-retry, &#8211;master-ssl, &#8211;master-ssl-ca,<br />
&#8211;master-ssl-capath, &#8211;master-ssl-cert, &#8211;master-ssl-cipher,<br />
&#8211;master-ssl-key.</p>
<p>&#8212;&#8211;</p>
<p>Changes in MySQL 5.5.2:</p>
<p>InnoDB Plugin Notes:</p>
<p>* This release includes InnoDB Plugin 1.0.6. This version is<br />
considered of Release Candidate (RC) quality.</p>
<p>Functionality added or changed:</p>
<p>* Replication: Introduced the<br />
&#8211;binlog-direct-non-transactional-updates server option. This<br />
option causes updates using the statement-based logging format<br />
to tables using non-transactional engines to be written<br />
directly to the binary log, rather than to the transaction<br />
cache.<br />
Before using this option, be certain that you have no<br />
dependencies between transactional and non-transactional<br />
tables. A statement that both selects from an InnoDB table and<br />
inserts into a MyISAM table is an example of such a<br />
dependency. For more information, see Section 16.1.3.4,<br />
&#8220;Binary Log Options and Variables.&#8221;<br />
(Bug#46364: http://bugs.mysql.com/bug.php?id=46364)<br />
See also Bug#28976: http://bugs.mysql.com/bug.php?id=28976,<br />
Bug#40116: http://bugs.mysql.com/bug.php?id=40116.</p>
<p>Bugs fixed:</p>
<p>* Performance: The method for comparing INFORMATION_SCHEMA names<br />
and database names was nonoptimal and an improvement was made:<br />
When the database name length is already known, a length check<br />
is made first and content comparison skipped if the lengths<br />
are unequal.<br />
(Bug#49501: http://bugs.mysql.com/bug.php?id=49501)</p>
<p>* Performance: The MD5() and SHA1() functions had excessive<br />
overhead for short strings.<br />
(Bug#49491: http://bugs.mysql.com/bug.php?id=49491)</p>
<p>* Security Fix: For servers built with yaSSL, a preauthorization<br />
buffer overflow could cause memory corruption or a server<br />
crash. We thank Evgeny Legerov from Intevydis for providing us<br />
with a proof-of-concept script that allowed us to reproduce<br />
this bug. (Bug#50227: http://bugs.mysql.com/bug.php?id=50227,<br />
CVE-2009-4484<br />
(http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-4484))</p>
<p>* Incompatible Change: In plugin.h, the MYSQL_REPLICATION_PLUGIN<br />
symbol was out of synchrony with its value in MySQL 6.0<br />
because the lower-valued MYSQL_AUDIT_PLUGIN was not present.<br />
To correct this, MYSQL_AUDIT_PLUGIN has been added in MySQL<br />
5.5, changing the value of MYSQL_REPLICATION_PLUGIN from 5 to</p>
<p>6. Attempts to load the audit plugin produce an error occurs<br />
because only the MYSQL_AUDIT_PLUGIN symbol was added, not the<br />
audit plugin itself. This error will go away when the audit<br />
plugin is added to MySQL 5.5. Replication plugins from earlier<br />
5.5.x releases must be recompiled against the current release<br />
before they will work with the current release.<br />
(Bug#49894: http://bugs.mysql.com/bug.php?id=49894)</p>
<p>* Important Change: Replication: The RAND() function is now<br />
marked as unsafe for statement-based replication. Using this<br />
function now generates a warning when binlog_format=STATEMENT<br />
and causes the the format to switch to row-based logging when<br />
binlog_format=MIXED.<br />
This change is being introduced because, when RAND() was<br />
logged in statement mode, the seed was also written to the<br />
binary log, so the replication slave generated the same<br />
sequence of random numbers as was generated on the master.<br />
While this could make replication work in some cases, the<br />
order of affected rows was still not guaranteed when this<br />
function was used in statements that could update multiple<br />
rows, such as UPDATE or INSERT &#8230; SELECT; if the master and<br />
the slave retrieved rows in different order, they began to<br />
diverge. (Bug#49222: http://bugs.mysql.com/bug.php?id=49222)</p>
<p>* Partitioning: When used on partitioned tables, the<br />
records_in_range handler call checked all partitions, rather<br />
than the unpruned partitions only.<br />
(Bug#48846: http://bugs.mysql.com/bug.php?id=48846)<br />
See also Bug#37252: http://bugs.mysql.com/bug.php?id=37252,<br />
Bug#47261: http://bugs.mysql.com/bug.php?id=47261.</p>
<p>* Partitioning: When an ALTER TABLE &#8230; REORGANIZE PARTITION<br />
statement on an InnoDB table failed due to<br />
innodb_lock_wait_timeout expiring while waiting for a lock,<br />
InnoDB did not clean up any temporary files or tables which it<br />
had created. Attempting to reissue the ALTER TABLE statement<br />
following the timeout could lead to storage engine errors, or<br />
possibly a crash of the server.<br />
(Bug#47343: http://bugs.mysql.com/bug.php?id=47343)</p>
<p>* Replication: FLUSH LOGS could in some circumstances crash the<br />
server. This occurred because the I/O thread could<br />
concurrently access the relay log I/O cache while another<br />
thread was performing the FLUSH LOGS, which closes and reopens<br />
the relay log and, while doing so, initializes (or<br />
re-initializes) its I/O cache. This could cause problems if<br />
some other thread (in this case, the I/O thread) is accessing<br />
it at the same time.<br />
Now the thread performing the FLUSH LOGS takes a lock on the<br />
relay log before actually flushing it.<br />
(Bug#50364: http://bugs.mysql.com/bug.php?id=50364)</p>
<p>* Replication: With semisynchronous replication, memory<br />
allocated for handling transactions could be freed while still<br />
in use, resulting in a server crash.<br />
(Bug#50157: http://bugs.mysql.com/bug.php?id=50157)</p>
<p>* Replication: In some cases, inserting into a table with many<br />
columns could cause the binary log to become corrupted.<br />
(Bug#50018: http://bugs.mysql.com/bug.php?id=50018)<br />
See also Bug#42749: http://bugs.mysql.com/bug.php?id=42749.</p>
<p>* Replication: When using row-based replication, setting a BIT<br />
or CHAR column of a MyISAM table to NULL, then trying to<br />
delete from the table, caused the slave to fail with the error<br />
Can&#8217;t find record in table.<br />
(Bug#49481: http://bugs.mysql.com/bug.php?id=49481,<br />
Bug#49482: http://bugs.mysql.com/bug.php?id=49482)</p>
<p>* Replication: A LOAD DATA INFILE statement that loaded data<br />
into a table having a column name that had to be escaped (such<br />
as `key` INT) caused replication to fail when logging in mixed<br />
or statement mode. In such cases, the master wrote the LOAD<br />
DATA event into the binary log without escaping the column<br />
names. (Bug#49479: http://bugs.mysql.com/bug.php?id=49479)<br />
See also Bug#47927: http://bugs.mysql.com/bug.php?id=47927.</p>
<p>* Replication: When logging in row-based mode, DDL statements<br />
are actually logged as statements; however, statements that<br />
affected temporary tables and followed DDL statements failed<br />
to reset the binary log format to ROW, with the result that<br />
these statements were logged using the statement-based format.<br />
Now the state of binlog_format is restored after a DDL<br />
statement has been written to the binary log.<br />
(Bug#49132: http://bugs.mysql.com/bug.php?id=49132)</p>
<p>* Replication: Spatial data types caused row-based replication<br />
to crash. (Bug#48776: http://bugs.mysql.com/bug.php?id=48776)</p>
<p>* Replication: When using row-based logging, the statement<br />
CREATE TABLE t IF NOT EXIST &#8230; SELECT was logged as CREATE<br />
TEMPORARY TABLE t IF NOT EXIST &#8230; SELECT when t already<br />
existed as a temporary table. This was caused by the fact that<br />
the temporary table was opened and the results of the SELECT<br />
were inserted into it when a temporary table existed and had<br />
the same name.<br />
Now, when this statement is executed, t is created as a base<br />
table, the results of the SELECT are inserted into it &#8212; even<br />
if there already exists a temporary table having the same name<br />
&#8212; and the statement is logged correctly.<br />
(Bug#47418: http://bugs.mysql.com/bug.php?id=47418)<br />
See also Bug#47442: http://bugs.mysql.com/bug.php?id=47442.</p>
<p>* Replication: Due to a change in the size of event<br />
representations in the binary log, when replicating from a<br />
MySQL 4.1 master to a slave running MySQL 5.0.60 or later, the<br />
START SLAVE UNTIL statement did not function correctly,<br />
stopping at the wrong position in the log. Now the slave<br />
detects that the master is using the older version of the<br />
binary log format, and corrects for the difference in event<br />
size, so that the slave stops in the correct position.<br />
(Bug#47142: http://bugs.mysql.com/bug.php?id=47142)</p>
<p>* Replication: Manually removing entries from the binary log<br />
index file on a replication master could cause the server to<br />
repeatedly send the same binary log file to slaves.<br />
(Bug#28421: http://bugs.mysql.com/bug.php?id=28421)</p>
<p>* The SSL certificates in the test suite were about to expire.<br />
They have been updated with expiration dates in the year 2015.<br />
(Bug#50642: http://bugs.mysql.com/bug.php?id=50642)</p>
<p>* SPATIAL indexes were allowed on columns with non-spatial data<br />
types, resulting in a server crash for subsequent table<br />
inserts. (Bug#50574: http://bugs.mysql.com/bug.php?id=50574)</p>
<p>* Index prefixes could be specified with a length greater than<br />
the associated column, resulting in a server crash for<br />
subsequent table inserts.<br />
(Bug#50542: http://bugs.mysql.com/bug.php?id=50542)</p>
<p>* Use of loose index scan optimization for an aggregate function<br />
with DISTINCT (for example, COUNT(DISTINCT)) could produce<br />
incorrect results.<br />
(Bug#50539: http://bugs.mysql.com/bug.php?id=50539)</p>
<p>* The printstack function does not exist on Solaris 8 or<br />
earlier, which would lead to a compilation failure.<br />
(Bug#50409: http://bugs.mysql.com/bug.php?id=50409)</p>
<p>* A user could see tables in INFORMATION_SCHEMA.TABLES without<br />
appropriate privileges for them.<br />
(Bug#50276: http://bugs.mysql.com/bug.php?id=50276)</p>
<p>* Debug output for join structures was garbled.<br />
(Bug#50271: http://bugs.mysql.com/bug.php?id=50271)</p>
<p>* Within a stored routine, selecting the result of CONCAT_WS()<br />
with a routine parameter argument into a user variable could<br />
return incorrect results.<br />
(Bug#50096: http://bugs.mysql.com/bug.php?id=50096)</p>
<p>* The filesort sorting method applied to a CHAR(0) column could<br />
lead to a server crash.<br />
(Bug#49897: http://bugs.mysql.com/bug.php?id=49897)</p>
<p>* EXPLAIN EXTENDED UNION &#8230; ORDER BY caused a crash when the<br />
ORDER BY referred to a nonconstant or full-text function or a<br />
subquery. (Bug#49734: http://bugs.mysql.com/bug.php?id=49734)</p>
<p>* Some prepared statements could raise an assertion when<br />
re-executed.<br />
(Bug#49570: http://bugs.mysql.com/bug.php?id=49570)</p>
<p>* sql_buffer_result had an effect on non-SELECT statements,<br />
contrary to the documentation.<br />
(Bug#49552: http://bugs.mysql.com/bug.php?id=49552)</p>
<p>* In some cases a subquery need not be evaluated because it<br />
returns only aggregate values that can be calculated from<br />
table metadata. This sometimes was not handled by the<br />
enclosing subquery, resulting in a server crash.<br />
(Bug#49512: http://bugs.mysql.com/bug.php?id=49512)</p>
<p>* Mixing full-text searches and row expressions caused a crash.<br />
(Bug#49445: http://bugs.mysql.com/bug.php?id=49445)</p>
<p>* Creating or dropping a table with 1023 transactions active<br />
caused an assertion failure.<br />
(Bug#49238: http://bugs.mysql.com/bug.php?id=49238)</p>
<p>* mysql-test-run.pl now recognizes the MTR_TESTCASE_TIMEOUT,<br />
MTR_SUITE_TIMEOUT, MTR_SHUTDOWN_TIMEOUT, and MTR_START_TIMEOUT<br />
environment variables. If they are set, their values are used<br />
to set the &#8211;testcase-timeout, &#8211;suite-timeout,<br />
&#8211;shutdown-timeout, and &#8211;start-timeout options, respectively.<br />
(Bug#49210: http://bugs.mysql.com/bug.php?id=49210)</p>
<p>* Several strmake() calls had an incorrect length argument (too<br />
large by one).<br />
(Bug#48983: http://bugs.mysql.com/bug.php?id=48983)</p>
<p>* On Fedora 12, strmov() did not guarantee correct operation for<br />
overlapping source and destination buffer. Calls were fixed to<br />
use an overlap-safe version instead.<br />
(Bug#48866: http://bugs.mysql.com/bug.php?id=48866)</p>
<p>* With one thread waiting for a lock on a table, if another<br />
thread dropped the table and created a new table with the same<br />
name and structure, the first thread would not notice that the<br />
table had been re-created and would try to used cached<br />
metadata that belonged to the old table but had been freed.<br />
(Bug#48157: http://bugs.mysql.com/bug.php?id=48157)</p>
<p>* If an invocation of a stored procedure failed in the<br />
table-open stage, subsequent invocations that did not fail in<br />
that stage could cause a crash.<br />
(Bug#47649: http://bugs.mysql.com/bug.php?id=47649)</p>
<p>* A crash occurred when a user variable that was assigned to a<br />
subquery result was used as a result field in a SELECT<br />
statement with aggregate functions.<br />
(Bug#47371: http://bugs.mysql.com/bug.php?id=47371)</p>
<p>* When the mysql client was invoked with the &#8211;vertical option,<br />
it ignored the &#8211;skip-column-names option.<br />
(Bug#47147: http://bugs.mysql.com/bug.php?id=47147)</p>
<p>* If EXPLAIN encountered an error in the query, a memory leak<br />
occurred. (Bug#45989: http://bugs.mysql.com/bug.php?id=45989)</p>
<p>* A race condition on the privilege hash tables allowed one<br />
thread to try to delete elements that had already been deleted<br />
by another thread. A consequence was that SET PASSWORD or<br />
FLUSH PRIVILEGES could cause a crash.<br />
(Bug#35589: http://bugs.mysql.com/bug.php?id=35589,<br />
Bug#35591: http://bugs.mysql.com/bug.php?id=35591)</p>
<p>* 1) In rare cases, if a thread was interrupted during a FLUSH<br />
PRIVILEGES operation, a debug assertion occurred later due to<br />
improper diagnostic area setup. 2) A KILL operation could<br />
cause a console error message referring to a diagnostic area<br />
state without first ensuring that the state existed.<br />
(Bug#33982: http://bugs.mysql.com/bug.php?id=33982)</p>
<p>* ALTER TABLE with both DROP COLUMN and ADD COLUMN clauses could<br />
crash or lock up the server.<br />
(Bug#31145: http://bugs.mysql.com/bug.php?id=31145)</p>
<p>* The Table_locks_waited waited variable was not incremented in<br />
the cases that a lock had to be waited for but the waiting<br />
thread was killed or the request was aborted.<br />
(Bug#30331: http://bugs.mysql.com/bug.php?id=30331)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.marketgrid.com/blog/2010/02/mysql-server-5-5-2-m2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL 5.5.1-m2</title>
		<link>http://www.marketgrid.com/blog/2010/01/mysql-5-5-1-m2/</link>
		<comments>http://www.marketgrid.com/blog/2010/01/mysql-5-5-1-m2/#comments</comments>
		<pubDate>Sun, 17 Jan 2010 17:28:29 +0000</pubDate>
		<dc:creator>Phil Smith</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Releases]]></category>
		<category><![CDATA[MySQL 5.5]]></category>

		<guid isPermaLink="false">http://www.marketgrid.com/blog/?p=69</guid>
		<description><![CDATA[MySQL Server 5.5.1-m2, a new version of the popular Open Source Database Management System, has been released. The &#8220;-m2&#8243; suffix tells this belongs to the second milestone according to our &#8220;milestone&#8221; release model, also called &#8220;Betony&#8221;. You can read more about the release model and the planned milestones at http://forge.mysql.com/wiki/Development_Cycle The new features in this [...]]]></description>
			<content:encoded><![CDATA[<p>MySQL Server 5.5.1-m2, a new version of the popular Open Source Database Management System, has been released.</p>
<p>The &#8220;-m2&#8243; suffix tells this belongs to the second milestone according to our &#8220;milestone&#8221; release model, also called &#8220;Betony&#8221;.<br />
You can read more about the release model and the planned milestones at <a href="http://forge.mysql.com/wiki/Development_Cycle">http://forge.mysql.com/wiki/Development_Cycle</a></p>
<p>The new features in this release are of beta quality. As with any other pre-production release, caution should be taken when installing on<br />
production level systems or systems with critical data.</p>
<p>MySQL 5.5 is based on MySQL 5.4, which won&#8217;t get any further updates. So MySQL 5.5 includes several high-impact changes to address scalability<br />
and performance issues in MySQL Server. These changes exploit advances in hardware and CPU design and enable better utilization of existing<br />
hardware.</p>
<p>For an overview of what&#8217;s new in MySQL 5.5, please see the section &#8220;What Is New in MySQL 5.5&#8243; below, or view it online at <a href="http://dev.mysql.com/doc/refman/5.5/en/mysql-nutshell.html">http://dev.mysql.com/doc/refman/5.5/en/mysql-nutshell.html</a></p>
<p>For information on installing MySQL 5.5.1-m2 on new servers, please see the MySQL installation documentation at <a href="http://dev.mysql.com/doc/refman/5.5/en/installing.html">http://dev.mysql.com/doc/refman/5.5/en/installing.html</a></p>
<p>For upgrading from previous MySQL releases, please see the important upgrade considerations at <a href="http://dev.mysql.com/doc/refman/5.5/en/upgrading-from-previous-series.html">http://dev.mysql.com/doc/refman/5.5/en/upgrading-from-previous-series.html</a></p>
<p>MySQL Server is available in source and binary form for a number of platforms from our download pages at <a href="http://dev.mysql.com/downloads/">http://dev.mysql.com/downloads/</a></p>
<p>The list of all &#8220;Bugs Fixed&#8221; may also be viewed online at <a href="http://dev.mysql.com/doc/refman/5.5/en/news-5-5-1.html">http://dev.mysql.com/doc/refman/5.5/en/news-5-5-1.html</a></p>
<p>When the publishing process for 5.5.1-m2 was already running, the MySQL team was informed about a security problem in the SSL connect area (a possibility to crash the server).</p>
<p>The problem is caused by a buffer overflow in the YaSSL library, MySQL Servers using OpenSSL are not affected. It can only occur when SSL (using YaSSL) is enabled.</p>
<p>This problem is still under detailed investigation with the various versions, configurations, and platforms.<br />
When that has finished, the problem will be fixed ASAP, and new binaries for the affected versions will be released.</p>
<p>                  &#8212;&#8211;</p>
<p>What Is New in MySQL 5.5</p>
<p>The following features have been added to MySQL 5.5:</p>
<p> * Support for an interface for semisynchronous replication:<br />
   A commit performed on the master side blocks before returning<br />
   to the session that performed the transaction until at least<br />
   one slave acknowledges that it has received and logged the events<br />
   for the transaction.<br />
   Semisynchronous replication is implemented through an optional<br />
   plugin component. See Section 16.2.8, &#8220;Semisynchronous Replication&#8221;</p>
<p> * Support for the SQL standard SIGNAL and RESIGNAL statements.<br />
   See Section 12.8.8, &#8220;SIGNAL and RESIGNAL&#8221;.</p>
<p> * Enhancements to XML functionality, including a new LOAD XML<br />
   statement.</p>
<p> * Two new types of user-defined partitioning:<br />
   RANGE COLUMNS partitioning is an extension to RANGE partitioning;<br />
   LIST COLUMNS partitioning is an extension to LIST partitioning.<br />
   Each of these extensions provides two enhancements to MySQL<br />
   partitioning capabilities:</p>
<p>   1. It is possible to define partitioning ranges or lists based on<br />
      DATE, DATETIME, or string values (such as CHAR or VARCHAR).</p>
<p>      You can also define ranges or lists based on multiple column<br />
      values when partitioning tables by RANGE COLUMNS or LIST COLUMNS,<br />
      respectively. Such a range or list may refer to up to 16 columns.</p>
<p>   2. For tables defined using these partitioning types, partition<br />
      pruning can now optimize queries with WHERE conditions that use<br />
      multiple comparisons between (different) column values and<br />
      constants, such as<br />
          a = 10 AND b &gt; 5 or a &lt; &#8220;2005-11-25&#8243; AND b = 10 AND c = 50.</p>
<p>      For more information, see Section 17.2.1, &#8220;RANGE Partitioning&#8221;,<br />
      and Section 17.2.2, &#8220;LIST Partitioning&#8221;.</p>
<p> * It is now possible to delete all rows from one or more partitions<br />
   of a partitioned table using the ALTER TABLE &#8230; TRUNCATE<br />
   PARTITION statement. Executing the statement deletes rows without<br />
   affecting the structure of the table. The partitions named in the<br />
   TRUNCATE PARTITION clause do not have to be contiguous.</p>
<p> * Key caches are now supported for indexes on partitioned MyISAM<br />
   tables, using the CACHE INDEX and LOAD INDEX INTO CACHE statements.<br />
   In addition, a key cache can be defined for and loaded with indexes<br />
   from an entire partitioned table, or for one or more partitions.<br />
   In the latter case, the partitions are not required to be contiguous.</p>
<p> * The TO_SECONDS() function is added. This function converts a date or<br />
   datetime expression to a number of seconds since the year 0. You may<br />
   use this function in partitioning expressions, and partition pruning<br />
   is supported for table defined using such expressions.</p>
<p>The following constructs are deprecated and will be removed in a future<br />
MySQL release. Where alternatives are shown, applications should be<br />
updated to use them.</p>
<p> * The table_type system variable (use storage_engine).</p>
<p>   The TYPE table option to specify the storage engine for<br />
   CREATE TABLE or ALTER TABLE (use ENGINE).</p>
<p>   The SHOW TABLE TYPES SQL statement (use SHOW ENGINES).</p>
<p> * The log_bin_trust_routine_creators variable<br />
   (use log_bin_trust_function_creators).</p>
<p> * TIMESTAMP(N): The ability to specify a display width of N<br />
   (use without N).</p>
<p> * The SHOW INNODB STATUS and SHOW MUTEX STATUS SQL statements<br />
   (use SHOW ENGINE INNODB STATUS for both of these).</p>
<p> * The LOAD TABLE &#8230; FROM MASTER and LOAD DATA FROM MASTER SQL<br />
   statements.</p>
<p> * The SHOW PLUGIN SQL statement (use SHOW PLUGINS).</p>
<p> * The BACKUP TABLE and the RESTORE TABLE SQL statements.</p>
<p> * The &#8211;master-xxx server options to set replication parameters<br />
   (use the CHANGE MASTER TO statement instead):<br />
   &#8211;master-host, &#8211;master-user, &#8211;master-password, &#8211;master-port,<br />
   &#8211;master-connect-retry, &#8211;master-ssl, &#8211;master-ssl-ca,<br />
   &#8211;master-ssl-capath, &#8211;master-ssl-cert, &#8211;master-ssl-cipher,<br />
   &#8211;master-ssl-key.</p>
<p>                  &#8212;&#8211;</p>
<p>Changes in MySQL 5.5.1-m2:</p>
<p>RPM Notes:</p>
<p>  * The version information in RPM package files has been changed:<br />
       + The &#8220;level&#8221; field of a MySQL version number is now also<br />
         included in the RPM version and in the package file name.<br />
       + The RPM &#8220;release&#8221; value now starts to count from 1, not 0.<br />
    For example, the generic x86 server RPM file of 5.5.1-m2 is<br />
    named MySQL-server-5.5.1_m2-1.glibc23.i386.rpm. This improves<br />
    consistency with other formats that also include the level<br />
    (for this version: &#8220;m2&#8243;) in the file name. For example, the<br />
    tar.gz filename is mysql-5.5.1-m2-linux-i686-glibc23.tar.gz.<br />
    The different separator, underscore &#8216;_&#8217; for RPM, is required<br />
    by the syntax of RPM.</p>
<p>InnoDB Plugin Notes:</p>
<p>  * InnoDB Plugin has been upgraded to version 1.0.6. This version<br />
    is considered of Release Candidate (RC) quality. The InnoDB<br />
    Plugin Change History<br />
    (<a href="http://www.innodb.com/doc/innodb_plugin-1.0/innodb-changes.ht">http://www.innodb.com/doc/innodb_plugin-1.0/innodb-changes.ht</a><br />
    ml) may contain information in addition to those changes<br />
    reported here.</p>
<p>Functionality added or changed:</p>
<p>  * Partitioning: The UNIX_TIMESTAMP() function is now supported<br />
    in partitioning expressions using TIMESTAMP columns. For<br />
    example, it now possible to create a partitioned table such as<br />
    this one:<br />
        CREATE TABLE t (c TIMESTAMP)<br />
        PARTITION BY RANGE ( UNIX_TIMESTAMP(c) ) (<br />
            PARTITION p0 VALUES LESS THAN (631148400),<br />
            PARTITION p1 VALUES LESS THAN (946681200),<br />
            PARTITION p2 VALUES LESS THAN (MAXVALUE)<br />
        );<br />
    All other expressions involving TIMESTAMP values are now<br />
    rejected with an error when attempting to create a new<br />
    partitioned table or to alter an existing partitioned table.<br />
    When accessing an existing partitioned table having a<br />
    timezone-dependent partitioning function (where the table was<br />
    using a previous version of MySQL), a warning rather than an<br />
    error is issued. In such cases, you should fix the table. One<br />
    way of doing this is to alter the table&#8217;s partitioning<br />
    expression so that it uses UNIX_TIMESTAMP().<br />
    (Bug#42849: <a href="http://bugs.mysql.com/bug.php?id=42849">http://bugs.mysql.com/bug.php?id=42849</a>)</p>
<p>Bugs fixed:</p>
<p>  * Performance: When the query cache is fragmented, the size of<br />
    the free block lists in the memory bins grows, which causes<br />
    query cache invalidation to become slow. There is now a 50ms<br />
    timeout for a SELECT statement waiting for the query cache<br />
    lock. If the timeout expires, the statement executes without<br />
    using the query cache.<br />
    (Bug#39253: <a href="http://bugs.mysql.com/bug.php?id=39253">http://bugs.mysql.com/bug.php?id=39253</a>)<br />
    See also Bug#21074: <a href="http://bugs.mysql.com/bug.php?id=21074">http://bugs.mysql.com/bug.php?id=21074</a>.</p>
<p>  * Important Change: Replication: The following functions have<br />
    been marked unsafe for statement-based replication:<br />
       + GET_LOCK()<br />
       + IS_FREE_LOCK()<br />
       + IS_USED_LOCK()<br />
       + MASTER_POS_WAIT()<br />
       + RELEASE_LOCK()<br />
       + SLEEP()<br />
       + SYSDATE()<br />
       + VERSION()</p>
<p>    None of the functions just listed are guaranteed to replicate<br />
    correctly when using the statement-based format, because they<br />
    can produce different results on the master and the slave. The<br />
    use of any of these functions while binlog_format is set to<br />
    STATEMENT is logged with the warning, Statement is not safe to<br />
    log in statement format. When binlog_format is set to MIXED,<br />
    the binary logging format is automatically switched to the<br />
    row-based format whenever one of these functions is used.<br />
    (Bug#47995: <a href="http://bugs.mysql.com/bug.php?id=47995">http://bugs.mysql.com/bug.php?id=47995</a>)</p>
<p>  * Partitioning: When SHOW CREATE TABLE was invoked for a table<br />
    that had been created using the COLUMNS keyword or the<br />
    TO_SECONDS() function, the output contained the wrong MySQL<br />
    version number in the conditional comments.<br />
    (Bug#49591: <a href="http://bugs.mysql.com/bug.php?id=49591">http://bugs.mysql.com/bug.php?id=49591</a>)</p>
<p>  * Partitioning: A query that searched on a ucs2 column failed if<br />
    the table was partitioned.<br />
    (Bug#48737: <a href="http://bugs.mysql.com/bug.php?id=48737">http://bugs.mysql.com/bug.php?id=48737</a>)</p>
<p>  * Partitioning: In some cases, it was not possible to add a new<br />
    column to a table that had subpartitions.<br />
    (Bug#48276: <a href="http://bugs.mysql.com/bug.php?id=48276">http://bugs.mysql.com/bug.php?id=48276</a>)</p>
<p>  * Partitioning: SELECT COUNT(*) from a partitioned table failed<br />
    when using the ONLY_FULL_GROUP_BY SQL mode.<br />
    (Bug#46923: <a href="http://bugs.mysql.com/bug.php?id=46923">http://bugs.mysql.com/bug.php?id=46923</a>)<br />
    This regression was introduced by<br />
    Bug#45807: <a href="http://bugs.mysql.com/bug.php?id=45807">http://bugs.mysql.com/bug.php?id=45807</a>.</p>
<p>  * Partitioning: SUBPARTITION BY KEY failed with DEFAULT<br />
    CHARSET=utf8.<br />
    (Bug#45904: <a href="http://bugs.mysql.com/bug.php?id=45904">http://bugs.mysql.com/bug.php?id=45904</a>)</p>
<p>  * Replication: When using row-based logging, TRUNCATE TABLE was<br />
    written to the binary log even if the affected table was<br />
    temporary, causing replication to fail.<br />
    (Bug#48350: <a href="http://bugs.mysql.com/bug.php?id=48350">http://bugs.mysql.com/bug.php?id=48350</a>)</p>
<p>  * Cluster Replication: When expire_logs_days was set, the thread<br />
    performing the purge of the log files could deadlock, causing<br />
    all binary log operations to stop.<br />
    (Bug#49536: <a href="http://bugs.mysql.com/bug.php?id=49536">http://bugs.mysql.com/bug.php?id=49536</a>)</p>
<p>  * For debug builds on Windows, SAFEMALLOC was defined<br />
    inconsistently, leading to mismatches when using my_malloc()<br />
    and my_free().<br />
    (Bug#49811: <a href="http://bugs.mysql.com/bug.php?id=49811">http://bugs.mysql.com/bug.php?id=49811</a>)</p>
<p>  * The mysql.server script had incorrect shutdown logic.<br />
    (Bug#49772: <a href="http://bugs.mysql.com/bug.php?id=49772">http://bugs.mysql.com/bug.php?id=49772</a>)</p>
<p>  * The result of comparison between nullable BIGINT and INT<br />
    columns was inconsistent.<br />
    (Bug#49517: <a href="http://bugs.mysql.com/bug.php?id=49517">http://bugs.mysql.com/bug.php?id=49517</a>)</p>
<p>  * A Valgrind error in make_cond_for_table_from_pred() was<br />
    corrected. Thanks to Sergey Petrunya for the patch to fix this<br />
    bug. (Bug#49506: <a href="http://bugs.mysql.com/bug.php?id=49506">http://bugs.mysql.com/bug.php?id=49506</a>)</p>
<p>  * When compiling on Windows, an error in the CMake definitions<br />
    for InnoDB would cause the engine to be built incorrectly.<br />
    (Bug#49502: <a href="http://bugs.mysql.com/bug.php?id=49502">http://bugs.mysql.com/bug.php?id=49502</a>)</p>
<p>  * Incorrect cache initialization prevented storage of converted<br />
    constant values and could produce incorrect comparison<br />
    results. (Bug#49489: <a href="http://bugs.mysql.com/bug.php?id=49489">http://bugs.mysql.com/bug.php?id=49489</a>)</p>
<p>  * Comparisons involving YEAR values could produce incorrect<br />
    results. (Bug#49480: <a href="http://bugs.mysql.com/bug.php?id=49480">http://bugs.mysql.com/bug.php?id=49480</a>)<br />
    See also Bug#43668: <a href="http://bugs.mysql.com/bug.php?id=43668">http://bugs.mysql.com/bug.php?id=43668</a>.</p>
<p>  * Valgrind warnings for CHECKSUM TABLE were corrected.<br />
    (Bug#49465: <a href="http://bugs.mysql.com/bug.php?id=49465">http://bugs.mysql.com/bug.php?id=49465</a>)</p>
<p>  * Specifying an index algorithm (such as BTREE) for SPATIAL or<br />
    FULLTEXT indexes caused a server crash. These index types do<br />
    not support algorithm specification, and it is now disallowed<br />
    to do so. (Bug#49250: <a href="http://bugs.mysql.com/bug.php?id=49250">http://bugs.mysql.com/bug.php?id=49250</a>)</p>
<p>  * The optimizer sometimes incorrectly handled conditions of the<br />
    form WHERE col_name=&#8217;const1&#8242; AND col_name=&#8217;const2&#8242;.<br />
    (Bug#49199: <a href="http://bugs.mysql.com/bug.php?id=49199">http://bugs.mysql.com/bug.php?id=49199</a>)</p>
<p>  * Execution of DECODE() and ENCODE() could be inefficient<br />
    because multiple executions within a single statement<br />
    reinitialized the random generator multiple times even with<br />
    constant parameters.<br />
    (Bug#49141: <a href="http://bugs.mysql.com/bug.php?id=49141">http://bugs.mysql.com/bug.php?id=49141</a>)</p>
<p>  * The LIKE operator did not work correctly when using an index<br />
    for a ucs2 column.<br />
    (Bug#49028: <a href="http://bugs.mysql.com/bug.php?id=49028">http://bugs.mysql.com/bug.php?id=49028</a>)</p>
<p>  * check_key_in_view() was missing a DBUG_RETURN in one code<br />
    branch, causing a crash in debug builds.<br />
    (Bug#48995: <a href="http://bugs.mysql.com/bug.php?id=48995">http://bugs.mysql.com/bug.php?id=48995</a>)</p>
<p>  * If a query involving a table was terminated with KILL, a<br />
    subsequent SHOW CREATE TABLE for that table caused a server<br />
    crash. (Bug#48985: <a href="http://bugs.mysql.com/bug.php?id=48985">http://bugs.mysql.com/bug.php?id=48985</a>)</p>
<p>  * Privileges for stored routines were ignored for mixed-case<br />
    routine names.<br />
    (Bug#48872: <a href="http://bugs.mysql.com/bug.php?id=48872">http://bugs.mysql.com/bug.php?id=48872</a>)<br />
    See also Bug#41049: <a href="http://bugs.mysql.com/bug.php?id=41049">http://bugs.mysql.com/bug.php?id=41049</a>.</p>
<p>  * Concurrent ALTER TABLE operations on an InnoDB table could<br />
    raise an assertion.<br />
    (Bug#48782: <a href="http://bugs.mysql.com/bug.php?id=48782">http://bugs.mysql.com/bug.php?id=48782</a>)</p>
<p>  * During query execution, ranges could be merged incorrectly for<br />
    OR operations and return an incorrect result.<br />
    (Bug#48665: <a href="http://bugs.mysql.com/bug.php?id=48665">http://bugs.mysql.com/bug.php?id=48665</a>)</p>
<p>  * The InnoDB Table Monitor reported the FLOAT and DOUBLE data<br />
    types incorrectly.<br />
    (Bug#48526: <a href="http://bugs.mysql.com/bug.php?id=48526">http://bugs.mysql.com/bug.php?id=48526</a>)</p>
<p>  * With row-based binary logging, the server crashed for<br />
    statements of the form CREATE TABLE IF NOT EXISTS<br />
    existing_view LIKE temporary_table. This occurred because the<br />
    server handled the existing view as a table when logging the<br />
    statement. (Bug#48506: <a href="http://bugs.mysql.com/bug.php?id=48506">http://bugs.mysql.com/bug.php?id=48506</a>)</p>
<p>  * The error message for ER_UPDATE_INFO was subject to buffer<br />
    overflow or truncation.<br />
    (Bug#48500: <a href="http://bugs.mysql.com/bug.php?id=48500">http://bugs.mysql.com/bug.php?id=48500</a>)</p>
<p>  * DISTINCT was ignored for queries with GROUP BY WITH ROLLUP and<br />
    only const tables.<br />
    (Bug#48475: <a href="http://bugs.mysql.com/bug.php?id=48475">http://bugs.mysql.com/bug.php?id=48475</a>)</p>
<p>  * Loose index scan was inappropriately chosen for some WHERE<br />
    conditions.<br />
    (Bug#48472: <a href="http://bugs.mysql.com/bug.php?id=48472">http://bugs.mysql.com/bug.php?id=48472</a>)</p>
<p>  * If the InnoDB tablespace was configured with too small a<br />
    value, the server could crash and corrupt the tablespace.<br />
    (Bug#48469: <a href="http://bugs.mysql.com/bug.php?id=48469">http://bugs.mysql.com/bug.php?id=48469</a>)</p>
<p>  * Parts of the range optimizer could be initialized incorrectly,<br />
    resulting in Valgrind errors.<br />
    (Bug#48459: <a href="http://bugs.mysql.com/bug.php?id=48459">http://bugs.mysql.com/bug.php?id=48459</a>)</p>
<p>  * A bad typecast could cause query execution to allocate large<br />
    amounts of memory.<br />
    (Bug#48458: <a href="http://bugs.mysql.com/bug.php?id=48458">http://bugs.mysql.com/bug.php?id=48458</a>)</p>
<p>  * On Windows, InnoDB could not be built as a statically linked<br />
    library. (Bug#48317: <a href="http://bugs.mysql.com/bug.php?id=48317">http://bugs.mysql.com/bug.php?id=48317</a>)</p>
<p>  * mysql_secure_installation did not work on Solaris.<br />
    (Bug#48086: <a href="http://bugs.mysql.com/bug.php?id=48086">http://bugs.mysql.com/bug.php?id=48086</a>)</p>
<p>  * When running mysql_secure_installation, the command would fail<br />
    if the root password contained multiple spaces, \, # or quote<br />
    characters.<br />
    (Bug#48031: <a href="http://bugs.mysql.com/bug.php?id=48031">http://bugs.mysql.com/bug.php?id=48031</a>)</p>
<p>  * MATCH IN BOOLEAN MODE searches could return too many results<br />
    inside a subquery.<br />
    (Bug#47930: <a href="http://bugs.mysql.com/bug.php?id=47930">http://bugs.mysql.com/bug.php?id=47930</a>)</p>
<p>  * User-defined collations with an ID less then 256 were not<br />
    initialized correctly when loaded and caused a server crash.<br />
    (Bug#47756: <a href="http://bugs.mysql.com/bug.php?id=47756">http://bugs.mysql.com/bug.php?id=47756</a>)</p>
<p>  * If a session held a global read lock acquired with FLUSH<br />
    TABLES WITH READ LOCK, a lock for one table acquired with LOCK<br />
    TABLES, and issued an INSERT DELAYED statement for another<br />
    table, deadlock could occur.<br />
    (Bug#47682: <a href="http://bugs.mysql.com/bug.php?id=47682">http://bugs.mysql.com/bug.php?id=47682</a>)</p>
<p>  * The mysql client status command displayed an incorrect value<br />
    for the server character set.<br />
    (Bug#47671: <a href="http://bugs.mysql.com/bug.php?id=47671">http://bugs.mysql.com/bug.php?id=47671</a>)</p>
<p>  * Connecting to a 4.1.x server from a 5.1.x or higher mysql<br />
    client resulted in a memory-free error when disconnecting.<br />
    (Bug#47655: <a href="http://bugs.mysql.com/bug.php?id=47655">http://bugs.mysql.com/bug.php?id=47655</a>)</p>
<p>  * Assignment of a system variable sharing the same base name as<br />
    a declared stored program variable in the same context could<br />
    lead to a crash.<br />
    (Bug#47627: <a href="http://bugs.mysql.com/bug.php?id=47627">http://bugs.mysql.com/bug.php?id=47627</a>)</p>
<p>  * On Solaris, no stack trace was printed to the error log after<br />
    a crash. (Bug#47391: <a href="http://bugs.mysql.com/bug.php?id=47391">http://bugs.mysql.com/bug.php?id=47391</a>)</p>
<p>  * The innodb_file_format_check system variable could not be set<br />
    at runtime to DEFAULT or to the value of a user-defined<br />
    variable. (Bug#47167: <a href="http://bugs.mysql.com/bug.php?id=47167">http://bugs.mysql.com/bug.php?id=47167</a>)</p>
<p>  * After a binary upgrade to MySQL 5.1 from a MySQL 5.0<br />
    installation that contains ARCHIVE tables, accessing those<br />
    tables caused the server to crash, even if you had run<br />
    mysql_upgrade or CHECK TABLE &#8230; FOR UPGRADE.<br />
    To work around this problem, use mysqldump to dump all ARCHIVE<br />
    tables before upgrading, and reload them into MySQL 5.1 after<br />
    upgrading. The same problem occurs for binary downgrades from<br />
    MySQL 5.1 to 5.0.<br />
    (Bug#47012: <a href="http://bugs.mysql.com/bug.php?id=47012">http://bugs.mysql.com/bug.php?id=47012</a>)</p>
<p>  * The IGNORE clause on a DELETE statement masked an SQL<br />
    statement error that occurred during trigger processing.<br />
    (Bug#46425: <a href="http://bugs.mysql.com/bug.php?id=46425">http://bugs.mysql.com/bug.php?id=46425</a>)</p>
<p>  * Valgrind errors for InnoDB Plugin were corrected.<br />
    (Bug#45992: <a href="http://bugs.mysql.com/bug.php?id=45992">http://bugs.mysql.com/bug.php?id=45992</a>,<br />
    Bug#46656: <a href="http://bugs.mysql.com/bug.php?id=46656">http://bugs.mysql.com/bug.php?id=46656</a>)</p>
<p>  * The return value was not checked for some my_hash_insert()<br />
    calls. (Bug#45613: <a href="http://bugs.mysql.com/bug.php?id=45613">http://bugs.mysql.com/bug.php?id=45613</a>)</p>
<p>  * It was possible for init_available_charsets() not to<br />
    initialize correctly.<br />
    (Bug#45058: <a href="http://bugs.mysql.com/bug.php?id=45058">http://bugs.mysql.com/bug.php?id=45058</a>)</p>
<p>  * GROUP BY on a constant (single-row) InnoDB table joined to<br />
    other tables caused a server crash.<br />
    (Bug#44886: <a href="http://bugs.mysql.com/bug.php?id=44886">http://bugs.mysql.com/bug.php?id=44886</a>)</p>
<p>  * For YEAR(2) values, MIN(), MAX(), and comparisons could yield<br />
    incorrect results.<br />
    (Bug#43668: <a href="http://bugs.mysql.com/bug.php?id=43668">http://bugs.mysql.com/bug.php?id=43668</a>)</p>
<p>  * Comparison with NULL values sometimes did not produce a<br />
    correct result.<br />
    (Bug#42760: <a href="http://bugs.mysql.com/bug.php?id=42760">http://bugs.mysql.com/bug.php?id=42760</a>)</p>
<p>  * In debug builds, killing a LOAD XML INFILE statement raised an<br />
    assertion. (Bug#42520: <a href="http://bugs.mysql.com/bug.php?id=42520">http://bugs.mysql.com/bug.php?id=42520</a>)</p>
<p>  * The server could crash when attempting to access a<br />
    non-conformant mysql.proc system table. For example, the<br />
    server could crash when invoking stored procedure-related<br />
    statements after an upgrade from MySQL 5.0 to 5.1 without<br />
    running mysql_upgrade.<br />
    (Bug#41726: <a href="http://bugs.mysql.com/bug.php?id=41726">http://bugs.mysql.com/bug.php?id=41726</a>)</p>
<p>  * The mysql_upgrade command would create three additional fields<br />
    to the mysql.proc table (character_set_client,<br />
    collation_connection, and db_collation), but did not populate<br />
    the fields with correct values. This would lead to error<br />
    messages reported during stored procedure execution.<br />
    (Bug#41569: <a href="http://bugs.mysql.com/bug.php?id=41569">http://bugs.mysql.com/bug.php?id=41569</a>)</p>
<p>  * Use of InnoDB monitoring (SHOW ENGINE INNODB STATUS or one of<br />
    the InnoDB Monitor tables) could cause a server crash due to<br />
    invalid access to a shared variable in a concurrent<br />
    environment.<br />
    (Bug#38883: <a href="http://bugs.mysql.com/bug.php?id=38883">http://bugs.mysql.com/bug.php?id=38883</a>)</p>
<p>  * When compressed MyISAM files were opened, they were always<br />
    memory mapped, sometimes causing memory-swapping problems. To<br />
    deal with this, a new system variable, myisam_mmap_size, was<br />
    added to limit the amount of memory used for memory mapping of<br />
    MyISAM files.<br />
    (Bug#37408: <a href="http://bugs.mysql.com/bug.php?id=37408">http://bugs.mysql.com/bug.php?id=37408</a>)</p>
<p>  * When running mysql_secure_installation on Windows, the command<br />
    would fail to load a required module, Term::ReadKey, which was<br />
    required for correct operation.<br />
    (Bug#35106: <a href="http://bugs.mysql.com/bug.php?id=35106">http://bugs.mysql.com/bug.php?id=35106</a>)</p>
<p>  * If the &#8211;log-bin server option was set to a directory name<br />
    with a trailing component separator character, the basename of<br />
    the binary log files was empty so that the created files were<br />
    named .000001 and .index. The same thing occurred with the<br />
    &#8211;log-bin-index, &#8211;relay-log, and &#8211;relay-log-index options.<br />
    Now the server reports and error and exits.<br />
    (Bug#34739: <a href="http://bugs.mysql.com/bug.php?id=34739">http://bugs.mysql.com/bug.php?id=34739</a>)</p>
<p>  * If a comparison involved a constant value that required type<br />
    conversion, the converted value might not be cached, resulting<br />
    in repeated conversion and poorer performance.<br />
    (Bug#34384: <a href="http://bugs.mysql.com/bug.php?id=34384">http://bugs.mysql.com/bug.php?id=34384</a>)</p>
<p>  * Using the SHOW ENGINE INNODB STATUS statement when using<br />
    partitions in InnoDB tables caused Invalid (old?) table or<br />
    database name errors to be logged.<br />
    (Bug#32430: <a href="http://bugs.mysql.com/bug.php?id=32430">http://bugs.mysql.com/bug.php?id=32430</a>)</p>
<p>  * Output from mysql &#8211;html did not encode the &lt;, &gt;, or &amp;<br />
    characters.<br />
    (Bug#27884: <a href="http://bugs.mysql.com/bug.php?id=27884">http://bugs.mysql.com/bug.php?id=27884</a>)</p>
<p>  * Under heavy load with a large query cache, invalidating part<br />
    of the cache could cause the server to freeze (that is, to be<br />
    unable to service other operations until the invalidation was<br />
    complete). (Bug#21074: <a href="http://bugs.mysql.com/bug.php?id=21074">http://bugs.mysql.com/bug.php?id=21074</a>)<br />
    See also Bug#39253: <a href="http://bugs.mysql.com/bug.php?id=39253">http://bugs.mysql.com/bug.php?id=39253</a>.</p>
<p>  * On some Windows systems, InnoDB could report Operating system<br />
    error number 995 in a file operation due to transient driver<br />
    or hardware problems. InnoDB now retries the operation and<br />
    adds Retry attempt is made to the error message.<br />
    (Bug#3139: <a href="http://bugs.mysql.com/bug.php?id=3139">http://bugs.mysql.com/bug.php?id=3139</a>)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.marketgrid.com/blog/2010/01/mysql-5-5-1-m2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

