Author: paul
Date: 2008-12-01 18:14:10 +0100 (Mon, 01 Dec 2008)
New Revision: 12714
Log:
r36274@frost: paul | 2008-12-01 10:35:57 -0500
Document bugfixes:
Bug#26704: Failing DROP DATABASE brings mysql-client out of sync
Bug#40282: --log-backup-output w/o argument sets logging to wrong value
Modified:
trunk/dynamic-docs/changelog/mysqld-1.xml
Property changes on: trunk
___________________________________________________________________
Name: svk:merge
- 4767c598-dc10-0410-bea0-d01b485662eb:/mysqldoc-local/mysqldoc/trunk:39854
7d8d2c4e-af1d-0410-ab9f-b038ce55645b:/mysqldoc-local/mysqldoc:36273
b5ec3a16-e900-0410-9ad2-d183a3acac99:/mysqldoc-local/mysqldoc/trunk:14218
bf112a9c-6c03-0410-a055-ad865cd57414:/mysqldoc-local/mysqldoc/trunk:34596
+ 4767c598-dc10-0410-bea0-d01b485662eb:/mysqldoc-local/mysqldoc/trunk:39854
7d8d2c4e-af1d-0410-ab9f-b038ce55645b:/mysqldoc-local/mysqldoc:36274
b5ec3a16-e900-0410-9ad2-d183a3acac99:/mysqldoc-local/mysqldoc/trunk:14218
bf112a9c-6c03-0410-a055-ad865cd57414:/mysqldoc-local/mysqldoc/trunk:34596
Modified: trunk/dynamic-docs/changelog/mysqld-1.xml
===================================================================
--- trunk/dynamic-docs/changelog/mysqld-1.xml 2008-12-01 17:13:59 UTC (rev 12713)
+++ trunk/dynamic-docs/changelog/mysqld-1.xml 2008-12-01 17:14:10 UTC (rev 12714)
Changed blocks: 1, Lines Added: 34921, Lines Deleted: 0; 738555 bytes
@@ -34927,4 +34927,34925 @@
</logentry>
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="partitioning"/>
+ <manual type="indexes"/>
+ <manual type="ORDER BY"/>
+ <manual type="ASC"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="40954"/>
+ <introducedby bugid="30573"/>
+ <introducedby bugid="33257"/>
+ <introducedby bugid="33555"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.30-ndb-6.2.17"/>
+ <version ver="5.1.30-ndb-6.3.20"/>
+ <version ver="5.1.30-ndb-6.4.0"/>
+ </versions>
+
+ <message>
+
+ <para>
+ A query on a user-partitioned table caused MySQL to crash, where
+ the query had the following characteristics:
+ </para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ The query's <literal>WHERE</literal> clause referenced
+ an indexed column that was also in the partitioning key.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ The query's <literal>WHERE</literal> clause included a
+ value found in the partition.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ The query's <literal>WHERE</literal> clause used the
+ <literal><</literal> or <literal><></literal>
+ operators to compare with the indexed column's value
+ with a constant.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ The query used an <literal>ORDER BY</literal> clause, and
+ the same indexed column was used in the <literal>ORDER
+ BY</literal> clause.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ The <literal>ORDER BY</literal> clause used an explcit or
+ implicit <literal>ASC</literal> sort priority.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ <para>
+ Two examples of such a query are given here, where
+ <literal>a</literal> represents an indexed column used in the
+ table's partitioning key:
+ </para>
+
+ <orderedlist>
+
+ <listitem>
+ <para>
+<programlisting>
+SELECT * FROM <replaceable>table</replaceable> WHERE a < <replaceable>constant</replaceable> ORDER BY a;
+</programlisting>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+<programlisting>
+SELECT * FROM <replaceable>table</replaceable> WHERE a <> <replaceable>constant</replaceable> ORDER BY a;
+</programlisting>
+ </para>
+ </listitem>
+
+ </orderedlist>
+
+ </message>
+
+ <message ver="5.1.30-ndb-6.2.17">
+
+ <para>
+ This bug was introduced in MySQL Cluster NDB 6.2.16.
+ </para>
+
+ </message>
+
+ <message ver="5.1.30-ndb-6.3.20">
+
+ <para>
+ This bug was introduced in MySQL Cluster NDB 6.3.19.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="clusterapi"/>
+ <manual type="bind-address"/>
+ <manual type="ndb_mgm_listen_event()"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="38473"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.29-ndb-6.3.19"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The MGM API function <literal>ndb_mgm_listen_event()</literal>
+ ignored bind addresses.
+ </para>
+
+ <para>
+ As part of this fix, it is now possible to specify bind
+ addresses in connectstrings. See
+ <xref linkend="mysql-cluster-connectstring"/>, for more
+ information.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="diskdata"/>
+ <manual type="CREATE TABLESPACE"/>
+ <manual type="ALTER TABLESPACE"/>
+ <manual type="CREATE LOGFILE GROUP"/>
+ <manual type="ALTER LOGFILE GROUP"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="40921"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.30-ndb-6.2.17"/>
+ <version ver="5.1.29-ndb-6.3.19"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Issuing concurrent <literal>CREATE TABLESPACE</literal>,
+ <literal>ALTER TABLESPACE</literal>, <literal>CREATE LOGFILE
+ GROUP</literal>, or <literal>ALTER LOGFILE GROUP</literal>
+ statements on separate SQL nodes caused a resource leak that led
+ to data node crashes when these statements were used again
+ later.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="strings"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="38662"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.30-ndb-6.2.17"/>
+ <version ver="5.1.29-ndb-6.3.19"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Memory leaks could occur in handling of strings used for storing
+ cluster metadata and providing output to users.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <highlight type="cluster"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="40847"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.29-ndb-6.3.19"/>
+ </versions>
+
+ <message>
+
+ <para>
+ When performing an initial start of a data node, fragment log
+ files were always created sparsely — that is, not all
+ bytes were written. Now it is possible to override this behavior
+ using the new <literal>InitFragmentLogFiles</literal>
+ configuration parameter.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <highlight type="clusterapi"/>
+ <manual type="mgmapi"/>
+ <manual type="errors"/>
+ <highlight type="importantchange"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="40498"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.29-ndb-6.3.19"/>
+ </versions>
+
+ <message>
+
+ <para>
+ MGM API applications exited without raising any errors if the
+ connection to the management server was lost. The fix for this
+ issue includes two changes:
+ <orderedlist>
+
+ <listitem>
+ <para>
+ The MGM API now provides its own
+ <literal>SIGPIPE</literal> handler to catch the
+ <quote>broken pipe</quote> error that occurs when writing
+ to a closed or reset socket. This means that MGM API now
+ behaves the same as NDB API in this regard.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ A new function
+ <literal>ndb_mgm_set_ignore_sigpipe()</literal> has been
+ added to the MGM API. This function makes it possible to
+ bypass the <literal>SIGPIPE</literal> handler provded by
+ the MGM API.
+ </para>
+ </listitem>
+
+ </orderedlist>
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="NoOfReplicas"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="18621"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.30-ndb-6.4.0"/>
+ </versions>
+
+ <message>
+
+ <para>
+ A data node failure when <literal>NoOfReplicas</literal> was
+ greater than 2 caused all cluster SQL nodes to crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="log files"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="40815"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.29-ndb-6.3.19"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Undo logs and data files were created in 32K increments. Now
+ these files are created in 512K increments, resulting in shorter
+ creation times.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <highlight type="clusterreplication"/>
+ <highlight type="importantnote"/>
+ <manual type="--binlog-format"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="40586"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.30-ndb-6.2.17"/>
+ <version ver="5.1.29-ndb-6.3.19"/>
+ </versions>
+
+ <message>
+
+ <para>
+ This release of MySQL Cluster derives in part from MySQL 5.1.29,
+ where the default value for the <option>--binlog-format</option>
+ option changed to <literal>STATEMENT</literal>. That change does
+ <emphasis>not</emphasis> affect this or future MySQL Cluster NDB
+ 6.x releases, where the default value for this option remains
+ <literal>MIXED</literal>, since MySQL Cluster Replication does
+ not work with the statement-based format.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="39180"/>
+ <seealsobug bugid="38609"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.30-ndb-6.2.17"/>
+ <version ver="5.1.29-ndb-6.3.19"/>
+ </versions>
+
+ <message>
+
+ <para>
+ A segfault in <literal>Logger::Log</literal> caused
+ <command>ndbd</command> to hang indefinitely. This fix improves
+ on an earlier one for this issue, first made in MySQL Cluster
+ NDB 6.2.16 and MySQL Cluster NDB 6.3.17.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="redo logs"/>
+ <manual type="starting"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="40734"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.30-ndb-6.2.17"/>
+ <version ver="5.1.29-ndb-6.3.19"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Redo log creation was very slow on some platforms, causing MySQL
+ Cluster to start more slowly than necessary with some
+ combinations of hardware and operating system. This was due to
+ all write operations being synchronized to disk while creating a
+ redo log file. Now this synchronization occurs only after the
+ redo log has been created.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="TC takeover"/>
+ <manual type="API node"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="40697"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.30-ndb-6.2.17"/>
+ <version ver="5.1.29-ndb-6.3.19"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Transaction failures took longer to handle than was necessary.
+ </para>
+
+ <para>
+ When a data node acting as transaction coordinator (TC) failed,
+ the surviving data nodes did not inform the API node initiating
+ the transaction of this until the failure had been processed by
+ all protocols. However, the API node needed only to know about
+ failure handling by the transaction protocol — that is, it
+ needed to be informed only about the TC takeover process. Now,
+ API nodes (including MySQL servers acting as cluster SQL nodes)
+ are informed as soon as the TC takeover is complete, so that it
+ can carry on operating more quickly.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="clusterapi"/>
+ <manual type="NdbBlob"/>
+ <manual type="NdbScanOperation"/>
+ <manual type="NdbOperation"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="40242"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.30-ndb-6.2.17"/>
+ <version ver="5.1.29-ndb-6.3.19"/>
+ </versions>
+
+ <message>
+
+ <para>
+ It was not always possible to access parent objects directly
+ from <literal>NdbBlob</literal>,
+ <literal>NdbOperation</literal>, and
+ <literal>NdbScanOperation</literal> objects. To alleviate this
+ problem, a new <literal>getNdbOperation()</literal> method has
+ been added to <literal>NdbBlob</literal> and new
+ getNdbTransaction() methods have been added to
+ <literal>NdbOperation</literal> and
+ <literal>NdbScanOperation</literal>. In addition, a const
+ variant of <literal>NdbOperation::getErrorLine()</literal> is
+ now also available.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="clusterapi"/>
+ <manual type="NdbScanOperation::getBlobHandle()"/>
+ <manual type="errors"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="40241"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.30-ndb-6.2.17"/>
+ <version ver="5.1.29-ndb-6.3.19"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal>NdbScanOperation::getBlobHandle()</literal> failed when
+ used with incorrect column names or numbers.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="diskdata"/>
+ <manual type="variable-length columns"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="39645"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.30-ndb-6.2.17"/>
+ <version ver="5.1.29-ndb-6.3.19"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Disk-based variable-length columns were not always handled like
+ their memory-based equivalents, which could potentially lead to
+ a crash of cluster data nodes.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <highlight type="clusterapi"/>
+ <manual type="errors"/>
+ <manual type="BLOB"/>
+ <manual type="TEXT"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="39867"/>
+ <fixes bugid="39879"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.30-ndb-6.2.17"/>
+ <version ver="5.1.29-ndb-6.3.19"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Failed operations on <literal role="type">BLOB</literal> and
+ <literal role="type">TEXT</literal> columns were not always
+ reported correctly to the originating SQL node. Such errors were
+ sometimes reported as being due to timeouts, when the actual
+ problem was a transporter overload due to insufficient buffer
+ space.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="ndb_mgm"/>
+ <manual type="CLUSTERLOG STATISTICS"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="39839"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.30-ndb-6.2.17"/>
+ <version ver="5.1.29-ndb-6.3.19"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Events logged after setting <literal>ALL CLUSTERLOG
+ STATISTICS=15</literal> in the management client did not always
+ include the node ID of the reporting node.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="replication"/>
+ <manual type="RBR"/>
+ <manual type="UPDATE"/>
+ <manual type="DELETE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="38230"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.31"/>
+ </versions>
+
+ <message>
+
+ <para>
+ With row-based replication, <literal>UPDATE</literal> and
+ <literal>DELETE</literal> statements using
+ <literal>LIMIT</literal> and a table's primary key could
+ produce different results on the master and slave.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="partitioning"/>
+ <manual type="SHOW CREATE TABLE"/>
+ <manual type="usability"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="14362"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.31"/>
+ <version ver="6.0.9"/>
+ </versions>
+
+ <message>
+
+ <para>
+ When <literal>SHOW CREATE TABLE</literal> was used on a
+ partitioned table, all of the table's
+ <literal>PARTITION</literal> and <literal>SUBPARTITION</literal>
+ clauses were output on a single line, making it difficult to
+ read or parse.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="partitioning"/>
+ <manual type="AUTO_INCREMENT"/>
+ <manual type="UPDATE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="40176"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.31"/>
+ <version ver="6.0.9"/>
+ </versions>
+
+ <message>
+
+ <para>
+ For a partitioned table having an
+ <literal>AUTO_INCREMENT</literal> column: If the first statement
+ following a start of the server or a <literal>FLUSH
+ TABLES</literal> statement was an <literal>UPDATE</literal>
+ statement, the <literal>AUTO_INCREMENT</literal> column was not
+ incremented correctly.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="partitioning"/>
+ <manual type="InnoDB"/>
+ <manual type="ORDER BY"/>
+ <manual type="indexes"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="37721"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.31"/>
+ <version ver="6.0.9"/>
+ </versions>
+
+ <message>
+
+ <para>
+ When executing an <literal>ORDER BY</literal> query on a
+ partitioned <literal>InnoDB</literal> table using an index that
+ was not in the partition expression, the results were sorted on
+ a per-partition basis rather than for the table as a whole.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="partitioning"/>
+ <manual type="ALTER TABLE"/>
+ <manual type="ANALYZE PARTITION"/>
+ <manual type="CHECK PARTITION"/>
+ <manual type="OPTIMIZE PARTITION"/>
+ <manual type="REORGANIZE PARTITION"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="39434"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.31"/>
+ <version ver="6.0.9"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The server attempted to execute the statements <literal>ALTER
+ TABLE ... ANALYZE PARTITION</literal>, <literal>ALTER TABLE ...
+ CHECK PARTITION</literal>, <literal>ALTER TABLE ... OPTIMIZE
+ PARTITION</literal>, and <literal>ALTER TABLE ... REORGANIZE
+ PARTITION</literal> on tables that were not partitioned.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="partitioning"/>
+ <highlight type="replication"/>
+ <manual type="InnoDB"/>
+ <manual type="transaction isolation level"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="39084"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.31"/>
+ <version ver="6.0.9"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Changing the transaction isolation level while replicating
+ partitioned <literal>InnoDB</literal> tables could cause
+ statement-based logging to fail.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="CREATE TABLE IF NOT EXISTS"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="37921"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.28-ndb-6.2.16"/>
+ <version ver="5.1.28-ndb-6.3.18"/>
+ </versions>
+
+ <message>
+
+ <para>
+ After a forced shutdown and initial restart of the cluster, it
+ was possible for SQL nodes to retain <filename>.FRM</filename>
+ files corresponding to <literal>NDBCLUSTER</literal> tables that
+ had been dropped, and thus to be unaware that these tables no
+ longer existed. In such cases, attempting to re-create the
+ tables using <literal>CREATE TABLE IF NOT EXISTS</literal> could
+ fail with a spurious <errortext>Table ... doesn't
+ exist</errortext> error.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="ReadCommitted"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="40543"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.30-ndb-6.2.17"/>
+ <version ver="5.1.29-ndb-6.3.19"/>
+ </versions>
+
+ <message>
+
+ <para>
+ It was theoretically possible for stale data to be read from
+ <literal>NDBCLUSTER</literal> tables when the transaction
+ isolation level was set to <literal>ReadCommitted</literal>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="LockExecuteThreadToCPU"/>
+ <manual type="LockMaintThreadsToCPU"/>
+ <manual type="Solaris"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="40521"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.29-ndb-6.3.19"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <literal>LockExecuteThreadToCPU</literal> and
+ <literal>LockMaintThreadsToCPU</literal> parameters did not work
+ on Solaris.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="replication"/>
+ <manual type="RBR"/>
+ <manual type="MyISAM"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="40004"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.30"/>
+ <version ver="6.0.9"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Row-based replication failed with non-partitioned
+ <literal>MyISAM</literal> tables having no indexes.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="mysqldump"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="40346"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.30-ndb-6.2.17"/>
+ <version ver="5.1.29-ndb-6.3.19"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Restoring a MySQL Cluster from a dump made using
+ <command>mysqldump</command> failed due to a spurious error:
+ <errortext>Can't execute the given command because you have
+ active locked tables or an active transaction</errortext>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="clusterapi"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="40455"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.30-ndb-6.2.17"/>
+ <version ver="5.1.29-ndb-6.3.19"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The MGM API reset error codes on management server handles
+ before checking them. This meant that calling an MGM API
+ function with a null handle caused applications to crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="40457"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.29-ndb-6.3.19"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal>SET SESSION ndb_optimized_node_selection = 1</literal>
+ failed with an invalid warning message.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="checkpoints"/>
+ <manual type="DBDIH"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="40370"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.29-ndb-6.3.19"/>
+ </versions>
+
+ <message>
+
+ <para>
+ A restarting data node could fail with an error in the
+ <literal>DBDIH</literal> kernel block when a local or global
+ checkpoint was started or triggered just as the node made a
+ request for data from another data node.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="backups"/>
+ <manual type="O_DIRECT"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="40205"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.30-ndb-6.2.17"/>
+ <version ver="5.1.29-ndb-6.3.19"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal>O_DIRECT</literal> was incorrectly disabled when making
+ MySQL Cluster backups.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="clusterapi"/>
+ <manual type="compiling"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="37491"/>
+ <seealsobug bugid="40238"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.30-ndb-6.2.17"/>
+ <version ver="5.1.29-ndb-6.3.19"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The NDB API example programs included in MySQL Cluster source
+ distributions failed to compile.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="TEXT"/>
+ <manual type="query cache"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="39295"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.30-ndb-6.2.17"/>
+ <version ver="5.1.29-ndb-6.3.19"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The MySQL Query Cache did not function correctly with
+ <literal>NDBCLUSTER</literal> tables containing
+ <literal role="type">TEXT</literal> columns.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="diskdata"/>
+ <manual type="O_SYNC"/>
+ <manual type="O_DIRECT"/>
+ <manual type="Solaris"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34638"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.30-ndb-6.2.17"/>
+ <version ver="5.1.29-ndb-6.3.19"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal>O_SYNC</literal> was incorrectly disabled on platforms
+ that do not support <literal>O_DIRECT</literal>. This issue was
+ noted on Solaris but could have affected other platforms not
+ having <literal>O_DIRECT</literal> capability.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="error messages"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="28496"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.30-ndb-6.2.17"/>
+ <version ver="5.1.29-ndb-6.3.19"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Error messages for <literal>NDBCLUSTER</literal> error codes
+ 1224 and 1227 were missing.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="transactions"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32656"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.29-ndb-6.3.19"/>
+ </versions>
+
+ <message>
+
+ <para>
+ A duplicate key error raised when inserting into an
+ <literal>NDBCLUSTER</literal> table caused the current
+ transaction to abort, after which any SQL statement other than a
+ <literal role="stmt" condition="commit">ROLLBACK</literal>
+ failed. With this fix, the <literal>NDBCLUSTER</literal> storage
+ engine now supports rollback of individual statements in such
+ cases, and it is no longer necessary to issue an explicit
+ <literal role="stmt" condition="commit">ROLLBACK</literal> and
+ then retry the entire transaction.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="importantchange"/>
+ <manual type="Falcon"/>
+ <manual type="INFORMATION_SCHEMA"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="29211"/>
+ <fixes bugid="34705"/>
+ <fixes bugid="34706"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <literal>INFORMATION_SCHEMA.FALCON_TABLES</literal> table
+ has been removed.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <manual type="falcon_record_chill_threshold"/>
+ <manual type="falcon_index_chill_threshold"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34486"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal>SET GLOBAL falcon_record_chill_threshold</literal> and
+ <literal>SET GLOBAL falcon_index_chill_threshold</literal> did
+ not work.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <manual type="CREATE TABLE"/>
+ <manual type="page cache"/>
+ <manual type="startup"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34085"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal>CREATE TABLE ... ENGINE=Falcon</literal> failed with an
+ unhelpful error message when the <literal>Falcon</literal>
+ storage engine had failed to allocate the page cache properly on
+ server startup. Now, <literal>Falcon</literal> is initialized on
+ server startup, and is not loaded if the allocation fails.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <manual type="tablespaces"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33723"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ If <literal role="stmt">CREATE TABLE</literal> or
+ <literal role="stmt">ALTER TABLE</literal> of a
+ <literal>Falcon</literal> table failed, it was not possible to
+ create another table in the same database having the same name
+ unless the server was restarted. In some cases, subsequent
+ <literal role="stmt">CREATE TABLE</literal> statements could
+ cause the server to crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="partitioning"/>
+ <manual type="Falcon"/>
+ <manual type="tablespaces"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33404"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Partition-level <literal>TABLESPACE</literal> options were
+ ignored for <literal>Falcon</literal> tables.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <manual type="serial log"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="39025"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal>Falcon</literal> key pages were written to the serial
+ log in the wrong order. This had the potential to cause problems
+ if a failure of the server occurred during recovery.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <manual type="Solaris"/>
+ <manual type="mysql_install_db"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="38843"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ On Solaris platforms, when the server was built with
+ <literal>Falcon</literal> support and the data directory set in
+ user's home directory, <command>mysql_install_db</command>
+ failed.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <manual type="SPARC"/>
+ <manual type="compiling"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="38766"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ When built with <literal>Falcon</literal> support on 64-bit
+ SPARC platforms, <command>mysqld</command> hung on startup. This
+ occurred whether Sun Studio or <command>gcc</command> was used
+ to compile the server.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="partitioning"/>
+ <manual type="error codes"/>
+ <manual type="duplicate key"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="38719"/>
+ <seealsobug bugid="28842"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ A duplicate key error raised when inserting into a partitioned
+ table used a different error code from that returned by such an
+ error raised when inserting into a table that was not
+ partitioned.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="clusterapi"/>
+ <manual type="multi-range read scans"/>
+ <manual type="IS [NOT] NULL"/>
+ <manual type="LQH"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="38204"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.28-ndb-6.2.16"/>
+ <version ver="5.1.27-ndb-6.3.17"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Certain multi-range scans involving <literal>IS NULL</literal>
+ and <literal>IS NOT NULL</literal> comparisons failed with an
+ error in the <literal>NDB</literal> local query handler.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="clusterapi"/>
+ <manual type="NdbScanFilter"/>
+ <manual type="NdbScanOperation"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="37986"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.28-ndb-6.2.16"/>
+ <version ver="5.1.27-ndb-6.3.17"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Creating an <literal>NdbScanFilter</literal> object using an
+ <literal>NdbScanOperation</literal> object that had not yet had
+ its <literal>readTuples()</literal> method called resulted in a
+ crash when later attempting to use the
+ <literal>NdbScanFilter</literal>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="clusterapi"/>
+ <manual type="NdbRecord"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="37672"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.28-ndb-6.2.16"/>
+ <version ver="5.1.27-ndb-6.3.17"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Executing an <literal>NdbRecord</literal> interpreted delete
+ created with an <literal>ANYVALUE</literal> option caused the
+ transaction to abort.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="ndbd"/>
+ <manual type="node restart"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="38580"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.28-ndb-6.2.16"/>
+ <version ver="5.1.28-ndb-6.3.18"/>
+ </versions>
+
+ <message>
+
+ <para>
+ When restarting a data node, an excessively long shutodwn
+ message could cause the node process to crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="mysqld"/>
+ <manual type="--ndbcluster option"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="39635"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.28-ndb-6.2.16"/>
+ <version ver="5.1.28-ndb-6.3.18"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Starting the MySQL Server with the <option>--ndbcluster</option>
+ option plus an invalid command-line option (for example, using
+ <command>mysqld</command> <option>--ndbcluster
+ --foobar</option>) caused it to hang while shutting down the
+ binlog thread.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="compiling"/>
+ <manual type="Sun Studio"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="39451"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.29"/>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The Sun Studio compiler failed to build debug versions of the
+ server due to use of features specific to
+ <command>gcc</command>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <manual type="CREATE TABLESPACE"/>
+ <manual type="DROP TABLESPACE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="38186"/>
+ <fixes bugid="38743"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal>CREATE TABLESPACE</literal> failed when invoked
+ immediately following a <literal>DROP TABLESPACE</literal>
+ statement that used the same tablespace name.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <manual type="compiling"/>
+ <manual type="Sun Studio"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="37603"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ mysqld failed to build using the Sun Studio compiler.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <manual type="compiling"/>
+ <manual type="Solaris"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36486"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The server could not be compiled with <literal>Falcon</literal>
+ support on Solaris/x86.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <manual type="DROP TABLE"/>
+ <manual type="DROP TABLESPACE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36396"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Dropping a <literal>Falcon</literal> tablespace concurrently
+ with dropping a table using that tablespace caused the server to
+ crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <manual type="compiling"/>
+ <manual type="Sun Studio"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35929"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ MySQL could not be built using Sun Studio due to the use of
+ compiler options specific to <command>gcc</command>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <manual type="UPDATE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34778"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Repeated <literal role="stmt">UPDATE</literal> operations on a
+ <literal>Falcon</literal> table could cause a memory leak.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <manual type="ALTER TABLE"/>
+ <manual type="temporary tables"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34567"/>
+ <introducedby bugid="33634"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Concurrent <literal role="stmt">ALTER TABLE</literal> operations
+ on temporary and non-temporary <literal>Falcon</literal> tables
+ caused the server to hang.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <manual type="BACKUP DATABASE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33575"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Shutting down the MySQL Server immediately following the
+ execution of a <literal role="stmt">BACKUP DATABASE</literal>
+ statement caused the server to crash if the database to be
+ backed up contained any <literal>Falcon</literal> tables.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <manual type="tablespaces"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33517"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Table recovery failed repeatedly after starting the server with
+ a corrupted <literal>Falcon</literal> tablespace, causing the
+ server to crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <manual type="compiling"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32287"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ On all x86 platforms, the default was to attempt to build the
+ server with the <literal>Falcon</literal> storage engine, even
+ if <literal>Falcon</literal> was not supported for a given
+ platform.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="subqueries"/>
+ <manual type="GROUP BY"/>
+ <manual type="aggregate functions"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="37348"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.29"/>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The combination of a subquery with a <literal>GROUP
+ BY</literal>, an aggregate function calculated outside the
+ subquery, and a <literal>GROUP BY</literal> on the outer
+ <literal role="stmt">SELECT</literal> could cause the server to
+ crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="DDL"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="39885"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.28-ndb-6.2.16"/>
+ <version ver="5.1.29-ndb-6.3.19"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Heavy DDL usage caused the <command>mysqld</command> processes
+ to hang due to a timeout error (<literal>NDB</literal> error
+ code 266).
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="EXPLAIN"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="39872"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.28-ndb-6.2.16"/>
+ <version ver="5.1.29-ndb-6.3.19"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Executing <literal>EXPLAIN SELECT</literal> on an
+ <literal>NDBCLUSTER</literal> table could cause
+ <command>mysqld</command> to crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="transactions"/>
+ <manual type="constraints"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="395638"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.28-ndb-6.3.18"/>
+ </versions>
+
+ <message>
+
+ <para>
+ When a transaction included a multi-row insert to an
+ <literal>NDBCLUSTER</literal> table that caused a constraint
+ violation, the transaction failed to roll back.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="clusterapi"/>
+ <manual type="NdbInterpretedCode::add_val()"/>
+ <manual type="NdbInterpretedCode::sub_val()"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="39536"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.28-ndb-6.2.16"/>
+ <version ver="5.1.28-ndb-6.3.18"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Passing a value greater than 65535 to
+ <literal>NdbInterpretedCode::add_val()</literal> and
+ <literal>NdbInterpretedCode::sub_val()</literal> caused these
+ methods to have no effect.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <manual type="compiling"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36400"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Compiling the server with <literal>Falcon</literal> support
+ failed on Solaris 10 for x86 platforms failed due to use of
+ assembler code specific to <command>gcc</command>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <manual type="compiling"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36368"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Attempting to compile the server with Falcon support using the
+ Sun Studio 12 compiler failed with the error
+ <errortext>"Value.h", line 185: Error: A union member cannot
+ have a user-defined assignment operator</errortext>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <manual type="INSERT"/>
+ <manual type="tablespaces"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36294"/>
+ <fixes bugid="36367"/>
+ <seealsobug bugid="29648"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Following a number of <literal>INSERT ... SELECT</literal>
+ statements on a <literal>Falcon</literal> table, creating a
+ second <literal>Falcon</literal> table using the same tablespace
+ as the table into which the inserts were made and then
+ performing a simple <literal role="stmt">INSERT</literal> on the
+ new table caused the server to crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <manual type="SELECT"/>
+ <manual type="LIKE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36097"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ A <literal>SELECT ... LIKE</literal> query issued following a
+ number of <literal role="stmt">INSERT</literal> statements on a
+ <literal>Falcon</literal> table failed to return all matching
+ records.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <manual type="TRUNCATE"/>
+ <manual type="transactions"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35991"/>
+ <seealsobug bugid="22165"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Executing <literal role="stmt">TRUNCATE</literal> statements
+ with interleaving transactions could cause
+ <command>mysqld</command> to crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <manual type="ALTER TABLE"/>
+ <manual type="tablespaces"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33397"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ An <literal>ALTER TABLE ... TABLESPACE</literal> statement
+ referencing a nonexistant tablespace on a
+ <literal>Falcon</literal> table failed with an inappropriate
+ error message the first time it was executed. A second attempt
+ to execute the statement led to a crash of the MySQL server.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <manual type="tablespaces"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33607"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ It was possible for multiple <command>mysqld</command> instances
+ to use the same <literal>Falcon</literal> tablespace and
+ metadata files, which could lead to corruption of the tablespace
+ files, metadata files, or both.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <manual type="INSERT"/>
+ <manual type="concurrency"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34990"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Two different threads could obtain the same record number for
+ concurrent inserts into the same <literal>Falcon</literal>
+ table.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <manual type="SELECT"/>
+ <manual type="multiple threads"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35932"/>
+ <fixes bugid="36410"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Multiple threads executing repeated queries on the same
+ <literal>Falcon</literal> table led eventually to a crash of the
+ server.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="importantchange"/>
+ <manual type="Falcon"/>
+ <manual type="upgrades"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35190"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Previously, <literal>Falcon</literal> failed silently when
+ attempting to read incompatible datafiles created by an earlier
+ version of the storage engine. Now, when
+ <literal>Falcon</literal> encounters such datafiles, it refuses
+ to start, and an appropriate error is issued instead.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <manual type="NFS"/>
+ <manual type="Linux 2.4"/>
+ <manual type="O_DIRECT"/>
+ <manual type="CREATE TABLE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33484"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal>CREATE TABLE ... ENGINE=Falcon</literal> failed on
+ kernel 2.4 based Linux systems when using
+ <literal>O_DIRECT</literal> with an NFS filesystem.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <manual type="UPDATE"/>
+ <manual type="COMMIT"/>
+ <manual type="ROLLBACK"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="38947"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal>Falcon</literal> could hang trying to perform an
+ <literal role="stmt">UPDATE</literal> in one transaction while
+ waiting for another transaction to be committed or rolled back.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <manual type="tablespaces"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="39138"/>
+ <seealsobug bugid="39789"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ When recovering from a serial log containing many
+ <literal>CREATE TABLESPACE</literal> and <literal>DROP
+ TABLESPACE</literal> statements, <literal>Falcon</literal> could
+ lose data from tablespaces not referenced by these statements.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <manual type="memory management"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="38519"/>
+ <seealsobug bugid="38770"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <literal>Falcon</literal> memory manager did not always
+ perform initialization of internal objects correctly.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <manual type="--datadir"/>
+ <manual type="embedded"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="38770"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal>Falcon</literal> did not honor the
+ <option>--datadir</option> option and created its files in the
+ current directory instead. This error was apparent only when
+ running the embedded version of MySQL.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <manual type="ADD INDEX"/>
+ <manual type="DROP INDEX"/>
+ <manual type="DML"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="38044"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Concurrent adding or dropping of indexes and execution of DML
+ statements on a <literal>Falcon</literal> table could cause the
+ server to crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <manual type="DROP TABLE"/>
+ <manual type="CREATE TABLE"/>
+ <manual type="ADD KEY"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="38039"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Dropping and re-creating a <literal>Falcon</literal> table, then
+ adding indexes to the re-created table, could cause spurious
+ errors or possibly a crash of the server.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="CREATE DATABASE"/>
+ <manual type="DROP DATABASE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="39613"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.28-ndb-6.2.16"/>
+ <version ver="5.1.28-ndb-6.3.18"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Dropping and then re-creating a database on one SQL node caused
+ other SQL nodes to hang.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="autodiscovery"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="39612"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.28-ndb-6.2.16"/>
+ <version ver="5.1.28-ndb-6.3.18"/>
+ </versions>
+
+ <message>
+
+ <para>
+ It is no longer a requirement for database autodiscovery that an
+ SQL node already be connected to the cluster at the time that a
+ database is created on another SQL node. It is no longer
+ necessary to issue <literal role="stmt">CREATE
+ DATABASE</literal> (or
+ <literal role="stmt" condition="create-database">CREATE
+ SCHEMA</literal>) statements on an SQL node joining the cluster
+ after a database is created in order for the new SQL node to see
+ the database and any <literal>NDCLUSTER</literal> tables that it
+ contains.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <manual type="transactions"/>
+ <manual type="DROP TABLE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36438"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ When one MySQL client application committed a transaction
+ affecting a <literal>Falcon</literal> table at the same time
+ that another client dropped this table, the
+ <literal role="stmt">DROP TABLE</literal> statement did not
+ <quote>see</quote> that transaction. This led to a situation
+ such that a row affected by the transaction was later accessed
+ in a manner that referred to the deleted table, resulting in a
+ crash of the server.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="PRIMARY KEY"/>
+ <manual type="INSERT"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="39267"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.28-ndb-6.2.16"/>
+ <version ver="5.1.28-ndb-6.3.18"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Unique identifiers in tables having no primary key were not
+ cached. This fix has been observed to increase the efficiency of
+ <literal role="stmt">INSERT</literal> operations on such tables
+ by as much as 50%.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <manual type="INSERT"/>
+ <manual type="DELETE"/>
+ <manual type="concurrency"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33933"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ In some cases, concurrent <literal role="stmt">INSERT</literal>
+ and <literal role="stmt">DELETE</literal> statements on the same
+ <literal>Falcon</literal> table could cause the server to crash,
+ due to a failure to find a record that should have been in the
+ table.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <manual type="falcon_consistent_read"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33041"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ It was not possible to set the value of
+ <literal>falcon_consistent_read</literal> within the local
+ scope. You can now set the global value, using
+ <literal role="stmt" condition="set-option">SET
+ GLOBAL</literal>, but this affects only the current local scope
+ and all new connections made after the global variable was set.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <manual type="SPARC"/>
+ <manual type="compiling"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="38891"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ It was not possible to build the server with
+ <literal>Falcon</literal> support on SPARC when using the Sun
+ Studio compiler.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <manual type="LIMIT"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="37726"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Executing large numbers of SQL statements using
+ <literal>LIMIT</literal> on <literal>Falcon</literal> tables
+ eventually led to a crash of the server.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <manual type="compiling"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="37725"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ MySQL server binaries built using <command>gcc4.3</command>
+ could crash when running large numbers of DML statements on
+ <literal>Falcon</literal> tables.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <manual type="ALTER TABLE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="37072"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Executing <literal>ALTER TABLE ADD PARTITION</literal> followed
+ by <literal>ALTER TABLE DROP PARTITION</literal> on a Falcon
+ table, and then killing the thread performing these statements
+ could cause the server to crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34351"/>
+ <seealsobug bugid="29151"/>
+ <seealsobug bugid="35321"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Inserting a unique record into a <literal>Falcon</literal>
+ table, then performing a <literal role="stmt">DELETE</literal>
+ on the same record resulted in the error <errortext>Record has
+ changed since last read</errortext>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <manual type="ALTER TABLE"/>
+ <manual type="DML"/>
+ <manual type="deadlock"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="38043"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Executing <literal role="stmt">ALTER TABLE</literal> and DML
+ statements concurrently on <literal>Falcon</literal> tables
+ could cause the server to hang.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <manual type="ALTER TABLE"/>
+ <manual type="ADD KEY"/>
+ <manual type="DROP KEY"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="38041"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal>ALTER TABLE ... ADD KEY</literal> and <literal>ALTER
+ TABLE ... DROP KEY</literal> were not always handled correctly
+ for <literal>Falcon</literal> tables, resulting in spurious
+ duplicate key and other errors.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <manual type="SELECT"/>
+ <manual type="AVG()"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="37344"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ A large number of updates on a <literal>Falcon</literal> table
+ followed by a query of the form <literal>SELECT
+ AVG(<replaceable>int_non_key_column</replaceable>) FROM
+ <replaceable>table</replaceable> WHERE
+ <replaceable>int_non_key_column</replaceable> <
+ <replaceable>constant</replaceable> GROUP BY
+ <replaceable>int_key_column</replaceable> LIMIT
+ <replaceable>limit</replaceable></literal> could crash the
+ server.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <manual type="falcon_page_size"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="37343"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Queries with complex conditions in the <literal>WHERE</literal>
+ clause on <literal>Falcon</literal> tables when
+ <literal>falcon_page_size</literal> was set to a low value could
+ cause the server to crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <manual type="Solaris"/>
+ <manual type="mysql_install_db"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36745"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <command>mysql_install_db</command> from a
+ <literal>Falcon</literal>-enabled build crashed on
+ Solaris/SPARC.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <manual type="compiling"/>
+ <manual type="DTrace"/>
+ <manual type="Solaris"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36403"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Compiling the server with <literal>Falcon</literal> support
+ failed on Solaris 10 due to problems with DTrace. This occurred
+ even when the build was configured using
+ <option>--disable-dtrace</option>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <manual type="LOAD DATA INFILE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35982"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Concurrent <literal role="stmt" condition="load-data">LOAD DATA
+ INFILE</literal> statements inserting data into
+ <literal>Falcon</literal> tables could crash the server.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <manual type="views"/>
+ <manual type="updates"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35322"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Simultaneous inserts and updates on an updateable view
+ referencing a <literal>Falcon</literal> table could sometimes
+ cause duplicate key errors.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <manual type="rollback"/>
+ <manual type="DDL"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="38933"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Trying to execute a DDL statement on a <literal>Falcon</literal>
+ table while a transaction was being rolled back could cause the
+ server to crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="clusterreplication"/>
+ <manual type="DROP DATABASE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="39404"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.28-ndb-6.2.16"/>
+ <version ver="5.1.28-ndb-6.3.18"/>
+ </versions>
+
+ <message>
+
+ <para>
+ In some cases, dropping a database on the master could cause
+ table logging to fail on the slave, or, when using a debug
+ build, could cause the slave <command>mysqld</command> to fail
+ completely.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="PRIMARY KEY"/>
+ <manual type="DELETE"/>
+ <manual type="UPDATE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="37153"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.28-ndb-6.3.18"/>
+ </versions>
+
+ <message>
+
+ <para>
+ A statement of the form <literal>DELETE FROM
+ <replaceable>table</replaceable> WHERE
+ <replaceable>primary_key</replaceable>=<replaceable>value</replaceable></literal>
+ or <literal>UPDATE <replaceable>table</replaceable> WHERE
+ <replaceable>primary_key</replaceable>=<replaceable>value</replaceable></literal>
+ where there was no row whose primary key column had the stated
+ <replaceable>value</replaceable> appeared to succeed, with the
+ server reporting that 1 row had been changed.
+ </para>
+
+ <para>
+ This issue was only known to affect MySQL Cluster NDB 6.3.11 and
+ later NDB 6.3 versions.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="MaxNoOfLocalScans"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="39549"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.28-ndb-6.2.16"/>
+ <version ver="5.1.28-ndb-6.3.18"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Setting a low value of <literal>MaxNoOfLocalScans</literal>
+ (< 100) and performing a large number of (certain) scans
+ could cause the Transaction Coordinator to run out of scan
+ fragment records, and then crash. Now when this resource is
+ exhausted, the cluster returns Error 291 (<errortext>Out of
+ scanfrag records in TC (increase MaxNoOfLocalScans)</errortext>)
+ instead.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="UNIQUE"/>
+ <manual type="SUMA"/>
+ <manual type="SUB_CREATE_REF"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="39518"/>
+ <seealsobug bugid="39450"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.28-ndb-6.2.16"/>
+ <version ver="5.1.28-ndb-6.3.18"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Creating a unique index on an <literal>NDBCLUSTER</literal>
+ table caused a memory leak in the <literal>NDB</literal>
+ subscription manager (<literal>SUMA</literal>) which could lead
+ to mysqld hanging, due to the fact that the resource shortage
+ was not reported back to the <literal>NDB</literal> kernel
+ correctly.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="replication"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="38798"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.29"/>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Server code used in binary logging could in some cases be
+ invoked even though binary logging was not actually enabled,
+ leading to asserts and other server errors.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="replication"/>
+ <manual type="UPDATE"/>
+ <manual type="INSERT"/>
+ <manual type="transactions"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32709"/>
+ <seealsobug bugid="38262"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.29"/>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ A statement did not always commit or roll back correctly when
+ the server was shut down; the error could be triggered by having
+ a failing <literal role="stmt">UPDATE</literal> or
+ <literal role="stmt">INSERT</literal> statement on a
+ transactional table, causing an implicit rollback.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="importantchange"/>
+ <highlight type="replication"/>
+ <manual type="binlog_format"/>
+ <manual type="RBR"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="39106"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.29"/>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <literal role="priv">SUPER</literal> privilege is now
+ required to change the session value of
+ <literal role="sysvar">binlog_format</literal> as well as its
+ global value. For more information about
+ <literal role="sysvar">binlog_format</literal>, see
+ <xref linkend="replication-formats"/>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="replication"/>
+ <manual type="RBR"/>
+ <manual type="mysqlbinlog"/>
+ <manual type="--replicate-* options"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36099"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.29"/>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Replication filtering rules were inappropiately applied when
+ executing <literal role="stmt">BINLOG</literal> pseudo-queries.
+ One way in which this problem showed itself was that, when
+ replaying a binary log with <command>mysqlbinlog</command>, RBR
+ events were sometimes not executed if the
+ <option>--replicate-do-db</option> option was specified. Now
+ replication rules are applied only to those events executed by
+ the slave SQL thread.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="partitioning"/>
+ <manual type="ALTER TABLE"/>
+ <manual type="ENGINE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35765"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ When an attempt is made to change a table to an unsupported
+ storage engine, the server normally uses the default storage
+ engine in place of the requested engine while issuing a warning.
+ However, if the table was partitioned, the same
+ <literal role="stmt">ALTER TABLE</literal> statement failed with
+ the error, <errortext>The mix of handlers in the partitions is
+ not allowed in this version of MySQL</errortext>. This happened
+ even if the server was not running in
+ <literal>NO_ENGINE_SUBSTITUTION</literal> mode. Now the behavior
+ for partitioned tables is the same as for other MySQL tables;
+ the substitution is made, and a warning is issued.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="libmysqld"/>
+ <manual type="NDB table events"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="39450"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.28-ndb-6.3.18"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Embedded <command>libmysqld</command> with
+ <literal>NDB</literal> did not drop table events.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <highlight type="packaging"/>
+ <manual type="InnoDB"/>
+ </tags>
+
+ <versions>
+ <version ver="5.1.27-ndb-6.3.17"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Support for the <literal>InnoDB</literal> storage engine was
+ missing from the GPL source releases. An updated GPL source
+ tarball
+ <filename>mysql-5.1.27-ndb-6.3.17-innodb.tar.gz</filename> which
+ includes code for building <literal>InnoDB</literal> can be
+ found on
+ <ulink url="ftp://ftp.mysql.com/pub/mysql/download/cluster_telco/mysql-5.1.27-ndb-6.3.17/">the
+ MySQL FTP site</ulink>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="clusterapi"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="38791"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.27-ndb-6.3.17"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Support for multi-range index scans using the old API (using,
+ for example,
+ <literal>NdbIndexScanOperation::setBound()</literal> or
+ <literal>NdbIndexScanOperation::end_of_bound()</literal>) were
+ dropped in MySQL Cluster NDB 6.2. This functionality is restored
+ in MySQL Cluster NDB 6.3 beginning with 6.3.17, but remains
+ unavailable in MySQL Cluster NDB 6.2. Both MySQL Cluster NDB 6.2
+ and 6.3 support multi-range scans via the
+ <literal>NdbRecord</literal> API.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="clusterapi"/>
+ <manual type="NdbScanOperation::readTuples()"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="38717"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.27-ndb-6.3.17"/>
+ <version ver="5.1.28-ndb-6.2.16"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <literal>NdbScanOperation::readTuples()</literal> method
+ could be called multiple times without error.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="clusterapi"/>
+ <manual type="building"/>
+ <manual type="headers"/>
+ <manual type="warnings"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="38177"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.27-ndb-6.3.17"/>
+ <version ver="5.1.28-ndb-6.2.16"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Problems with the public headers prevented
+ <literal>NDB</literal> applications from being built with
+ warnings turned on.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="clusterreplication"/>
+ <manual type="restart"/>
+ <manual type="subscriptions"/>
+ <manual type="SUMA_START_ME"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="38767"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.27-ndb-6.3.17"/>
+ <version ver="5.1.28-ndb-6.2.16"/>
+ </versions>
+
+ <message>
+
+ <para>
+ During a parallel node restart, the starting nodes could
+ (sometimes) incorrectly synchronize subscriptions among
+ themselves. Instead, such this synchronization now takes places
+ only among nodes that have actually (completely) started.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="mutex"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="39158"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.27-ndb-6.3.17"/>
+ <version ver="5.1.28-ndb-6.2.16"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal>MgmtSrvr::allocNodeId()</literal> left a mutex locked
+ following an <errortext>Ambiguity for node if %d</errortext>
+ error.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="mysql-test-run.pl"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="39026"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.27-ndb-6.3.17"/>
+ <version ver="5.1.28-ndb-6.2.16"/>
+ </versions>
+
+ <message>
+
+ <para>
+ An invalid path specification caused
+ <command>mysql-test-run.pl</command> to fail.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="DBTC"/>
+ <manual type="LOG_COMMIT"/>
+ <manual type="LQH_TRANS_CONF"/>
+ <manual type="node failure"/>
+ <manual type="TC"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="38930"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.27-ndb-6.3.17"/>
+ <version ver="5.1.28-ndb-6.2.16"/>
+ </versions>
+
+ <message>
+
+ <para>
+ During transactional coordinator takeover (directly after node
+ failure), the LQH finding an operation in the
+ <literal>LOG_COMMIT</literal> state sent an
+ <literal>LQH_TRANS_CONF</literal> signal twice, causing the TC
+ to fail.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="ndb_mgmd"/>
+ <manual type="Solaris"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="38628"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.27-ndb-6.3.17"/>
+ <version ver="5.1.28-ndb-6.2.16"/>
+ </versions>
+
+ <message>
+
+ <para>
+ An invalid memory access caused the management server to crash
+ on Solaris Sparc platforms.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="ndbd"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="38609"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.27-ndb-6.3.17"/>
+ <version ver="5.1.28-ndb-6.2.16"/>
+ </versions>
+
+ <message>
+
+ <para>
+ A segfault in <literal>Logger::Log</literal> caused
+ <command>ndbd</command> to hang indefinitely.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="ndb_mgmd"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="38592"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.27-ndb-6.3.17"/>
+ <version ver="5.1.28-ndb-6.2.16"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <command>ndb_mgmd</command> failed to start on older Linux
+ distributions (2.4 kernels) that did not support e-polling.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="ndb_mgmd"/>
+ <manual type="network"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="38563"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.27-ndb-6.3.17"/>
+ <version ver="5.1.28-ndb-6.2.16"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <command>ndb_mgmd</command> sometimes performed unnecessary
+ network I/O with the client. This in combination with other
+ factors led to long-running threads that were attempting to
+ write to clients that no longer existed.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="ndb_restore"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="38520"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.27-ndb-6.3.17"/>
+ <version ver="5.1.28-ndb-6.2.16"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <command>ndb_restore</command> failed with a floating point
+ exception due to a division by zero error when trying to restore
+ certain data files.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="ndb_mgmd"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="38424"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.27-ndb-6.3.17"/>
+ <version ver="5.1.28-ndb-6.2.16"/>
+ </versions>
+
+ <message>
+
+ <para>
+ A failed connection to the management server could cause a
+ resource leak in <command>ndb_mgmd</command>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="configuration"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="38380"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.27-ndb-6.3.17"/>
+ <version ver="5.1.28-ndb-6.2.16"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Failure to parse configuration parameters could cause a memory
+ leak in the NDB log parser.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="RENAME"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36658"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.27-ndb-6.3.17"/>
+ <version ver="5.1.28-ndb-6.2.16"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Renaming an <literal>NDBCLUSTER</literal> table on one SQL node,
+ caused a trigger on this table to be deleted on another SQL
+ node.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="UNIQUE INDEX"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35599"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.27-ndb-6.3.17"/>
+ <version ver="5.1.28-ndb-6.2.16"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Attempting to add a <literal>UNIQUE INDEX</literal> twice to an
+ <literal>NDBCLUSTER</literal> table, then deleting rows from the
+ table could cause the MySQL Server to crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="ndb_restore"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33801"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.27-ndb-6.3.17"/>
+ <version ver="5.1.28-ndb-6.2.16"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <command>ndb_restore</command> failed when a single table was
+ specified.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="GCP"/>
+ <manual type="node failure"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="30780"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.27-ndb-6.3.17"/>
+ <version ver="5.1.28-ndb-6.2.16"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal>GCP_COMMIT</literal> did not wait for transaction
+ takeover during node failure. This could cause
+ <literal>GCP_SAVE_REQ</literal> to be executed too early. This
+ could also cause (very rarely) replication to skip rows.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <highlight type="importantnote"/>
+ <manual type="maria"/>
+ <manual type="--old"/>
+ <manual type="CHECKSUM TABLE"/>
+ </tags>
+
+ <versions>
+ <version ver="5.1.25-maria"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The behavior of <literal role="stmt">CHECKSUM TABLE</literal>
+ has been modified so that the checksum operates consistently
+ within all engines by default, unless you use the
+ <option>--old</option> option.
+ </para>
+
+ <para>
+ If you run <command>mysqld</command> <option>--old</option>
+ option, then:
+ </para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ If table is <literal>MyISAM</literal> with an old-style
+ checksum (5.0), then <literal role="stmt">CHECKSUM
+ TABLE</literal> returns the 5.0 checksum.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ If the <literal>QUICK</literal> option is specified to
+ <literal role="stmt">CHECKSUM TABLE</literal>,
+ <literal>NULL</literal> is returned instead.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ When the <literal>EXTENDED</literal> option is specified,
+ the checksum is calculated by looping over all the rows and
+ calculates the checksum using the 5.0 algorithm.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ <para>
+ If you run <command>mysqld</command> without the
+ <option>--old</option> option, then:
+ </para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ If the table is <literal>MyISAM</literal> with the new-style
+ live checksum (5.1), then the live checksum is returned.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ If the <literal>QUICK</literal> option to <literal>OPTIMIZE
+ TBLE</literal>, <literal>NULL</literal> is returned.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ When the <literal>EXTENDED</literal> option is specified,
+ the checksum is calculated by looping over all the rows and
+ calculating the checksum using the 5.1 algorithm.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ <para>
+ In addition, if you run <literal role="stmt">CHECKSUM
+ TABLE</literal> on <literal>MyISAM</literal> tables with
+ <literal role="type">VARCHAR</literal> columns, using
+ <literal>ROW_FORMAT=fixed</literal> and row-level checksums
+ enabled, then a warning will be raised that the table must be
+ repaired using <literal role="stmt">REPAIR TABLE</literal> to
+ build the new checksum.
+ </para>
+
+ <para>
+ To ensure that tables moved from a MySQL 5.1 environment to
+ MySQL 5.1-maria, or MySQL 6.0 environment, you should run
+ <command>mysqld</command> with the <option>--old</option> and
+ run <literal>CHECKSUM TABLE ... EXTENDED</literal> to compare
+ using the 5.0 algorithm.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <highlight type="importantnote"/>
+ <manual type="maria"/>
+ <manual type="temporary tables"/>
+ </tags>
+
+ <versions>
+ <version ver="5.1.27-maria"/>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ When MySQL is built with the <literal>Maria</literal> engine,
+ all internal temporary on disk tables will use the
+ <literal>Maria</literal> engine. Using <literal>Maria</literal>
+ temporary tables in plkace of <literal>MyISAM</literal> tables
+ should result in a performance gain.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="replication"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="37051"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.27"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The
+ <option>--replicate-<replaceable>*</replaceable>-table</option>
+ options were not evaluated correctly when replicating
+ multi-table updates.
+ </para>
+
+ <para>
+ As a result of this fix, replication of multi-table updates no
+ longer fails when an update references a missing table but does
+ not update any of its columns.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="replication"/>
+ <manual type="DROP DATABASE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="38773"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.27"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Issuing a <literal role="stmt">DROP DATABASE</literal> while any
+ temporary tables were open caused the server to switch to
+ statement-based mode.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="partitioning"/>
+ <highlight type="incompatiblechange"/>
+ <manual type="Mac OS X"/>
+ <manual type="names"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="37402"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.27"/>
+ </versions>
+
+ <message>
+
+ <para>
+ On Mac OS X with <literal>lower_case_table_names = 2</literal>,
+ the server could not read partitioned tables whose names
+ contained uppercase letters.
+ </para>
+
+ <para>
+ Partitioned tables using mixed case names should be renamed or
+ dropped before upgrading to this version of the server on Mac OS
+ X.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="replication"/>
+ <manual type="RBR"/>
+ <manual type="INSTALL PLUGIN"/>
+ <manual type="UNINSTALL PLUGIN"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35807"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.28"/>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal role="stmt">INSTALL PLUGIN</literal> and
+ <literal role="stmt">UNINSTALL PLUGIN</literal> caused row-based
+ replication to fail.
+ </para>
+
+ <note>
+ <para>
+ These statements are not replicated; however, when using
+ row-based logging, the changes they introduce in the
+ <literal>mysql</literal> system tables are written to the
+ binary log.
+ </para>
+ </note>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="partitioning"/>
+ <manual type="TIMESTAMP"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="38272"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.28"/>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ When a partitioned table had a
+ <literal role="type">TIMESTAMP</literal> column defined with
+ <literal>CURRENT_TIMESTAMP</literal> as the default but with no
+ <literal>ON UPDATE</literal> clause, the column's value was
+ incorrectly set to <literal>CURRENT_TIMESTAMP</literal> when
+ updating across partitions.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <highlight type="replication"/>
+ <highlight type="importantchange"/>
+ </tags>
+
+ <versions>
+ <version ver="5.1.12"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The default value for the <option>--binlog-format</option>
+ server option is now <literal>MIXED</literal>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Windows"/>
+ <manual type="Upgrade"/>
+ <manual type="MySQL Instance Configuration Wizard"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="31674"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ </versions>
+
+ <message>
+
+ <para>
+ When upgrading from MySQL 5.1.19 to any version between MySQL
+ 5.1.20 to MySQL 5.1.23, the MySQL Instance Configuration Wizard
+ would fail to account for the change in name for the
+ <command>mysqld-nt.exe</command> to
+ <command>mysqld.exe</command>, causing MySQL to fail to start
+ properly after the upgrade.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Windows"/>
+ <manual type="MySQL Instance Configuration Wizard"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="27013"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.4"/>
+ <version ver="5.1.24"/>
+ <version ver="5.0.60"/>
+ <version ver="4.1.25"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The MySQL Instance Configuration Wizard would not allow you to
+ choose a service name, even though the criteria for the service
+ name were valid. The code that checks the name has been updated
+ to support the correct criteria of any string less than 256
+ character and not containing either a forward or backward slash
+ character.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33211"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ When creating temporary tables within <literal>Falcon</literal>,
+ the tables are automatically created in the
+ <literal>FALCON_TEMPORARY</literal> tablespace. If you specify
+ an alternate tablespace to the <literal role="stmt">CREATE
+ TABLE</literal> statement a warning will now be issued to that
+ effect.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <highlight type="replication"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="29371"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ A new configuration option, <literal>falcon_support_xa</literal>
+ has been added. The option specifies whether
+ <literal>Falcon</literal> should report itself as a two-phase
+ commit storage engine, and therefore take part in XA
+ transactions.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <highlight type="replication"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36468"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Replicating a Falcon table that contained a
+ <literal role="type">TEXT</literal> or
+ <literal role="type">BLOB</literal> column would fail during a
+ <literal role="stmt">DELETE</literal> operation with the error
+ <literal>HA_ERR_END_OF_FILE</literal>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <manual type="SSL"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="37517"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Building MySQL with SSL and <literal>Falcon</literal> enabled
+ would lead to a build failure.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <manual type="INFORMATION_SCHEMA"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33141"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The columns in the <literal>INFORMATION_SCHEMA</literal> table
+ for <literal>FALCON_SERIAL_LOG_INFO</literal>,
+ <literal>FALCON_TRANSACTIONS</literal>, and
+ <literal>FALCON_TRANSACTION_SUMMARY</literal> contained a
+ reference to the databae of tablespace, but the column
+ information was actually showing instances of the
+ <literal>Falcon</literal> engine. The tables have been updated
+ to a different structure.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="UUID()"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35848"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.68"/>
+ <version ver="5.1.28"/>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <literal role="func">UUID()</literal> function returned
+ UUIDs with the wrong time; this was because the offset for the
+ time part in UUIDs was miscalculated.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="mysqlbinlog"/>
+ <manual type="temporary files"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35543"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.66"/>
+ <version ver="5.1.28"/>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <command>mysqlbinlog</command> left temporary files on the disk
+ after shutdown, leading to the pollution of the temporary
+ directory, which eventually caused
+ <command>mysqlbinlog</command> to fail. This caused problems in
+ testing and other situations where
+ <command>mysqlbinlog</command> might be invoked many times in a
+ relatively short period of time.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="replication"/>
+ <manual type="Falcon"/>
+ <manual type="autocommit"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="37221"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ When <literal role="sysvar">autocommit</literal> was set equal
+ to <literal>1</literal> after starting a transaction, the binary
+ log did not commit the outstanding transaction. The reason this
+ happened was that the binary log commit function saw only the
+ values of the new settings, and decided that there was nothing
+ to commit.
+ </para>
+
+ <para>
+ This issue was first observed when using the
+ <literal>Falcon</literal> storage engine, but it is possible
+ that it affected other storage engines as well.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="replication"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="37150"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.66"/>
+ <version ver="5.1.28"/>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Some kinds of internal errors, such as <errortext>Out of
+ memory</errortext> errors, could cause the server to crash when
+ replicating statements with user variables.
+ </para>
+
+ <para>
+ certain internal errors.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="replication"/>
+ <manual type="TIMESTAMP"/>
+ <manual type="RBR"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="37076"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.28"/>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Row-based replication did not correctly copy
+ <literal role="type">TIMESTAMP</literal> values from a
+ big-endian storage engine to a little-endian storage engine.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="partitioning"/>
+ <manual type="PARTITION BY LIST"/>
+ <manual type="NOT IN"/>
+ <manual type="MyISAM"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35931"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.28"/>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ A <literal>LIST</literal> partitioned <literal>MyISAM</literal>
+ table returned erroneous results when an index was present on a
+ column in the <literal>WHERE</literal> clause and <literal>NOT
+ IN</literal> was used on that column.
+ </para>
+
+ <para>
+ Searches using the index were also much slower then if the index
+ were not present.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="partitioning"/>
+ <manual type="storage engines"/>
+ <manual type="COUNT()"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35745"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.28"/>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal>SELECT COUNT(*)</literal> was not correct for some
+ partitioned tables using a storage engine that did not support
+ <literal>HA_STATS_RECORDS_IS_EXACT</literal>. Tables using the
+ <literal>ARCHIVE</literal> storage engine were known to be
+ affected.
+ </para>
+
+ <para>
+ This was because <literal>ha_partition::records()</literal> was
+ not implemented, and so the default
+ <literal>handler::records()</literal> was used in its place.
+ However, this is not correct behavior if the storage engine does
+ not support <literal>HA_STATS_RECORDS_IS_EXACT</literal>.
+ </para>
+
+ <para>
+ The solution was to implement
+ <literal>ha_partition::records()</literal> as a wrapper around
+ the underlying partition records.
+ </para>
+
+ <para>
+ As a result of this fix, the rows column in the output of
+ <literal>EXPLAIN PARTITIONS</literal> now includes the total
+ number of records in the partitioned table.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <highlight type="importantchange"/>
+ <manual type="Maria"/>
+ </tags>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <literal>Maria</literal> Storage Engine is now available as
+ standard. <literal>Maria</literal> is a crash safe version of
+ <literal>MyISAM</literal>. <literal>Maria</literal> supports all
+ of the main functionality of the <literal>MyISAM</literal>
+ engine, but includes recovery support (in the event of a system
+ crash), full logging (including <literal>CREATE</literal>,
+ <literal>DROP</literal>, <literal>RENAME</literal>, and
+ <literal role="stmt">TRUNCATE</literal> operations), all
+ <literal>MyISAM</literal> row formats and a new
+ <literal>Maria</literal>-specific row format.
+ <literal>Maria</literal> is documented at
+ <xref linkend="se-maria"/>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="XML"/>
+ <manual type="XPath"/>
+ <manual type="boolean()"/>
+ <manual type="NULL"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="26051"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The XPath <literal>boolean()</literal> function did not cast
+ string and nodeset values correctly in some cases. It now
+ returns <literal>TRUE</literal> for any non-empty string or
+ nodeset and 0 for a <literal>NULL</literal> string, as specified
+ in the XPath standard..
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="clusterapi"/>
+ <manual type="NdbBlob::setValue()"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="31284"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24-ndb-6.2.16"/>
+ <version ver="5.1.24-ndb-6.3.16"/>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ A buffer overrun in <literal>NdbBlob::setValue()</literal>
+ caused erroneous results on Mac OS X.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="clusterapi"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36375"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23-ndb-6.2.14"/>
+ <version ver="5.1.24-ndb-6.3.13"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Closing a scan before it was executed caused the application to
+ segfault.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="clusterapi"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35876"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23-ndb-6.2.14"/>
+ <version ver="5.1.24-ndb-6.3.13"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Scans having no bounds set were handled incorrectly.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="clusterapi"/>
+ <manual type="libndbclient"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36124"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23-ndb-6.2.14"/>
+ <version ver="5.1.24-ndb-6.3.13"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Using NDB API applications from older MySQL Cluster versions
+ with <literal>libndbclient</literal> from newer ones caused the
+ cluster to fail.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="clusterapi"/>
+ <manual type="libndbclient"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35927"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.28-ndb-6.2.16"/>
+ <version ver="5.1.24-ndb-6.3.14"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Accesing the debug version of <literal>libndbclient</literal>
+ via <literal>dlopen()</literal> resulted in a segmentation
+ fault.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <highlight type="clusterreplication"/>
+ <manual type="RESET MASTER"/>
+ <manual type="mysql.ndb_binlog_index"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34356"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23-ndb-6.2.14"/>
+ <version ver="5.1.23-ndb-6.3.11"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal role="stmt">RESET MASTER</literal> now uses
+ <literal role="stmt">TRUNCATE</literal> rather than
+ <literal role="stmt">DELETE</literal> to clear the
+ <literal>mysql.ndb_binlog_index</literal> table. This improves
+ the performance of the statement and is less likely to leave the
+ table in a fragmented state.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="VARCHAR"/>
+ <manual type="VARBINARY"/>
+ <manual type="condition pushdown"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35393"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24-ndb-6.2.16"/>
+ <version ver="5.1.24-ndb-6.3.15"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Where column values to be compared in a query were of the
+ <literal role="type">VARCHAR</literal> or
+ <literal role="type">VARBINARY</literal> types,
+ <literal>NDBCLUSTER</literal> passed a value padded to the full
+ size of the column, which caused unnecessary data to be sent to
+ the data nodes. This also had the effect of wasting CPU and
+ network bandwidth, and causing condition pushdown to be disabled
+ where it could (and should) otherwise have been applied.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="mysqld"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="37628"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24-ndb-6.2.16"/>
+ <version ver="5.1.24-ndb-6.3.16"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Failure of a data node could sometimes cause mysqld to crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="DELETE"/>
+ <manual type="unique index"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="37516"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24-ndb-6.3.16"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal>DELETE ... WHERE
+ <replaceable>unique_index_column</replaceable>=<replaceable>value</replaceable></literal>
+ deleted the wrong row from the table.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="clusterreplication"/>
+ <manual type="log-slave-updates"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="37472"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.28-ndb-6.2.16"/>
+ <version ver="5.1.24-ndb-6.3.16"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Data was written to the binlog with
+ <option>--log-slave-updates</option> disabled.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="subscriptions"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="37442"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24-ndb-6.2.16"/>
+ <version ver="5.1.24-ndb-6.3.16"/>
+ </versions>
+
+ <message>
+
+ <para>
+ If subscription was terminated while a node was down, the epoch
+ was not properly acknowledged by that node.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="libmysqld"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="37429"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24-ndb-6.3.16"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal>libmysqld</literal> failed to wait for the cluster
+ binlog thread to terminate before exiting.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="logging"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="37427"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24-ndb-6.2.16"/>
+ <version ver="5.1.24-ndb-6.3.16"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Event buffer lag reports are now written to the cluster log.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="37338"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24-ndb-6.2.16"/>
+ <version ver="5.1.24-ndb-6.3.16"/>
+ </versions>
+
+ <message>
+
+ <para>
+ In rare circumstances, a connection followed by a disconnection
+ could give rise to a <quote>stale</quote> connection where the
+ connection still existed but was not seen by the transporter.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="clusterapi"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32949"/>
+ <fixes bugid="37279"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24-ndb-6.2.16"/>
+ <version ver="5.1.24-ndb-6.3.16"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Creating a table on an SQL node, then starting an NDB API
+ application that listened for events from this table, then
+ dropping the table from an SQL node, prevented data node
+ restarts.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="clusterapi"/>
+ <manual type="NdbTransaction::execute()"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="37158"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24-ndb-6.2.16"/>
+ <version ver="5.1.24-ndb-6.3.16"/>
+ </versions>
+
+ <message>
+
+ <para>
+ When some operations succeeded and some failed following a call
+ to <literal>NdbTransaction::execute(Commit,
+ AO_IgnoreOnError)</literal>, a race condition could cause
+ spurious occurrences of NDB API Error 4011 (<errortext>Internal
+ error</errortext>).
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="query cache"/>
+ <manual type="autocommit"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36692"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24-ndb-6.2.16"/>
+ <version ver="5.1.24-ndb-6.3.16"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Queries against <literal>NDBCLUSTER</literal> tables were cached
+ only if <literal role="sysvar">autocommit</literal> was in use.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <highlight type="clusterapi"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35607"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24-ndb-6.2.16"/>
+ <version ver="5.1.24-ndb-6.3.16"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Changing the system time on data nodes could cause MGM API
+ applications to hang and the data nodes to crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="replication"/>
+ <manual type="AUTO_INCREMENT"/>
+ <manual type="triggers"/>
+ <manual type="INSERT"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36443"/>
+ <seealsobug bugid="33029"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.26"/>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Performing an insert on a table having an
+ <literal>AUTO_INCREMENT</literal> column and an
+ <literal role="stmt">INSERT</literal> trigger that was being
+ replicated from a master running MySQL 5.0 or any version of
+ MySQL 5.1 up to and including MySQL 5.1.11 to a slave running
+ MySQL 5.1.12 or later caused the replication slave to crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="ndb_restore"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="30452"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24-ndb-6.2.16"/>
+ <version ver="5.1.24-ndb-6.3.16"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Added the <option>--no-binlog</option> option for
+ <command>ndb_restore</command>. When used, this option prevents
+ information being written to SQL node binary logs from the
+ restoration of a cluster backup.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="CREATE TABLE"/>
+ <manual type="ndbrequire()"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="37092"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24-ndb-6.2.16"/>
+ <version ver="5.1.24-ndb-6.3.15"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Under some circumstances, a failed <literal role="stmt">CREATE
+ TABLE</literal> could mean that subsequent
+ <literal role="stmt">CREATE TABLE</literal> statements caused
+ node failures.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="CREATE TABLE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="37072"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24-ndb-6.2.16"/>
+ <version ver="5.1.24-ndb-6.3.15"/>
+ </versions>
+
+ <message>
+
+ <para>
+ A fail attempt to create an <literal>NDB</literal> table could
+ in some cases lead to resource leaks or cluster failures.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="NULL"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="37039"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24-ndb-6.3.15"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Attempting to create a native backup of <literal>NDB</literal>
+ tables having a large number of <literal>NULL</literal> columns
+ and data could lead to node failures.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ </tags>
+
+ <versions>
+ <version ver="5.1.24-ndb-6.2.16"/>
+ <version ver="5.1.24-ndb-6.3.15"/>
+ </versions>
+
+ <message>
+
+ <para>
+ When dropping a table failed for any reason (such as when in
+ single user mode) then the corresponding
+ <filename>.ndb</filename> file was still removed.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="clusterapi"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36851"/>
+ <seealsobug bugid="26756"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24-ndb-6.2.16"/>
+ <version ver="5.1.24-ndb-6.3.15"/>
+ </versions>
+
+ <message>
+
+ <para>
+ When an insert operation involving
+ <literal role="type">BLOB</literal> data was attempted on a row
+ which already existed, no duplicate key error was correctly
+ reported and the transaction is incorrectly aborted. In some
+ cases, the existing row could also become corrupted.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36843"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24-ndb-6.2.16"/>
+ <version ver="5.1.24-ndb-6.3.15"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Checking of API node connections was not efficiently handled.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="DELETE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36756"/>
+ <seealsobug bugid="36851"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24-ndb-6.2.16"/>
+ <version ver="5.1.24-ndb-6.3.15"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Attempting to delete a non-existent row from a table containing
+ a <literal role="type">TEXT</literal> or
+ <literal role="type">BLOB</literal> column within a transaction
+ caused the transaction to fail.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="backup"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36044"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24-ndb-6.2.16"/>
+ <version ver="5.1.24-ndb-6.3.15"/>
+ </versions>
+
+ <message>
+
+ <para>
+ If the combined total of tables and indexes in the cluster was
+ greater than 4096, issuing <literal>START BACKUP</literal>
+ caused data nodes to fail.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="clusterapi"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36950"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24-ndb-6.2.16"/>
+ <version ver="5.1.24-ndb-6.3.15"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Ordered index scans were not pruned correctly where a
+ partitioning key was specified with an EQ-bound.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="ndb_size.pl"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="43022"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24-ndb-6.2.16"/>
+ <version ver="5.1.24-ndb-6.3.15"/>
+ </versions>
+
+ <message>
+
+ <para>
+ In certain rare situations, <filename>ndb_size.pl</filename>
+ could fail with the error <errortext>Can't use string
+ ("<replaceable>value</replaceable>") as a HASH ref while "strict
+ refs" in use</errortext>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="partitioning"/>
+ <manual type="ALTER TABLE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34604"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.28"/>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ When one user was in the midst of a transaction on a partitioned
+ table, a second user performing an <literal role="stmt">ALTER
+ TABLE</literal> on this table caused the server to hang.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="partitioning"/>
+ <manual type="INSERT"/>
+ <manual type="AUTO_INCREMENT"/>
+ <manual type="MyISAM"/>
+ <manual type="InnoDB"/>
+ <manual type="Falcon"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33479"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Inserts failed on partitioned tables containing user-supplied
+ values for an <literal>AUTO_INCREMENT</literal> column.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="epoll"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36537"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24-ndb-6.3.14"/>
+ </versions>
+
+ <message>
+
+ <para>
+ A race condition caused by a failure in epoll handling could
+ cause data nodes to fail.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36199"/>
+ <fixes bugid="36246"/>
+ <fixes bugid="36247"/>
+ <fixes bugid="36276"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24-ndb-6.3.14"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Under certain rare circumstances, the failure of the new master
+ node while attempting a node takeover would cause takeover
+ errors to repeat without being resolved.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="ndb_schema"/>
+ <manual type="errors"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35943"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24-ndb-6.2.16"/>
+ <version ver="5.1.24-ndb-6.3.14"/>
+ </versions>
+
+ <message>
+
+ <para>
+ When more than one SQL node connected to the cluster at the same
+ time, creation of the <literal>mysql.ndb_schema</literal> table
+ failed on one of them with an explicit <errortext>Table
+ exists</errortext> error, which was not necessary.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="mysql_upgrade"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35708"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24-ndb-6.2.16"/>
+ <version ver="5.1.24-ndb-6.3.14"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <command>mysqld</command> failed to start after running
+ <command>mysql_upgrade</command>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="clusterapi"/>
+ <manual type="NdbOperation::equal()"/>
+ <manual type="NdbOperation::setValue()"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33747"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24-ndb-6.2.16"/>
+ <version ver="5.1.24-ndb-6.3.14"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Attempting to pass a nonexistent column name to the
+ <literal>equal()</literal> and <literal>setValue()</literal>
+ methods of <literal>NdbOperation</literal> caused NDB API
+ applications to crash. Now the column name is checked, and an
+ error is returned in the event that the column is not found.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="clusterapi"/>
+ <manual type="x86_64"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="29791"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24-ndb-6.2.16"/>
+ <version ver="5.1.24-ndb-6.3.14"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Relocation errors were encountered when trying to compile NDB
+ API applications on a number of platforms, including 64-bit
+ Linux. As a result, <literal>libmysys</literal>,
+ <literal>libmystrings</literal>, and <literal>libdbug</literal>
+ have been changed from normal libraries to <quote>noinst</quote>
+ <command>libtool</command> helper libraries. They are no longer
+ installed as separate libraries; instead, all necessary symbols
+ from these are added directly to
+ <literal>libndbclient</literal>. This means that NDB API
+ programs now need to be linked only using
+ <option>-lndbclient</option>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="replication"/>
+ <manual type="InnoDB"/>
+ <manual type="FLUSH TABLES"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36197"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24-ndb-6.2.16"/>
+ <version ver="5.1.24-ndb-6.3.15"/>
+ <version ver="5.1.25"/>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ When flushing tables, there was a slight chance that the flush
+ occurred between the processing of one table map event and the
+ next. Since the tables were opened one by one, subsequent
+ locking of tables would cause the slave to crash. This problem
+ was observed when replicating <literal>NDBCLUSTER</literal> or
+ <literal>InnoDB</literal> tables, when executing multi-table
+ updates, and when a trigger or a stored routine performed an
+ (additional) insert on a table so that two tables were
+ effectively being inserted into in the same statement.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="replication"/>
+ <manual type="CREATE PROCEDURE"/>
+ <manual type="CREATE FUNCTION"/>
+ <manual type="comments"/>
+ <manual type="binary log"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36570"/>
+ <seealsobug bugid="32575"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.64"/>
+ <version ver="5.1.25"/>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal role="stmt">CREATE PROCEDURE</literal> and
+ <literal role="stmt">CREATE FUNCTION</literal> statements
+ containing extended comments were not written to the binary log
+ correctly, causing parse errors on the slave.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="replication"/>
+ <manual type="CREATE VIEW"/>
+ <manual type="comments"/>
+ <manual type="binary log"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32575"/>
+ <seealsobug bugid="36570"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.62"/>
+ <version ver="5.1.25"/>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal role="stmt">CREATE VIEW</literal> statements containing
+ extended comments were not written to the binary log correctly,
+ causing parse errors on the slave. Now, all comments are
+ stripped from such statements before being written to the binary
+ log.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="clusterreplication"/>
+ <manual type="ndb_apply_status"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36123"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24-ndb-6.2.16"/>
+ <version ver="5.1.24-ndb-6.3.14"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Performing <literal>SELECT ... FROM
+ mysql.ndb_apply_status</literal> before the
+ <command>mysqld</command> process had connected to the cluster
+ failed, and caused this table never to be created.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="ndb_extra_logging"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36547"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24-ndb-6.2.16"/>
+ <version ver="5.1.24-ndb-6.3.14"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal>SET GLOBAL ndb_extra_logging</literal> caused
+ <command>mysqld</command> to crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <highlight type="importantchange"/>
+ <highlight type="packaging"/>
+ <highlight type="cluster"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36193"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message ver="5.1.24">
+
+ <para>
+ Beginning with this release, standard MySQL 5.1 binaries are no
+ longer built with support for the <literal>NDBCLUSTER</literal>
+ storage engine, and the <literal>NDBCLUSTER</literal> code
+ included in 5.1 mainline sources is no longer guaranteed to be
+ maintained or supported. Those using MySQL Cluster in MySQL
+ 5.1.23 and earlier MySQL 5.1 mainline releases should upgrade to
+ MySQL Cluster NDB 6.2.15 or a later MySQL Cluster NDB 6.2 or 6.3
+ release.
+ </para>
+
+ </message>
+
+ <message ver="6.0.5">
+
+ <para>
+ Beginning with this release, standard MySQL 6.0 binaries are no
+ longer built with support for the <literal>NDBCLUSTER</literal>
+ storage engine, and the <literal>NDBCLUSTER</literal> code
+ included in 6.0 mainline sources is no longer guaranteed to be
+ maintained or supported. Those using MySQL Cluster in MySQL
+ 6.0.4 and earlier MySQL 6.0 mainline releases should upgrade to
+ MySQL Cluster NDB 6.2.15 or a later MySQL Cluster NDB 6.2 or 6.3
+ release.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Windows"/>
+ <highlight type="importantchange"/>
+ <highlight type="securityenhancement"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34593"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ On Windows Vista and Windows Server 2008, a user without
+ administrative privileges does not have write permissions to the
+ <filename>Program Files</filename> directory where MySQL and the
+ associated data files are normally installed. Using data files
+ located in the standard <filename>Program Files</filename>
+ installation directory could therefore cause MySQL to fail, or
+ lead to potential security issues in an installed instance.
+ </para>
+
+ <para>
+ To address the problem, on Windows XP, Windows Vista and Windows
+ Server 2008, the datafiles and data file configuration are now
+ set to the Microsoft recommended <filename>AppData</filename>
+ folder. The <filename>AppData</filename> folder is typically
+ located within the user's home directory.
+ </para>
+
+ <important>
+ <para>
+ When upgrading an existing 5.1.23 or 6.0.4 installation of
+ MySQL you must take a backup of your data and configuration
+ file (<filename>my.ini</filename> before installing the new
+ version. To migrate your data, either extract the data and
+ re-import (using <command>mysqldump</command>, then upgrade
+ and re-import using <command>mysql</command>), or back up your
+ data, upgrade to the new version, and copy your existing data
+ files from your old <filename>datadir</filename> directory to
+ the new directory located within <filename>AppData</filename>.
+ </para>
+ <para>
+ Failure to back up your data and follow these procedures may
+ lead to data loss.
+ </para>
+ </important>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="error 1427"/>
+ </tags>
+
+ <versions>
+ <version ver="5.1.24-ndb-6.2.16"/>
+ <version ver="5.1.24-ndb-6.3.14"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal>NDB</literal> error 1427 (<errortext>Api node died,
+ when SUB_START_REQ reached node</errortext>) was incorrectly
+ classified as a schema error rather than a temporary error.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="QMGR"/>
+ <manual type="SUMA"/>
+ </tags>
+
+ <versions>
+ <version ver="5.1.24-ndb-6.2.16"/>
+ <version ver="5.1.24-ndb-6.3.14"/>
+ </versions>
+
+ <message>
+
+ <para>
+ If an API node disconnected and then reconnected during Start
+ Phase 8, then the connection could be <quote>blocked</quote>
+ — that is, the <literal>QMGR</literal> kernel block failed
+ to detect that the API node was in fact connected to the
+ cluster, causing issues with the <literal>NDB</literal>
+ Subscription Manager (<literal>SUMA</literal>).
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="NF_COMPLETEREP"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32645"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24-ndb-6.3.14"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Notification of a cascading master node failures could sometimes
+ not be transmitted correctly (that is, transmission of the
+ <literal>NF_COMPLETEREP</literal> signal could fail), leading to
+ transactions hanging and timing out (<literal>NDB</literal>
+ error 4012), scans hanging, and failure of the management server
+ process.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="clusterapi"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35908"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24-ndb-6.3.13"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Some ordered index scans could return tuples out of order.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="clusterapi"/>
+ <manual type="NdbScanFilter::getNdbOperation()"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35854"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24-ndb-6.3.13"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal>NdbScanFilter::getNdbOperation()</literal>, which was
+ inadvertently removed in MySQL Cluster NDB 6.3.11, has been
+ restored.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="clusterapi"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35853"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.15-ndb-6.1.13"/>
+ <version ver="5.1.24-ndb-6.2.16"/>
+ <version ver="5.1.24-ndb-6.3.15"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <filename>NdbApi.hpp</filename> depended on
+ <filename>ndb_global.h</filename>, which was not actually
+ installed, causing the compilation of programs that used
+ <filename>NdbApi.hpp</filename> to fail.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35797"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24-ndb-6.3.13"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Node or system restarts could fail due an unitialized variable
+ in the <literal>DTUP</literal> kernel block. This issue was
+ found in MySQL Cluster NDB 6.3.11.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="replication"/>
+ <manual type="CREATE TABLE"/>
+ <manual type="SELECT"/>
+ <manual type="InnoDB"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35762"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The failure of a <literal>CREATE TABLE ... ENGINE=InnoDB ...
+ SELECT</literal> statement caused the slave to lose data.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="ndb-cluster-connection-pool"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35573"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24-ndb-6.2.16"/>
+ <version ver="5.1.24-ndb-6.3.13"/>
+ </versions>
+
+ <message>
+
+ <para>
+ It was not possible to determine the value used for the
+ <option>--ndb-cluster-connection-pool</option> option in the
+ <command>mysql</command> client. Now this value is reported as a
+ system status variable.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="views"/>
+ <manual type="DUAL"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35193"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.60"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ When a view containing a reference to <literal>DUAL</literal>
+ was created, the reference was removed when the definition was
+ stored, causing some queries against the view to fail with
+ invalid SQL syntax errors.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="InnoDB"/>
+ <manual type="INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35108"/>
+ <seealsobug bugid="35406"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal>SELECT ... FROM
+ INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS</literal> caused the
+ server to crash if the table referenced by a foreign key had
+ been dropped. This issue was observed on Windows platforms only.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="InnoDB"/>
+ <manual type="AUTO_INCREMENT"/>
+ <manual type="foreign keys"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34920"/>
+ <regressionof bugid="23313"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Creating a foreign key on an <literal>InnoDB</literal> table
+ that was created with an explicit
+ <literal>AUTO_INCREMENT</literal> value caused that value to be
+ reset to 1.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <highlight type="importantchange"/>
+ <manual type="SIGPIPE"/>
+ <manual type="mysqld_safe"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33984"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24-ndb-6.3.13"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <command>mysqld_safe</command> now traps Signal 13
+ (<literal>SIGPIPE</literal>) so that this signal no longer kills
+ the MySQL server process.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="stored routines"/>
+ <manual type="DROP FUNCTION"/>
+ <manual type="DROP USER"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33464"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Dropping a function after dropping the function's creator
+ could cause the server to crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="REPLACE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="22045"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24-ndb-6.3.13"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal role="stmt">REPLACE</literal> statements did not work
+ correctly with <literal>NDBCLUSTER</literal> tables when all
+ columns were not explicitly listed.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="CSV"/>
+ <manual type="UPDATE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33067"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <literal>CSV</literal> engine did not honor update requests
+ for <literal role="type">BLOB</literal> columns when the new
+ column value had the same length as the value to be updated.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="mysql"/>
+ <manual type="clients"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33288"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Using <keycap>Control-R</keycap> in the <command>mysql</command>
+ client caused it to crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="ARCHIVE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="26978"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Memory corruption, a crash of the MySQL server, or both, could
+ take place if a low-level I/O error occurred while an
+ <literal>ARCHIVE</literal> table was being opened.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="binary log"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35675"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Manually replacing a binary log file with a directory having the
+ same name caused an error that was not handled correctly.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="BENCHMARK()"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="20752"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <literal role="func">BENCHMARK()</literal> function, invoked
+ with more than 2147483648 iterations (the size of a signed
+ 32-bit integer), terminated prematurely.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="replication"/>
+ <manual type="PURGE BINARY LOGS"/>
+ </tags>
+
+ <versions>
+ <version ver="5.0.60"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal>PURGE BINARY LOGS TO</literal> and <literal>PURGE
+ BINARY LOGS BEFORE</literal> did not handle missing binary log
+ files correctly or in the same way. Now for both of these
+ statements, if any files listed in the
+ <filename>.index</filename> file are missing from the
+ filesystem, the statement fails with an error.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="replication"/>
+ <manual type="AUTO_INCREMENT"/>
+ <manual type="triggers"/>
+ <manual type="stored routines"/>
+ <manual type="upgrades"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33029"/>
+ <seealsobug bugid="19630"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.60"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ When a stored routine or trigger, running on a master that used
+ MySQL 5.0 or MySQL 5.1.11 or earlier, performed an insert on an
+ <literal>AUTO_INCREMENT</literal> column, the
+ <literal role="sysvar">insert_id</literal> value was not
+ replicated correctly to a slave running MySQL 5.1.12 or later
+ (including any MySQL 6.0 release).
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="replication"/>
+ <manual type="BLACKHOLE"/>
+ <manual type="INSERT_ID"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35178"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.60"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal role="sysvar">insert_id</literal> was not written to
+ the binary log for inserts into <literal>BLACKHOLE</literal>
+ tables.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="BLOB"/>
+ <manual type="TEXT"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35593"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24-ndb-6.2.16"/>
+ <version ver="5.1.24-ndb-6.3.13"/>
+ </versions>
+
+ <message>
+
+ <para>
+ If an error occured while executing a statement involving a
+ <literal role="type">BLOB</literal> or
+ <literal role="type">TEXT</literal> column of an
+ <literal>NDB</literal> table, a memory leak could result.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="ndb_waiter"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35435"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24-ndb-6.2.16"/>
+ <version ver="5.1.24-ndb-6.3.13"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <command>ndb_waiter</command> utility wrongly calculated
+ timeouts.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35413"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24-ndb-6.3.13"/>
+ </versions>
+
+ <message>
+
+ <para>
+ A <literal role="stmt">SELECT</literal> on a table with a
+ non-indexed, large <literal role="type">VARCHAR</literal> column
+ which resulted in condition pushdown on this column could cause
+ <command>mysqld</command> to crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="ndb_restore"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35343"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24-ndb-6.2.16"/>
+ <version ver="5.1.24-ndb-6.3.13"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <command>ndb_restore</command> incorrectly handled some
+ datatypes when applying log files from backups.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="errors"/>
+ <manual type="SQLSTATE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35289"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ In some cases, when too many clients tried to connect to the
+ server, the proper <literal>SQLSTATE</literal> code was not
+ returned.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35241"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24-ndb-6.2.16"/>
+ <version ver="5.1.24-ndb-6.3.13"/>
+ </versions>
+
+ <message>
+
+ <para>
+ In some circumstances, a stopped data node was handled
+ incorrectly, leading to redo log space being exhausted following
+ an initial restart of the node, or an initial or partial restart
+ of the cluster (the wrong CGI might be used in such cases). This
+ could happen, for example, when a node was stopped following the
+ creation of a new table, but before a new LCP could be executed.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="clusterreplication"/>
+ <manual type="binlog"/>
+ <manual type="ndb_log_updated_only"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35208"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24-ndb-6.2.16"/>
+ <version ver="5.1.24-ndb-6.3.13"/>
+ </versions>
+
+ <message>
+
+ <para>
+ In some cases, when updating only one or some columns in a
+ table, the complete row was written to the binary log instead of
+ only the updated column or columns, even when
+ <literal>ndb_log_updated_only</literal> was set to 1.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="LIKE"/>
+ <manual type="condition pushdown"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35185"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24-ndb-6.2.16"/>
+ <version ver="5.1.24-ndb-6.3.13"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal>SELECT ... LIKE ...</literal> queries yielded incorrect
+ results when used on <literal>NDB</literal> tables. As part of
+ this fix, condition pushdown of such queries has been disabled;
+ re-enabling it is expected to be done as part of a later,
+ permanent fix for this issue.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="ndb_mgm"/>
+ <manual type="errors"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35169"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24-ndb-6.2.16"/>
+ <version ver="5.1.24-ndb-6.3.13"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <command>ndb_mgmd</command> reported errors to
+ <literal>STDOUT</literal> rather than to
+ <literal>STDERR</literal>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35137"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24-ndb-6.2.16"/>
+ <version ver="5.1.24-ndb-6.3.13"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Nested multi-range reads failed when the second multi-range read
+ released the first read's unprocessed operations, sometimes
+ leading to an SQL node crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="mysqldump"/>
+ <manual type="binary log"/>
+ <manual type="--master-data"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34909"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.60"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <command>mysqldump</command> failed to return an error code when
+ using the <option>--master-data</option> option without binary
+ logging being enabled on the server.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="temporary tables"/>
+ <manual type="mysql database"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33275"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24-ndb-6.3.13"/>
+ <version ver="5.1.25"/>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Executing a <literal role="stmt" condition="flush">FLUSH
+ PRIVILEGES</literal> statement after creating a temporary table
+ in the <literal>mysql</literal> database with the same name as
+ one of the MySQL system tables caused the server to crash.
+ <note>
+ <para>
+ While it is possible to shadow a system table in this way,
+ the temporary table exists only for the current user and
+ connection, and does not effect any user privileges.
+ </para>
+ </note>
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="FEDERATED"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34788"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.60"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ A malformed URL used for a <literal>FEDERATED</literal>
+ table's <literal>CONNECTION</literal> option value in a
+ <literal role="stmt">CREATE TABLE</literal> statement was not
+ handled correctly and could crash the server.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34756"/>
+ <regressionof bugid="34033"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24-ndb-6.2.16"/>
+ <version ver="5.1.24-ndb-6.3.13"/>
+ </versions>
+
+ <message>
+
+ <para>
+ In some situations, a problem with synchronizing checkpoints
+ between nodes could cause a system restart or a node restart to
+ fail with <errortext>Error 630 during restore of TX</errortext>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="TRUNCATE"/>
+ <manual type="triggers"/>
+ <manual type="foreign keys"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34643"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.60"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Executing a <literal role="stmt">TRUNCATE</literal> statement on
+ a table having both a foreign key reference and a
+ <literal role="stmt">DELETE</literal> trigger crashed the
+ server.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="indexes"/>
+ <manual type="DECIMAL"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34515"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24-ndb-6.2.16"/>
+ <version ver="5.1.24-ndb-6.3.13"/>
+ </versions>
+
+ <message>
+
+ <para>
+ When a secondary index on a
+ <literal role="type">DECIMAL</literal> column was used to
+ retrieve data from an <literal>NDB</literal> table, no results
+ were returned even if the target table had a matched value in
+ the column that was defined with the secondary index.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="UPDATE"/>
+ <manual type="unique keys"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34208"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24-ndb-6.2.16"/>
+ <version ver="5.1.24-ndb-6.3.13"/>
+ </versions>
+
+ <message>
+
+ <para>
+ An <literal role="stmt">UPDATE</literal> on an
+ <literal>NDB</literal> table that set a new value for a unique
+ key column could cause subsequent queries to fail.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34201"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24-ndb-6.2.16"/>
+ <version ver="5.1.24-ndb-6.3.13"/>
+ </versions>
+
+ <message>
+
+ <para>
+ If a data node in one node group was placed in the <quote>not
+ started</quote> state (using
+ <literal><replaceable>node_id</replaceable> RESTART
+ -n</literal>), it was not possible to stop a data node in a
+ different node group.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="importantchange"/>
+ <manual type="FRAC_SECOND"/>
+ <manual type="MICROSECOND"/>
+ <manual type="TIMESTAMPADD()"/>
+ <manual type="TIMESTAMPDIFF()"/>
+ <manual type="syntax"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33834"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.60"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ It was possible to use <literal>FRAC_SECOND</literal> as a
+ synonym for <literal>MICROSECOND</literal> with
+ <literal role="func">DATE_ADD()</literal>,
+ <literal role="func">DATE_SUB()</literal>, and
+ <literal role="func">INTERVAL</literal>; now, using
+ <literal>FRAC_SECOND</literal> with anything other than
+ <literal role="func">TIMESTAMPADD()</literal> or
+ <literal role="func">TIMESTAMPDIFF()</literal> produces a syntax
+ error.
+ </para>
+
+ <para>
+ It is now possible (and preferable) to use
+ <literal>MICROSECOND</literal> with
+ <literal role="func">TIMESTAMPADD()</literal> and
+ <literal role="func">TIMESTAMPDIFF()</literal>, and
+ <literal>FRAC_SECOND</literal> is now deprecated.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="WHERE"/>
+ <manual type="binary collations"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33833"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.60"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ A query using <literal>WHERE
+ (column1='<replaceable>string1</replaceable>' AND
+ column2=<replaceable>constant1</replaceable>) OR
+ (column1='<replaceable>string2</replaceable>' AND
+ column2=<replaceable>constant2</replaceable>)</literal>, where
+ <literal>col1</literal> used a binary collation and
+ <replaceable>string1</replaceable> matched
+ <replaceable>string2</replaceable> except for case, failed to
+ match any records even when matches were found by a query using
+ the equivalent clause <literal>WHERE
+ column2=<replaceable>constant1</replaceable> OR
+ column2=<replaceable>constant2</replaceable></literal>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="libmysqld"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33796"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.60"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Reuse of prepared statements could cause a memory leak in the
+ embedded server.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="SELECT"/>
+ <manual type="ORDER BY"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33758"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.60"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ In some cases a query that produced a result set when using
+ <literal>ORDER BY ASC</literal> did not return any results when
+ this was changed to <literal>ORDER BY DESC</literal>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="clients"/>
+ <manual type="errors"/>
+ <manual type="system variables"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32757"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ In some cases where setting a system variable failed, no error
+ was sent to the client, causing the client to hang.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="LIKE"/>
+ <manual type="character sets"/>
+ <manual type="eucjpms"/>
+ <manual type="ujis"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32510"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.60"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Queries using <literal>LIKE</literal> on tables having indexed
+ <literal role="type">CHAR</literal> columns using either of the
+ <literal>eucjpms</literal> or <literal>ujis</literal> character
+ sets did not return correct results.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="importantchange"/>
+ <manual type="InnoDB"/>
+ <manual type="INFORMATION_SCHEMA"/>
+ <manual type="SHOW TABLE STATUS"/>
+ <manual type="DATA_FREE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32440"/>
+ <introducedby bugid="11379"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.13-ndb-6.3.11"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal>InnoDB</literal> free space information is now shown in
+ the <literal>Data_free</literal> column of
+ <literal role="stmt">SHOW TABLE STATUS</literal> and in the
+ <literal>DATA_FREE</literal> column of the
+ <literal role="is">INFORMATION_SCHEMA.TABLES</literal> table.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="ZEROFILL"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="31887"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.60"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Queries testing numeric constants containing leading zeroes
+ against <literal>ZEROFILL</literal> columns were not evaluated
+ correctly.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="max_sort_length"/>
+ <manual type="sort_buffer_size"/>
+ <manual type="errors"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="31590"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.60"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The server returned the error message <errortext>Out of memory;
+ restart server and try again</errortext> when the actual problem
+ was that the sort buffer was too small. Now an appropriate error
+ message is returned in such cases.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="BLOB"/>
+ <manual type="TEXT"/>
+ <manual type="upgrades"/>
+ <manual type="indexes"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="31331"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ A table having an index that included a
+ <literal role="type">BLOB</literal> or
+ <literal role="type">TEXT</literal> column, and that was
+ originally created with a MySQL server using version 4.1 or
+ earlier, could not be opened by a 5.1 or later server.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="stored functions"/>
+ <manual type="alias"/>
+ <manual type="subqueries"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="30787"/>
+ <regressionof bugid="20777"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.60"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ If an alias was used to refer to the value returned by a stored
+ function within a subselect, the outer select recognized the
+ alias but failed to retrieve the value assigned to it in the
+ subselect.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="importantchange"/>
+ <manual type="CHAR"/>
+ <manual type="VARCHAR"/>
+ <manual type="TEXT"/>
+ <manual type="truncation"/>
+ <manual type="errors"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="30059"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.60"/>
+ <version ver="5.0.62"/>
+ <version ver="5.0.67"/>
+ <version ver="5.1.24"/>
+ <version ver="5.1.25"/>
+ <version ver="6.0.5"/>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message ver="5.0.60,5.1.24,6.0.5">
+
+ <para>
+ The server handled truncation of values having excess trailing
+ spaces into <literal role="type">CHAR</literal>,
+ <literal role="type">VARCHAR</literal>, and
+ <literal role="type">TEXT</literal> columns in different ways.
+ This behavior has now been made consistent for columns of all
+ three of these types, and now follows the existing behavior of
+ <literal role="type">VARCHAR</literal> columns in this regard;
+ that is, a <literal>Note</literal> is always issued whenever
+ such truncation occurs.
+ </para>
+
+ <para>
+ This change does not affect columns of these three types when
+ using a binary encoding; <literal role="type">BLOB</literal>
+ columns are also unaffected by the change, since they always use
+ a binary encoding.
+ </para>
+
+ </message>
+
+ <message ver="5.0.62,5.1.25,6.0.6">
+
+ <para>
+ The server no longer issues warnings for truncation of excess
+ spaces for values inserted into
+ <literal role="type">CHAR</literal> columns. This reverts a
+ change in the previous release that caused warnings to be
+ issued.
+ </para>
+
+ </message>
+
+ <message ver="5.0.67">
+
+ <para>
+ The server handled truncation of values having excess trailing
+ spaces into <literal role="type">VARCHAR</literal> and and
+ <literal role="type">TEXT</literal> columns in different ways.
+ This behavior has now been made consistent for columns of both
+ of these types, and now follows the existing behavior of
+ <literal role="type">VARCHAR</literal> columns in this regard;
+ that is, a <literal>Note</literal> is always issued whenever
+ such truncation occurs.
+ </para>
+
+ <para>
+ This change does not affect columns of these types when using a
+ binary encoding; <literal role="type">BLOB</literal> columns are
+ also unaffected by the change, since they always use a binary
+ encoding.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="myisamchk"/>
+ <manual type="character sets"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="29182"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <command>myisamchk</command> always reported the character set
+ for a table as <literal>latin1_swedish_ci (8)</literal>
+ regardless of the table' actual character set.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="replication"/>
+ <manual type="RBR"/>
+ <manual type="event scheduler"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="29020"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The effects of scheduled events were not always correctly
+ reproduced on the slave when using row-based replication.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="mysqldump"/>
+ <manual type="MERGE"/>
+ <manual type="UNION"/>
+ <manual type="syntax"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="28248"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.60"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The SQL parser did not accept an empty
+ <literal>UNION=()</literal> clause. This meant that, when there
+ were no underlying tables specified for a
+ <literal>MERGE</literal> table, <literal role="stmt">SHOW CREATE
+ TABLE</literal> and <command>mysqldump</command> both output
+ statements that could not be executed.
+ </para>
+
+ <para>
+ Now it is possible to execute a <literal role="stmt">CREATE
+ TABLE</literal> or <literal role="stmt">ALTER TABLE</literal>
+ statement with an empty <literal>UNION=()</literal> clause.
+ However, <literal role="stmt">SHOW CREATE TABLE</literal> and
+ <command>mysqldump</command> do not output the
+ <literal>UNION=()</literal> clause if there are no underlying
+ tables specified for a <literal>MERGE</literal> table. This also
+ means it is now possible to remove the underlying tables for a
+ <literal>MERGE</literal> table using <literal>ALTER TABLE ...
+ UNION=()</literal>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="index_merge"/>
+ <manual type="FLUSH"/>
+ <manual type="memory leaks"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="27732"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.60"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ It was possible to exhaust memory by repeatedly running
+ <literal>index_merge</literal> queries and never performing any
+ <literal role="stmt" condition="flush">FLUSH TABLES</literal>
+ statements.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="character sets"/>
+ <manual type="UTF8"/>
+ <manual type="SPACE()"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="27580"/>
+ <seealsobug bugid="23637"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.60"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ When <literal>utf8</literal> was set as the connection character
+ set, using <literal role="func">SPACE()</literal> with a
+ non-Unicode column produced an error.
+ </para>
+
+ </message>
+
+ </logentry>
+
+<!-- # Following entry commented out until we
+ # verify if and where the fix went in...
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="clusterapi"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="27004"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24-ndb-6.2.16"/>
+ <version ver="5.1.24-ndb-6.3.13"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <filename>mgmapi.h</filename> contained constructs which only
+ worked in C++, but not in C.
+ </para>
+
+ </message>
+
+ </logentry>
+-->
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="START BACKUP"/>
+ <manual type="ndb_restore"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="26498"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24-ndb-6.3.13"/>
+ </versions>
+
+ <message>
+
+ <para>
+ If a <literal>START BACKUP</literal> command was issued while
+ <command>ndb_restore</command> was running, the backup being
+ restored could be overwritten.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="partitioning"/>
+ <highlight type="incompatiblechange"/>
+ <manual type="ALTER TABLE"/>
+ <manual type="ANALYZE PARTITION"/>
+ <manual type="CHECK PARTITION"/>
+ <manual type="OPTIMIZE PARTITION"/>
+ <manual type="REPAIR PARTITION"/>
+ <manual type="syntax"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="20129"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ <version ver="5.1.27"/>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message ver="5.1.24,6.0.5">
+
+ <para>
+ The following statements did not function correctly with
+ corrupted or crashed tables and have been removed:
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ <literal>ALTER TABLE ... ANALYZE PARTITION</literal>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <literal>ALTER TABLE ... CHECK PARTITION</literal>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <literal>ALTER TABLE ... OPTIMIZE PARTITION</literal>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <literal>ALTER TABLE ... REPAIR PARTITION</literal>
+ </para>
+ </listitem>
+
+ </itemizedlist>
+ <literal>ALTER TABLE ... REBUILD PARTITION</literal> is
+ unaffected by this change and continues to be available. This
+ statement and <literal>ALTER TABLE ... REORGANIZE
+ PARTITION</literal> may be used to analyze and optimize
+ partitioned tables, since these operations cause the partition
+ files to be rebuilt.
+ </para>
+
+ </message>
+
+ <message ver="5.1.27,6.0.6">
+
+ <para>
+ The statements <literal role="stmt">ANALYZE TABLE</literal>,
+ <literal role="stmt">CHECK TABLE</literal>,
+ <literal role="stmt">OPTIMIZE TABLE</literal>, and
+ <literal role="stmt">REPAIR TABLE</literal> are now supported
+ for partitioned tables.
+ </para>
+
+ </message>
+
+ <message ver="5.1.27">
+
+ <para>
+ This restores functionality missing since the removal of
+ <literal>ALTER TABLE ... ANALYZE PARTITION</literal>,
+ <literal>ALTER TABLE ... CHECK PARTITION</literal>,
+ <literal>ALTER TABLE ... OPTIMIZE PARTITION</literal>, and
+ <literal>ALTER TABLE ... REPAIR PARTITION</literal> in MySQL
+ 5.1.24.
+ </para>
+
+ </message>
+
+ <message ver="6.0.6">
+
+ <para>
+ This restores functionality missing since the removal of
+ <literal>ALTER TABLE ... ANALYZE PARTITION</literal>,
+ <literal>ALTER TABLE ... CHECK PARTITION</literal>,
+ <literal>ALTER TABLE ... OPTIMIZE PARTITION</literal>, and
+ <literal>ALTER TABLE ... REPAIR PARTITION</literal> in MySQL
+ 6.0.5.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="replication"/>
+ <manual type="START SLAVE"/>
+ <manual type="MASTER_LOG_POS"/>
+ <manual type="circular replication"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="13861"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.60"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.50"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal>START SLAVE UNTIL
+ MASTER_LOG_POS=<replaceable>position</replaceable></literal>
+ issued on a slave that was using
+ <option>--log-slave-updates</option> and that was involved in
+ circular replication would cause the slave to run and stop one
+ event later than that specified by the value of
+ <replaceable>position</replaceable>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="replication"/>
+ <manual type="LIMIT"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34768"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ When using statement-based replication and a
+ <literal role="stmt">DELETE</literal>,
+ <literal role="stmt">UPDATE</literal>, or <literal>INSERT ...
+ SELECT</literal> statement using a <literal>LIMIT</literal>
+ clause is encountered, a warning that the statement is not safe
+ to replicate in statement mode is now issued; when using
+ <literal>MIXED</literal> mode, the statement is now replicated
+ using the row-based format.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="replication"/>
+ <manual type="character sets"/>
+ <manual type="collations"/>
+ <manual type="identifiers"/>
+ <manual type="NAME_CONST()"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34289"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.60"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The character sets and collations used for constant identifiers
+ in stored procedures were not replicated correctly.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="replication"/>
+ <manual type="START SLAVE"/>
+ <manual type="errors"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="22989"/>
+ <seealsobug bugid="19328"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.60"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The inspecific error message <errortext>Wrong parameters to
+ function register_slave</errortext> resulted when
+ <literal role="stmt">START SLAVE</literal> failed to register on
+ the master due to excess length of any the slave server options
+ <option>--report-host</option>, <option>--report-user</option>,
+ or <option>--report-password</option>. An error message specific
+ to each of these options is now returned in such cases. The new
+ error messages are:
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ <errortext>Failed to register slave: too long
+ 'report-host'</errortext>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <errortext>Failed to register slave: too long
+ 'report-user'</errortext>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <errortext>Failed to register slave; too long
+ 'report-password'</errortext>
+ </para>
+ </listitem>
+
+ </itemizedlist>
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="partitioning"/>
+ <manual type="PARTITION BY KEY"/>
+ <manual type="BIT"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33379"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ A table defined using <literal>PARTITION BY KEY</literal> and
+ having a <literal role="type">BIT</literal> column referenced in
+ the partitioning key did not behave correctly; some rows could
+ be inserted into the wrong partition, causing wrong results to
+ be returned from queries.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="partitioning"/>
+ <manual type="DATA DIRECTORY"/>
+ <manual type="INDEX DIRECTORY"/>
+ <manual type="Windows"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="30459"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Using the DATA DIRECTORY and INDEX DIRECTORY options for
+ partitions with CREATE TABLE or ALTER TABLE statements appeared
+ to work on Windows, although they are not supported by MySQL on
+ Windows systems, and subsequent attempts to use the tables
+ referenced caused errors. Now these options are disabled on
+ Windows, and attempting to use them generates a warning.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="partitioning"/>
+ <manual type="ALTER TABLE"/>
+ <manual type="ENGINE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="31931"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Currently, all partitions of a partitioned table must use the
+ same storage engine. One may optinally specify the storage
+ engine on a per-partition basis; however, where this is the
+ done, the storage engine must be the same as used by the table
+ as a whole. <literal role="stmt">ALTER TABLE</literal> did not
+ enforce these rules correctly, the result being that incaccurate
+ error messages were shown when trying to use the statement to
+ change the storage engine used by an individual partition or
+ partitions.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="partitioning"/>
+ <manual type="ALTER TABLE DROP PARTITION"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32943"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ When <literal>ALTER TABLE DROP PARTITION</literal> was executed
+ on a table on which there was a trigger, the statement failed
+ with an error. This occurred even if the trigger did not
+ reference any tables.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="partitioning"/>
+ <manual type="BIT"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34358"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ In some cases, matching rows from a partitioned
+ <literal>MyISAM</literal> using a
+ <literal role="type">BIT</literal> column as the primary key
+ were not found by queries.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="partitioning"/>
+ <manual type="InnoDB"/>
+ <manual type="innodb_file_per_table"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33429"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Enabling <literal>innodb_file_per_table</literal> produced
+ problems with partitioning and tablespace operations on
+ partitioned <literal>InnoDB</literal> tables, in some cases
+ leading to corrupt partitions or causing the server to crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="replication"/>
+ <manual type="MASTER_POS_WAIT()"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="26622"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.60"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal>MASTER_POS_WAIT()</literal> did not return
+ <literal>NULL</literal> when the server was not a slave.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="replication"/>
+ <manual type="CHANGE MASTER TO"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34686"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24-ndb-6.3.13"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ A <literal role="stmt">CHANGE MASTER TO</literal> statement with
+ no <literal>MASTER_HEARTBEAT_PERIOD</literal> option failed to
+ reset the heartbeat period to its default value.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="replication"/>
+ <manual type="errors"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="31316"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Errors due to server ID conflicts were reported only in the
+ slave's error log; now these errors are also shown in the
+ <literal>Server_IO_State</literal> column in the output of
+ <literal role="stmt">SHOW SLAVE STATUS</literal>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="replication"/>
+ <manual type="mysqlbinlog"/>
+ <manual type="auto_increment_increment"/>
+ <manual type="auto_increment_offset"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34732"/>
+ <seealsobug bugid="31168"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <command>mysqlbinlog</command> did not output the values of
+ <literal role="sysvar">auto_increment_increment</literal> and
+ <literal role="sysvar">auto_increment_offset</literal> when both
+ were equal to their default values (for both of these variables,
+ the default is 1). This meant that a binary log recorded by a
+ client using the defaults for both variables and then replayed
+ on another client using its own values for either or both of
+ these variables produced erroneous results.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="replication"/>
+ <manual type="ROLLBACK"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33329"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.60"/>
+ <version ver="5.1.24"/>
+ </versions>
+
+ <message>
+
+ <para>
+ An extraneous
+ <literal role="stmt" condition="commit">ROLLBACK</literal>
+ statement was written to the binary log by a connection that did
+ not use any transactional tables.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <highlight type="replication"/>
+ <manual type="system variables"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="31168"/>
+ <seealsobug bugid="34732"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ When running the server with
+ <option>--binlog-format=MIXED</option> or
+ <option>--binlog-format=STATEMENT</option>, a query that
+ referred to a system variable used the slave's value when
+ replayed on the slave. This meant that, if the value of a system
+ variable was inserted into a table, the slave differed from the
+ master. Now, statements that refer to a system variable are
+ marked as <quote>unsafe</quote>, which means that:
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ When the server is using
+ <option>--binlog-format=MIXED</option>, the row-based
+ format is used automatically to replicate these
+ statements.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ When the server is using
+ <option>--binlog-format=STATEMENT</option>, these
+ statements produce a warning.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="replication"/>
+ <manual type="STOP SLAVE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="31024"/>
+ <seealsobug bugid="30932"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.60"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal role="stmt">STOP SLAVE</literal> did not stop
+ connection attempts properly. If the IO slave thread was
+ attempting to connect, <literal role="stmt">STOP SLAVE</literal>
+ waited for the attempt to finish, sometimes for a long period of
+ time, rather than stopping the slave immediately.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="FreeBSD"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34292"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Compiling MySQL on FreeBSD would fail due to missing definitions
+ for certain network constants.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="mysql_config"/>
+ <manual type="HP-UX"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="29645"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.60"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <command>mysql_config</command> command would output
+ <literal>CFLAGS</literal> values that were incompatible with C++
+ for the HP-UX platform.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <manual type="SHOW CREATE TABLE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33662"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The output from <literal role="stmt">SHOW CREATE TABLE</literal>
+ on a <literal>Falcon</literal> table would not include the
+ <literal>AUTO_INCREMENT</literal> value parameters.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <highlight type="partitioning"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33661"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ An <literal role="stmt">INSERT</literal> into a
+ <literal>Falcon</literal> table with partitions and an
+ auto-increment column would fail.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33531"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Using <literal>falcon_debug_mask</literal> to enable debugging
+ messages could lead to some messages not being correctly flushed
+ to the log file.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <manual type="tablespace"/>
+ <manual type="DROP TABLESPACE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33212"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Dropping a tablespace for the <literal>Falcon</literal> storage
+ engine when the specified tablespace did not exist would
+ silently succeed, instead of generating a suitable error
+ message.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34086"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ When inserting very large data sets into table using
+ <literal>INSERT INTO ... SELECT FROM</literal> on a
+ <literal>Falcon</literal> table when the value of
+ <option>falcon_page_cache_size</option> is higher than the
+ available memory. Instead of returning an error,
+ <command>mysqld</command> would crash in this instance.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33081"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Using <literal role="stmt">ALTER TABLE</literal> to convert a
+ <literal role="type">CHAR</literal> column using the
+ <literal>ucs2</literal> character set to
+ <literal role="type">VARBINARY</literal> when using a
+ <literal>Falcon</literal> table would cause a crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="NAME_CONST()"/>
+ <manual type="aggregate functions"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34749"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.60"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Using <literal>NAME_CONST()</literal> with a negative number and
+ an aggregate function caused MySQL to crash. This could also
+ have a negative impact on replication.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="TIMESTAMP"/>
+ <manual type="ON UPDATE CURRENT_TIMESTAMP"/>
+ <manual type="ON_UPDATE_NOW_FLAG"/>
+ <manual type="get_schema_column_record()"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="30081"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23"/>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ It was not possible for client applications to distinguish
+ between auto-set and auto-updated
+ <literal role="type">TIMESTAMP</literal> column values.
+ </para>
+
+ <para>
+ To rectify this problem, a new
+ <literal>ON_UPDATE_NOW_FLAG</literal> flag is set by
+ Field_timestamp constructors whenever a column should be set to
+ <literal>NOW</literal> on <literal role="stmt">UPDATE</literal>,
+ and the <literal>get_schema_column_record()</literal> function
+ now reports whether a timestamp column is set to
+ <literal>NOW</literal> on <literal role="stmt">UPDATE</literal>.
+ In addition, such columns now display <literal>on update
+ CURRENT_TIMESTAMP</literal> in the <literal>Extra</literal>
+ column in the output from <literal role="stmt">SHOW
+ COLUMNS</literal>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="DECIMAL"/>
+ <manual type="indexes"/>
+ <manual type="errors"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="25426"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Attempting to create an index with a prefix on a
+ <literal role="type">DECIMAL</literal> column appeared to
+ succeed with an inaccurate warning message. Now, this action
+ fails with the error <errortext>Incorrect prefix key; the used
+ key part isn't a string, the used length is longer than the key
+ part, or the storage engine doesn't support unique prefix
+ keys</errortext>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <manual type="strings"/>
+ <manual type="performance"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="14637"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The performance of internal functions that trim multiple spaces
+ from strings when comparing them has been improved.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <highlight type="importantchange"/>
+ <manual type="INFORMATION_SCHEMA.PARAMETERS"/>
+ <manual type="ROUTINE_TYPE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33106"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Added a <literal>ROUTINE_TYPE</literal> column to the
+ <literal role="is">INFORMATION_SCHEMA.PARAMETERS</literal>
+ table, to make it possible to distinguish like-named parameters
+ of stored routines and stored functions having the same names.
+ See <xref linkend="parameters-table"/>, for more information.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="importantchange"/>
+ <highlight type="securityfix"/>
+ <manual type="DATA DIRECTORY"/>
+ <manual type="INDEX DIRECTORY"/>
+ <manual type="MyISAM"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32167"/>
+ <cve ref="CVE-2008-2079"/>
+ <seealsobug bugid="39277"/>
+ </bugs>
+
+ <versions>
+ <version ver="4.1.24"/>
+ <version ver="4.1.25"/>
+ <version ver="5.0.60"/>
+ <version ver="5.0.66sp1"/>
+ <version ver="5.0.67"/>
+ <version ver="5.0.70"/>
+ <version ver="5.1.24"/>
+ <version ver="5.1.28"/>
+ <version ver="6.0.5"/>
+ <version ver="6.0.6"/>
+ </versions>
+
+<!--
+History of fixes for this bug:
+* Original fix applied to 4.1.24, 5.0.60, 5.1.24, 6.0.5
+* Secondary fix applied to 4.1.25, 5.0.70, 5.1.28, 6.0.6
+* Original fix applied to first Community release following 5.0.60
+ (i.e., 5.0.67)
+* Original + secondary fixes applied to 5.0.66sp1 Service Pack release
+-->
+
+ <message ver="4.1.24">
+
+ <para>
+ It was possible to circumvent privileges through the creation of
+ <literal>MyISAM</literal> tables employing the <literal>DATA
+ DIRECTORY</literal> and <literal>INDEX DIRECTORY</literal>
+ options to overwrite existing table files in the MySQL data
+ directory. Use of the MySQL data directory in <literal>DATA
+ DIRECTORY</literal> and <literal>INDEX DIRECTORY</literal>
+ pathname is now disallowed.
+ </para>
+
+ <note>
+ <para>
+ Additional fixes were made in MySQL 4.1.25.
+ </para>
+ </note>
+
+ </message>
+
+ <message ver="4.1.25">
+
+ <para>
+ Additional corrections were made for the symlink-related
+ privilege problem originally addressed in MySQL 4.1.24. The
+ original fix did not correctly handle the data directory
+ pathname if it contained symlinked directories in its path, and
+ the check was made only at table-creation time, not at
+ table-opening time later.
+ </para>
+
+ </message>
+
+ <message ver="5.0.60">
+
+ <para>
+ It was possible to circumvent privileges through the creation of
+ <literal>MyISAM</literal> tables employing the <literal>DATA
+ DIRECTORY</literal> and <literal>INDEX DIRECTORY</literal>
+ options to overwrite existing table files in the MySQL data
+ directory. Use of the MySQL data directory in <literal>DATA
+ DIRECTORY</literal> and <literal>INDEX DIRECTORY</literal>
+ pathname is now disallowed.
+ </para>
+
+ <note>
+ <para>
+ Additional fixes were made in MySQL 5.0.70.
+ </para>
+ </note>
+
+ </message>
+
+ <message ver="5.0.70">
+
+ <para>
+ Additional corrections were made for the symlink-related
+ privilege problem originally addressed in MySQL 5.0.60. The
+ original fix did not correctly handle the data directory
+ pathname if it contained symlinked directories in its path, and
+ the check was made only at table-creation time, not at
+ table-opening time later.
+ </para>
+
+ </message>
+
+ <message ver="5.0.67">
+
+ <para>
+ It was possible to circumvent privileges through the creation of
+ <literal>MyISAM</literal> tables employing the <literal>DATA
+ DIRECTORY</literal> and <literal>INDEX DIRECTORY</literal>
+ options to overwrite existing table files in the MySQL data
+ directory. Use of the MySQL data directory in <literal>DATA
+ DIRECTORY</literal> and <literal>INDEX DIRECTORY</literal>
+ pathname is now disallowed.
+ </para>
+
+<!--
+probably an "additional fixes" note should be added here when the
+next Community release after 5.0.67 is issued
+-->
+
+ </message>
+
+ <message ver="5.0.66sp1">
+
+ <para>
+ It was possible to circumvent privileges through the creation of
+ <literal>MyISAM</literal> tables employing the <literal>DATA
+ DIRECTORY</literal> and <literal>INDEX DIRECTORY</literal>
+ options to overwrite existing table files in the MySQL data
+ directory. Use of the MySQL data directory in <literal>DATA
+ DIRECTORY</literal> and <literal>INDEX DIRECTORY</literal>
+ pathname is now disallowed.
+ </para>
+
+ <para>
+ Additional corrections were made to handle the data directory
+ pathname if it contains symlinked directories in its path, and
+ to make the check both at table-creation time and at
+ table-opening time later.
+ </para>
+
+ </message>
+
+ <message ver="5.1.24">
+
+ <para>
+ It was possible to circumvent privileges through the creation of
+ <literal>MyISAM</literal> tables employing the <literal>DATA
+ DIRECTORY</literal> and <literal>INDEX DIRECTORY</literal>
+ options to overwrite existing table files in the MySQL data
+ directory. Use of the MySQL data directory in <literal>DATA
+ DIRECTORY</literal> and <literal>INDEX DIRECTORY</literal> is
+ now disallowed. This is now also true of these options when used
+ with partitioned tables and individual partitions of such
+ tables.
+ </para>
+
+ <note>
+ <para>
+ Additional fixes were made in MySQL 5.1.28.
+ </para>
+ </note>
+
+ </message>
+
+ <message ver="5.1.28">
+
+ <para>
+ Additional corrections were made for the symlink-related
+ privilege problem originally addressed in MySQL 5.1.24. The
+ original fix did not correctly handle the data directory
+ pathname if it contained symlinked directories in its path, and
+ the check was made only at table-creation time, not at
+ table-opening time later.
+ </para>
+
+ </message>
+
+ <message ver="6.0.5">
+
+ <para>
+ It was possible to circumvent privileges through the creation of
+ <literal>MyISAM</literal> tables employing the <literal>DATA
+ DIRECTORY</literal> and <literal>INDEX DIRECTORY</literal>
+ options to overwrite existing table files in the MySQL data
+ directory. Use of the MySQL data directory in <literal>DATA
+ DIRECTORY</literal> and <literal>INDEX DIRECTORY</literal> is
+ now disallowed. This is now also true of these options when used
+ with partitioned tables and individual partitions of such
+ tables.
+ </para>
+
+ <note>
+ <para>
+ Additional fixes were made in MySQL 6.0.6.
+ </para>
+ </note>
+
+ </message>
+
+ <message ver="6.0.6">
+
+ <para>
+ Additional corrections were made for the symlink-related
+ privilege problem originally addressed in MySQL 6.0.5. The
+ original fix did not correctly handle the data directory
+ pathname if it contained symlinked directories in its path, and
+ the check was made only at table-creation time, not at
+ table-opening time later.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="views"/>
+ <manual type="stored procedures"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34587"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Creating a view inside a stored procedure could lead to a crash
+ of the MySQL Server.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="prepared statements"/>
+ <manual type="cursors"/>
+ <manual type="metadata"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32265"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.58"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Executing a prepared statement associated with a materialized
+ cursor sent to the client a metadata packet with incorrect table
+ and database names. The problem occurred because the server sent
+ the name of the temporary table used by the cursor instead of
+ the table name of the original table.
+ </para>
+
+ <para>
+ The same problem occured when selecting from a view, in which
+ case the name of the table name was sent, rather than the name
+ of the view.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="prepared statements"/>
+ <manual type="LIMIT"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33851"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.58"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Passing anything other than a integer to a
+ <literal>LIMIT</literal> clause in a prepared statement would
+ fail. (This limitation was introduced to avoid replication
+ problems; for example, replicating the statement with a string
+ argument would cause a parse failure in the slave). Now,
+ arguments to the <literal>LIMIT</literal> clause are converted
+ to integer values, and these converted values are used when
+ logging the statement.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="importantchange"/>
+ <manual type="triggers"/>
+ <manual type="AFTER UPDATE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="23771"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ An <literal>AFTER UPDATE</literal> trigger was not invoked when
+ the <literal role="stmt">UPDATE</literal> did not make any
+ changes to the table for which the trigger was defined. Now
+ <literal>AFTER UPDATE</literal> triggers behave the same in this
+ regard as do <literal>BEFORE UPDATE</literal> triggers, which
+ are invoked whether the <literal role="stmt">UPDATE</literal>
+ makes any changes in the table or not.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="ALTER VIEW"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34337"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.58"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Executing an <literal role="stmt">ALTER VIEW</literal> statement
+ on a table crashed the server.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="views"/>
+ <manual type="GROUP BY"/>
+ <manual type="aggregate functions"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33049"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.60"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Under some circumstances a combination of aggregate functions
+ and <literal>GROUP BY</literal> in a
+ <literal role="stmt">SELECT</literal> query over a view could
+ lead to incorrect calculation of the result type of the
+ aggregate function. This in turn could lead to incorrect
+ results, or to crashes on debug builds of the server.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="views"/>
+ <manual type="charsets"/>
+ <manual type="collations"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32538"/>
+ <seealsobug bugid="21505"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ A view created with a string literal for one of the columns
+ picked up the connection character set, but not the collation.
+ Comparison to that field therefore used the default collation
+ for that character set, causing an error if the connection
+ collation was not compatible with the default collation. The
+ problem was caused by text literals in a view being dumped with
+ a character set introducer even when this was not necessary,
+ sometimes leading to a loss of collation information. Now the
+ character set introducer is dumped only if it was included in
+ the original query.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="ref_or_null"/>
+ <manual type="joins"/>
+ <manual type="NULL"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34945"/>
+ <introducedby bugid="12144"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.60"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ A query that performed a <literal>ref_or_null</literal> join
+ where the second table used a key having one or columns that
+ could be <literal>NULL</literal> and had a column value that was
+ <literal>NULL</literal> caused the server to crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="ROW()"/>
+ <manual type="subqueries"/>
+ <manual type="aggregate functions"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34620"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.60"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Some subqueries using an expression that included an aggregate
+ function could fail or in some cases lead to a crash of the
+ server.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="SET GLOBAL"/>
+ <manual type="innodb_commit_concurrency"/>
+ <manual type="innodb_autoextend_increment"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34223"/>
+ <regressionof bugid="31177"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.60"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Under some conditions, a <literal>SET GLOBAL
+ innodb_commit_concurrency</literal> or <literal>SET GLOBAL
+ innodb_autoextend_increment</literal> statement could fail.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="IN"/>
+ <manual type="CONCAT()"/>
+ <manual type="type conversion"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33764"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.60"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Some queries using a combination of <literal>IN</literal>,
+ <literal role="func">CONCAT()</literal>, and an implicit type
+ conversion could return an incorrect result.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="DISTINCT"/>
+ <manual type="optimization"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32942"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.60"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ For <literal>DISTINCT</literal> queries, 4.0 and 4.1 stopped
+ reading joined tables as soon as the first matching row was
+ found. However, this optimization was lost in MySQL 5.0, which
+ instead read all matching rows. This fix for this regression may
+ result in a major improvement in performance for
+ <literal>DISTINCT</literal> queries in cases where many rows
+ match.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="views"/>
+ <manual type="stored routines"/>
+ <manual type="subselects"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33389"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.60"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Certain combinations of views, subselects with outer references
+ and stored routines or triggers could cause the server to crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="NULL"/>
+ <manual type="math"/>
+ <manual type="division by 0"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="31236"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <literal>-</literal>, <literal>*</literal>, and
+ <literal>/</literal> operators and the functions
+ <literal role="func">POW()</literal> and
+ <literal role="func">EXP()</literal> could misbehave when used
+ with floating-point numbers. Previously they might return
+ <literal>+INF</literal>, <literal>-INF</literal>, or
+ <literal>NaN</literal> in cases of numeric overflow (including
+ that caused by division by zero) or when invalid arguments were
+ used. Now <literal>NULL</literal> is returned in all such cases.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="SET"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="15409"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.60"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ A <literal>SET</literal> column whose definition specified 64
+ elements could not be updated using integer values.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="prepared statements"/>
+ <manual type="views"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32890"/>
+ <seealsobug bugid="34587"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.58"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Repeated creation and deletion of views within prepared
+ statements could eventually crash the server.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="CREATE TABLE"/>
+ <manual type="SQL_MODE"/>
+ <manual type="NO_ZERO_DATE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="18834"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal role="stmt">CREATE TABLE</literal> allowed 0 as the
+ default value for a <literal role="type">TIMESTAMP</literal>
+ column when the server was running in
+ <literal>NO_ZERO_DATE</literal> mode.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="partitioning"/>
+ <manual type="Falcon"/>
+ <manual type="range scan"/>
+ <manual type="GROUP BY"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="30573"/>
+ <fixes bugid="33257"/>
+ <fixes bugid="33555"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.29"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message ver="5.1.29">
+
+ <para>
+ Ordered range scans on partitioned tables were not always
+ handled correctly. In some cases this caused some rows to be
+ returned twice. The same issue also caused <literal>GROUP
+ BY</literal> query results to be aggregated incorrectly.
+ </para>
+
+ </message>
+
+ <message ver="6.0.5">
+
+ <para>
+ When the <literal>range</literal> access method was used on a
+ partitioned <literal>Falcon</literal> table, the entire index
+ was scanned. For partitioned tables using other storage engines,
+ a related issue caused an ordered range scan to return some rows
+ twice.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="replication"/>
+ <manual type="Falcon"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33688"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ When using a transactional storage engine not using
+ statement-based logging, a duplicate key error on the master
+ caused replication to fail. This issue was first observed when
+ using the <literal>Falcon</literal> storage engine.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="compiling"/>
+ <manual type="FreeBSD"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34169"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.58"/>
+ <version ver="5.1.23-ndb-6.2.12"/>
+ <version ver="5.1.23-ndb-6.3.9"/>
+ </versions>
+
+ <message>
+
+ <para>
+ When configured with <literal>NDB</literal> support, MySQL
+ failed to compile using <command>gcc</command> 4.3 on 64bit
+ FreeBSD systems.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="compiling"/>
+ <manual type="FreeBSD"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34046"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23-ndb-6.3.9"/>
+ <version ver="5.1.24-ndb-6.2.16"/>
+ </versions>
+
+ <message>
+
+ <para>
+ When configured with <literal>NDB</literal> support, MySQL
+ failed to compile on 64bit FreeBSD systems.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="MaxBufferedEpochs"/>
+ <manual type="binlog"/>
+ </tags>
+
+ <versions>
+ <version ver="5.1.23-ndb-6.2.14"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Added the <literal>MaxBufferedEpochs</literal> data node
+ configuration parameter, which controls the maximum number of
+ unprocessed epochs by which a subscribing node can lag.
+ Subscribers which exceed this number are disconnected and forced
+ to reconnect.
+ </para>
+
+ <para>
+ See <xref linkend="mysql-cluster-ndbd-definition"/>, for more
+ information.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="clusterreplication"/>
+ <manual type="ndb-wait-connected"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34757"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23-ndb-6.2.14"/>
+ <version ver="5.1.24-ndb-6.3.13"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <option>--ndb-wait-connected</option> option caused the
+ server to wait for a partial connection plus an additional 3
+ seconds for a complete connection to the cluster. This could
+ lead to issues with setting up the binary log.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="replication"/>
+ <manual type="mysqlbinlog"/>
+ <manual type="Windows"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34355"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23-ndb-6.2.14"/>
+ <version ver="5.1.24"/>
+ </versions>
+
+ <message>
+
+ <para>
+ When the Windows version of <command>mysqlbinlog</command> read
+ 4.1 binlogs containing
+ <literal role="stmt" condition="load-data">LOAD DATA
+ INFILE</literal> statements, it output backslashes as path
+ separators, causing problems for client programs expecting
+ forward slashes. In such cases, it now converts
+ <literal>\\</literal> to <literal>/</literal> in directory
+ paths.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="SET"/>
+ <manual type="DEFAULT"/>
+ <manual type="myisam_max_sort_file_size"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33382"/>
+ <seealsobug bugid="31177"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.56"/>
+ <version ver="5.1.23-ndb-6.2.14"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal>SET GLOBAL myisam_max_sort_file_size=DEFAULT</literal>
+ set <literal>myisam_max_sort_file_size</literal> to an incorrect
+ value.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="GRANT"/>
+ <manual type="views"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33201"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.60"/>
+ <version ver="5.1.23-ndb-6.2.14"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Granting the <literal role="priv">UPDATE</literal> privilege on
+ one column of a view caused the server to crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <manual type="stack trace"/>
+ <manual type="debugging"/>
+ <manual type="gcc"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="31891"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23-ndb-6.2.14"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Formerly, when the MySQL server crashed, the generated stack
+ dump was numeric and required external tools to properly resolve
+ the names of functions. This is not very helpful to users having
+ a limited knowledge of debugging techniques. In addition, the
+ generated stack trace contained only the names of functions and
+ was formatted differently for each platform due to different
+ stack layouts.
+ </para>
+
+ <para>
+ Now it is possible to take advantage of newer versions of the
+ GNU C Library provide a set of functions to obtain and
+ manipulate stack traces from within the program. On systems that
+ use the ELF binary format, the stack trace contains important
+ information such as the shared object where the call was
+ generated, an offset into the function, and the actual return
+ address. Having the function name also makes possible the name
+ demangling of C++ functions.
+ </para>
+
+ <para>
+ The library generates meaningful stack traces on the following
+ platforms: i386, x86_64, PowerPC, IA64, Alpha, and S390. On
+ other platforms, a numeric stack trace is still produced, and
+ the use of the <command>resolve_stack_dump</command> utility is
+ still required.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="CREATE SELECT"/>
+ <manual type="DEFAULT"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="21380"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23-ndb-6.2.14"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal>CREATE ... SELECT</literal> did not always set
+ <literal>DEFAULT</literal> column values in the new table.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="routines"/>
+ <manual type="AUTOMCOMMIT"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="12713"/>
+ <seealsobug bugid="34655"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23-ndb-6.2.14"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ If a <literal role="stmt">SELECT</literal> calls a stored
+ function in a transaction, and a statement within the function
+ fails, that statement should roll back. Furthermore, if
+ <literal role="stmt" condition="commit">ROLLBACK</literal> is
+ executed after that, the entire transaction should be rolled
+ back. Before this fix, the failed statement did not roll back
+ when it failed (even though it might ultimately get rolled back
+ by a <literal role="stmt" condition="commit">ROLLBACK</literal>
+ later that rolls back the entire transaction).
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="clusterreplication"/>
+ <manual type="Solaris"/>
+ <manual type="SPARC"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="31646"/>
+ <seealsobug bugid="29549"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23"/>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Replicating <literal>NDB</literal> tables with extra
+ <literal role="type">VARCHAR</literal> columns on the master
+ caused the slave to fail.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Windows"/>
+ <manual type="Config Wizard"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="28628"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23"/>
+ <version ver="5.0.51a"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ When running the MySQL Instance Configuration Wizard, a race
+ condition could exist that would fail to connect to a newly
+ configured instance. This was because <command>mysqld</command>
+ had not completed the startup process before the next stage of
+ the installation process.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Maria"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34395"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24-maria"/>
+ </versions>
+
+ <message>
+
+ <para>
+ When creating tables not using the <literal>Maria</literal>
+ engine, it would be possible to create a table using the
+ <literal>TRANSACTIONAL</literal> option, even though this option
+ is not supported by non-<literal>Maria</literal> tables. A
+ warning will now be produced when using these options, but the
+ option will still be recorded within the options for the table
+ to allow for correct modification during
+ <literal role="stmt">ALTER TABLE</literal> operations.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="icc"/>
+ <manual type="IA64"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="31239"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.58"/>
+ <version ver="5.1.24-ndb-6.2.16"/>
+ <version ver="5.1.24-ndb-6.3.13"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Numerous <literal>NDBCLUSTER</literal> test failures occurred in
+ builds compiled using <command>icc</command> on IA64 platforms.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="Solaris"/>
+ <manual type="x86"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="19911"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24-ndb-6.2.16"/>
+ <version ver="5.1.24-ndb-6.3.13"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal role="stmt">CREATE TABLE</literal> and
+ <literal role="stmt">ALTER TABLE</literal> statements using
+ <literal>ENGINE=NDB</literal> or
+ <literal>ENGINE=NDBCLUSTER</literal> caused
+ <command>mysqld</command> to fail on Solaris 10 for x86
+ platforms.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="LCP"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34702"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23-ndb-6.2.13"/>
+ <version ver="5.1.24-ndb-6.3.13"/>
+ </versions>
+
+ <message>
+
+ <para>
+ A node failure during an initial node restart followed by
+ another node start could cause the master data node to fail,
+ because it incorrectly gave the node permission to start even if
+ the invalidated node's LCP was still running.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="mysqld"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32350"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <command>mysqldump</command> utility did not print enough
+ version information about itself at the top of its output. The
+ output now shows the same information as
+ <command>mysqldump</command> invoked with the
+ <option>-V</option> option, namely the
+ <command>mysqldump</command> version number, the MySQL server
+ version, and the distribution.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="LCP"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34596"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23-ndb-6.3.10"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Due to the reduction of the number of local checkpoints from 3
+ to 2 in MySQL Cluster NDB 6.3.8, a data node using ndbd from
+ MySQL Cluster NDB 6.3.8 or later started using a filesystem from
+ an earlier version could incorrectly invalidate local
+ checkpoints too early during the startup process, causing the
+ node to fail.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="replication"/>
+ <manual type="mysqlbinlog"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33247"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23-ndb-6.2.14"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <command>mysqlbinlog</command> failed to release all of its
+ memory after terminating abnormally.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="replication"/>
+ <highlight type="cluster"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33332"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23-ndb-6.3.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The code implementing heartbeats did not check for possible
+ errors in some circumstances; this kept the dump thread hanging
+ while waiting for heartbeats loop even though the slave was no
+ longer connected.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="replication"/>
+ <manual type="binlog"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34141"/>
+ <introducedby bugid="32407"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23-ndb-6.2.14"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <command>mysqlbinlog</command> from a 5.1 or later MySQL
+ distribution could not read binary logs generated by a 4.1
+ server when the logs contained
+ <literal role="stmt" condition="load-data">LOAD DATA
+ INFILE</literal> statements.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="replication"/>
+ <manual type="SHOW SLAVE STATUS"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34305"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.48"/>
+ <version ver="5.1.23-ndb-6.2.14"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal role="stmt">SHOW SLAVE STATUS</literal> failed when
+ slave I/O was about to terminate.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="replication"/>
+ <manual type="RBR"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32971"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23-ndb-6.2.14"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The error message generated due to lack of a default value for
+ an extra column was not sufficiently informative.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="backups"/>
+ <manual type="error messages"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="21052"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.48"/>
+ <version ver="5.1.21"/>
+ </versions>
+
+ <message>
+
+ <para>
+ When a cluster backup was terminated using the <literal>ABORT
+ BACKUP</literal> command in the management client, a misleading
+ error message <errortext>Backup aborted by application:
+ Permanent error: Internal error</errortext> was returned. The
+ error message returned in such cases now reads <errortext>Backup
+ aborted by user request</errortext>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34445"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23-ndb-6.3.9"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Cluster failures could sometimes occur when performing more than
+ three parallel takeovers during node restarts or system
+ restarts. This affected MySQL Cluster NDB
+ 6.3.<replaceable>x</replaceable> releases only.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="DataMemory"/>
+ <manual type="upgrades"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34378"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23-ndb-6.2.12"/>
+ <version ver="5.1.23-ndb-6.3.9"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Upgrades of a cluster using while a
+ <literal>DataMemory</literal> setting in excess of 16 GB caused
+ data nodes to fail.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="autocommit"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34275"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23-ndb-6.2.12"/>
+ <version ver="5.1.23-ndb-6.3.9"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Performing many SQL statements on <literal>NDB</literal> tables
+ while in <literal role="sysvar">autocommit</literal> mode caused
+ a memory leak in <command>mysqld</command>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34260"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23-ndb-6.2.12"/>
+ <version ver="5.1.23-ndb-6.3.9"/>
+ </versions>
+
+ <message>
+
+ <para>
+ In certain rare circumstances, a race condition could occur
+ between an aborted insert and a delete leading a data node
+ crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="UPDATE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34216"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23-ndb-6.2.12"/>
+ <version ver="5.1.23-ndb-6.3.9"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Multi-table updates using ordered indexes during handling of
+ node failures could cause other data nodes to fail.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34160"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.58"/>
+ <version ver="5.1.23-ndb-6.2.12"/>
+ <version ver="5.1.23-ndb-6.3.9"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The failure of a DDL statement could sometimes lead to node
+ failures when attempting to execute subsequent DDL statements.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="diskdata"/>
+ <highlight type="clusterreplication"/>
+ <manual type="UNIQUE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34118"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23-ndb-6.2.12"/>
+ <version ver="5.1.23-ndb-6.3.9"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Statements violating unique keys on Disk Data tables (such as
+ attempting to insert <literal>NULL</literal> into a <literal>NOT
+ NULL</literal> column) could cause data nodes to fail. When the
+ statement was executed from the binlog, this could also result
+ in failure of the slave cluster.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="SELECT"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34107"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.58"/>
+ <version ver="5.1.23-ndb-6.2.12"/>
+ <version ver="5.1.23-ndb-6.3.9"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Extremely long <literal role="stmt">SELECT</literal> statements
+ (where the text of the statement was in excess of 50000
+ characters) against <literal>NDB</literal> tables returned empty
+ results.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="diskdata"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33619"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23-ndb-6.2.12"/>
+ <version ver="5.1.23-ndb-6.3.9"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Updating in-memory columns of one or more rows of Disk Data
+ table, followed by deletion of these rows and re-insertion of
+ them, caused data node failures.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33534"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23-ndb-6.2.12"/>
+ <version ver="5.1.23-ndb-6.3.9"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Statements executing multiple inserts performed poorly on
+ <literal>NDB</literal> tables having
+ <literal>AUTO_INCREMENT</literal> columns.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="ndb_waiter"/>
+ <manual type="ndb_mgmd"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32025"/>
+ <seealsobug bugid="32023"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23-ndb-6.2.12"/>
+ <version ver="5.1.23-ndb-6.3.9"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <command>ndb_waiter</command> utility polled
+ <command>ndb_mgmd</command> excessively when obtaining the
+ status of cluster data nodes.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="31477"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.58"/>
+ <version ver="5.1.23-ndb-6.2.12"/>
+ <version ver="5.1.23-ndb-6.3.9"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Transaction atomicity was sometimes not preserved between reads
+ and inserts under high loads.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="backup"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="30172"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.58"/>
+ <version ver="5.1.23-ndb-6.2.12"/>
+ <version ver="5.1.23-ndb-6.3.9"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Having tables with a great many columns could cause Cluster
+ backups to fail.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <manual type="InnoDB"/>
+ </tags>
+
+ <versions>
+ <version ver="5.1.23-ndb-6.2.12"/>
+ <version ver="5.1.23-ndb-6.3.9"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Beginning with this version, MySQL Cluster NDB
+ 6.3.<replaceable>x</replaceable> releases once again include the
+ <literal>InnoDB</literal> storage engine. In order to enable
+ <literal>InnoDB</literal>, you must configure the build using
+ <option>--with-innodb</option>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="clusterreplication"/>
+ <manual type="replicate-ignore-db"/>
+ <manual type="mysql.ndb_apply_status"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="28170"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23-ndb-6.2.12"/>
+ <version ver="5.1.23-ndb-6.3.9"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Setting <option>--replicate-ignore-db=mysql</option> caused the
+ <literal>mysql.ndb_apply_status</literal> table not to be
+ replicated, breaking Cluster Replication.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="ndb_mgmd"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32023"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The management server was slow to respond when no data nodes
+ were connected to the cluster. This was most noticeable when
+ running <literal>SHOW</literal> in the management client.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="replication"/>
+ <manual type="DROP USER"/>
+ <manual type="CREATE USER"/>
+ <manual type="RENAME USER"/>
+ <manual type="binlog"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33862"/>
+ <seealsobug bugid="29749"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.56"/>
+ <version ver="5.1.23-ndb-6.2.14"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ A <literal role="stmt">CREATE USER</literal>,
+ <literal role="stmt">DROP USER</literal>, or
+ <literal role="stmt">RENAME USER</literal> statement that fails
+ on the master, or that is a duplicate of any of these
+ statements, is no longer written to the binlog; previously,
+ either of these occurrences could cause the slave to fail.
+ </para>
+
+ <para></para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="replication"/>
+ <manual type="--base64-output"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32407"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <option>--base64-output</option> option for
+ <command>mysqlbinlog</command> was not honored for all types of
+ events. This interfered in some cases with performing
+ point-in-time recovery.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="replication"/>
+ <highlight type="importantchange"/>
+ <manual type="autocommit"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="26395"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.56"/>
+ <version ver="5.1.23-ndb-6.2.14"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ When the master crashed during an update on a transactional
+ table while in <literal role="sysvar">autocommit</literal> mode,
+ the slave failed. This fix causes every transaction (including
+ <literal role="sysvar">autocommit</literal> transactions) to be
+ recorded in the binlog as starting with a
+ <literal role="stmt" condition="commit">BEGIN</literal> and
+ ending with a <literal role="stmt">COMMIT</literal> or
+ <literal role="stmt" condition="commit">ROLLBACK</literal>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="replication"/>
+ <manual type="SHOW BINLOG EVENTS"/>
+ <manual type="max_allowed_packet"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33413"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.56"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal role="stmt">SHOW BINLOG EVENTS</literal> could fail
+ when the binlog contained one or more events whose size was
+ close to the value of
+ <literal role="sysvar">max_allowed_packet</literal>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="replication"/>
+ <manual type="server_id"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="28908"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.56"/>
+ <version ver="5.1.23-ndb-6.2.14"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Setting <literal>server_id</literal> did not update its value
+ for the current session.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="replication"/>
+ <manual type="mysqlbinlog"/>
+ <manual type="comments"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32205"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.56"/>
+ <version ver="5.1.23-ndb-6.2.14"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ SQL statements containing comments using <literal>--</literal>
+ syntax were not replayable by <command>mysqlbinlog</command>,
+ even though such statements replicated correctly.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="replication"/>
+ <manual type="DROP VIEW"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="30998"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.56"/>
+ <version ver="5.1.23-ndb-6.2.14"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Issuing a <literal role="stmt">DROP VIEW</literal> statement
+ caused replication to fail if the view did not actually exist.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="importantnote"/>
+ <highlight type="replication"/>
+ <manual type="relay log"/>
+ <manual type="network connectivity"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="26489"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.56"/>
+ <version ver="5.1.23-ndb-6.2.14"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Network timeouts between the master and the slave could result
+ in corruption of the relay log. This fix rectifies a
+ long-standing replication issue when using unreliable networks,
+ including replication over wide area networks such as the
+ Internet. If you experience reliability issues and see many
+ <errortext>You have an error in your SQL syntax</errortext>
+ errors on replication slaves, we strongly recommend that you
+ upgrade to a MySQL version which includes this fix.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="replication"/>
+ <manual type="mysqlbinlog"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32580"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23-ndb-6.2.14"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ When a user variable was used inside an
+ <literal role="stmt">INSERT</literal> statement, the
+ corresponding binlog event was not written to the binlog
+ correctly.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="replication"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="31581"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23-ndb-6.2.14"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Replicating write, update, or delete events from a master
+ running MySQL 5.1.15 or earlier to a slave running 5.1.16 or
+ later caused the slave to crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <highlight type="replication"/>
+ <manual type="RBR"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="31609"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23-ndb-6.2.14"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Introduced the <literal>slave_exec_mode</literal> system
+ variable to control whether idempotent or strict mode is used
+ for replication conflict resolution. Idempotent mode suppresses
+ duplicate-key, no-key-found, and some other errors, and is
+ needed for circular replication, multi-master replication, and
+ some other complex replication setups when using MySQL Cluster.
+ Strict mode is the default.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="replication"/>
+ <manual type="RBR"/>
+ <manual type="binlog"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="27779"/>
+ <fixes bugid="32434"/>
+ <introducedby bugid="22583"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23-ndb-6.2.14"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Some older servers wrote events to the binary log using
+ different numbering from what is currently used, even though the
+ file format number in the file is the same. Slaves running MySQL
+ 5.1.18 and later could not read these binary logs properly.
+ Binary logs from these older versions now are recognized and
+ event numbers are mapped to the current numbering so that they
+ can be interpreted properly.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="replication"/>
+ <manual type="RBR"/>
+ <manual type="upgrade"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="31583"/>
+ <introducedby bugid="21842"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23-ndb-6.2.14"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message ver="5.1.23-ndb-6.2.14,5.1.24-ndb-6.3.13">
+
+ <para>
+ When using row-based replication from a master running MySQL
+ 5.1.21 or earlier to a slave running 5.1.22 or later, updates of
+ integer columns failed on the slave with <errortext>Error in
+ Unknown event: row application failed</errortext>.
+ </para>
+
+ </message>
+
+ <message ver="5.1.24">
+
+ <para>
+ When using row-based replication from a master running MySQL
+ 5.1.21 or earlier to a slave running 5.1.22 or later, updates of
+ integer columns failed on the slave with <errortext>Error in
+ Unknown event: row application failed</errortext>.
+ </para>
+
+ </message>
+
+ <message ver="6.0.5">
+
+ <para>
+ When using row-based replication from a master running MySQL
+ 6.0.3 or earlier to a slave running 6.0.4 or later, updates of
+ integer columns failed on the slave with <errortext>Error in
+ Unknown event: row application failed</errortext>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="replication"/>
+ <manual type="RBR"/>
+ <manual type="InnoDB"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32468"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23-ndb-6.2.14"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ When using row-based replication, deletes from a table with a
+ foreign key constraint failed on the slave.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="replication"/>
+ <manual type="RBR"/>
+ <manual type="PRIMARY KEY"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="31552"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23-ndb-6.2.14"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ When using row-based replication, the slave stopped when
+ attempting to delete non-existent rows from a slave table
+ without a primary key. In addition, no error was reported when
+ this occurred.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="OPTIMIZE TABLE"/>
+ </tags>
+
+ <versions>
+ <version ver="5.1.23-ndb-6.3.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal role="stmt">OPTIMIZE TABLE</literal> can now be
+ interrupted. This can be done, for example, by killing the SQL
+ thread performing the <literal>OPTIMIZE</literal> operation.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <highlight type="cluster"/>
+ </tags>
+
+ <versions>
+ <version ver="5.1.23-ndb-6.3.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Persistence of <literal>NDB</literal> tables can now be
+ controlled using the session variables
+ <literal>ndb_table_temporary</literal> and
+ <literal>ndb_table_no_logging</literal>.
+ <literal>ndb_table_no_logging</literal> causes
+ <literal>NDB</literal> tables not to be checkpointed to disk;
+ <literal>ndb_table_temporary</literal> does the same, and in
+ addition, no schema files are created.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <highlight type="cluster"/>
+ </tags>
+
+ <versions>
+ <version ver="5.1.23-ndb-6.3.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Node recovery can now be done in parallel, rather than
+ sequentially, which can result in much faster recovery times.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <highlight type="cluster"/>
+ </tags>
+
+ <versions>
+ <version ver="5.1.23-ndb-6.3.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <command>mysqld</command> option
+ <option>--ndb-batch-size</option> has been added. This allows
+ for controlling the size of batches used for running
+ transactions.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <highlight type="cluster"/>
+ </tags>
+
+ <versions>
+ <version ver="5.1.23-ndb-6.3.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Now only 2 local checkpoints are stored, rather than 3 as in
+ previous MySQL Cluster versions. This lowers disk space
+ requirements and reduces the size and number of redo log files
+ needed.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="TUP"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33739"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23-ndb-6.2.11"/>
+ <version ver="5.1.23-ndb-6.3.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Some tuple scans caused the wrong memory page to be accessed,
+ leading to invalid results. This issue could affect both
+ in-memory and Disk Data tables.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="26913"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23-ndb-6.3.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Under some circumstances, a recovering data node did not use its
+ own data, instead copying data from another node even when this
+ was not required. This in effect bypassed the optimized node
+ recovery protocol and caused recovery times to be unnecessarily
+ long.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="28298"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.58"/>
+ <version ver="5.1.23-ndb-6.2.11"/>
+ <version ver="5.1.23-ndb-6.3.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ It was possible in <filename>config.ini</filename> to define
+ cluster nodes having node IDs greater than the maximum allowed
+ value.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="backup"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="28647"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23-ndb-6.2.11"/>
+ <version ver="5.1.23-ndb-6.3.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The Cluster backup process could not detect when there was no
+ more disk space and instead continued to run until killed
+ manually. Now the backup fails with an appropriate error when
+ disk space is exhausted.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="diskdata"/>
+ <highlight type="importantchange"/>
+ <manual type="LOGFILE GROUP"/>
+ <manual type="DATAFILE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="29186"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24-ndb-6.2.16"/>
+ <version ver="5.1.23-ndb-6.3.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ It is no longer possible on 32-bit systems to issue statements
+ appearing to create Disk Data log files or data files greater
+ than 4 GB in size. (Trying to create log files or data files
+ larger than 4 GB on 32-bit systems led to unrecoverable data
+ node failures; such statements now fail with
+ <literal>NDB</literal> error 1515.)
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="TRUNCATE"/>
+ <manual type="ON DUPLICATE KEY UPDATE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="29851"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.58"/>
+ <version ver="5.1.23-ndb-6.2.11"/>
+ <version ver="5.1.23-ndb-6.3.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Issuing an <literal>INSERT ... ON DUPLICATE KEY UPDATE</literal>
+ concurrently with or following a
+ <literal role="stmt">TRUNCATE</literal> statement on an
+ <literal>NDB</literal> table failed with <literal>NDB</literal>
+ error 4350 <errortext>Transaction already aborted</errortext>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <highlight type="clusterapi"/>
+ <highlight type="importantchange"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="30271"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.58"/>
+ <version ver="5.1.23-ndb-6.2.11"/>
+ <version ver="5.1.23-ndb-6.3.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Because <literal>NDB_LE_MemoryUsage.page_size_kb</literal> shows
+ memory page sizes in bytes rather than kilobytes, it has been
+ renamed to <literal>page_size_bytes</literal>. The name
+ <literal>page_size_kb</literal> is now deprecated and thus
+ subject to removal in a future release, although it currently
+ remains supported for reasons of backward compatibility. See
+ <xref linkend="ndb-logevent-type"/>, for more information about
+ <literal>NDB_LE_MemoryUsage</literal>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="AUTO_INCREMENT"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="30417"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23-ndb-6.2.11"/>
+ <version ver="5.1.23-ndb-6.3.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The server failed to reject properly the creation of an
+ <literal>NDB</literal> table having an unindexed
+ <literal>AUTO_INCREMENT</literal> column.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="clusterapi"/>
+ <manual type="BIT"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33750"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.58"/>
+ <version ver="5.1.23-ndb-6.2.11"/>
+ <version ver="5.1.23-ndb-6.3.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ When reading a <literal>BIT(64)</literal> value using
+ <literal>NdbOperation:getValue()</literal>, 12 bytes were
+ written to the buffer rather than the expected 8 bytes.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33715"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23-ndb-6.3.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ A failure to initialize an internal variable led to sporadic
+ crashes during cluster testing.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="GCI"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33793"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23-ndb-6.2.11"/>
+ <version ver="5.1.23-ndb-6.3.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ A race condition could occur (very rarely) when the release of a
+ GCI was followed by a data node failure.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="DataMemory"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33802"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23-ndb-6.3.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal role="stmt">DROP TABLE</literal> did not free all data
+ memory. This bug was observed in MySQL Cluster NDB 6.3.7 only.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="clusterapi"/>
+ <manual type="NdbTransaction::execute()"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33895"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23-ndb-6.2.11"/>
+ <version ver="5.1.23-ndb-6.3.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Transactions containing inserts or reads would hang during
+ <literal>NdbTransaction::execute()</literal> calls made from NDB
+ API applications built against a MySQL Cluster version that did
+ not support micro-GCPs accessing a later version that supported
+ micro-GCPs. This issue was observed while upgrading from MySQL
+ Cluster NDB 6.1.23 to MySQL Cluster NDB 6.2.10 when the API
+ application built against the earlier version attempted to
+ access a data node already running the later version, even after
+ disabling micro-GCPs by setting
+ <literal>TimeBetweenEpochs</literal> equal to 0.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34005"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.58"/>
+ <version ver="5.1.23-ndb-6.2.11"/>
+ <version ver="5.1.23-ndb-6.3.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ A periodic failure to flush the send buffer by the
+ <literal>NDB</literal> TCP transporter could cause a unnecessary
+ delay of 10 ms between operations.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="clusterreplication"/>
+ <manual type="binlog"/>
+ <manual type="DDL"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34006"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23-ndb-6.3.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Consecutive DDL statements involving tables
+ (<literal role="stmt">CREATE TABLE</literal>,
+ <literal role="stmt">ALTER TABLE</literal>, and
+ <literal role="stmt">DROP TABLE</literal>) could be executed so
+ quickly that previous DDL statements upon which they depended
+ were not yet written in the binary log.
+ </para>
+
+ <para>
+ For example, if <literal>DROP TABLE foo</literal> was issued
+ immediately following <literal>CREATE TABLE foo</literal>, the
+ <literal>DROP</literal> statement could fail because the
+ <literal>CREATE</literal> had not yet been recorded.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="disk data"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34033"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23-ndb-6.2.11"/>
+ <version ver="5.1.23-ndb-6.3.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ High numbers of insert operations, delete operations, or both
+ could cause <literal>NDB</literal> error 899 (<errortext>Rowid
+ already allocated</errortext>) to occur unnecessarily.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="ndb_mgm"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="30366"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The cluster management client could not connect, and would hang
+ instead. This issue affected Mac OS X 64-bit only.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="securityfix"/>
+ <highlight type="replication"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="31611"/>
+ <cve ref="CVE-2007-6313"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23"/>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ It was possible for any connected user to issue a
+ <literal role="stmt">BINLOG</literal> statement, which could be
+ used to escalate privileges.
+ </para>
+
+ <para>
+ Use of the <literal role="stmt">BINLOG</literal> statement now
+ requires the <literal role="priv">SUPER</literal> privilege.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="MyISAM"/>
+ <manual type="DELETE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="28837"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.54"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ When doing a <literal role="stmt">DELETE</literal> on a table
+ that involved a <literal>JOIN</literal> with
+ <literal>MyISAM</literal> or <literal>MERGE</literal> tables and
+ the <literal>JOIN</literal> referred to the same table, the
+ operation could fail reporting <literal>ERROR 1030 (HY000): Got
+ error 134 from storage engine</literal>. This was because scans
+ on the table contents would change because of rows that had
+ already been deleted.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="BLOB"/>
+ <manual type="GEOMETRY"/>
+ <manual type="UNION"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="31158"/>
+ </bugs>
+
+ <versions>
+ <version ver="4.1.24"/>
+ <version ver="5.0.54"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Data in <literal role="type">BLOB</literal> or
+ <literal>GEOMETRY</literal> columns could be cropped when
+ performing a <literal>UNION</literal> query.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="GEOMETRY"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="30284"/>
+ </bugs>
+
+ <versions>
+ <version ver="4.1.24"/>
+ <version ver="5.0.54"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Tables with a <literal>GEOMETRY</literal> column could be marked
+ as corrupt if you added a non-<literal>SPATIAL</literal> index
+ on a <literal>GEOMETRY</literal> column.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="subquery"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="31048"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.54"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Many nested subqueries in a single query could led to excessive
+ memory consumption and possibly a crash of the server.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="server variables"/>
+ <manual type="Linux"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="31177"/>
+ <seealsobug bugid="6958"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.54"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Server variables could not be set to their current values on
+ Linux platforms.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="api"/>
+ <manual type="Windows"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="31868"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ When the language option was not set correctly, API programs
+ calling <literal role="cfunc">mysql_server_init()</literal>
+ crashed. This issue was observed only on Windows platforms.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="CASE"/>
+ <manual type="AND"/>
+ <manual type="OR"/>
+ <manual type="SEL_ARG"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32403"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.54"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Repeated execution of a query containing a
+ <literal>CASE</literal> expression and numerous
+ <literal>AND</literal> and <literal>OR</literal> relations could
+ crash the server. The root cause of the issue was determined to
+ be that the internal <literal>SEL_ARG</literal> structure was
+ not properly initialized when created.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="partitioning"/>
+ <manual type="DDL"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32158"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ An error in the internal function
+ <function>mysql_unpack_partition()</function> led to a fatal
+ error in subsequent calls to
+ <function>open_table_from_share()</function>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="EXPLAIN"/>
+ <manual type="Range checked for each record"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32241"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.54"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Memory corruption could occur due to large index map in
+ <literal>Range checked for each record</literal> status reported
+ by <literal>EXPLAIN SELECT</literal>. The problem was based in
+ an incorrectly calculated length of the buffer used to store a
+ hexadecimal representation of an index map, which could result
+ in buffer overrun and stack corruption under some circumstances.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="NULL"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32335"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.54"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Comparison of a <literal>BIGINT NOT NULL</literal> column with a
+ constant arithmetic expression that evaluated to NULL mistakenly
+ caused the error <errortext>Column '...' cannot be
+ null</errortext> (error 1048).
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="FEDERATED"/>
+ <manual type="VIEW"/>
+ <manual type="ORDER BY"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32374"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.54"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ An <literal>ORDER BY</literal> query on a view created using a
+ <literal>FEDERATED</literal> table as a base table caused the
+ server to crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="subquery"/>
+ <manual type="WHERE"/>
+ <manual type="syntax"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32400"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.54"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Referencing within a subquery an alias used in the
+ <literal role="stmt">SELECT</literal> list of the outer query
+ was incorrectly permitted.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="GROUP BY"/>
+ <manual type="WITH ROLLUP"/>
+ <manual type="user variable"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32482"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ A query of the form <literal>SELECT
+ @<replaceable>user_variable</replaceable> :=
+ <replaceable>constant</replaceable> AS
+ <replaceable>alias</replaceable> FROM
+ <replaceable>table</replaceable> GROUP BY
+ <replaceable>alias</replaceable> WITH ROLLUP</literal> crashed
+ the server.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="SELECT INTO OUTFILE"/>
+ <manual type="LOAD DATA INFILE"/>
+ <manual type="character sets"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32533"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.54"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Using <literal>SELECT INTO OUTFILE</literal> with 8-bit
+ <literal>ENCLOSED BY</literal> characters led to corrupted data
+ when the data was reloaded using LOAD DATA INFILE. This was
+ because <literal>SELECT INTO OUTFILE</literal> failed to escape
+ the 8-bit characters.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="BIT"/>
+ <manual type="GROUP BY"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32556"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.54"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ A <literal>SELECT ... GROUP BY
+ <replaceable>bit_column</replaceable></literal> query failed
+ with an assertion if the length of the
+ <literal role="type">BIT</literal> column used for the
+ <literal>GROUP BY</literal> was not an integer multiple of 8.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="IS NULL"/>
+ <manual type="NOT NULL"/>
+ <manual type="subquery"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32694"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.54"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ A subquery using an <literal>IS NULL</literal> check of a column
+ defined as <literal>NOT NULL</literal> in a table used in the
+ <literal>FROM</literal> clause of the outer query produced an
+ invalid result.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="securityenhancement"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32707"/>
+ </bugs>
+
+ <versions>
+ <version ver="4.1.24"/>
+ <version ver="5.0.54"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ It was possible to force an error message of excessive length
+ which could lead to a buffer overflow. This has been made no
+ longer possible as a security precaution.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="ORDER BY"/>
+ <manual type="IS NULL"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32815"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.54"/>
+ </versions>
+
+ <message>
+
+ <para>
+ An <literal>ORDER BY</literal> query using <literal>IS
+ NULL</literal> in the <literal>WHERE</literal> clause did not
+ return correct results.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="MERGE"/>
+ <manual type="FLUSH"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="30273"/>
+ <introducedby bugid="26379"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Flushing a merge table between the time it was opened and its
+ child table were actually attached caused the server to crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="incompatiblechange"/>
+ <manual type="CSV"/>
+ <manual type="NULL"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32050"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ It is no longer possible to create <literal>CSV</literal> tables
+ with <literal>NULL</literal> columns. However, for backwards
+ compatibility, you can continue to use such tables that were
+ created in previous MySQL releases.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="ndb_restore"/>
+ </tags>
+
+ <versions>
+ <version ver="5.1.23-ndb-6.3.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <command>ndb_restore</command> now supports basic
+ <firstterm>attribute promotion</firstterm>; that is, data from a
+ column of a given type can be restored to a column using a
+ <quote>larger</quote> type. For example, Cluster backup data
+ taken from a <literal role="type">SMALLINT</literal> column can
+ be restored to a <literal role="type">MEDIUMINT</literal>,
+ <literal role="type">INT</literal>, or
+ <literal role="type">BIGINT</literal> column.
+ </para>
+
+ <para>
+ For more information, see
+ <xref linkend="mysql-cluster-restore"/>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="ARCHIVE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="31833"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.5"/>
+ <version ver="5.1.23"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Using <literal>ORDER BY</literal> led to the wrong result when
+ using the <literal>ARCHIVE</literal> on a table with a
+ <literal role="type">BLOB</literal> when the table cache was
+ full. The table could also be reported as crashed after the
+ query had completed, even though the table data was intact.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="transaction_allow_batching"/>
+ </tags>
+
+ <versions>
+ <version ver="5.1.23-ndb-6.3.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ It is now possible to cause statements occurring within the same
+ transaction to be run as a batch by setting the session variable
+ <literal>transaction_allow_batching</literal> to
+ <literal>1</literal> or <literal>ON</literal>.
+ </para>
+
+ <note>
+ <para>
+ To use this feature, autocommit must be disabled.
+ </para>
+ </note>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <highlight type="clusterreplication"/>
+ <manual type="ndb_binlog_index"/>
+ <manual type="ndb-log-orig"/>
+ </tags>
+
+ <versions>
+ <version ver="5.1.22-ndb-6.3.2"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Multi-way replication failover and recovery for
+ <literal>NDB</literal> is facilitated with the introduction of
+ the <option>--ndb-log-orig</option> option. When
+ <command>mysqld</command> is started with this option, the
+ originating server ID and epoch of each binlog event is recorded
+ in the <literal>mysql.ndb_binlog_index</literal> table, which
+ now contains two additional columns
+ <literal>orig_server_id</literal> and
+ <literal>orig_epoch</literal> for storing this information. In
+ such cases, a single epoch on a slave may be represented by
+ multiple rows in the slave's
+ <literal>ndb_binlog_index</literal> table, one for each epoch as
+ it originated from a master.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="OPTIMIZE TABLE"/>
+ </tags>
+
+ <versions>
+ <version ver="5.1.23-ndb-6.3.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal role="stmt">OPTIMIZE TABLE</literal> is now supported
+ for <literal>NDB</literal> tables, subject to the following
+ limitations:
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ Only in-memory tables are supported.
+ <literal>OPTIMIZE</literal> still has no effect on Disk
+ Data tables.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Only variable-length columns are supported. However, you
+ can force columns defined using fixed-length data types to
+ be dynamic using the <literal>ROW_FORMAT</literal> or
+ <literal>COLUMN_FORMAT</literal> option with a
+ <literal role="stmt">CREATE TABLE</literal> or
+ <literal role="stmt">ALTER TABLE</literal> statement.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+ Memory reclaimed from an <literal>NDB</literal> table using
+ <literal>OPTIMIZE</literal> is generally available to the
+ cluster, and not confined to the table from which it was
+ recovered, unlike the case with memory freed using
+ <literal role="stmt">DELETE</literal>.
+ </para>
+
+ <para>
+ The performance of <literal>OPTIMIZE</literal> on
+ <literal>NDB</literal> tables can be regulated by adjusting the
+ value of the <literal>ndb_optimization_delay</literal> system
+ variable.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="ndb_mgm"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33237"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.58"/>
+ <version ver="5.1.23-ndb-6.2.10"/>
+ <version ver="5.1.23-ndb-6.3.7"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ When all data and SQL nodes in the cluster were shut down
+ abnormally (that is, other than by using <literal>STOP</literal>
+ in the cluster management client), <command>ndb_mgm</command>
+ used excessive amounts of CPU.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <highlight type="partitioning"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33061"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23-ndb-6.2.10"/>
+ <version ver="5.1.23-ndb-6.3.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ When partition pruning on an <literal>NDB</literal> table
+ resulted in an ordered index scan spanning only one partition,
+ any descending flag for the scan was wrongly discarded, causing
+ <literal>ORDER BY DESC</literal> to be treated as <literal>ORDER
+ BY ASC</literal>, <literal>MAX()</literal> to be handled
+ incorrectly, and similar problems.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="clusterreplication"/>
+ <manual type="RBR"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33375"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23"/>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ A replication slave could return <quote>garbage</quote> data
+ that was not in recognizable row format due to a problem with
+ the internal <literal>all_set()</literal> method.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="clusterreplication"/>
+ <manual type="ndb_restore"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33406"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23-ndb-6.2.11"/>
+ <version ver="5.1.23-ndb-6.3.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <command>ndb_restore -e</command> restored excessively large
+ values to the <literal>ndb_apply_status</literal> table's
+ <literal>epoch</literal> column when restoring to a MySQL
+ Cluster version supporting Micro-GCPs from an older version that
+ did not support these.
+ </para>
+
+ <para>
+ A workaround when restoring to MySQL Cluster releases supporting
+ micro-GCPs previous to MySQL Cluster NDB 6.3.8 is to perform a
+ 32-bit shift on the <literal>epoch</literal> column values to
+ reduce them to their proper size.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="clusterreplication"/>
+ <manual type="mysql.ndb_replication"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33159"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23-ndb-6.3.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Creating the <literal>mysql.ndb_replication</literal> table with
+ the wrong number of columns for the primary key caused
+ <command>mysqld</command> to crash. Now a <literal>CREATE TABLE
+ [mysql.]ndb_replication</literal> statement that is invalid for
+ this reason fails with the error <errortext>Bad schema for
+ mysql.ndb_replication table. Message: Wrong number of primary
+ keys, expected <replaceable>number</replaceable></errortext>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <manual type="Blob"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32062"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Inserting, updating and deleting a large number of
+ <literal role="type">BLOB</literal> records in a
+ <literal>Falcon</literal> table would take significant amount of
+ time and may prevent shutdown.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="28541"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Using a temporary table within <literal>Falcon</literal> that is
+ created in a directory where the path contains a mixture of
+ upper and lower letters would fail.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="clusterreplication"/>
+ <manual type="NdbBlob"/>
+ <manual type="CREATE INDEX"/>
+ <manual type="ADD INDEX"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33142"/>
+ <seealsobug bugid="18106"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Memory was mistakenly freed for <literal>NdbBlob</literal>
+ objects when adding an index while replicating the cluster,
+ which could cause <command>mysqld</command> to crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="GCI"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32922"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23-ndb-6.2.10"/>
+ <version ver="5.1.23-ndb-6.3.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ When using micro-GCPs, if a node failed while preparing for a
+ global checkpoint, the master node would use the wrong GCI.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="SUMA"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32652"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23"/>
+ </versions>
+
+ <message>
+
+ <para>
+ A memory leak occurred if a subscription start request was
+ received by the subscription manager before the node making the
+ request was fully connected to the cluster.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="PRIMARY KEY"/>
+ <manual type="VARCHAR"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="31635"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.56"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Primary keys on variable-length columns (such as
+ <literal role="type">VARCHAR</literal>) did not work correctly.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="ndb_mgmd"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="29621"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Log event requests to <command>ndb_mgmd</command> could time
+ out, causing it to fail.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="ALTER TABLE"/>
+ <manual type="Table is full"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32670"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23-ndb-6.2.10"/>
+ <version ver="5.1.23-ndb-6.3.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Under some conditions, performing an <literal role="stmt">ALTER
+ TABLE</literal> on an <literal>NDBCLUSTER</literal> table failed
+ with a <errortext>Table is full</errortext> error, even when
+ only 25% of <literal>DataMemory</literal> was in use and the
+ result should have been a table using less memory (for example,
+ changing a <literal>VARCHAR(100)</literal> column to
+ <literal>VARCHAR(80)</literal>).
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="29139"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The error message for <literal>NDB</literal> error code 275
+ (<errortext>Out of transaction records for complete
+ phase</errortext>) was missing.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="28445"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ There was a short interval during the startup process prior to
+ the beginning of heartbeat detection such that, were an API or
+ management node to reboot or a network failure to occur, data
+ nodes could not detect this, with the result that there could be
+ a lingering connection.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="binlog"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32275"/>
+ <fixes bugid="33763"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23"/>
+ </versions>
+
+ <message>
+
+ <para>
+ When a <command>mysqld</command> acting as a cluster SQL node
+ starts the <literal>NDBCLUSTER</literal> storage engine, there
+ is a delay during which some necessary data structures cannot be
+ initialized until after it has connected to the cluster, and all
+ MySQL Cluster tables should be opened as read-only. This worked
+ correctly when the <literal>NDB</literal> binlog thread was
+ running, but when it was not running, Cluster tables were not
+ opened as read-only even when the data structures had not yet
+ been set up.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="TC"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33168"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.56"/>
+ <version ver="5.1.23"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Incorrectly handled parameters could lead to a crash in the
+ Transaction Coordinator during a node failure, causing other
+ data nodes to fail.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33206"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.56"/>
+ <version ver="5.1.23"/>
+ </versions>
+
+ <message>
+
+ <para>
+ An improperly reset internal signal was observed as a hang when
+ using events in the <literal>NDB</literal> API but could result
+ in various errors.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="data types"/>
+ <manual type="cast"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="30453"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.54"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ When casting a string value to an integer, cases where the input
+ string contained a decimal point and was long enough to overrun
+ the <literal>unsigned long long</literal> type were not handled
+ correctly. The position of the decimal point was not taken into
+ account which resulted in miscalculated numbers and incorrect
+ truncation to appropriate SQL data type limits.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="NAME_CONST()"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="27545"/>
+ <fixes bugid="32559"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.54"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Some queries using the
+ <literal role="func">NAME_CONST()</literal> function failed to
+ return either a result or an error to the client, causing it to
+ hang. This was due to the fact that there was no check to insure
+ that both arguments to this function were constant expressions.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="precision"/>
+ <manual type="FLOAT"/>
+ <manual type="CHAR"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="26788"/>
+ <seealsobug bugid="12860"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.54"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <command>mysqld</command> sometimes miscalculated the number of
+ digits required when storing a floating-point number in a
+ <literal role="type">CHAR</literal> column. This caused the
+ value to be truncated, or (when using a debug build) caused the
+ server to crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="arithmetic precision"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="24907"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.54"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ If the expected precision of an arithmetic expression exceeded
+ the maximum precision supported by MySQL, the precision of the
+ result was reduced by an unpredictable or arbitrary amount,
+ rather than to the maximum precision. In some cases, exceeding
+ the maximum supported precision could also lead to a crash of
+ the server.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="KILL"/>
+ <manual type="Mac OS X"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="19723"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Issuing an SQL <literal role="stmt">KILL</literal> of the active
+ connection caused an error on Mac OS X.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="partitioning"/>
+ <manual type="ORDER BY DESC"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="31890"/>
+ <seealsobug bugid="31001"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal>ORDER BY ... DESC</literal> did not always work
+ correctly when selecting from partitioned tables.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="partitioning"/>
+ <manual type="AUTO_INCREMENT"/>
+ <manual type="InnoDB"/>
+ <manual type="ARCHIVE"/>
+ <manual type="SHOW CREATE TABLE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32247"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal role="stmt">SHOW CREATE TABLE</literal> misreported the
+ value of <literal>AUTO_INCREMENT</literal> for partitioned
+ tables using either of the <literal>InnoDB</literal> or
+ <literal>ARCHIVE</literal> storage engines.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="partitioning"/>
+ <manual type="SET"/>
+ <manual type="GROUP BY"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32772"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ A query of the form <literal>SELECT
+ <replaceable>col1</replaceable> FROM
+ <replaceable>table</replaceable> GROUP BY (SELECT
+ <replaceable>col2</replaceable> FROM
+ <replaceable>table</replaceable> LIMIT 1);</literal> against a
+ partitioned <replaceable>table</replaceable> having a
+ <literal>SET</literal> column crashed the server.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="partitioning"/>
+ <manual type="INFORMATION_SCHEMA"/>
+ <manual type="ALTER TABLE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32178"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Selecting from
+ <literal role="is">INFORMATION_SCHEMA.PARTITIONS</literal> while
+ partition management statements (for example, <literal>ALTER
+ TABLE ... ADD PARTITION</literal>) were executing caused the
+ server to crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="LCP"/>
+ <manual type="backup"/>
+ <manual type="ndb_restore"/>
+ </tags>
+
+ <versions>
+ <version ver="5.1.23-ndb-6.3.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Compressed local checkpoints and backups are now supported,
+ resulting in a space savings of 50% or more over uncompressed
+ LCPs and backups. Cmpression of these can be enabled in the
+ <filename>config.ini</filename> file using the two new data node
+ configuration parameters <literal>CompressedLCP</literal> and
+ <literal>CompressedBackup</literal>, respectively.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="partitioning"/>
+ <manual type="ALTER TABLE"/>
+ <manual type="COALESCE PARTITION"/>
+ <manual type="PARTITION BY HASH"/>
+ <manual type="PARTITION BY KEY"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="30822"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal>ALTER TABLE ... COALESCE PARTITION</literal> on a table
+ partitioned by <literal>[LINEAR] HASH</literal> or
+ <literal>[LINEAR] KEY</literal> caused the server to crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="partitioning"/>
+ <manual type="MAXVALUE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="29258"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ It was not possible to insert the greatest possible value for a
+ given data type into a partitioned table. For example, consider
+ a table defined as shown here:
+<programlisting>
+CREATE TABLE t (c BIGINT UNSIGNED)
+ PARTITION BY RANGE(c) (
+ PARTITION p0 VALUES LESS THAN MAXVALUE
+ );
+</programlisting>
+ The largest possible value for a <literal>BIGINT
+ UNSIGNED</literal> column is 18446744073709551615, but the
+ statement <literal>INSERT INTO t VALUES
+ (18446744073709551615);</literal> would fail, even though the
+ same statement succeeded were <literal>t</literal> not a
+ partitioned table.
+ </para>
+
+ <para>
+ In other words, <literal>MAXVALUE</literal> was treated as being
+ equal to the greatest possible value, rather than as a least
+ upper bound.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="partitioning"/>
+ <manual type="Falcon"/>
+ <manual type="LIKE"/>
+ <manual type="PARTITION BY KEY"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="30480"/>
+ <seealsobug bugid="29320"/>
+ <seealsobug bugid="29493"/>
+ <seealsobug bugid="30563"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message ver="5.1.23">
+
+ <para>
+ <literal>LIKE</literal> queries on tables partitioned by
+ <literal>KEY</literal> and using third-party storage engines
+ could return incomplete results.
+ </para>
+
+ </message>
+
+ <message ver="6.0.5">
+
+ <para>
+ <literal>LIKE</literal> queries on tables partitioned by
+ <literal>KEY</literal> could return incomplete results. The
+ problem was observed with the <literal>Falcon</literal> storage
+ engine, but could affect third-party storage engines as well.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="partitioning"/>
+ <manual type="foreign keys"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32948"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ It was possible to partition a table to which a foreign key
+ referred.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <highlight type="importantchange"/>
+ <manual type="AUTO_INCREMENT"/>
+ <manual type="ndb_autoincrement_prefetch_sz"/>
+ <manual type="INSERT IGNORE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="25176"/>
+ <fixes bugid="31956"/>
+ <fixes bugid="32055"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.56"/>
+ <version ver="5.1.23"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal>AUTO_INCREMENT</literal> columns had the following
+ problems when used in <literal>NDB</literal> tables:
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ The <literal>AUTO_INCREMENT</literal> counter was not
+ updated correctly when such a column was updated.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <literal>AUTO_INCREMENT</literal> values were not
+ prefetched beyond statement boundaries.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <literal>AUTO_INCREMENT</literal> values were not handled
+ correctly with <literal>INSERT IGNORE</literal>
+ statements.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ After being set,
+ <literal>ndb_autoincrement_prefetch_sz</literal> showed a
+ value of 1, regardless of the value it had actually been
+ set to.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+ As part of this fix, the behavior of
+ <literal>ndb_autoincrement_prefetch_sz</literal> has changed.
+ Setting this to less than 32 no longer has any effect on
+ prefetching within statements (where IDs are now always obtained
+ in batches of 32 or more), but only between statements. The
+ default value for this variable has also changed, and is now
+ <literal>1</literal>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Solaris"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="31268"/>
+ <fixes bugid="33126"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Building a 64-bit binary with support for the
+ <literal>Falcon</literal> storage engine using
+ <command>gcc</command> on Solaris could fail. See
+ <xref linkend="installing-source"/>, for more information.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <manual type="Falcon"/>
+ <highlight type="incompatiblechange"/>
+ </tags>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Because of a change in the format of the
+ <literal>Falcon</literal> pages stored within
+ <literal>Falcon</literal> database files,
+ <literal>Falcon</literal> databases created in MySQL 6.0.4 (or
+ later) are not compatible with previous releases, and existing
+ <literal>Falcon</literal> databases are incompatible with MySQL
+ 6.0.4 (and later versions. You should dump
+ <literal>Falcon</literal> databases using
+ <command>mysqldump</command> before upgrading, and then reload
+ them after the upgrade. For more information, see
+ <xref linkend="mysqldump"/>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="28519"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Under heavy load when updating <literal>Falcon</literal> tables,
+ a race condition could occur that would ultimately result in a
+ crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <highlight type="replication"/>
+ <manual type="RBR"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="31671"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal>Falcon</literal> tables would fail during replication
+ if ROW-based replication was specified.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32413"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal>Falcon</literal> options to set the limits of memory
+ usage would not be honored. This could lead to crashes and
+ assertions during normal usage, instead of generating a suitable
+ warning.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="29870"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Running the <command>sqlbench</command> test suite against
+ <literal>Falcon</literal> would cause a crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32862"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Using <literal>Falcon</literal> when accessing multiple versions
+ of the same record, certain records could fail to be retrieved
+ from the record cache, causing an assertion failure.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <manual type="LOAD DATA INFILE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="29081"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ When loading large data sets using
+ <literal role="stmt" condition="load-data">LOAD DATA
+ INFILE</literal> into a <literal>Falcon</literal> table, the
+ server could crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <manual type="ALTER TABLE"/>
+ <manual type="OPTIMIZE PARTITION"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="30826"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Running <literal>ALTER TABLE ... OPTIMIZE PARTITION</literal> on
+ a <literal>Falcon</literal> table, a 'divide by zero' error
+ would be reported during a server crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="27426"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Searching a <literal>Falcon</literal> table that uses
+ <literal role="type">DATETIME</literal> columns with an index
+ could return incorrect results.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="29151"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Inserting information into the same table from multiple threads
+ could cause duplicate key errors. This was related to the
+ changes made to allow compatibility with the
+ <literal>InnoDB</literal> repeatable-read isolation level. The
+ option, <option>falcon_innodb_compatibility</option>, has been
+ renamed to <option>falcon_consistent_read</option>, but with the
+ opposite effect. The default is for this option to be on. When
+ set to off, the behavior of <literal>Falcon</literal> is similar
+ to that in <literal>InnoDB</literal>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <manual type="InnoDB"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32829"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Converting a table from <literal>InnoDB</literal> to
+ <literal>Falcon</literal>, where the <literal>Falcon</literal>
+ table with the same name (but different case) would cause a
+ server crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <manual type="DATETIME"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="31490"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ When inserting dates into a
+ <literal role="type">DATETIME</literal> column with a
+ <literal>Falcon</literal>, the values would automatically be
+ converted with values between 70 and 99 converted to 1970-1999,
+ and values from 00 to 69 converted to 2000 to 2069. These dates
+ are now correctly handled.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="22125"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Selecting information from a <literal>Falcon</literal> table
+ using a <literal role="type">DOUBLE</literal> column with an
+ index would produce incorrect results.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="22842"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Using <literal>CREATE UNIQUE INDEX</literal> on a
+ <literal>Falcon</literal> table where rows contain duplicate
+ values could result in pending transactions to the table being
+ deleted.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32833"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Creating an index on a <literal>Falcon</literal> table with a
+ column using UTF32 that has been converted to UTF8 would cause a
+ server crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="27424"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Mixing differently cased tables between
+ <literal>MyISAM</literal> and <literal>Falcon</literal> tables
+ would cause a crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="27425"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Removing a partition on a <literal>Falcon</literal> table when
+ there are two tables with the same name, but different case,
+ would cause a crash during normal shutdown.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32301"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal>Falcon</literal> would incorrectly return the supported
+ repeatable-read level when queried by the Online Backup system,
+ preventing the ability to create a consistent snapshot backup.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <manual type="TABLESPACE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32621"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Repeatedly creating and dropping <literal>Falcon</literal>
+ tablespaces failed because the old tablespace was not dropped
+ before the new tablespace file was created.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32830"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Using <literal role="stmt">ALTER TABLE</literal> on a
+ <literal>Falcon</literal> table it would be possible to create
+ two tables with the same name but different case.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <manual type="DATE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="22168"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Creating a <literal role="type">DATE</literal> outside the
+ normal range within a <literal>Falcon</literal> table would
+ result in a zero <literal role="type">DATE</literal> value being
+ returned, even though normally invalid values would be stored
+ correctly in other storage engines.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="29823"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ When accessing the statistics in
+ <literal>INFORMATION_SCHEMA.FALCON_DATABASE_IO</literal>, the
+ information related only to the <literal>Falcon</literal>
+ database, and not to user tablespaces. The output has been
+ updated to report on all tablespaces, and the
+ <literal>DATABASE</literal> column has been renamed to
+ <literal>TABLESPACE</literal> to reflect the fact that these
+ statistics are now reported by tablespace, not by database.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="31311"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal>TABLESPACE</literal> names within
+ <literal>Falcon</literal> did not support characters outside the
+ alpha-numeric ASCII character set.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32554"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal>Falcon</literal> used a fixed index key size which was
+ too small to cope with some <literal>Falcon</literal> page
+ sizes, leading to a crash. <literal>Falcon</literal> now
+ supports variable-length index keys according to the supported
+ page sizes. See
+ <literal><link linkend="option_mysqld_falcon_page_size">falcon_page_size</link></literal>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <manual type="TRUNCATE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="22173"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Using <literal role="stmt">TRUNCATE</literal> on a
+ <literal>Falcon</literal> table did not reset the auto-increment
+ counters and used an inefficient method of deleting existing
+ data.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="22199"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Creating a new table or dropping a database on a newly created
+ <literal>Falcon</literal> database or tablespace raised an
+ error.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <manual type="AUTO_INCREMENT"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="22564"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Creating a <literal>Falcon</literal> table with an
+ auto-increment column that is not indexed as the first column in
+ a multi-column index would auto-increment. This behavior was
+ different to the behavior in both <literal>MyISAM</literal> and
+ <literal>InnoDB</literal>. <literal>Falcon</literal> now rejects
+ such tables during creation in the same way
+ <literal>InnoDB</literal> does.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <manual type="transaction"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="29452"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Using two simultaneous connections it was possible to create a
+ deadlock situation between two different active transactions on
+ the same <literal>Falcon</literal> table. There is no way to
+ prevent this, but a new parameter,
+ <option>falcon_lock_timeout</option> can set the timeout for
+ deadlocked transactions. The default timeout is 0 (timeouts are
+ disabled).
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="31005"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Using <option>falcon_serial_log_dir</option> to set the location
+ of the <literal>Falcon</literal> serial log would have no
+ effect.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32194"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Altering a <literal>Falcon</literal> table to support an auto
+ increment column on a column with existing data and null values
+ would incorrectly update the table and return an incorrect count
+ of the altered rows.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="OPTIMIZE TABLE"/>
+ <manual type="ANALYZE TABLE"/>
+ <manual type="MyISAM"/>
+ <manual type="syntax"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="30495"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.4"/>
+ <version ver="5.1.23"/>
+ <version ver="5.0.54"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The options available to the <literal role="stmt">CHECK
+ TABLE</literal> statement were also allowed in
+ <literal role="stmt">OPTIMIZE TABLE</literal> and
+ <literal role="stmt">ANALYZE TABLE</literal> statements, but
+ caused corruption during their execution. These options were
+ never supported for these statements, and an error is now raised
+ if you try to apply these options to these statements.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="MERGE"/>
+ <manual type="OPTIMIZE TABLE"/>
+ <manual type="FLUSH TABLES"/>
+ <manual type="LOCK TABLE"/>
+ <manual type="ANALYZE TABLE"/>
+ <manual type="TRUNCATE"/>
+ <manual type="REPAIR TABLE"/>
+ <highlight type="importantchange"/>
+ <highlight type="incompatiblechange"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="19627"/>
+ <fixes bugid="25038"/>
+ <fixes bugid="25700"/>
+ <fixes bugid="26377"/>
+ <fixes bugid="26379"/>
+ <fixes bugid="26867"/>
+ <fixes bugid="27660"/>
+ <fixes bugid="30275"/>
+ <fixes bugid="30491"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23"/>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ A number of problems existed in the implementation of
+ <literal>MERGE</literal> tables that could cause problems. The
+ problems are summarized below:
+ </para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ Bug #26379 - Combination of
+ <literal role="stmt" condition="flush">FLUSH TABLE</literal>
+ and <literal role="stmt">REPAIR TABLE</literal> corrupts a
+ <literal>MERGE</literal> table. This was caused in a number
+ of situations:
+ </para>
+ <orderedlist>
+
+ <listitem>
+ <para>
+ A thread trying to lock a <literal>MERGE</literal> table
+ performs busy waiting while <literal role="stmt">REPAIR
+ TABLE</literal> or a similar table administration task
+ is ongoing on one or more of its MyISAM tables.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ A thread trying to lock a <literal>MERGE</literal> table
+ performs busy waiting until all threads that did
+ <literal role="stmt">REPAIR TABLE</literal> or similar
+ table administration tasks on one or more of its MyISAM
+ tables in LOCK TABLES segments do UNLOCK TABLES. The
+ difference against problem #1 is that the busy waiting
+ takes place after the administration task. It is
+ terminated by
+ <literal role="stmt" condition="lock-tables">UNLOCK
+ TABLES</literal> only.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Two <literal role="stmt" condition="flush">FLUSH
+ TABLES</literal> within a <literal role="stmt">LOCK
+ TABLES</literal> segment can invalidate the lock. This
+ does not require a <literal>MERGE</literal> table. The
+ first <literal role="stmt" condition="flush">FLUSH
+ TABLES</literal> can be replaced by any statement that
+ requires other threads to reopen the table. In 5.0 and
+ 5.1 a single
+ <literal role="stmt" condition="flush">FLUSH
+ TABLES</literal> can provoke the problem.
+ </para>
+ </listitem>
+
+ </orderedlist>
+ </listitem>
+
+ <listitem>
+ <para>
+ Bug #26867 - Simultaneously executing
+ <literal role="stmt">LOCK TABLES</literal> and
+ <literal role="stmt">REPAIR TABLE</literal> on a
+ <literal>MERGE</literal> table would result in memory/cpu
+ hogging.
+ </para>
+ <para>
+ Trying DML on a <literal>MERGE</literal> table, which has a
+ child locked and repaired by another thread, made an
+ infinite loop in the server.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Bug #26377 - Deadlock with <literal>MERGE</literal> and
+ <literal role="stmt" condition="flush">FLUSH TABLE</literal>
+ </para>
+ <para>
+ Locking a MERGE table and its children in parent-child order
+ and flushing the child deadlocked the server.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Bug #25038 - Waiting <literal role="stmt">TRUNCATE</literal>
+ </para>
+ <para>
+ Truncating a MERGE child, while the MERGE table was in use,
+ let the truncate fail instead of waiting for the table to
+ become free.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Bug #25700 - <literal>MERGE</literal> base tables get
+ corrupted by <literal>OPTIMIZE/ANALYZE/REPAIR
+ TABLE</literal>
+ </para>
+ <para>
+ Repairing a child of an open <literal>MERGE</literal> table
+ corrupted the child. It was necessary to
+ <literal role="stmt">FLUSH</literal> the child first.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Bug #30275 - <literal>MERGE</literal> tables:
+ <literal role="stmt" condition="flush">FLUSH
+ TABLES</literal> or
+ <literal role="stmt" condition="lock-tables">UNLOCK
+ TABLES</literal> causes server to crash.
+ </para>
+ <para>
+ Flushing and optimizing locked <literal>MERGE</literal>
+ children crashed the server.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Bug #19627 - temporary merge table locking
+ </para>
+ <para>
+ Use of a temporary <literal>MERGE</literal> table with
+ non-temporary children could corrupt the children.
+ </para>
+ <para>
+ Temporary tables are never locked. Creation of tables with
+ non-temporary children of a temporary
+ <literal>MERGE</literal> table is now prohibited.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Bug #27660 - <literal>Falcon</literal>:
+ <literal>MERGE</literal> table possible
+ </para>
+ <para>
+ It was possible to create a <literal>MERGE</literal> table
+ with non-<literal>MyISAM</literal> children.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Bug #30273 - <literal>MERGE</literal> tables: Can't lock
+ file (errno: 155)
+ </para>
+ <para>
+ This was a Windows-only bug. Table administration statements
+ sometimes failed with "Can't lock file (errno: 155)".
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ <para>
+ The fix introduces the following changes in behavior:
+ </para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ This patch changes the behavior of temporary
+ <literal>MERGE</literal> tables. Temporary
+ <literal>MERGE</literal> must have temporary children. The
+ old behavior was wrong. A temporary table is not locked.
+ Hence even non-temporary children were not locked. See Bug
+ #19627.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ You cannot change the union list of a non-temporary
+ <literal>MERGE</literal> table when LOCK TABLES is in
+ effect. The following does <emphasis>not</emphasis> work:
+<programlisting>
+CREATE TABLE m1 ... ENGINE=MRG_MYISAM ...;
+LOCK TABLES t1 WRITE, t2 WRITE, m1 WRITE;
+ALTER TABLE m1 ... UNION=(t1,t2) ...;
+</programlisting>
+ However, you can do this with a temporary
+ <literal>MERGE</literal> table.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ You cannot create a <literal>MERGE</literal> table with
+ <literal>CREATE ... SELECT</literal>, neither as a temporary
+ <literal>MERGE</literal> table, nor as a non-temporary
+ <literal>MERGE</literal> table. For example, <literal>CREATE
+ TABLE m1 ... ENGINE=MRG_MYISAM ... SELECT ...;</literal>
+ causes the error message: <errortext>table is not BASE
+ TABLE</errortext>.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="mysql_install_db"/>
+ <highlight type="incompatiblechange"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="30759"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23"/>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <literal>mysql_install_db</literal> script could fail to
+ locate some components (including <command>resolveip</command>)
+ during execution if the <option>--basedir</option> option was
+ specified on the command-line or within the
+ <filename>my.cnf</filename> file. This was due to a conflict
+ when comparing the compiled-in values and the supplied values.
+ </para>
+
+ <para>
+ The <literal>--source-install</literal> command-line option to
+ the script has been removed and replaced with the
+ <literal>--srcdir</literal> option.
+ <command>mysql_install_db</command> now locates components
+ either using the compiled-in options, the
+ <option>--basedir</option> option or <option>--srcdir</option>
+ option.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="mysql"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="18431"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.52"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <literal>readline</literal> library has been updated to
+ version 5.2. This addresses issues in the
+ <command>mysql</command> client where history and editing within
+ the client would fail to work as expected.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="REGEXP"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="31081"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.54"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal role="op">REGEXP</literal> operations could cause a
+ server crash for character sets such as <literal>ucs2</literal>.
+ Now the arguments are converted to <literal>utf8</literal> if
+ possible, to allow correct results to be produced if the
+ resulting strings contain only 8-bit characters.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="optimizer"/>
+ <manual type="loose index scan"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="31639"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ For queries for which loose index scan is applicable, the
+ optimizer could choose the wrong execution plan for correlated
+ subqueries.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="SELECT INTO OUTFILE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="31663"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.52"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ For <literal>SELECT ... INTO OUTFILE</literal>, if the
+ <literal>ENCLOSED BY</literal> string is empty and the
+ <literal>FIELDS TERMINATED BY</literal> string started with a
+ special character (one of <literal>n</literal>,
+ <literal>t</literal>, <literal>r</literal>,
+ <literal>b</literal>, <literal>0</literal>,
+ <literal>Z</literal>, or <literal>N</literal>), every occurrence
+ of the character within field values would be duplicated.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="views"/>
+ <manual type="SHOW COLUMNS"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="31662"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.52"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal role="stmt">SHOW COLUMNS</literal> and
+ <literal role="stmt">DESCRIBE</literal> displayed
+ <literal>null</literal> as the column type for a view with no
+ valid definer. This caused <command>mysqldump</command> to
+ produce a non-reloadable dump file for the view.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="optimizer"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="31450"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.52"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Queries that used the <literal>ref</literal> access method or
+ index-based subquery execution over indexes that have
+ <literal role="type">DECIMAL</literal> columns could fail with
+ an error <literal>Column <replaceable>col_name</replaceable>
+ cannot be null</literal>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <manual type="WEIGHT_STRING()"/>
+ </tags>
+
+ <versions>
+ <version ver="5.2.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ A new SQL function,
+ <literal role="func">WEIGHT_STRING()</literal>, returns the
+ weight string for an input string. The weight string represents
+ the sorting and comparison value of the input string.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="BIGINT"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="30069"/>
+ </bugs>
+
+ <versions>
+ <version ver="4.1.24"/>
+ <version ver="5.0.54"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ On some 64-bit systems, inserting the largest negative value
+ into a <literal role="type">BIGINT</literal> column resulted in
+ incorrect data.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="InnoDB"/>
+ <manual type="AUTO_INCREMENT"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="31860"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23"/>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The server crashed after insertion of a negative value into an
+ <literal>AUTO_INCREMENT</literal> column of an
+ <literal>InnoDB</literal> table.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="mysql"/>
+ <manual type="show-warnings"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="25146"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23"/>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ For <command>mysql --show-warnings</command>, warnings were in
+ some cases not displayed.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="option files"/>
+ <highlight type="incompatiblechange"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="20748"/>
+ <seealsobug bugid="38180"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.54"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.4"/>
+ <version ver="5.0.66"/>
+ <version ver="5.0.67"/>
+ <version ver="5.1.28"/>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message ver="5.0.54">
+
+ <para>
+ It was possible for option files to be read twice at program
+ startup, if some of the standard option file locations turned
+ out to be the same directory. Now duplicates are removed from
+ the list of files to be read.
+ </para>
+
+ <para>
+ Also, users could not override system-wide settings using
+ <filename>~/.my.cnf</filename> because
+ <filename><replaceable>SYSCONFDIR</replaceable>/my.cnf</filename>
+ was read last. The latter file now is read earlier so that
+ <filename>~/.my.cnf</filename> can override system-wide
+ settings.
+ </para>
+
+ <para>
+ The fix for this problem had a side effect such that on Unix,
+ MySQL programs looked for options in
+ <filename>~/my.cnf</filename> rather than the standard location
+ of <filename>~/.my.cnf</filename>. That problem was addressed as
+ Bug#38180.
+ </para>
+
+ </message>
+
+ <message ver="5.1.23">
+
+ <para>
+ It was possible for option files to be read twice at program
+ startup, if some of the standard option file locations turned
+ out to be the same directory. Now duplicates are removed from
+ the list of files to be read.
+ </para>
+
+ <para>
+ Also, users could not override system-wide settings using
+ <filename>~/.my.cnf</filename> because
+ <filename><replaceable>SYSCONFDIR</replaceable>/my.cnf</filename>
+ was read last. The latter file now is read earlier so that
+ <filename>~/.my.cnf</filename> can override system-wide
+ settings.
+ </para>
+
+ <para>
+ The fix for this problem had a side effect such that on Unix,
+ MySQL programs looked for options in
+ <filename>~/my.cnf</filename> rather than the standard location
+ of <filename>~/.my.cnf</filename>. That problem was addressed as
+ Bug#38180.
+ </para>
+
+ </message>
+
+ <message ver="6.0.4">
+
+ <para>
+ It was possible for option files to be read twice at program
+ startup, if some of the standard option file locations turned
+ out to be the same directory. Now duplicates are removed from
+ the list of files to be read.
+ </para>
+
+ <para>
+ Also, users could not override system-wide settings using
+ <filename>~/.my.cnf</filename> because
+ <filename><replaceable>SYSCONFDIR</replaceable>/my.cnf</filename>
+ was read last. The latter file now is read earlier so that
+ <filename>~/.my.cnf</filename> can override system-wide
+ settings.
+ </para>
+
+ <para>
+ The fix for this problem had a side effect such that on Unix,
+ MySQL programs looked for options in
+ <filename>~/my.cnf</filename> rather than the standard location
+ of <filename>~/.my.cnf</filename>. That problem was addressed as
+ Bug#38180.
+ </para>
+
+ </message>
+
+ <message ver="5.0.66">
+
+ <para>
+ An additional correction to the original MySQL 5.0.64 fix was
+ made to normalize directory names before adding them to the list
+ of directories. This prevents <filename>/etc/</filename> and
+ <filename>/etc</filename> from being considered different, for
+ example.
+ </para>
+
+ </message>
+
+ <message ver="5.1.28">
+
+ <para>
+ An additional correction to the original MySQL 5.1.23 fix was
+ made to normalize directory names before adding them to the list
+ of directories. This prevents <filename>/etc/</filename> and
+ <filename>/etc</filename> from being considered different, for
+ example.
+ </para>
+
+ </message>
+
+ <message ver="6.0.6">
+
+ <para>
+ An additional correction to the original MySQL 6.0.4 fix was
+ made to normalize directory names before adding them to the list
+ of directories. This prevents <filename>/etc/</filename> and
+ <filename>/etc</filename> from being considered different, for
+ example.
+ </para>
+
+ </message>
+
+ <message ver="5.0.67">
+
+ <para>
+ It was possible for option files to be read twice at program
+ startup, if some of the standard option file locations turned
+ out to be the same directory. Now duplicates are removed from
+ the list of files to be read.
+ </para>
+
+ <para>
+ Also, users could not override system-wide settings using
+ <filename>~/.my.cnf</filename> because
+ <filename><replaceable>SYSCONFDIR</replaceable>/my.cnf</filename>
+ was read last. The latter file now is read earlier so that
+ <filename>~/.my.cnf</filename> can override system-wide
+ settings.
+ </para>
+
+ <para>
+ An additional correction was made to normalize directory names
+ before adding them to the list of directories. This prevents
+ <filename>/etc/</filename> and <filename>/etc</filename> from
+ being considered different, for example.
+ </para>
+
+ <para>
+ The fix for this problem had a side effect such that on Unix,
+ MySQL programs looked for options in
+ <filename>~/my.cnf</filename> rather than the standard location
+ of <filename>~/.my.cnf</filename>. That problem is addressed in
+ Bug#38180.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="latin2_czech_cs"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="29459"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.2.5"/>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Use of the <literal>latin2_czech_cs</literal> collation caused a
+ server crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="euc-kr"/>
+ <manual type="character sets"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="30315"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.54"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Some valid <literal>euc-kr</literal> characters having the
+ second byte in the ranges <literal>[0x41..0x5A]</literal> and
+ <literal>[0x61..0x7A]</literal> were rejected.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="InnoDB"/>
+ <manual type="NDBCLUSTER"/>
+ <manual type="INFORMATION_SCHEMA"/>
+ <manual type="SHOW TABLE STATUS"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="11379"/>
+ <seealsobug bugid="32440"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.21"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <literal>TABLE_COMMENT</literal> column of
+ <literal role="is">INFORMATION_SCHEMA.TABLES</literal> and the
+ <literal>Comment</literal> column in the output of
+ <literal role="stmt">SHOW TABLE STATUS</literal> displayed
+ extraneous information for <literal>InnoDB</literal> and
+ <literal>NDBCLUSTER</literal> tables.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <manual type="LOCK TABLES"/>
+ <manual type="IN SHARE MODE"/>
+ <manual type="IN EXCLUSIVE MODE"/>
+ <manual type="syntax"/>
+ </tags>
+
+ <versions>
+ <version ver="5.2.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The syntax for the <literal role="stmt">LOCK TABLES</literal>
+ statement has been extended to support transactional table locks
+ that do not commit transactions automatically. Following
+ <literal>LOCK TABLES ... IN SHARE MODE</literal> or
+ <literal>LOCK TABLES ... IN EXCLUSIVE MODE</literal>, you can
+ access tables not mentioned in the <literal role="stmt">LOCK
+ TABLES</literal> statement. You can now also issue these
+ extended <literal role="stmt">LOCK TABLES</literal> statements
+ many times in succession, adding additional tables to the locked
+ set, and without unlocking any tables that were locked
+ previously. When using <literal role="stmt">LOCK
+ TABLES</literal> with <literal>IN SHARE MODE</literal> or
+ <literal>IN EXCLUSIVE MODE</literal>, tables are not unlocked
+ until the transaction is committed.
+ </para>
+
+ <para>
+ The behavior of <literal role="stmt">LOCK TABLES</literal> when
+ not using <literal>IN SHARE MODE</literal> or <literal>IN
+ EXCLUSIVE MODE</literal> remains unchanged.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="mysql"/>
+ <manual type="comments"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="11230"/>
+ <fixes bugid="26215"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.52"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <command>mysql</command> stripped comments from statements sent
+ to the server. Now the <option>--comments</option> or
+ <option>--skip-comments</option> option can be used to control
+ whether to retain or strip comments. The default is
+ <option>--skip-comments</option>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="SPATIAL index"/>
+ <manual type="InnoDB"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32125"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.54"/>
+ <version ver="5.0.50sp1"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal>InnoDB</literal> does not support
+ <literal>SPATIAL</literal> indexes, but could crash when asked
+ to handle one. Now an error is returned.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="ssl-cipher"/>
+ <manual type="libmysqlclient"/>
+ <manual type="option files"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32429"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.54"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal>ssl-cipher</literal> values in option files were not
+ being read by <literal>libmysqlclient</literal>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="thread_handling"/>
+ <manual type="SHOW VARIABLES"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="28785"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal role="stmt">SHOW VARIABLES</literal> did not correctly
+ display the value of the <literal>thread_handling</literal>
+ system variable.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="ALTER EVENT"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="27407"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23"/>
+ </versions>
+
+ <message>
+
+ <para>
+ For an event with an <literal>ON COMPLETION</literal> value of
+ <literal>PRESERVE</literal>, an <literal role="stmt">ALTER
+ EVENT</literal> statement that specified no <literal>ON
+ COMPLETION</literal> option caused the value to become
+ <literal>NOT PRESERVE</literal>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="ALTER EVENT"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="31539"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Using <literal role="stmt">ALTER EVENT</literal> to rename a
+ disabled event caused it to become enabled.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <manual type="event-scheduler"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="31332"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23"/>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <option>--event-scheduler</option> option without a value
+ disabled the event scheduler. Now it enables the event
+ scheduler.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="mysql-test-run.pl"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="30630"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.54"/>
+ <version ver="5.0.50sp1"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <command>mysql-test-run.pl</command> could not run
+ <command>mysqld</command> with <literal>root</literal>
+ privileges.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <manual type="INFORMATION_SCHEMA"/>
+ <manual type="optimizer"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="19588"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.21"/>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal>INFORMATION_SCHEMA</literal> implementation changes
+ were made that optimize certain types of queries for
+ <literal>INFORMATION_SCHEMA</literal> tables so that they
+ execute more quickly.
+ <xref linkend="information-schema-optimization"/>, provides
+ guidelines on how to take advantage of these optimizations by
+ writing queries that minimize the need for the server to access
+ the filesystem to obtain the information contained in
+ <literal>INFORMATION_SCHEMA</literal> tables. By writing queries
+ that enable the server to avoid directory scans or opening table
+ files, you will obtain better performance.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="with-libevent"/>
+ <manual type="configure"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32156"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ When <command>configure</command> was run with
+ <literal>--with-libevent</literal>, <literal>libevent</literal>
+ was not linked statically with <command>mysqld</command>,
+ preventing <command>mysqld</command> from being run with a
+ debugger.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="KILL QUERY"/>
+ <manual type="SLEEP()"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32436"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.54"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Sending several <literal role="stmt" condition="kill">KILL
+ QUERY</literal> statements to target a connection running
+ <literal>SELECT SLEEP()</literal> could freeze the server.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="FLUSH TABLES WITH READ LOCK"/>
+ <manual type="locking"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32528"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.54"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ For <literal role="stmt" condition="flush">FLUSH TABLES WITH
+ READ LOCK</literal>, the server failed to properly detect
+ write-locked tables when running with low-priority updates,
+ resulting in a crash or deadlock.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="GROUP BY"/>
+ <manual type="WITH ROLLUP"/>
+ <manual type="NULL"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32558"/>
+ <seealsobug bugid="31095"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.54"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Use of a <literal>NULL</literal>-returning <literal>GROUP
+ BY</literal> expression in conjunction with <literal>WITH
+ ROLLUP</literal> could cause a server crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="DELETE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="29136"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.54"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ For transactional tables, an error during a multiple-table
+ <literal role="stmt">DELETE</literal> statement did not roll
+ back the statement.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <manual type="SHA2()"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="13174"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Added the <literal role="func">SHA2()</literal> function, which
+ calculates the SHA-2 family of hash functions (SHA-224, SHA-256,
+ SHA-384, and SHA-512). (Contributed by Bill Karwin)
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="DELETE"/>
+ <manual type="subqueries"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32030"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23"/>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ A <literal role="stmt">DELETE</literal> statement with a
+ subquery in the <literal>WHERE</literal> clause would sometimes
+ ignore an error during subquery evaluation and proceed with the
+ delete operation.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="user variables"/>
+ <manual type="CONCAT()"/>
+ <manual type="CONCAT_WS()"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="31898"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The server used unnecessarily large amounts of memory when user
+ variables were used as an argument to
+ <literal role="func">CONCAT()</literal> or
+ <literal role="func">CONCAT_WS()</literal>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="DATE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32021"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23"/>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Using dates in the range <literal>'0000-00-01'</literal> to
+ <literal>'0000-00-99'</literal> range in the
+ <literal>WHERE</literal> clause could result in an incorrect
+ result set. (These dates are not in the supported range for
+ <literal role="type">DATE</literal>, but different results for a
+ given query could occur depending on position of records
+ containing the dates within a table.)
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <manual type="C API"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="31952"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The C API contained several undocumented functions that have
+ been removed:
+ <function>mysql_disable_reads_from_master()</function>,
+ <function>mysql_disable_rpl_parse()</function>,
+ <function>mysql_enable_reads_from_master()</function>,
+ <function>mysql_enable_rpl_parse()</function>,
+ <function>mysql_master_query()</function>,
+ <function>mysql_master_send_query()</function>,
+ <function>mysql_reads_from_master_enabled()</function>,
+ <function>mysql_rpl_parse_enabled()</function>,
+ <function>mysql_rpl_probe()</function>,
+ <function>mysql_rpl_query_type()</function>,
+ <function>mysql_set_master()</function>,
+ <function>mysql_slave_query()</function>, and
+ <function>mysql_slave_send_query()</function>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="INTERVAL()"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32560"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.54"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <literal role="func">INTERVAL()</literal> function
+ incorrectly handled <literal>NULL</literal> values in the value
+ list.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="read_only"/>
+ <manual type="CREATE DATABASE"/>
+ <manual type="DROP DATABASE"/>
+ <manual type="SUPER"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="27440"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.56"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ With the <literal>read_only</literal> system variable enabled,
+ <literal role="stmt">CREATE DATABASE</literal> and
+ <literal role="stmt">DROP DATABASE</literal> were allowed to
+ users who did not have the <literal role="priv">SUPER</literal>
+ privilege.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="CREATE TABLE LIKE"/>
+ <manual type="INFORMATION_SCHEMA"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="25629"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal>CREATE TABLE LIKE</literal> did not work when the
+ source table was an <literal>INFORMATION_SCHEMA</literal> table.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="CREATE TABLE LIKE"/>
+ <manual type="libmysqld"/>
+ <manual type="lower_case_table_names"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32063"/>
+ </bugs>
+
+ <versions>
+ <version ver="4.1.24"/>
+ <version ver="5.0.54"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ With <literal role="sysvar">lower_case_table_names</literal>
+ set, <literal>CREATE TABLE LIKE</literal> was treated
+ differently by <literal>libmysqld</literal> than by the
+ non-embedded server.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="TEXT"/>
+ <manual type="warnings"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32282"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.54"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Assigning a 65,536-byte string to a
+ <literal role="type">TEXT</literal> column (which can hold a
+ maximum of 65,535 bytes) resulted in truncation without a
+ warning. Now a truncation warning is generated.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="SQL mode"/>
+ <manual type="DATE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="31928"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.54"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Changing the SQL mode to cause dates with <quote>zero</quote>
+ parts to be considered invalid (such as
+ <literal>'1000-00-00'</literal>) could result in indexed and
+ non-indexed searches returning different results for a column
+ that contained such dates.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <manual type="mysql_odbc_escape_string()"/>
+ <manual type="C API"/>
+ <manual type="SQL injection"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="29592"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.54"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <function>mysql_odbc_escape_string()</function> C API
+ function has been removed. It has multi-byte character escaping
+ issues, doesn't honor the
+ <literal>NO_BACKSLASH_ESCAPES</literal> SQL mode and is not
+ needed anymore by Connector/ODBC as of 3.51.17.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="INTERVAL()"/>
+ <manual type="parser"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="22312"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The parser treated the <literal role="func">INTERVAL()</literal>
+ function incorrectly, leading to situations where syntax errors
+ could result depending on which side of an arithmetic operator
+ the function appeared.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="KILL"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32148"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Killing a statement could lead to a race condition in the
+ server.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <highlight type="incompatiblechange"/>
+ <manual type="Unicode"/>
+ <manual type="utf8"/>
+ <manual type="utf8mb3"/>
+ <manual type="utf16"/>
+ <manual type="utf32"/>
+ <manual type="ucs2"/>
+ <manual type="UTF-8"/>
+ <manual type="UTF-16"/>
+ <manual type="UTF-32"/>
+ <manual type="UCS-2"/>
+ </tags>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The Unicode implementation has been extended to provide support
+ for supplementary characters that lie outside the Basic
+ Multilingual Plane (BMP). Noteworthy features:
+ </para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ <literal>utf16</literal> and <literal>utf32</literal>
+ character sets have been added. These correspond to the
+ UTF-16 and UTF-32 encodings of the Unicode character set,
+ and they both support supplementary characters.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ The <literal>utf8</literal> character set from previous
+ versions of MySQL has been renamed to
+ <literal>utf8mb3</literal>, to reflect that its encoding
+ uses a maximum of three bytes for multi-byte characters.
+ (Old tables that previously used <literal>utf8</literal>
+ will be reported as using <literal>utf8mb3</literal> after
+ an in-place upgrade to MySQL 6.0, but otherwise work as
+ before.)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ The new <literal>utf8</literal> character set in MySQL 6.0
+ is similar to <literal>utf8mb3</literal>, but its encoding
+ allows up to four bytes per character to enable support for
+ supplementary characters.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ The <literal>ucs2</literal> character set is essentially
+ unchanged except for the inclusion of some newer BMP
+ characters.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ <para>
+ In most respects, upgrading from MySQL 5.1 to 6.0 should present
+ few problems with regard to Unicode usage, although there are
+ some potential areas of incompatibility. Some examples:
+ </para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ For the variable-length character data types
+ (<literal role="type">VARCHAR</literal> and the
+ <literal role="type">TEXT</literal> types), the maximum
+ length in characters for <literal>utf8</literal> columns is
+ less in MySQL 6.0 than previously.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ For all character data types
+ (<literal role="type">CHAR</literal>,
+ <literal role="type">VARCHAR</literal>, and the
+ <literal role="type">TEXT</literal> types), the maximum
+ number of characters for <literal>utf8</literal> columns
+ that can be indexed is less in MySQL 6.0 than previously.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ <para>
+ Consequently, if you want to upgrade tables from the old
+ <literal>utf8</literal> (now <literal>utf8mb3</literal>) to the
+ current <literal>utf8</literal>, it may be necessary to change
+ some column or index definitions.
+ </para>
+
+ <para>
+ For additional details about the new Unicode character sets and
+ potential incompatibilities, see
+ <xref linkend="charset-unicode"/>, and
+ <xref linkend="charset-unicode-upgrading"/>.
+ </para>
+
+ <para>
+ If you use events, a known issue is that if you upgrade from
+ MySQL 5.1 to 6.0.4 though 6.0.6, the event scheduler will not
+ work, even after you run <command>mysql_upgrade</command>. (This
+ is an issue only for an upgrade, not for a new installation of
+ MySQL 6.0.x.) As of MySQL 6.0.7,
+ <command>mysql_upgrade</command> handles upgrading the system
+ tables properly. If you upgrade to 6.0.4 through 6.0.6, you can
+ work around this upgrading problem by using these instructions:
+ </para>
+
+ <orderedlist>
+
+ <listitem>
+ <para>
+ In MySQL 5.1, before upgrading, create a dump file
+ containing your <literal>mysql.event</literal> table:
+ </para>
+<programlisting>
+shell> <userinput>mysqldump -uroot -p mysql event > event.sql</userinput>
+</programlisting>
+ </listitem>
+
+ <listitem>
+ <para>
+ Stop the server, upgrade to MySQL 6.0, and start the server.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Recreate the <literal>mysql.event</literal> table using the
+ dump file:
+ </para>
+<programlisting>
+shell> <userinput>mysql -uroot -p mysql < event.sql</userinput>
+</programlisting>
+ </listitem>
+
+ <listitem>
+ <para>
+ Run <command>mysql_upgrade</command> to upgrade the other
+ system tables in the <literal>mysql</literal> database:
+ </para>
+<programlisting>
+shell> <userinput>mysql_upgrade -uroot -p</userinput>
+</programlisting>
+ </listitem>
+
+ <listitem>
+ <para>
+ Restart the server. The event scheduler should run normally.
+ </para>
+ </listitem>
+
+ </orderedlist>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="ucs2"/>
+ <manual type="character_set_client"/>
+ <manual type="SET NAMES"/>
+ <manual type="SET CHARACTER SET"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="31615"/>
+ </bugs>
+
+ <versions>
+ <version ver="4.1.24"/>
+ <version ver="5.0.54"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal>ucs2</literal> does not work as a client character set,
+ but attempts to use it as such were not rejected. Now
+ <literal role="sysvar">character_set_client</literal> cannot be
+ set to <literal>ucs2</literal>. This also affects statements
+ such as <literal>SET NAMES</literal> and <literal>SET CHARACTER
+ SET</literal>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <bugs>
+ <fixes bugid="32514"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.52"/>
+ <version ver="5.0.50sp1"/>
+ </versions>
+
+ <message>
+
+ <para>
+ A build problem introduced in MySQL 5.0.52 was resolved: The x86
+ 32-bit Intel <command>icc</command>-compiled server binary had
+ unwanted dependences on Intel <command>icc</command> runtime
+ libraries.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="LOCK TABLES"/>
+ <manual type="CREATE TRIGGER"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="23713"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ A <literal role="stmt">CREATE TRIGGER</literal> statement could
+ cause a deadlock or server crash if it referred to a table for
+ which a table lock had been acquired with
+ <literal role="stmt">LOCK TABLES</literal>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="FLUSH TABLES WITH READ LOCK"/>
+ <manual type="ALTER TABLE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32395"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ If a global read lock acquired with
+ <literal role="stmt" condition="flush">FLUSH TABLES WITH READ
+ LOCK</literal> was in effect, executing
+ <literal role="stmt">ALTER TABLE</literal> could cause a server
+ crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="HANDLER"/>
+ <manual type="FLUSH TABLES"/>
+ <manual type="DROP TABLE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="31397"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ For a table that had been opened with
+ <literal role="stmt">HANDLER</literal> and marked for reopening
+ after being closed with
+ <literal role="stmt" condition="flush">FLUSH TABLES</literal>,
+ <literal role="stmt">DROP TABLE</literal> did not properly
+ discard the handler.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="CREATE TABLE LIKE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="31479"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.54"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Killing a <literal>CREATE TABLE ... LIKE</literal> statement
+ that was waiting for a name lock caused a server crash. When the
+ statement was killed, the server attempted to release locks that
+ were not held.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="mysql"/>
+ <manual type="Unicode"/>
+ <manual type="byte order mark"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="29323"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.54"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <command>mysql</command> client program now ignores Unicode
+ byte order mark (BOM) characters at the beginning of input
+ files. Previously, it read them and sent them to the server,
+ resulting in a syntax error.
+ </para>
+
+ <para>
+ Presence of a BOM does not cause <command>mysql</command> to
+ change its default character set. To do that, invoke
+ <command>mysql</command> with an option such as
+ <option>--default-character-set=utf8</option>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="DATE"/>
+ <manual type="DATETIME"/>
+ <manual type="optimizer"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32198"/>
+ <seealsobug bugid="27590"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.54"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ For comparisons of the form <replaceable>date_col OP
+ datetime_const</replaceable> (where
+ <replaceable>OP</replaceable> is
+ <literal role="op" condition="equal">=</literal>,
+ <literal role="op" condition="less-than"><</literal>,
+ <literal role="op" condition="greater-than">></literal>,
+ <literal role="op" condition="less-than-or-equal"><=</literal>,
+ or
+ <literal role="op" condition="greater-than-or-equal">>=</literal>),
+ the comparison is done using
+ <literal role="type">DATETIME</literal> values, per the fix for
+ Bug#27590. However that fix caused any index on
+ <replaceable>date_col</replaceable> not to be used and
+ compromised performance. Now the index is used again.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <manual type="MyISAM"/>
+ <manual type="logging"/>
+ <manual type="table corruption"/>
+ </tags>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ When the server detects <literal>MyISAM</literal> table
+ corruption, it now writes additional information to the error
+ log, such as the name and line number of the source file, and
+ the list of threads accessing the table. Example: <literal>Got
+ an error from thread_id=1, mi_dynrec.c:368</literal>. This is
+ useful information to include in bug reports.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="CREATE TABLE ... SELECT"/>
+ <manual type="privileges"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="20901"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ It was possible to execute <literal>CREATE TABLE t1 ... SELECT
+ ... FROM t2</literal> with the
+ <literal role="priv">CREATE</literal> privilege for
+ <literal>t1</literal> and <literal role="priv">SELECT</literal>
+ privilege for <literal>t2</literal>, even in the absence of the
+ <literal role="priv">INSERT</literal> privilege for
+ <literal>t1</literal>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="parser"/>
+ <manual type="out of memory"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="31153"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.54"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The server crashed in the parser when running out of memory.
+ Memory handling in the parser has been improved to gracefully
+ return an error when out-of-memory conditions occur in the
+ parser.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="grant tables"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32219"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.52"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The default grant tables on Windows contained information for
+ host <literal>production.mysql.com</literal>, which should not
+ be there.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="mysqlslap"/>
+ <manual type="RPM"/>
+ <manual type="Linux"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32077"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <command>mysqlslap</command> was missing from the MySQL 5.1.22
+ Linux RPM packages.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="SHOW EVENTS"/>
+ <manual type="INFORMATION_SCHEMA"/>
+ <manual type="EVENTS"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32775"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal role="stmt">SHOW EVENTS</literal> and selecting from
+ the <literal role="is">INFORMATION_SCHEMA.EVENTS</literal> table
+ failed if the current database was
+ <literal>INFORMATION_SCHEMA</literal>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <manual type="INFORMATION_SCHEMA"/>
+ <manual type="EVENTS"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="29830"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <literal>LAST_EXECUTED</literal> column of the
+ <literal role="is">INFORMATION_SCHEMA.EVENTS</literal> table now
+ indicates when the event started executing rather than when it
+ finished executing. As a result, the <literal>ENDS</literal>
+ column is never less than <literal>LAST_EXECUTED</literal>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <manual type="mysqlmanager"/>
+ <manual type="Instance Manager"/>
+ </tags>
+
+ <versions>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The Instance Manager (<command>mysqlmanager</command>) has been
+ discontinued and is no longer provided in MySQL releases.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="InnoDB"/>
+ <manual type="locking"/>
+ <manual type="transactions"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="31444"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23"/>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal>InnoDB</literal> now tracks locking and use of tables
+ by MySQL only after a table has been successfully locked on
+ behalf of a transaction. Previously, the locked flag was set and
+ the table in-use counter was updated before checking whether the
+ lock on the table succeeded. A subsequent failure in obtaining a
+ lock on the table led to an inconsistent state as the table was
+ neither locked nor in use.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="mysql"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33057"/>
+ <seealsobug bugid="11230"/>
+ <seealsobug bugid="26215"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.56"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The fix for Bug#11230 and Bug#26215 introduced a significant
+ input-parsing slowdown for the <command>mysql</command> client.
+ This has been corrected.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="mysqlclient.lib"/>
+ <manual type="yaSSL"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="27861"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.48"/>
+ <version ver="5.0.51"/>
+ <version ver="5.1.22"/>
+ </versions>
+
+ <message>
+
+ <para>
+ On Windows, symbols for yaSSL and taocrypt were missing from
+ <filename>mysqlclient.lib</filename>, resulting in unresolved
+ symbol errors for clients linked against that library.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="InnoDB"/>
+ <manual type="triggers"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="31540"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23"/>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Spurious duplicate-key errors could occur for multiple-row
+ inserts into an <literal>InnoDB</literal> table that activate a
+ trigger.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Windows"/>
+ <manual type="symbolic links"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="26811"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Symbolic links on Windows could fail to work.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="UNION"/>
+ <manual type="subqueries"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32036"/>
+ <fixes bugid="32051"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.54"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Within a subquery, <literal>UNION</literal> was handled
+ differently than at the top level, which could result in
+ incorrect results or a server crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <highlight type="partitioning"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="22972"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal>Falcon</literal> cannot drop a table for which there is
+ a pending transaction, but the error message for such attempts
+ was misleading.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="CASE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="30782"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.54"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Improper calculation of <literal role="op">CASE</literal>
+ expression results could lead to value truncation.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="cp932"/>
+ <manual type="CAST()"/>
+ <manual type="ORDER BY"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32726"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.54"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Use of the <literal>cp932</literal> character set with
+ <literal role="func">CAST()</literal> in an <literal>ORDER
+ BY</literal> clause could cause a server crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="identifiers"/>
+ <manual type="views"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32496"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.52"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The rules for valid column names were being applied differently
+ for base tables and views.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="DATE_ADD()"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32180"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.54"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal role="type">DATETIME</literal> arguments specified in
+ numeric form were treated by
+ <literal role="func">DATE_ADD()</literal> as
+ <literal role="type">DATE</literal> values.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="tests"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32221"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.54"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Various test program cleanups were made: 1)
+ <command>mytest</command> and <literal>libmysqltest</literal>
+ were removed. 2) <command>bug25714</command> displays an error
+ message when invoked with incorrect arguments or the
+ <option>--help</option> option. 3)
+ <command>mysql_client_test</command> exits cleanly with a proper
+ error status.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="HOUR()"/>
+ <manual type="MINUTE()"/>
+ <manual type="SECOND()"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="31990"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.56"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal role="func">HOUR()</literal>,
+ <literal role="func">MINUTE()</literal>, and
+ <literal role="func">SECOND()</literal> could return non-zero
+ values for <literal role="type">DATE</literal> arguments.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="INSERT"/>
+ <manual type="DELAYED"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32676"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.54"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Specifying a non-existent column for an <literal>INSERT
+ DELAYED</literal> statement caused a server crash rather than
+ producing an error.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="libmysqld"/>
+ <manual type="CLIENT_MULTI_QUERIES"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32624"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.54"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Use of <literal>CLIENT_MULTI_QUERIES</literal> caused
+ <literal>libmysqld</literal> to crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="libmysqld"/>
+ <manual type="privileges"/>
+ </tags>
+
+ <versions>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Grant table checks failed in <literal>libmysqld</literal>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="yaSSL"/>
+ <highlight type="securityfix"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33814"/>
+ <cve ref="CVE-2008-0226"/>
+ <cve ref="CVE-2008-0227"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.50sp1a"/>
+ <version ver="5.0.51a"/>
+ <version ver="5.0.54a"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Three vulnerabilities in yaSSL versions 1.7.5 and earlier were
+ discovered that could lead to a server crash or execution of
+ unauthorized code. The exploit requires a server with yaSSL
+ enabled and TCP/IP connections enabled, but does not require
+ valid MySQL account credentials. The exploit does not apply to
+ OpenSSL.
+ </para>
+
+ <note>
+ <para>
+ The proof-of-concept exploit is freely available on the
+ Internet. Everyone with a vulnerable MySQL configuration is
+ advised to upgrade <emphasis>immediately</emphasis>.
+ </para>
+ </note>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="mysqlslap"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="31704"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <command>mysqlslap</command> failed to commit after the final
+ record load.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="InnoDB"/>
+ <manual type="primary key"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="31137"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.54"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ MySQL declares a <literal>UNIQUE</literal> key as a
+ <literal>PRIMARY</literal> key if it doesn't have
+ <literal>NULL</literal> columns and is not a partial key, and
+ the <literal>PRIMARY</literal> key must alway be the first key.
+ However, in some cases, a non-first key could be reported as
+ <literal>PRIMARY</literal>, leading to an assert failure by
+ <literal>InnoDB</literal>. This is fixed by correcting the key
+ sort order.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="MIN()"/>
+ <manual type="MAX()"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32268"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.54"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal role="func">MIN()</literal> and
+ <literal role="func">MAX()</literal> could return incorrect
+ results when an index was present if a loose index scan was
+ used.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="type conversion"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32095"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ String-to-double conversion was performed differently when the
+ prepared-statement protocol was used from when it was not.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Mac OS X"/>
+ <manual type="Leopard"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="38217"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Corrected a typecast involving <literal>bool</literal> on Mac OS
+ X 10.5 (Leopard), which evaluated differently from earlier Mac
+ OS X versions.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="libmysqld"/>
+ <manual type="query cache"/>
+ <manual type="prepared statements"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="30430"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ With <literal>libmysqld</literal>, use of prepared statements
+ and the query cache at the same time caused problems.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="optimizer"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="30788"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.54"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The optimizer incorrectly optimized conditions out of the
+ <literal>WHERE</literal> clause in some queries involving
+ subqueries and indexed columns.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="SQL_BUFFER_RESULT"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="30384"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.54"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ For <literal>CREATE ... SELECT ... FROM</literal>, where the
+ resulting table contained indexes, adding
+ <literal>SQL_BUFFER_RESULT</literal> to the
+ <literal role="stmt">SELECT</literal> part caused index
+ corruption in the table.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="IRIX"/>
+ <manual type="MIPS"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="29085"/>
+ </bugs>
+
+ <versions>
+ <version ver="4.1.24"/>
+ <version ver="5.0.54"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Denormalized double-precision numbers cannot be handled properly
+ by old MIPS pocessors. For IRIX, this is now handled by enabling
+ a mode to use a software workaround.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="KILL"/>
+ <manual type="binary log"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="27571"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.54"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ A race condition between killing a statement and the thread
+ executing the statement could lead to a situation such that the
+ binary log contained an event indicating that the statement was
+ killed, whereas the statement actually executed to completion.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="UDF"/>
+ <manual type="optimizer"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="30355"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.54"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The optimizer made incorrect assumptions about the value of the
+ <literal>is_member</literal> value for user-defined functions,
+ sometimes resulting in incorrect ordering of UDF results.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="BLACKHOLE"/>
+ <manual type="ALTER TABLE"/>
+ <manual type="locking"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="30294"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.54"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Simultaneous <literal role="stmt">ALTER TABLE</literal>
+ statements for <literal>BLACKHOLE</literal> tables caused 100%
+ CPU use due to locking problems.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="DROP DATABASE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="30152"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ If the server crashed during an <literal role="stmt">ALTER
+ TABLE</literal> statement, leaving a temporary file in the
+ database directory, a subsequent <literal role="stmt">DROP
+ DATABASE</literal> statement failed due to the presence of the
+ temporary file.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="libmysqld"/>
+ <manual type="mysql_insert_id()"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="26921"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <literal role="cfunc">mysql_insert_id()</literal> C API
+ function sometimes returned different results for
+ <literal>libmysqld</literal> and
+ <literal>libmysqlclient</literal>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="mysql_insert_id()"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="9481"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.54"/>
+ </versions>
+
+ <message>
+
+ <para>
+ If an <literal>INSERT ... SELECT</literal> statement is
+ executed, and no automatically generated value is successfully
+ inserted, then <literal role="cfunc">mysql_insert_id()</literal>
+ returns the ID of the last inserted row.
+ </para>
+
+ <para>
+ If no automatically generated value is successfully inserted,
+ then <literal role="cfunc">mysql_insert_id()</literal> returns
+ 0.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="CREATE TABLE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33256"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.56"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal>CREATE TABLE ... SELECT</literal> created tables that
+ for date columns used the obsolete <literal>Field_date</literal>
+ type instead of <literal>Field_newdate</literal>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="subquery"/>
+ <manual type="optimizer"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33794"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.56"/>
+ <version ver="5.1.23-ndb-6.2.14"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The server crashed when executing a query that had a subquery
+ containing an equality X=Y where Y referred to a named select
+ list expression from the parent select. The server crashed when
+ trying to use the X=Y equality for <literal>ref</literal>-based
+ access.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="optimizer"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="30363"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Compared to MySQL 5.1, the 6.0 optimizer failed to use join
+ buffering for certain queries, resulting in slower performance
+ for those queries.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="filesort"/>
+ <manual type="subqueries"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33675"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.56"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Use of uninitialized memory for <literal>filesort</literal> in a
+ subquery caused a server crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="parser"/>
+ <manual type="subqueries"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="31797"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.56"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Name resolution for correlated subqueries and
+ <literal>HAVING</literal> clauses failed to distinguish which of
+ two was being performed when there was a reference to an outer
+ aliased field. This could result in error messages about a
+ <literal>HAVING</literal> clause for queries that had no such
+ clause.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="query cache"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="30887"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23-ndb-6.2.14"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Resetting the query cache by issuing a <literal>SET GLOBAL
+ query_cache_size=0</literal> statement caused the server to
+ crash if it concurrently was saving a new result set to the
+ query cache.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="enable-pstack"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="29836"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23-ndb-6.2.14"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <command>mysqld</command> displayed the
+ <option>--enable-pstack</option> option in its help message even
+ if MySQL was configured without <option>--with-pstack</option>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="stored routines"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33618"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.56"/>
+ <version ver="5.1.23-ndb-6.2.14"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The server could crash when <literal>REPEAT</literal> or another
+ control instruction was used in conjunction with labels and a
+ <literal>LEAVE</literal> instruction.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="compound statements"/>
+ <manual type="labels"/>
+ <manual type="syntax"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33618"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.56"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The parser allowed control structures in compound statements to
+ have mismatched beginning and ending labels.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="DOUBLE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="21497"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ When inserting an extraordinarly large value into a
+ <literal role="type">DOUBLE</literal> column, the value could be
+ truncated in such a way that the new value cannot be reloaded
+ manually or from the output of <command>mysqldump</command>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="math"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="12860"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.54"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Zero-padding of exponent values was not the same across
+ platforms.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="math"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="24541"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal>Data truncated for column
+ <replaceable>col_num</replaceable> at row
+ <replaceable>row_num</replaceable></literal> warnings were
+ generated for some (constant) values that did not have too high
+ precision.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="mysqlcheck"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="25347"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.56"/>
+ <version ver="5.1.23-ndb-6.2.14"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <command>mysqlcheck -A -r</command> did not correctly identify
+ all tables that needed repairing.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="resolveip"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="27427"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.56"/>
+ <version ver="5.1.23-ndb-6.2.14"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <command>resolveip</command> failed to produce correct results
+ for hostnames that begin with a digit.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="UNION"/>
+ <manual type="subqueries"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32848"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.56"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The correct data type for a <literal>NULL</literal> column
+ resulting from a <literal>UNION</literal> could be determined
+ incorrectly in some cases: 1) Not correctly inferred as
+ <literal>NULL</literal> depending on the number of selects; 2)
+ Not inferred correctly as <literal>NULL</literal> if one select
+ used a subquery.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="GROUP_CONCAT()"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32798"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.56"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ For queries containing <literal>GROUP_CONCAT(DISTINCT
+ <replaceable>col_list</replaceable> ORDER BY
+ <replaceable>col_list</replaceable>)</literal>, there was a
+ limitation that the <literal>DISTINCT</literal> columns had to
+ be the same as <literal>ORDER BY</literal> columns. Incorrect
+ results could be returned if this was not true.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="LAST_DAY()"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32270"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.54"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <literal role="func">LAST_DAY()</literal> function returns a
+ <literal role="type">DATE</literal> value, but internally the
+ value did not have the time fields zeroed and calculations
+ involving the value could return incorrect results.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="UPDATE"/>
+ <manual type="NULL"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33699"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23-ndb-6.2.14"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The UPDATE statement allowed <literal>NULL</literal> to be
+ assigned to <literal>NOT NULL</literal> columns (the default
+ data type value was assigned). An error occurs now.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="filesort"/>
+ <manual type="DECIMAL"/>
+ <manual type="ORDER BY"/>
+ <manual type="ROUND()"/>
+ <manual type="TRUNCATE()"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="30889"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.56"/>
+ <version ver="5.1.23-ndb-6.2.14"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal role="func">ROUND(<replaceable>X</replaceable>,<replaceable>D</replaceable>)</literal>
+ or
+ <literal role="func">TRUNCATE(<replaceable>X</replaceable>,<replaceable>D</replaceable>)</literal>
+ for non-constant values of <replaceable>D</replaceable> could
+ crash the server if these functions were used in an
+ <literal>ORDER BY</literal> that was resolved using
+ <literal>filesort</literal>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="DECIMAL"/>
+ <manual type="ORDER BY"/>
+ <manual type="ROUND()"/>
+ <manual type="TRUNCATE()"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33143"/>
+ <seealsobug bugid="33402"/>
+ <seealsobug bugid="30617"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.56"/>
+ <version ver="5.1.23-ndb-6.2.14"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ For <literal role="type">DECIMAL</literal> columns used with the
+ <literal role="func">ROUND(<replaceable>X</replaceable>,<replaceable>D</replaceable>)</literal>
+ or
+ <literal role="func">TRUNCATE(<replaceable>X</replaceable>,<replaceable>D</replaceable>)</literal>
+ function with a non-constant value of
+ <replaceable>D</replaceable>, adding an <literal>ORDER
+ BY</literal> for the function result produced misordered output.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <manual type="mysqlslap"/>
+ <manual type="set-random-seed"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="30793"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.2.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Added the <option>--set-random-seed</option> option to
+ <command>mysqlslap</command> to enable a seed value to be
+ provided for the randomizer.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="ORDER BY"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33697"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23-ndb-6.2.14"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal>ORDER BY ... DESC</literal> sorts could produce
+ misordered results.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="SHOW STATUS"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="30252"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23-ndb-6.2.14"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <literal>Com_create_function</literal> status variable was
+ not incremented properly.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="innodb_force_recovery"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="28604"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.48"/>
+ <version ver="5.1.21"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Starting the server with an
+ <literal>innodb_force_recovery</literal> value of 4 did not
+ work.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="CHECKSUM TABLE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="30041"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ For tables with <literal role="type">FLOAT</literal> or
+ <literal role="type">DOUBLE</literal> columns,
+ <literal role="stmt">CHECKSUM TABLE</literal> could report
+ different results on master and slave servers.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <bugs>
+ <fixes bugid="31954"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Several undocumented C API functions were removed:
+ <function>mysql_manager_close()</function>,
+ <function>mysql_manager_command()</function>,
+ <function>mysql_manager_connect()</function>,
+ <function>mysql_manager_fetch_line()</function>, and
+ <function>mysql_manager_init()</function>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="thread_handling"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="30651"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <literal>thread_handling</literal> system variable was
+ treated as having a <literal>SESSION</literal> value and as
+ being settable at runtime. Now it has only a
+ <literal>GLOBAL</literal> read-only value.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Unicode"/>
+ <manual type="utf16"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32393"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal>utf16</literal> columns allowed incorrect Unicode
+ characters inserted through conversion from another Unicode
+ character set.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="latin2_czech_cs"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33452"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ For the <literal>latin2_czech_cs</literal> collation, the
+ primary weights for all variants of capital letters
+ <literal>U</literal> and <literal>O</literal> were incorrect
+ (were not equal to the corresponding small letters).
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <highlight type="incompatiblechange"/>
+ <manual type="type conversion"/>
+ </tags>
+
+ <bugs>
+ <seealsobug bugid="12860"/>
+ <seealsobug bugid="21497"/>
+ <seealsobug bugid="26788"/>
+ <seealsobug bugid="24541"/>
+ <seealsobug bugid="34015"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The server now includes <literal>dtoa</literal>, a library for
+ conversion between strings and numbers by David M. Gay. In
+ MySQL, this library provides the basis for improved conversion
+ between string or <literal role="type">DECIMAL</literal> values
+ and approximate-value (FLOAT/DOUBLE) numbers:
+ </para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ Consistent conversion results across platforms, which
+ eliminates, for example, Unix versus Windows conversion
+ differences.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Accurate representation of values in cases where results
+ previously did not provide sufficient precision, such as for
+ values close to IEEE limits.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Conversion of numbers to string format with the best
+ possible precision. The precision of <literal>dtoa</literal>
+ is always the same or bettter than that of the standard C
+ library functions.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ <para>
+ Because the conversions produced by this library differ in some
+ cases from previous results, the potential exists for
+ incompatibilities in applications that rely on previous results.
+ For example, applications that depend on a specific exact result
+ from previous conversions might need adjustment to accommodate
+ additional precision.
+ </para>
+
+ <para>
+ For additional information about the properties of
+ <literal>dtoa</literal> conversions, see
+ <xref linkend="type-conversion"/>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <manual type="mysqlimport"/>
+ <manual type="use-threads"/>
+ </tags>
+
+ <versions>
+ <version ver="5.1.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <command>mysqlimport</command> now has a
+ <option>--use-threads=<replaceable>N</replaceable></option>
+ option for loading data files in parallel using
+ <replaceable>N</replaceable> threads.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <manual type="mysqltest"/>
+ <manual type="do-test"/>
+ <manual type="skip-test"/>
+ </tags>
+
+ <versions>
+ <version ver="5.0.54"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The argument for the <command>mysql-test-run.pl</command>
+ <option>--do-test</option> and <option>--skip-test</option>
+ options is now interpreted as a Perl regular expression if there
+ is a pattern metacharacter in the argument value. This allows
+ more flexible specification of which tests to perform or skip.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Table_locks_waited"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="30331"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23-ndb-6.2.14"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <literal>Table_locks_waited</literal> waited variable was
+ not incremented in the cases that a lock had to be waited for
+ but the waiting thread was killed or the request was aborted.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="sql_mode"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32633"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23"/>
+ <version ver="5.1.23-ndb-6.2.14"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.4"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Tables in the <literal>mysql</literal> database that stored the
+ current <literal>sql_mode</literal> value as part of stored
+ program definitions were not updated with newer mode values
+ (<literal>NO_ENGINE_SUBSTITUTION</literal>,
+ <literal>PAD_CHAR_TO_FULL_LENGTH</literal>). This causes various
+ problems defining stored programs if those modes were included
+ in the current <literal>sql_mode</literal> value.
+ </para>
+
+ </message>
+
+ <message ver="6.0.4">
+
+ <para>
+ An issue with the <literal>NO_ENGINE_SUBSTITUTION</literal>
+ <literal>sql_mode</literal> database can cause the creation of
+ stored routines to fail. If you are having problems with
+ creating stored routines while using this
+ <literal>sql_mode</literal> value, remove this value from your
+ <literal>sql_mode</literal> setting.
+ </para>
+
+ </message>
+
+ <message ver="5.1.23">
+
+ <para>
+ An issue with the <literal>NO_ENGINE_SUBSTITUTION</literal>
+ <literal>sql_mode</literal> database can cause the creation of
+ stored routines to fail. If you are having problems with
+ creating stored routines while using this
+ <literal>sql_mode</literal> value, remove this value from your
+ <literal>sql_mode</literal> setting.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="SHOW ENGINE INNODB STATUS"/>
+ <manual type="SHOW ENGINE INNODB MUTEX"/>
+ <manual type="PROCESS"/>
+ <manual type="SUPER"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32710"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23-ndb-6.2.14"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <literal role="stmt" condition="show-engine">SHOW ENGINE
+ INNODB STATUS</literal> and
+ <literal role="stmt" condition="show-engine">SHOW ENGINE INNODB
+ MUTEX</literal> statements incorrectly required the
+ <literal role="priv">SUPER</literal> privilege rather than the
+ <literal role="priv">PROCESS</literal> privilege.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="SHOW OPEN TABLES"/>
+ <manual type="stored functions"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34166"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23-ndb-6.2.14"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Use of stored functions in the <literal>WHERE</literal> clause
+ for <literal role="stmt">SHOW OPEN TABLES</literal> caused a
+ server crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="prepared statements"/>
+ <manual type="INT UNSIGNED"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33798"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.58"/>
+ <version ver="5.1.23-ndb-6.2.14"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Large unsigned integers were improperly handled for prepared
+ statements, resulting in truncation or conversion to negative
+ numbers.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="FEDERATED"/>
+ <manual type="FLOAT"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34015"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Updates of floating-point columns in
+ <literal>FEDERATED</literal> tables could produce incorrect
+ results.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="clients"/>
+ <manual type="assertion failure"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34298"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ On Windows, client programs generated assertion failures.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="ucs2"/>
+ <manual type="NDB"/>
+ <highlight type="replication"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="29562"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23-ndb-6.2.14"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Replication crashed with the <literal>NDB</literal> storage
+ engine when <command>mysqld</command> was started with
+ <option>--character-set-server=ucs2</option>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Vista"/>
+ <manual type="MySQLInstanceConfig.exe"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="22563"/>
+ <seealsobug bugid="24732"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.51a"/>
+ <version ver="5.0.56"/>
+ </versions>
+
+ <message>
+
+ <para>
+ For Windows Vista, <command>MySQLInstanceConfig.exe</command>
+ did not include a proper manifest enabling it to run with
+ administrative privileges.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <manual type="mysqltest"/>
+ <manual type="mkdir"/>
+ <manual type="rmdir"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="31004"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.58"/>
+ <version ver="5.1.23-ndb-6.2.14"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <command>mysqltest</command> now has <literal>mkdir</literal>
+ and <literal>rmdir</literal> commands for creating and removing
+ directories.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="replication"/>
+ <manual type="LOAD DATA INFILE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="30435"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.56"/>
+ <version ver="5.1.23-ndb-6.2.14"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Replication of <literal role="stmt" condition="load-data">LOAD
+ DATA INFILE</literal> could fail when
+ <literal>read_buffer_size</literal> was larger than
+ <literal role="sysvar">max_allowed_packet</literal>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="stored routines"/>
+ <manual type="warnings"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="21801"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23-ndb-6.2.14"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Warnings for deprecated syntax constructs used in stored
+ routines make sense to report only when the routine is being
+ created, but they were also being reported when the routine was
+ parsed for loading into the execution cache. Now they are
+ reported only at routine creation time.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="UPDATE"/>
+ <manual type="assertion failure"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="30763"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.54"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ A multiple-table <literal role="stmt">UPDATE</literal> involving
+ transactional and non-transactional tables caused an assertion
+ failure.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="UNION"/>
+ <manual type="INTO"/>
+ <manual type="SELECT"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32858"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.56"/>
+ <version ver="5.1.25"/>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal>UNION</literal> constructs cannot contain
+ <literal>SELECT ... INTO</literal> except in the final
+ <literal role="stmt">SELECT</literal>. However, if a
+ <literal>UNION</literal> was used in a subquery and an
+ <literal>INTO</literal> clause appeared in the top-level query,
+ the parser interpreted it as having appeared in the
+ <literal>UNION</literal> and raised an error.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="views"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33133"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.56"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Some valid <literal role="stmt">SELECT</literal> statements
+ could not be used as views due to incorrect column reference
+ resolution.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <manual type="ndbd"/>
+ <manual type="ndb_mgmd"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34642"/>
+ </bugs>
+
+ <versions>
+ <version ver="4.1.24"/>
+ <version ver="5.0.58"/>
+ <version ver="5.1.24-ndb-6.2.16"/>
+ <version ver="5.1.24-ndb-6.3.13"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <command>ndbd</command> and <command>ndb_mgmd</command> man
+ pages have been reclassified from volume 1 to volume 8.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <manual type="threads"/>
+ </tags>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ An alternative thread model is available for dealing with the
+ issues that occur with the original one-thread-per-client model
+ when scaling to large numbers of simultaneous connections. This
+ model uses thread pooling:
+ </para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ Connection manager threads do not dedicate a thread to each
+ client connection. Instead, the connection is added to the
+ set of existing connection sockets. The server collects
+ input from these sockets and when a complete request has
+ been received from a given client, it is queued for service.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ The server maintains a pool of service threads to process
+ requests. When a queued request is waiting and there is an
+ available (not busy) service thread in the pool, the request
+ is given to the thread to be handled. After processing the
+ request, the service thread becomes available to process
+ other requests.
+ </para>
+ <para>
+ Service threads are created at server startup and exist
+ until the server terminates. A given service thread is not
+ tied to a specific client connection and the requests that
+ it processes over time may originate from different client
+ connections.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ The pool of service threads has a fixed size, so the amount
+ of memory required for it does not increase as the number of
+ client connections increases.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ <para>
+ For information about choosing one thread model over the other
+ and tuning the parameters that control thread resources, see
+ <xref linkend="connection-threads"/>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <manual type="mysqldump"/>
+ <manual type="dump-slave"/>
+ <manual type="apply-slave-statements"/>
+ <manual type="include-master-host-port"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="8368"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Three options were added to <command>mysqldump</command> make it
+ easier to generate a dump from a slave server.
+ <option>--dump-slave</option> is similar to
+ <option>--master-data</option>, but the
+ <literal role="stmt">CHANGE MASTER TO</literal> statement
+ contains binary log coordinates for the slave's master host, not
+ the slave itself. <option>--apply-slave-statements</option>
+ causes <literal role="stmt">STOP SLAVE</literal> and
+ <literal role="stmt">START SLAVE</literal> statements to be
+ added before the <literal role="stmt">CHANGE MASTER TO</literal>
+ statement and at the end of the output, respectively.
+ <option>--include-master-host-port</option> causes the
+ <literal role="stmt">CHANGE MASTER TO</literal> statement to
+ include <literal>MASTER_PORT</literal> and
+ <literal>MASTER_HOST</literal> options for the slave's master.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="views"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="29477"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.56"/>
+ <version ver="5.1.23-ndb-6.2.14"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Views were treated as insertable even if some base table columns
+ with no default value were omitted from the view definition.
+ (This is contrary to the condition for insertability that a view
+ must contain all columns in the base table that do not have a
+ default value.)
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="mysqltest_embedded.exe"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32044"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ On Windows, <command>mysqltest_embedded.exe</command> did not
+ properly execute the <literal>send</literal> command.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="optimizer"/>
+ <manual type="subqueries"/>
+ <manual type="semi-join"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="31040"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ An assertion failure occurred for queries containing two
+ subqueries if both subqueries were evaluated using a semi-join
+ strategy.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="InnoDB"/>
+ <manual type="foreign keys"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="18942"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal role="stmt">DROP DATABASE</literal> did not drop
+ orphaned <literal>FOREIGN KEY</literal> constraints.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="mysql_config"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="21158"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.58"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <command>mysql_config</command> output did not include
+ <literal>-lmygcc</literal> on some platforms when it was needed.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="InnoDB"/>
+ <highlight type="partitioning"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33349"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ For <literal>InnoDB</literal> tables, there was a race condition
+ involving the data dictionary and repartitioning.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="SHOW STATUS"/>
+ <manual type="InnoDB"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32083"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.58"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal role="stmt">SHOW STATUS</literal> caused a server crash
+ if <literal>InnoDB</literal> had not been initialized.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="mysql_explain_log"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34339"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.58"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <command>mysql_explain_log</command> concatenated multiple-line
+ statements, causing malformed results for statements that
+ contained SQL comments beginning with <literal>--</literal>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="mysql"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33841"/>
+ </bugs>
+
+ <versions>
+ <version ver="4.1.24"/>
+ <version ver="5.0.58"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ An internal buffer in <command>mysql</command> was too short.
+ Overextending it could cause stack problems or segmentation
+ violations on some architectures. (This is not a problem that
+ could be exploited to run arbitrary code.)
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Windows"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="31745"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.58"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <command>mysqld</command> crash handler failed on Windows.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="mysqld_safe"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32679"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23"/>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <command>mysqld_safe</command> looked for error messages in the
+ wrong location.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Windows"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="31929"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ On Windows, the build process failed with four parallel build
+ threads.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="mysqlhotcopy"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="28460"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.58"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <command>mysqlhotcopy</command> silently skipped databases with
+ names consisting of two alphanumeric characters.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="mysql"/>
+ <manual type="completion"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="24624"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.58"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <command>mysql</command> did not use its completion table. Also,
+ the table contained few entries.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <manual type="InnoDB"/>
+ <manual type="innodb_adaptive_hash_index"/>
+ </tags>
+
+ <versions>
+ <version ver="5.0.52"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The use of <literal>InnoDB</literal> hash indexes now can be
+ controlled by setting the new
+ <literal>innodb_adaptive_hash_index</literal> system variable at
+ server startup. By default, this variable is enabled. See
+ <xref linkend="innodb-adaptive-hash"/>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="ODBC"/>
+ <manual type="OJ"/>
+ <manual type="syntax"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="28317"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23-ndb-6.2.14"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Previously, the parser accepted the ODBC <literal>{ OJ ... LEFT
+ OUTER JOIN ...}</literal> syntax for writing left outer joins.
+ The parser now allows <literal>{ OJ ... }</literal> to be used
+ to write other types of joins, such as <literal>INNER
+ JOIN</literal> or <literal>RIGHT OUTER JOIN</literal>. This
+ helps with compatibility with some third-party applications, but
+ is not official ODBC syntax.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="InnoDB"/>
+ <manual type="ALTER TABLE"/>
+ <manual type="ORDER BY"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="26447"/>
+ <seealsobug bugid="35850"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ It makes no sense to attempt to use <literal>ALTER TABLE ...
+ ORDER BY</literal> to order an <literal>InnoDB</literal> table
+ if there is a user-defined clustered index, because rows are
+ always ordered by the clustered index. Such attempts now are
+ ignored and produce a warning.
+ </para>
+
+ <para>
+ Also, in some cases, <literal>InnoDB</literal> incorrectly used
+ a secondary index when the clustered index would produce a
+ faster scan. <literal role="stmt">EXPLAIN</literal> output now
+ indicates use of the clustered index (for tables that have one)
+ as lines with a <literal>type</literal> value of
+ <literal>index</literal>, a <literal>key</literal> value of
+ <literal>PRIMARY</literal>, and without <literal>Using
+ index</literal> in the <literal>Extra</literal> value.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Windows"/>
+ <manual type="privileges"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="17303"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.51a"/>
+ <version ver="5.1.23"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <command>MySQLInstanceConfig.exe</command> failed to grant
+ certain privileges to the <literal>'root'@'%'</literal> account.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Windows"/>
+ <manual type="Vista"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34381"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Client applications could not connect to the server on Windows
+ Vista because the server was creating an IPv6-only TCP/IP
+ socket.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Windows"/>
+ <manual type="shared memory"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="24731"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.44"/>
+ <version ver="5.1.20"/>
+ </versions>
+
+ <message>
+
+ <para>
+ When <command>mysqld</command> was run as a Windows service,
+ shared memory objects were not created in the global namespace
+ and could not be used by clients to connect.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="InnoDB"/>
+ <manual type="foreign key"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="21704"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Renaming a column that appeared in a foreign key definition did
+ not update that definition with the new column name. This
+ occurred with both referenced and referencing tables.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="events"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="22738"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ After stopping and starting the event scheduler, disabled events
+ could remain in the execution queue.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="mysql_install_db"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="31315"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.28"/>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <command>mysql_install_db</command> failed if the default
+ storage engine was <literal>NDB</literal>. Now it explicitly
+ uses <literal>MyISAM</literal> as the storage engine when
+ running <command>mysqld --bootstrap</command>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="incompatiblechange"/>
+ <manual type="C API"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34655"/>
+ <seealsobug bugid="12713"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ In MySQL 5.1.23, the <literal>last_errno</literal> and
+ <literal>last_error</literal> members of the
+ <literal>NET</literal> structure in
+ <filename>mysql_com.h</filename> were renamed to
+ <literal>client_last_errno</literal> and
+ <literal>client_last_error</literal>. This was found to cause
+ problems for connectors that use the internal
+ <literal>NET</literal> structure for error handling. The change
+ has been reverted.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="InnoDB"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32149"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.58"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal>InnoDB</literal> adaptive hash latches could be held
+ too long, resulting in a server crash. This fix may also provide
+ significant performance improvements on systems on which many
+ queries using filesorts with temporary tables are being
+ performed.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="make_binary_distribution"/>
+ <manual type="ICC"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33536"/>
+ </bugs>
+
+ <versions>
+ <version ver="4.1.24"/>
+ <version ver="5.0.58"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <command>make_binary_distribution</command> passed the
+ <option>--print-libgcc-file</option> option to the C compiler,
+ but this does not work with the <command>ICC</command> compiler.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="mysql_change_user()"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="31222"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <literal role="cfunc">mysql_change_user()</literal> C API
+ function caused global
+ <literal>Com_<replaceable>xxx</replaceable></literal> status
+ variable values to be incorrect.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <manual type="mysql"/>
+ <manual type="--auto-vertical-output"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="26780"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Added the <option>--auto-vertical-output</option> option to
+ <command>mysql</command> which causes result sets to be
+ displayed vertically if they are too wide for the current
+ window, and using normal tabular format otherwise. (This applies
+ to statements terminated by <literal>;</literal> or
+ <literal>\G</literal>.)
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="MySQLInstanceConfig.exe"/>
+ <manual type="Vista"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="24853"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.51a"/>
+ <version ver="5.1.23"/>
+ </versions>
+
+ <message>
+
+ <para>
+ For Vista installs, <command>MySQLInstanceConfig.exe</command>
+ did not add the default MySQL port to the firewall exceptions.
+ It now provides a checkbox that enables the user a choice of
+ whether to do this.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="SIGHUP"/>
+ <manual type="logging"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33065"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ After receiving a <literal>SIGHUP</literal> signal, the server
+ could crash, and user-specified log options were ignored when
+ reopening the logs.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="read_only"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="31947"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ A variable named <literal>read_only</literal> could be declared
+ even though that is a reserved word.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Mac OS X"/>
+ <manual type="gdb"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="21567"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.60"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ On Mac OS X, <command>mysqld</command> did not react to Ctrl-C
+ when run under <command>gdb</command>, even when run with the
+ <option>--gdb</option> option.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="SHOW COLUMNS"/>
+ <manual type="locking"/>
+ <manual type="TEMPORARY"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="23588"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.60"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal role="stmt">SHOW COLUMNS</literal> on a
+ <literal>TEMPOARY</literal> table caused locking issues.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="C API"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="25097"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.60"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The client library had no way to return an error if no
+ connection had been established. This caused problems such as
+ <literal role="cfunc">mysql_library_init()</literal> failing
+ silently if no <filename>errmsg.sys</filename> file was
+ available.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="privileges"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="31194"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.60"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ When sorting privilege table rows, the server treated escaped
+ wildcard characters (<literal>\%</literal> and
+ <literal>\_</literal>) the same as unescaped wildcard characters
+ (<literal>%</literal> and <literal>_</literal>), resulting in
+ incorrect row ordering.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <manual type="mysql_tableinfo"/>
+ <manual type="INFORMATION_SCHEMA"/>
+ </tags>
+
+ <versions>
+ <version ver="5.1.0"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <command>mysql_tableinfo</command> script has been removed.
+ Information similar to that produced by this script is available
+ from tables in the <literal>INFORMATION_SCHEMA</literal>
+ database.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <manual type="BACKUP DATABASE"/>
+ <manual type="RESTORE"/>
+ <manual type="syntax"/>
+ </tags>
+
+ <versions>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Two new statements, <literal role="stmt">BACKUP
+ DATABASE</literal> and <literal role="stmt">RESTORE</literal>,
+ have been added for backup and restore operations. See
+ <xref linkend="backup-database-restore"/>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="SSL"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33050"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.58"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ When MySQL was built with OpenSSL, the SSL library was not
+ properly initialized with information of which endpoint it was
+ (server or client), causing connection failures.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="RPM"/>
+ <manual type="installation"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="28555"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.58"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ For upgrading to a new major version using RPM packages (such as
+ 4.1 to 5.0), if the installation procedure found an existing
+ MySQL server running, it could fail to shut down the old server,
+ but also erroneously removed the server's socket file. Now the
+ procedure checks for an existing server package from a different
+ vendor or major MySQL version. In such case, it refuses to
+ install the server and recommends how to safely remove the old
+ packages before installing the new ones.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="incompatiblechange"/>
+ <manual type="foreign key"/>
+ <manual type="syntax"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34455"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The parser accepted illegal syntax in a <literal>FOREIGN
+ KEY</literal> clause:
+ </para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ Multiple <literal>MATCH</literal> clauses.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Multiple <literal>ON DELETE</literal> clauses.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Multiple <literal>ON UPDATE</literal> clauses.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <literal>MATCH</literal> clauses specified after <literal>ON
+ UPDATE</literal> or <literal>ON DELETE</literal>. In case of
+ multiple redundant clauses, this leads to confusion, and
+ implementation-dependent results.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ <para>
+ These illegal syntaxes are now properly rejected. Existing
+ applications that used them will require adjustment.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="prepared statements"/>
+ <manual type="logging"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="28386"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ No information was written to the general query log for the
+ <literal>COM_STMT_CLOSE</literal>,
+ <literal>COM_STMT_RESET</literal>, and
+ <literal>COM_STMT_SEND_LONG_DATA</literal> commands. (These
+ occur when a client invokes the
+ <literal role="cfunc">mysql_stmt_close()</literal>,
+ <literal role="cfunc">mysql_stmt_reset()</literal> and
+ <literal role="cfunc">mysql_stmt_send_long_data()</literal> C
+ API functions.)
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Leopard"/>
+ <manual type="Mac OS X"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="28854"/>
+ </bugs>
+
+ <versions>
+ <version ver="4.1.24"/>
+ <version ver="5.0.51b"/>
+ <version ver="5.0.58"/>
+ <version ver="5.1.24"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The MySQL preferences pane did not work to start or stop MySQL
+ on Mac OS X 10.5 (Leopard).
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="InnoDB"/>
+ <manual type="UPDATE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="29157"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal>InnoDB</literal> could return an incorrect rows-updated
+ value for <literal role="stmt">UPDATE</literal> statements.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="DEFINER"/>
+ <manual type="views"/>
+ <manual type="triggers"/>
+ <manual type="events"/>
+ <manual type="stored procedures"/>
+ <manual type="stored functions"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="21854"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ For views or stored programs created with an invalid
+ <literal>DEFINER</literal> value, the error message was
+ confusing (did not tie the problem to the
+ <literal>DEFINER</literal> clause) and has been improved.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <manual type="privileges"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="25175"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The server uses less memory when loading privileges containing
+ table grants. (Patch provided by Google.)
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="query cache"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="25132"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <literal>Qcache_free_blocks</literal> status variable did
+ not display a value of 0 if the query cache was disabled.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="YEAR"/>
+ <manual type="DEFAULT"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34274"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal>DEFAULT 0</literal> was not allowed for the
+ <literal role="type">YEAR</literal> data type.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="incompatiblechange"/>
+ <manual type="utf8_general_ci"/>
+ <manual type="Unicode"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="27877"/>
+ <seealsobug bugid="37046"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message ver="5.1.24">
+
+ <para>
+ The <literal>utf8_general_ci</literal> and
+ <literal>ucs2_general_ci</literal> collations did not sort the
+ letter "U+00DF SHARP S" equal to <literal>'s'</literal>.
+ </para>
+
+ <para>
+ As a result of this fix, any indexes on columns that use these
+ collations (but only columns that use SHARP S) must be rebuilt
+ when upgrading to 5.1.24 or higher. To do this, use
+ <literal role="stmt">ALTER TABLE</literal> to drop and re-add
+ the indexes, or <command>mysqldump</command> to dump the
+ affected tables and <command>mysql</command> to reload the dump
+ file.
+ </para>
+
+ </message>
+
+ <message ver="6.0.5">
+
+ <para>
+ The <literal>utf8_general_ci</literal> and
+ <literal>ucs2_general_ci</literal> collations did not sort the
+ letter "U+00DF SHARP S" equal to <literal>'s'</literal>.
+ </para>
+
+ <para>
+ As a result of this fix, any indexes on columns that use these
+ collations (but only columns that use SHARP S) must be rebuilt
+ when upgrading to 6.0.5 or higher. To do this, use
+ <literal role="stmt">ALTER TABLE</literal> to drop and re-add
+ the indexes, or <command>mysqldump</command> to dump the
+ affected tables and <command>mysql</command> to reload the dump
+ file.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="event scheduler"/>
+ <manual type="max_connections"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33507"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Threads created by the event scheduler were incorrectly counted
+ against the <literal role="sysvar">max_connections</literal>
+ thread limit, which could lead to client lockout.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Max_used_connections"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35074"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23-ndb-6.0.5"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Non-connection threads were being counted in the value of the
+ <literal>Max_used_connections</literal> status variable.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="query cache"/>
+ <manual type="concurrent inserts"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33756"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.60"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Disabling concurrent inserts caused some cacheable queries not
+ to be saved in the query cache.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="WEIGHT_STRING()"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33663"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <literal role="func">WEIGHT_STRING()</literal> function
+ returned incorrect results for column values when earlier column
+ values were <literal>NULL</literal>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="WEIGHT_STRING()"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33077"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The weight for supplementary Unicode characters should be
+ <literal>0xFFFD</literal>, but the
+ <literal role="func">WEIGHT_STRING()</literal> function returned
+ <literal>0x0DC6</literal> instead.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="storage engines"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="22708"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The server produced a confusing error message when attempting to
+ open a table that required a storage engine that was not loaded.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="logging"/>
+ <manual type="log tables"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="23924"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Logging of statements to log tables was incorrect for statements
+ that contained <literal>utf8</literal>-incompatible binary
+ strings. Incompatible sequences are hex-encoded now.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="symbolic links"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="25677"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ When symbolic links were disabled, either with a server startup
+ option or by enabling the <literal>NO_DIR_IN_CREATE</literal>
+ SQL mode, <literal role="stmt">CREATE TABLE</literal> silently
+ ignored the <literal>DATA DIRECTORY</literal> and <literal>INDEX
+ DIRECTORY</literal> table options. Now the server issues a
+ warning if symbolic links are disabled when these table options
+ are used.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="mysql"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="23097"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.60"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ For distributions compiled with the bundled
+ <literal>libedit</literal> library, there were difficulties
+ using the <command>mysql</command> client to enter input for
+ non-ASCII or multi-byte characters.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="SLEEP()"/>
+ <manual type="Mac OS X"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33304"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.60"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal role="func">SLEEP(0)</literal> failed to return on
+ 64-bit Mac OS X due to a bug in
+ <function>pthread_cond_timedwait()</function>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <manual type="InnoDB"/>
+ <manual type="innodb_flush_method"/>
+ <manual type="fdatasync"/>
+ </tags>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Formerly it was possible to specify an
+ <literal>innodb_flush_method</literal> value of
+ <literal>fdatasync</literal> to obtain the default flush
+ behavior of using <literal>fdatasync()</literal> for flushing.
+ This is no longer possible because it can be confusing that a
+ value of <literal>fdatasync</literal> causes use of
+ <literal>fsync()</literal> rather than
+ <literal>fdatasync()</literal>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="views"/>
+ <manual type="WITH CHECK OPTION"/>
+ <manual type="GROUP BY"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="9801"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The grammar for <literal>GROUP BY</literal>, when used with
+ <literal>WITH CUBE</literal> or <literal>WITH ROLLUP</literal>,
+ caused a conflict with the grammar for view definitions that
+ included <literal>WITH CHECK OPTION</literal>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="mysql"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="26243"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.60"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ On Windows, for distributions built with debugging support,
+ <command>mysql</command> could crash if the user typed
+ Control-C.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="ORDER BY"/>
+ <manual type="ONLY_FULL_GROUP_BY"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="27219"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.60"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ In <literal>ORDER BY</literal> clauses, mixing aggregate
+ functions and non-grouping columns is not allowed if the
+ <literal>ONLY_FULL_GROUP_BY</literal> SQL mode is enabled.
+ However, in some cases, no error was thrown because of
+ insufficient checking.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="InnoDB"/>
+ <manual type="TINYBLOB"/>
+ <manual type="TINYTEXT"/>
+ <manual type="ALTER TABLE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34300"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ For <literal>InnoDB</literal>, exporting and importing a table
+ could corrupt <literal role="type">TINYBLOB</literal> columns,
+ and a subsequent <literal role="stmt">ALTER TABLE</literal>
+ could corrupt <literal role="type">TINYTEXT</literal> columns as
+ well.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="TEMPORARY table"/>
+ <manual type="DELETE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35392"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ For a <literal>TEMPORARY</literal> table,
+ <literal role="stmt">DELETE</literal> with no
+ <literal>WHERE</literal> clause could fail when preceded by
+ <literal role="stmt">DELETE</literal> statements with a
+ <literal>WHERE</literal> clause.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="primary key"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34731"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.60"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ For an indexed integer column
+ <replaceable>col_name</replaceable> and a value
+ <replaceable>N</replaceable> that is one greater than the
+ maximum value allowed for the data type of
+ <replaceable>col_name</replaceable>, conditions of the form
+ <literal>WHERE <replaceable>col_name</replaceable> <
+ <replaceable>N</replaceable></literal> failed to return rows
+ where the value of <replaceable>col_name</replaceable> is
+ <literal><replaceable>N</replaceable> - 1</literal>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="LOAD DATA INFILE"/>
+ <manual type="views"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35469"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.60"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Using <literal role="stmt" condition="load-data">LOAD DATA
+ INFILE</literal> with a view could crash the server.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="perror"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="23028"/>
+ <fixes bugid="25177"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <command>perror</command> reported incomplete or inaccurate
+ information.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="InnoDB"/>
+ <manual type="AUTO_INCREMENT"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34335"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal>InnoDB</literal> could crash if overflow occurred for
+ an <literal>AUTO_INCREMENT</literal> column.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="InnoDB"/>
+ <manual type="fsync()"/>
+ <manual type="ENOLCK"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34823"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ If <function>fsync()</function> returned
+ <literal>ENOLCK</literal>, <literal>InnoDB</literal> could treat
+ this as fatal and cause abnormal server termination.
+ <literal>InnoDB</literal> now retries the operation.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="ORDER BY"/>
+ <manual type="indexes"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35206"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Queries could return different results depending on whether
+ <literal>ORDER BY</literal> columns were indexed.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="InnoDB"/>
+ <manual type="ALTER TABLE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35220"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.68"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ For <literal>InnoDB</literal> tables, <literal>ALTER TABLE
+ DROP</literal> failed if the name of the column to be dropped
+ began with <quote>foreign</quote>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="plugins"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33345"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Loading plugins via command-line options to
+ <command>mysqld</command> could cause an assertion failure.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="MySQLInstanceConfig.exe"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="19797"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <command>MySQLInstanceConfig.exe</command> could lose the
+ <literal>innodb_data_home_dir</literal> setting when
+ reconfiguring an instance.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="bool"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="26461"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.60"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <filename>config-win.h</filename> unconditionally defined
+ <literal>bool</literal> as <literal role="type">BOOL</literal>,
+ causing problems on systems where <literal>bool</literal> is 1
+ byte and <literal role="type">BOOL</literal> is 4 bytes.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Mac OS X"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="25008"/>
+ </bugs>
+
+ <versions>
+ <version ver="4.1.24"/>
+ <version ver="5.0.51b"/>
+ <version ver="5.0.60"/>
+ <version ver="5.1.24"/>
+ </versions>
+
+ <message>
+
+ <para>
+ On Mac OS X, the StartupItem for MySQL did not work.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="INFORMATION_SCHEMA"/>
+ <manual type="REFERENTIAL_CONSTRAINTS"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35406"/>
+ <seealsobug bugid="35108"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Selecting from
+ <literal role="is">INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS</literal>
+ could cause a server crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="InnoDB"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35352"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.68"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ If the server crashed with an <literal>InnoDB</literal> error
+ due to unavailability of undo slots, errors could persist during
+ rollback when the server was restarted: There are two
+ <literal>UNDO</literal> slot caches (for
+ <literal role="stmt">INSERT</literal> and
+ <literal role="stmt">UPDATE</literal>). If all slots end up in
+ one of the slot caches, a request for a slot from the other slot
+ cache would fail. This can happen if the request is for an
+ <literal role="stmt">UPDATE</literal> slot and all slots are in
+ the <literal role="stmt">INSERT</literal> slot cache, or vice
+ versa.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="optimizer"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34928"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ For some queries, the optimizer used an ordered index scan for
+ <literal>GROUP BY</literal> or <literal>DISTINCT</literal> when
+ it was supposed to use a loose index scan, leading to incorrect
+ results.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="stored programs"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="8759"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The parser incorrectly allowed <literal>SQLSTATE
+ '00000'</literal> to be specified for a condition handler. (This
+ is incorrect because the condition must be a failure condition
+ and <literal>'00000'</literal> indicates success.)
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="stored programs"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36510"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The parser incorrectly allowed MySQL error code 0 to be
+ specified for a condition handler. (This is incorrect because
+ the condition must be a failure condition and 0 indicates
+ success.)
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="mysql_insert_id()"/>
+ <manual type="AUTO_INCREMENT"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34889"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.60"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Under some circumstances, the value of
+ <literal role="cfunc">mysql_insert_id()</literal> following a
+ <literal>SELECT ... INSERT</literal> statement could return an
+ incorrect value. This could happen when the last <literal>SELECT
+ ... INSERT</literal> did not involve an
+ <literal>AUTO_INCREMENT</literal> column, but the value of
+ <literal role="cfunc">mysql_insert_id()</literal> was changed by
+ some previous statements.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="GROUP_CONCAT()"/>
+ <manual type="subqueries"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34747"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.60"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ A memory-handling error associated with use of
+ <literal role="func">GROUP_CONCAT()</literal> in subqueries
+ could result in a server crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="subqueries"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34830"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.60"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Table and database names were mixed up in some places of the
+ subquery transformation procedure. This could affect debugging
+ trace output and further extensions of that procedure.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <bugs>
+ <fixes bugid="31781"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.60"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ If an error occurred during file creation, the server sometimes
+ did not remove the file, resulting in an unused file in the
+ filesystem.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="optimizer"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="30622"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ If the optimizer used a multi-read-range access method for index
+ lookups, incorrect results could occur for rows that contained
+ any of the <literal role="type">BLOB</literal> or
+ <literal role="type">TEXT</literal> data types.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <manual type="PAD_CHAR_TO_FULL_LENGTH"/>
+ <manual type="sql_mode"/>
+ <manual type="syntax"/>
+ </tags>
+
+ <versions>
+ <version ver="5.1.20"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Added a new <literal>PAD_CHAR_TO_FULL_LENGTH</literal> SQL mode.
+ By default, trailing spaces are trimmed from
+ <literal role="type">CHAR</literal> column values on retrieval.
+ If <literal>PAD_CHAR_TO_FULL_LENGTH</literal> is enabled,
+ trimming does not occur and retrieved
+ <literal role="type">CHAR</literal> values are padded to their
+ full length. This mode does not apply to
+ <literal role="type">VARCHAR</literal> columns, for which
+ trailing spaces are retained on retrieval.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="PAD_CHAR_TO_FULL_LENGTH"/>
+ <manual type="sql_mode"/>
+ <manual type="privileges"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32753"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Enabling the <literal>PAD_CHAR_TO_FULL_LENGTH</literal> SQL mode
+ caused privilege-loading operations (such as
+ <literal role="stmt" condition="flush">FLUSH
+ PRIVILEGES</literal>) to include trailing spaces from grant
+ table values stored in <literal role="type">CHAR</literal>
+ columns. Authentication for incoming connections failed as a
+ result. Now privilege loading does not include trailing spaces,
+ regardless of SQL mode.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <manual type="debugging"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33252"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.60"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ For binary <filename>.tar.gz</filename> packages,
+ <command>mysqld</command> and other binaries now are compiled
+ with debugging symbols included to enable easier use with a
+ debugger. If you do not need debugging symbols and are short on
+ disk space, you can use <command>strip</command> to remove the
+ symbols from the binaries.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="MySQLInstanceConfig.exe"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="30823"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Manifest problems prevented
+ <command>MySQLInstanceConfig.exe</command> from running on
+ Windows Vista.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="CAST()"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34512"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.60"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal role="func">CAST(AVG(<replaceable>arg</replaceable>) AS
+ DECIMAL)</literal> produced incorrect results for
+ non-<literal role="type">DECIMAL</literal> arguments.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="header files"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="23839"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.60"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The MySQL header files contained some duplicate macro
+ definitions that could cause compilation problems.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="row constructor"/>
+ <manual type="subqueries"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34763"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.60"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Queries such as <literal>SELECT ROW(1, 2) IN (SELECT t1.a, 2)
+ FROM t1 GROUP BY t1.a</literal> (combining row constructors and
+ subqueries in the <literal>FROM</literal> clause) could lead to
+ assertion failure or unexpected error messages.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Windows"/>
+ <manual type="shared memory"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="24992"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.60"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ For Windows 64-bit builds, enabling shared-memory support caused
+ client connections to fail.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Windows"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="25340"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.60"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ On Windows, an error in <filename>configure.js</filename> caused
+ installation of source distributions to fail.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="DROP DATABASE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="26703"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal role="stmt">DROP DATABASE</literal> failed for attempts
+ to drop databases with names that contained the legacy
+ <literal>#mysql50#</literal> name prefix.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="triggers"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32790"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.60"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Incorrect assertions could cause a server crash for
+ <literal role="stmt">DELETE</literal> triggers for transactional
+ tables.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="UPDATE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="31747"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23"/>
+ </versions>
+
+ <message>
+
+ <para>
+ For tables with certain definitions,
+ <literal role="stmt">UPDATE</literal> statements could fail to
+ find the correct record to update and report an error when the
+ record did in fact exist.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="SHOW PROCESSLIST"/>
+ <manual type="Windows"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="30960"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.60"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ On Windows, <literal role="stmt">SHOW PROCESSLIST</literal>
+ could display process entries with a <literal>State</literal>
+ value of <literal>*** DEAD ***</literal>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="FEDERATED"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35509"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.60"/>
+ </versions>
+
+ <message>
+
+ <para>
+ There was a memory leak when connecting to a
+ <literal>FEDERATED</literal> table using a connection string
+ that had a host value of <literal>localhost</literal> or omitted
+ the host and a port value of <literal>0</literal> or omitted the
+ port.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="CREATE SERVER"/>
+ <manual type="ALTER SERVER"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34790"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal role="stmt">CREATE SERVER</literal> and
+ <literal role="stmt">ALTER SERVER</literal> could crash the
+ server if out-of-memory conditions occurred.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="replication"/>
+ <manual type="InnoDB"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35226"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ When using row-based replication, a slave could crash at startup
+ because it received a row-based replication event that
+ <literal>InnoDB</literal> could not handle due to an incorrect
+ test of the query string provided by MySQL, which was
+ <literal>NULL</literal> for row-based replication events.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="FEDERATED"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="28269"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <literal>FEDERATED</literal> storage engine did not perform
+ identifier quoting for column names that are reserved words when
+ sending statements to the remote server.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="mysql.server"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="30378"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.60"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ An orphaned PID file from a no-longer-running process could
+ cause <command>mysql.server</command> to wait for that process
+ to exit even though it does not exist.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="ucs2"/>
+ <manual type="MyISAM"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32705"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.60"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Inserting strings with a common prefix into a table that used
+ the <literal>ucs2</literal> character set corrupted the table.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="MyISAM"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33222"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ For <literal>MyISAM</literal> tables, <literal role="stmt">CHECK
+ TABLE</literal> (non-<literal>QUICK</literal>) and any form of
+ <literal role="stmt">REPAIR TABLE</literal> incorrected treated
+ rows as corrupted under the combination of the following
+ conditions:
+ </para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ The table had dynamic row format
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ The table had a <literal role="type">CHAR</literal> (not
+ <literal role="type">VARCHAR</literal>) column longer than
+ 127 bytes (for multi-byte character sets this could be less
+ than 127 characters)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ The table had rows with a signifcant length of more than 127
+ bytes significant length in that
+ <literal role="type">CHAR</literal> column (that is, a byte
+ beyond byte position 127 must be a non-space character)
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ <para>
+ This problem affected <literal role="stmt">CHECK
+ TABLE</literal>, <literal role="stmt">REPAIR TABLE</literal>,
+ <literal role="stmt">OPTIMIZE TABLE</literal>,
+ <literal role="stmt">ALTER TABLE</literal>.
+ <literal role="stmt">CHECK TABLE</literal> reported and marked
+ the table as crashed if any row was present that fulfilled the
+ third condition. The other statements deleted these rows.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="plugins"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33358"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal role="type">ENUM</literal>- or
+ <literal>SET</literal>-valued plugin variables could not be set
+ from the command line.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="INFORMATION_SCHEMA"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34656"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ For debug builds, reading from
+ <literal role="is">INFORMATION_SCHEMA.TABLES</literal> or
+ <literal role="is">INFORMATION_SCHEMA.COLUMNS</literal> could
+ cause assertion failures. This could happen under rare
+ circumstances when <literal>INFORMATION_SCHEMA</literal> fails
+ to get information about a table (for example, when a connection
+ is killed).
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <bugs>
+ <fixes bugid="34726"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ A server running with the <option>--debug</option> option could
+ attempt to dereference a null pointer when opening tables,
+ resulting in a crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="binary log"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="30604"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.60"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Binary logging for a stored procedure differed depending on
+ whether or not execution occurred in a prepared statement.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="innodb_data_home_dir"/>
+ <manual type="MySQLInstanceConfig.exe"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="6627"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.60"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <command>MySQLInstanceConfig.exe</command> did not save the
+ <literal>innodb_data_home_dir</literal> value to the
+ <filename>my.ini</filename> file under certain circumstances.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <bugs>
+ <fixes bugid="34598"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Dangerous pointer arithmetic crashed the server on some systems.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="FEDERATED"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33946"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.60"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ For a <literal>FEDERATED</literal> table with an index on a
+ nullable column, accessing the table could crash a server,
+ return an incorrect result set, or return <literal>ERROR 1030
+ (HY000): Got error 1430 from storage engine</literal>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="debugging"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34424"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The per-thread debugging settings stack was not being
+ deallocated before thread termination, resulting in a stack
+ memory leak.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="debug"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34678"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Assigning an <quote>incremental</quote> value to the
+ <literal role="sysvar">debug</literal> system variable did not
+ add the new value to the current value. For example, if the
+ current <literal role="sysvar">debug</literal> value was
+ <literal>'T'</literal>, the statement <literal>SET debug =
+ '+P'</literal> resulted in a value of <literal>'P'</literal>
+ rather than the correct value of <literal>'P:T'</literal>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="incompatiblechange"/>
+ <manual type="plugin_dir"/>
+ <manual type="mysql_config"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="31736"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ For packages that are built within their own prefix (for
+ example, <filename>/usr/local/mysql</filename>) the plugin
+ directory will be <filename>lib/plugin</filename>. For packages
+ that are built to be installed into a system-wide prefix (such
+ as RPM packages with a prefix of <filename>/usr</filename>), the
+ plugin directory will be <filename>lib/mysql/plugin</filename>
+ to ensure a clean <filename>/usr/lib</filename> hierarchy. In
+ both cases, the <literal>$pkglibdir</literal> configuration
+ setting is used at build time to set the plugin directory.
+ </para>
+
+ <para>
+ The current plugin directory location is available as the value
+ of the <literal>plugin_dir</literal> system variable as before,
+ but the <command>mysql_config</command> script now has a
+ <option>--plugindir</option> option that can be used externally
+ to the server by third-party plugin writers to obtain the
+ default plugin directory pathname and configure their
+ installation directory appropriately.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="MySQLInstanceConfig.exe"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="24215"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.60"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ If a user installed MySQL Server and set a password for the
+ <literal>root</literal> user, and then uninstalled and
+ reinstalled MySQL Server to the same location, the user could
+ not use the MySQL Instance Config wizard to configure the server
+ because the uninstall operation left the previous data directory
+ intact. The config wizard <emphasis>assumed</emphasis> that any
+ new install (not an upgrade) would have the default data
+ directory where the <literal>root</literal> user has no
+ password. The installer now writes a registry key named
+ <literal>FoundExistingDataDir</literal>. If the installer finds
+ an existing data directory, the key will have a value of 1,
+ otherwise it will have a value of 0. When
+ <command>MySQLInstanceConfig.exe</command> is run, it will
+ attempt to read the key. If it can read the key, and the value
+ is 1 and there is no existing instance of the server (indicating
+ a new installation), the Config Wizard will allow the user to
+ input the old password so the server can be configured.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="mysqldump"/>
+ <manual type="syntax"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="25162"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.60"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Using <command>mysqldump</command> in MySQL 5.1 resulted in dump
+ files that could not be loaded in MySQL 5.0 because
+ <literal>USING <replaceable>type_name</replaceable></literal>
+ options in index definitions appeared after the index column
+ list, whereas 5.0 accepted only the old syntax that has
+ <literal>USING</literal> before the column list. The parser in
+ 5.0 now accepts <literal>USING</literal> following the column
+ list.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="mysqldump"/>
+ <manual type="character_set_results"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34192"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.60"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <command>mysqldump</command> attempts to set the
+ <literal role="sysvar">character_set_results</literal> system
+ variable after connecting to the server. This failed for pre-4.1
+ servers that have no such variable, but
+ <command>mysqldump</command> did not account for this and 1)
+ failed to dump database contents; 2) failed to produce any error
+ message alerting the user to the problem.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="key_buffer_size"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35272"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Memory-allocation failures for attempts to set
+ <literal role="sysvar">key_buffer_size</literal> to large values
+ could result in a server crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="securityfix"/>
+ <manual type="LOAD DATA LOCAL INFILE"/>
+ <manual type="FETCH LOCAL FILE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="29605"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ A client that connects to a malicious server could be tricked by
+ the server into sending files from the client host to the
+ server. This occurs because the
+ <literal>libmysqlclient</literal> client library would respond
+ to a <literal>FETCH LOCAL FILE</literal> request from the server
+ even if the request is sent for statements from the client other
+ than <literal>LOAD DATA LOCAL INFILE</literal>. The client
+ library has been modified to respond to a <literal>FETCH LOCAL
+ FILE</literal> request from the server only if is is sent in
+ response to a <literal>LOAD DATA LOCAL INFILE</literal>
+ statement from the client.
+ </para>
+
+ <para>
+ The client library now also checks whether
+ <literal>CLIENT_LOCAL_FILE</literal> is set and refuses to send
+ a local file if not.
+ </para>
+
+ <note>
+ <para>
+ Binary distributions ship with the
+ <literal>local-infile</literal> capability enabled.
+ Applications that do not use this functionality should disable
+ it to be safe.
+ </para>
+ </note>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <manual type="InnoDB monitors"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34053"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <literal role="priv">PROCESS</literal> privilege now is
+ required to start or stop the <literal>InnoDB</literal> monitor
+ tables (see linkend="innodb-monitor"/>). Previously, no
+ privilege was required.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <manual type="report_host"/>
+ <manual type="report_password"/>
+ <manual type="report_port"/>
+ <manual type="report_user"/>
+ </tags>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The new read-only global system variables
+ <literal>report_host</literal>,
+ <literal>report_password</literal>,
+ <literal>report_port</literal>, and
+ <literal>report_user</literal> system variables provide runtime
+ access to the values of the corresponding
+ <option>--report-host</option>,
+ <option>--report-password</option>,
+ <option>--report-port</option>, and
+ <option>--report-user</option> options.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="views"/>
+ <manual type="metadata"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="30217"/>
+ <seealsobug bugid="11986"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ View metadata returned from
+ <literal role="is">INFORMATION_SCHEMA.VIEWS</literal> was
+ changed by the fix for Bug#11986, causing the information
+ returned in MySQL 5.1 to differ from that returned in 5.0.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="optimizer"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33033"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The new index condition pushdown optimization could cause a
+ server crash when used with the range access method over an
+ <literal>InnoDB</literal> table.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="optimizer"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="30221"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ For multi-read-range scans used to resolve
+ <literal>LIMIT</literal> queries, failure to close the scan
+ caused file descriptor leaks for <literal>MyISAM</literal>
+ tables.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="stored procedures"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="15192"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Stored procedure exception handlers were catching fatal errors
+ (such as out of memory errors), which could cause execution not
+ to stop to due a continue handler. Now fatal errors are not
+ caught by exception handlers and a fatal error is returned to
+ the client.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Threads_connected"/>
+ <manual type="Threads_created"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="17954"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Delayed-insert threads were counted as connected but not as
+ created, incorrectly leading to a
+ <literal>Threads_connected</literal> value greater than the
+ <literal>Threads_created</literal> value.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="general_log_file"/>
+ <manual type="slow_query_log_file"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32748"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.25"/>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Assignment of relative pathnames to
+ <literal role="sysvar">general_log_file</literal> or
+ <literal>slow_query_log_file</literal> did not always work.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="events"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32771"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ There was a race condition between the event scheduler and the
+ server shutdown thread.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="log_output"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34820"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.25"/>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <literal role="sysvar">log_output</literal> system variable
+ could be set to an illegal value.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="FLUSH TABLES"/>
+ <manual type="SHOW FUNCTION STATUS"/>
+ <manual type="SHOW PROCEDURE STATUS"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34895"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Concurrent execution of
+ <literal role="stmt" condition="flush">FLUSH TABLES</literal>
+ along with <literal role="stmt">SHOW FUNCTION STATUS</literal>
+ or <literal role="stmt">SHOW PROCEDURE STATUS</literal> could
+ cause a server crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="INFORMATION_SCHEMA"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35096"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Access-denied messages for <literal>INFORMATION_SCHEMA</literal>
+ incorrectly showed the name of the default database instead.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="INFORMATION_SCHEMA"/>
+ <manual type="SELECT"/>
+ <manual type="privileges"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35955"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ If a <literal role="stmt">SELECT</literal> table list contained
+ at least one <literal>INFORMATION_SCHEMA</literal> table, the
+ required privileges for accessing the other tables were reduced.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="MyISAM"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35733"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.25"/>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ An incorrect error and message was produced for attempts to
+ create a <literal>MyISAM</literal> table with an index
+ (<filename>.MYI</filename>) filename that was already in use by
+ some other <literal>MyISAM</literal> table that was open at the
+ same time. For example, this might happen if you use the same
+ value of the <literal>INDEX DIRECTORY</literal> table option for
+ tables belonging to different databases.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="mysqlhotcopy"/>
+ <manual type="--record_log_pos"/>
+ <manual type="Master_Log_File"/>
+ <manual type="Read_Master_Log_Pos"/>
+ <manual type="Relay_Master_Log_File"/>
+ <manual type="Exec_Master_Log_Pos"/>
+ <manual type="SHOW SLAVE STATUS"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="27101"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.60"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ For the <option>--record_log_pos</option> option,
+ <command>mysqlhotcopy</command> now determines the slave status
+ information from the result of <literal role="stmt">SHOW SLAVE
+ STATUS</literal> by using the
+ <literal>Relay_Master_Log_File</literal> and
+ <literal>Exec_Master_Log_Pos</literal> values rather than the
+ <literal>Master_Log_File</literal> and
+ <literal>Read_Master_Log_Pos</literal> values. This provides a
+ more accurate indication of slave execution relative to the
+ master.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="CREATE SERVER"/>
+ <manual type="DROP SERVER"/>
+ <manual type="FLUSH PRIVILEGES"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34789"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal role="stmt">DROP SERVER</literal> does not release
+ memory cached for server structures created by
+ <literal role="stmt">CREATE SERVER</literal>, so repeated
+ iterations of these statements resulted in a memory leak.
+ <literal role="stmt" condition="flush">FLUSH
+ PRIVILEGES</literal> now releases the memory allocated for
+ <literal role="stmt">CREATE SERVER</literal>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <manual type="--help"/>
+ <manual type="option processing"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35224"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ For boolean options, the option-processing library now prints
+ additional information in the <option>--help</option> message:
+ If the option is enabled by default, the message says so and
+ indicates that the <option>--skip</option> form of the option
+ disables the option. This affects all compiled MySQL programs
+ that use the library.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="GET_LOCK()"/>
+ <manual type="SLEEP()"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="10374"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ If a connection was waiting for a
+ <literal role="func">GET_LOCK()</literal> lock or a
+ <literal role="func">SLEEP()</literal> call, and the connection
+ aborted, the server did not detect this and thus did not close
+ the connection. This caused a waste of system resources
+ allocated to dead connections. Now the server checks such a
+ connection every five seconds to see whether it has been
+ aborted. If so, the connection is killed (and any lock request
+ is aborted).
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="SELECT"/>
+ <manual type="INTO"/>
+ <manual type="subqueries"/>
+ <manual type="syntax"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="30105"/>
+ <fixes bugid="33204"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The parser accepted an <literal>INTO</literal> clause in nested
+ <literal role="stmt">SELECT</literal> statements, which is
+ invalid because such statements must return their results to the
+ outer context.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="RESTORE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="3353"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal role="stmt">RESTORE</literal> failed for databases or
+ tables with names that contain certain non-alphanumeric
+ characters, such as spaces.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="optimizer"/>
+ <manual type="semi-join"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33062"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Repeatedly executing a query with a semi-join subquery could
+ cause a server crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="mysql_stmt_prepare()"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36004"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal role="cfunc">mysql_stmt_prepare()</literal> did not
+ reset the list of messages (those messages available via
+ <literal role="stmt">SHOW WARNINGS</literal>).
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <manual type="innodb_log_arch_dir"/>
+ </tags>
+
+ <versions>
+ <version ver="5.0.24"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <literal>innodb_log_arch_dir</literal> system variable
+ (which has been unused since MySQL 4.0.6) is now deprecated and
+ should no longer be used. It will be removed in MySQL 5.1.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <highlight type="incompatiblechange"/>
+ <manual type="innodb_log_arch_dir"/>
+ </tags>
+
+ <versions>
+ <version ver="5.1.21"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <literal>innodb_log_arch_dir</literal> system variable
+ (which has been deprecated since MySQL 5.0.24) has been removed
+ and should no longer be used.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="stored routines"/>
+ <manual type="Questions"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="24289"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.31"/>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <literal>Questions</literal> status variable is intended as
+ a count of statements sent by clients to the server, but was
+ also counting statements executed within stored routines.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="bison"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34926"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.60"/>
+ <version ver="5.1.25"/>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Some binaries produced stack corruption messages due to being
+ built with versions of <command>bison</command> older than 2.1.
+ Builds are now created using <command>bison</command> 2.3.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Windows"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="28680"/>
+ <fixes bugid="32797"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.25"/>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <literal>mysql.servers</literal> table was not created
+ during installation on Windows.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Windows"/>
+ <manual type="Vista"/>
+ <manual type="JScript"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36103"/>
+ </bugs>
+
+ <versions>
+ <version ver="4.1.25"/>
+ <version ver="5.0.51b"/>
+ <version ver="5.0.60"/>
+ <version ver="5.1.25"/>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ On Windows, the installer attempted to use JScript to determine
+ whether the target data directory already existed. On Windows
+ Vista x64, this resulted in an error because the installer was
+ attempting to run the JScript in a 32-bit engine, which wasn't
+ registered on Vista. The installer no longer uses JScript but
+ instead relies on a native WiX command.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <highlight type="incompatiblechange"/>
+ <manual type="innodb_buffer_pool_awe_mem_mb"/>
+ </tags>
+
+ <versions>
+ <version ver="5.1.13"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <literal>innodb_buffer_pool_awe_mem_mb</literal> system
+ variable has been removed and should no longer be used.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <highlight type="replication"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33055"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ When updating columns for a row when using a
+ <literal>Falcon</literal> table, the values for columns that
+ were not updated were replicated as <literal>NULL</literal>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34174"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ For <literal>Falcon</literal>, under some circumstances, a
+ rolled back record could appear not to be removed.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <manual type="isolation level"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34164"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Attempting to set the isolation level to a value not supported
+ by <literal>Falcon</literal> caused a <literal>Falcon</literal>
+ assertion failure.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33634"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Contention between concurrent <literal>Falcon</literal>
+ transactions could cause some queries to be starved for a long
+ time.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33175"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Inserting millions of rows into a <literal>Falcon</literal>
+ table could cause the insert operation to hang.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="incompatiblechange"/>
+ <manual type="privileges"/>
+ <manual type="CHECK TABLE"/>
+ <manual type="CHECKSUM TABLE"/>
+ <manual type="CREATE TABLE ... LIKE"/>
+ <manual type="SHOW COLUMNS"/>
+ <manual type="SHOW CREATE TABLE"/>
+ <manual type="SHOW CREATE VIEW"/>
+ <manual type="SHOW INDEX"/>
+ <manual type="SHOW OPEN TABLES"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="27145"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Access privileges for several statements are more accurately
+ checked:
+ </para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ <literal role="stmt">CHECK TABLE</literal> requires some
+ privilege for the table.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <literal role="stmt">CHECKSUM TABLE</literal> requires
+ <literal role="priv">SELECT</literal> for the table.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <literal>CREATE TABLE ... LIKE</literal> requires
+ <literal role="priv">SELECT</literal> for the source table
+ and <literal role="priv">CREATE</literal> for the
+ destination table.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <literal role="stmt">SHOW COLUMNS</literal> displays
+ information only for those columns you have some privilege
+ for.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <literal role="stmt">SHOW CREATE TABLE</literal> requires
+ some privilege for the table (previously required
+ <literal role="priv">SELECT</literal>).
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <literal role="stmt">SHOW CREATE VIEW</literal> requires
+ <literal role="priv">SHOW VIEW</literal> and
+ <literal role="priv">SELECT</literal> for the view.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <literal role="stmt">SHOW INDEX</literal> requires some
+ privilege for any column.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <literal role="stmt">SHOW OPEN TABLES</literal> displays
+ only tables for which you have some privilege on any table
+ column.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <highlight type="partitioning"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33480"/>
+ <fixes bugid="33735"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Multiple simultaneous inserts into a partitioned
+ <literal>Falcon</literal> table could deadlock.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="incompatiblechange"/>
+ <manual type="Falcon"/>
+ <manual type="falcon_lock_timeout"/>
+ <manual type="falcon_lock_wait_timeout"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33474"/>
+ <fixes bugid="33072"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <literal>falcon_lock_timeout</literal> system variable,
+ which had a value in milliseconds, has been replaced with
+ <literal>falcon_lock_wait_timeout</literal>, which has a value
+ in seconds. The default value of
+ <literal>falcon_lock_wait_timeout</literal> is 50 seconds. This
+ has been done for better name and unit consistency with the
+ <literal>innodb_lock_wait_timeout</literal> system variable.
+ Uses of the old variable should be converted to use the new
+ variable.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33191"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Multiple concurrent delete operations on a
+ <literal>Falcon</literal> table were serialized rather than
+ executing concurrently, resulting in poor performance.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33080"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Multiple <literal>Falcon</literal> gopher threads attempting to
+ update the same index could result in failure to add new index
+ entries.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <manual type="DROP TABLESPACE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33216"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The error message was vague for attempts to drop a
+ <literal>Falcon</literal> tablespace that contained tables. Now
+ the message <errortext>Tablespace busy</errortext> is returned.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33492"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ After a server restart, <literal>Falcon</literal> mishandled
+ metadata, resulting in apparent corruption of
+ <literal role="type">BLOB</literal> data.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33068"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal>Falcon</literal> tried to delete a record from an empty
+ record locator page, which could cause a server crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32620"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal>Falcon</literal> did not properly handle quoted column
+ name or tablespace name identifiers.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <manual type="TRUNCATE TABLE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32730"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Concurrent <literal role="stmt" condition="truncate">TRUNCATE
+ TABLE</literal> operations for <literal>Falcon</literal> tables
+ caused <literal>Falcon</literal> to crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <manual type="Mac OS X"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32201"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ On Mac OS X, creating a <literal>Falcon</literal> table using a
+ new <literal>Falcon</literal> installation caused a crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="31286"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal>Falcon</literal> could crash when the maximum record
+ size was exceeded.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <manual type="falcon_consistent_read"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34331"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Setting <literal>falcon_consistent_read</literal> to a value of
+ 1 or <literal>ON</literal> resulted in a value of −1 being
+ assigned.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <manual type="INFORMATION_SCHEMA"/>
+ <manual type="FALCON_TRANSACTIONS"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34241"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <literal>INFORMATION_SCHEMA.FALCON_TRANSACTIONS</literal>
+ had two columns named <literal>STATE</literal>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <manual type="Mac OS X"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34095"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal>Falcon</literal> did not compile on Mac OS X/Intel or
+ Mac OS X/PPC.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33759"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ For <literal>Falcon</literal>, an initializing transaction
+ created a dependency on a commitNoUpdate transaction releasing
+ transaction dependencies, which caused an assertion failure.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33657"/>
+ <fixes bugid="33667"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ For table creation, <literal>Falcon</literal> did not handle
+ identifiers with embedded double quotes.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <manual type="DELETE"/>
+ <highlight type="replication"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32150"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal>DELETE FROM
+ <replaceable>tbl_name</replaceable></literal> (no
+ <literal>WHERE</literal> clause) for a <literal>Falcon</literal>
+ table caused replication to fail on the slave.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32921"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal>Falcon</literal> failed to rebuild a Section page
+ during recovery, causing a server crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33608"/>
+ <fixes bugid="33665"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Incomplete <literal>Falcon</literal> recovery after server
+ restarts eventually resulted in tablespace corruption.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="init_time"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="26294"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.62"/>
+ <version ver="5.1.25"/>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The internal <function>init_time()</function> library function
+ was renamed to <function>my_init_time()</function> to avoid
+ conflicts with external libraries.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Solaris"/>
+ <manual type="ARCHIVE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34094"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Compilation failed on Solaris for the <literal>ARCHIVE</literal>
+ storage engine due to inclusion of <filename>getopt.h</filename>
+ in the <literal>ARCHIVE</literal> code.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="mysqltest"/>
+ <manual type="replace_result"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36041"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.25"/>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <command>mysqltest</command> was performing escape processing
+ for the <option>--replace_result</option> command, which it
+ should not have been.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="mysqltest"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36465"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.62"/>
+ <version ver="5.1.25"/>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <command>mysqltest</command> ignored the value of
+ <option>--tmpdir</option> in one place.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <manual type="mysql_upgrade"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36469"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.62"/>
+ <version ver="5.1.25"/>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <command>mysql_upgrade</command> now has a
+ <option>--tmpdir</option> option to enable the location of
+ temporary files to be specified.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="FLOAT"/>
+ <manual type="ZEROFILL"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36139"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.62"/>
+ <version ver="5.1.25"/>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Conversion of a <literal>FLOAT ZEROFILL</literal> value to
+ string could cause a server crash if the value was
+ <literal>NULL</literal>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="event scheduler"/>
+ <manual type="mysql_upgrade"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35824"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.25"/>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <command>mysql_upgrade</command> did not properly update the
+ <literal>mysql.event</literal> table.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="parser"/>
+ <manual type="syntax"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="15776"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.62"/>
+ <version ver="5.1.25"/>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The parser used signed rather than unsigned values in some cases
+ that caused legal lengths in column declarations to be rejected.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <highlight type="importantchange"/>
+ <manual type="FEDERATED"/>
+ </tags>
+
+ <versions>
+ <version ver="5.1.24"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <literal>FEDERATED</literal> storage engine is not included
+ in binary distributions of MySQL 5.1.24. (It will be included
+ again in 5.1.25.)
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <manual type="innodb_log_archive"/>
+ </tags>
+
+ <versions>
+ <version ver="5.1.18"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <literal>innodb_log_archive</literal> system variable has
+ been removed. The impact of this change should be low because
+ the variable was unused, anyway.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="MERGE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36006"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.25"/>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <literal>MERGE</literal> storage engine did a table scan for
+ <literal>SELECT COUNT(*)</literal> statements when it could
+ calculate the number of records from the underlying tables.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="subqueries"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36005"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.62"/>
+ <version ver="5.1.25"/>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The server crashed inside <literal>NOT IN</literal> subqueries
+ with an impossible <literal>WHERE</literal> or
+ <literal>HAVING</literal> clause, such as <literal>NOT IN
+ (SELECT ... FROM t1, t2, ... WHERE 0)</literal>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="GROUP BY"/>
+ <manual type="ORDER BY"/>
+ <manual type="gbk"/>
+ <manual type="big5"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35993"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.62"/>
+ <version ver="5.1.25"/>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Grouping or ordering of long values in unindexed
+ <literal role="type">BLOB</literal> or
+ <literal role="type">TEXT</literal> columns with the
+ <literal>gbk</literal> or <literal>big5</literal> character set
+ crashed the server.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="read_only"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35732"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.24-ndb-6.3.13"/>
+ <version ver="5.1.25"/>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Enabling the <literal>read_only</literal> system variable while
+ autocommit mode was enabled caused
+ <literal role="stmt">SELECT</literal> statements for
+ transactional storage engines to fail.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <bugs>
+ <fixes bugid="36023"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.62"/>
+ <version ver="5.1.25"/>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ An error in calculation of the precision of zero-length items
+ (such as <literal>NULL</literal>) caused a server crash for
+ queries that employed temporary tables.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="configuration"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34291"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.62"/>
+ <version ver="5.1.25"/>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Several additional configuration scripts in the
+ <filename>BUILD</filename> directory now are included in source
+ distributions. These may be useful for users who wish to build
+ MySQL from source. (See
+ <xref linkend="installing-source-tree"/>, for information about
+ what they do.)
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="debugging"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35986"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.62"/>
+ <version ver="5.1.25"/>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal>SET GLOBAL debug=''</literal> resulted in a Valgrind
+ warning in <function>DbugParse()</function>, which was reading
+ beyond the end of the control string.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <bugs>
+ <fixes bugid="35298"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.62"/>
+ <version ver="5.1.25"/>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The combination of
+ <literal role="func">GROUP_CONCAT()</literal>,
+ <literal>DISTINCT</literal>, and <literal>LEFT JOIN</literal>
+ could crash the server when the right table is empty.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="optimizer"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35844"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.25"/>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The server ignored any covering index used for
+ <literal>ref</literal> access of a table in a query with
+ <literal>ORDER BY</literal> if this index was incompatible with
+ the <literal>ORDER BY</literal> list and there was another
+ covering index compatible with this list. As a result,
+ suboptimal execution plans were chosen for some queries that
+ used an <literal>ORDER BY</literal> clause.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Windows"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34297"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.25"/>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ On Windows 64-bit builds, an apparent compiler bug caused memory
+ overruns for code in <filename>innobase/mem/*</filename>.
+ Removed optimizations so as not to trigger this problem.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="event scheduler"/>
+ <manual type="libmysqld"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35997"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.25"/>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The Event Scheduler was not designed to work under the embedded
+ server. It is now disabled for the embedded server, and the
+ <literal role="sysvar">event_scheduler</literal> system variable
+ is not displayed.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="tests"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="28563"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.25"/>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <literal>jp</literal> test suite was not working.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="UPDATE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36676"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.64"/>
+ <version ver="5.1.25"/>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Multiple-table <literal role="stmt">UPDATE</literal> statements
+ that used a temporary table could fail to update all qualifying
+ rows or fail with a spurious duplicate-key error.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="REGEXP"/>
+ <manual type="CONCAT()"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36488"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.64"/>
+ <version ver="5.1.25"/>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ A <literal role="op">REGEXP</literal> match could return
+ incorrect rows when the previous row matched the expression and
+ used <literal role="func">CONCAT()</literal> with an empty
+ string.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="EXPLAIN"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36011"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.64"/>
+ <version ver="5.1.25"/>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ For <literal>EXPLAIN EXTENDED</literal>, execution of an
+ uncorrelated <literal>IN</literal> subquery caused a crash if
+ the subquery required a temporary table for its execution.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Windows"/>
+ <manual type="key_buffer_size"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36705"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.64"/>
+ <version ver="5.1.25"/>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ On Windows 64-bit systems, temporary variables of
+ <literal>long</literal> types were used to store
+ <literal>ulong</literal> values, causing key cache
+ initialization to receive distorted parameters. The effect was
+ that setting <literal role="sysvar">key_buffer_size</literal> to
+ values of 2GB or more caused memory exhaustion to due allocation
+ of too much memory.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Windows"/>
+ <manual type="installation"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36305"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.25"/>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ When updating an existing instance (for example, from MySQL 5.0
+ to 5.1, or 5.1 to 6.0), the Instance Configuration Wizard
+ unnecessarily prompted for a <literal>root</literal> password
+ when there was an existing <literal>root</literal> password.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <highlight type="importantchange"/>
+ <manual type="CHECK TABLE"/>
+ <manual type="FOR UPGRADE"/>
+ <manual type="REPAIR TABLE"/>
+ <manual type="USE_FRM"/>
+ <manual type="mysqlcheck"/>
+ <manual type="mysql_upgrade"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36055"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.62"/>
+ <version ver="5.1.25"/>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Some changes were made to <literal>CHECK TABLE ... FOR
+ UPGRADE</literal> and <literal role="stmt">REPAIR
+ TABLE</literal> with respect to detection and handling of tables
+ with incompatible <filename>.frm</filename> files (files created
+ with a different version of the MySQL server). These changes
+ also affect <command>mysqlcheck</command> because that program
+ uses <literal role="stmt">CHECK TABLE</literal> and
+ <literal>REPAIR</literal> table, and thus also
+ <command>mysql_upgrade</command> because that program invokes
+ <command>mysqlcheck</command>.
+ </para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ If your table was created by a different version of the
+ MySQL server than the one you are currently running,
+ <literal>CHECK TABLE ... FOR UPGRADE</literal> indicates
+ that the table has an <filename>.frm</filename> file with an
+ incompatible version. In this case, the result set returned
+ by <literal role="stmt">CHECK TABLE</literal> contains a
+ line with a <literal>Msg_type</literal> value of
+ <literal>error</literal> and a <literal>Msg_text</literal>
+ value of <literal>Table upgrade required. Please do "REPAIR
+ TABLE `<replaceable>tbl_name</replaceable>`" to fix
+ it!</literal>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <literal role="stmt">REPAIR TABLE</literal> without
+ <literal>USE_FRM</literal> upgrades the
+ <filename>.frm</filename> file to the current version.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ If you use <literal>REPAIR TABLE ...USE_FRM</literal> and
+ your table was created by a different version of the MySQL
+ server than the one you are currently running,
+ <literal role="stmt">REPAIR TABLE</literal> will not attempt
+ to repair the table. In this case, the result set returned
+ by <literal role="stmt">REPAIR TABLE</literal> contains a
+ line with a <literal>Msg_type</literal> value of
+ <literal>error</literal> and a <literal>Msg_text</literal>
+ value of <literal>Failed repairing incompatible .FRM
+ file</literal>.
+ </para>
+ <para>
+ Previously, use of <literal>REPAIR TABLE
+ ...USE_FRM</literal> with a table created by a different
+ version of the MySQL server risked the loss of all rows in
+ the table.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <manual type="configure"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35011"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The (undocumented) <command>configure</command> script
+ previously included with binary distributions is no longer
+ included.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="mysqldumpslow"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="20455"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.56"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <command>mysqldumpslow</command> returned a confusing error
+ message when no configuration file was found.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <manual type="SHOW COLUMN TYPES"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="5299"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The undocumented, deprecated, and not useful <literal>SHOW
+ COLUMN TYPES</literal> statement has been removed.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="subqueries"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32680"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Deeply nested subqueries could cause stack overflow or a server
+ crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Windows"/>
+ <manual type="debugging"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35104"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.60"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Debugging symbols were missing for some executables in Windows
+ binary distributions.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="optimizer"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35850"/>
+ <seealsobug bugid="26447"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.25"/>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <quote>prefer full scan on clustered primary key over full
+ scan of any secondary key</quote> optimizer rule introduced by
+ Bug#26447 caused a performance regression for some queries, so
+ it has been disabled.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="parser"/>
+ <manual type="syntax"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36320"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The server crashed while parsing large floating-point numbers
+ such as <literal>1e37</literal> or <literal>-1e15</literal>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="errors"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36457"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <literal>ER_TRUNCATED_WRONG_VALUE</literal> warning
+ condition was sometimes raised as an error.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="errors"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35936"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Some syntactically invalid statements could cause the server to
+ return an error message containing garbage characters.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="subqueries"/>
+ <manual type="optimizer"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36137"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The combination of semi-join and materialization both being
+ enabled could lead to assertion failure during subquery
+ processing.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="subqueries"/>
+ <manual type="optimizer"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36133"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Range optimizer evaluation of <literal>IN</literal> subqueries
+ to be handled with the materialization strategy could lead to
+ assertion failure.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="subqueries"/>
+ <manual type="optimizer"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36128"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ A server crash could occur during the cleanup phase of subquery
+ execution.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="subqueries"/>
+ <manual type="optimizer"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35767"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Processing of an uncorrelated subquery using semi-join could
+ cause incorrect results or a server crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="subqueries"/>
+ <manual type="optimizer"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35674"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The range optimizer ignored conditions on inner tables in
+ semi-join <literal>IN</literal> subqueries, causing the
+ optimizer to miss good query execution plans.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="subqueries"/>
+ <manual type="optimizer"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35550"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ A semi-join subquery in the <literal>ON</literal> clause in the
+ absence of a <literal>WHERE</literal> clause caused a server
+ crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="subqueries"/>
+ <manual type="optimizer"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35160"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The table pullout strategy was not reflected in <literal>EXPLAIN
+ EXTENDED</literal> output if not all of the subquery tables were
+ pulled out.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="subqueries"/>
+ <manual type="optimizer"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34799"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ A server crash or memory overrun could occur with a dependent
+ subquery and joins.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="subqueries"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33509"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Use of 61 nested subqueries caused a server crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="CHECKSUM TABLE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35570"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Different invocations of <literal role="stmt">CHECKSUM
+ TABLE</literal> could return different results for a table
+ containing columns with spatial data types.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="ORDER BY"/>
+ <manual type="CHAR()"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34949"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Passing an invalid parameter to
+ <literal role="func">CHAR()</literal> in an <literal>ORDER
+ BY</literal> clause caused the server to hang.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <highlight type="incompatiblechange"/>
+ <manual type="prepared statements"/>
+ <manual type="PREPARE"/>
+ <manual type="mysql_stmt_prepare()"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="27420"/>
+ <fixes bugid="27430"/>
+ <fixes bugid="27690"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.25"/>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ A change has been made to the way that the server handles
+ prepared statements. This affects prepared statements processed
+ at the SQL level (using the
+ <literal role="stmt" condition="sql-syntax-prepared-statements">PREPARE</literal>
+ statement) and those processed using the binary client-server
+ protocol (using the
+ <literal role="cfunc">mysql_stmt_prepare()</literal> C API
+ function).
+ </para>
+
+ <para>
+ Previously, changes to metadata of tables or views referred to
+ in a prepared statement could cause a server crash when the
+ statement was next executed, or perhaps an error at execute time
+ with a crash occurring later. For example, this could happen
+ after dropping a table and recreating it with a different
+ definition.
+ </para>
+
+ <para>
+ Now metadata changes to tables or views referred to by prepared
+ statements are detected and cause automatic repreparation of the
+ statement when it is next executed. Metadata changes occur for
+ DDL statements such as those that create, drop, alter, rename,
+ or truncate tables, or that analyze, optimize, or repair tables.
+ Repreparation also occurs after referenced tables or views are
+ flushed from the table definition cache, either implicitly to
+ make room for new entries in the cache, or explicitly due to
+ <literal role="stmt" condition="flush">FLUSH TABLES</literal>.
+ </para>
+
+ <para>
+ Repreparation is automatic, but to the extent that it occurs,
+ performance of prepared statements is diminished.
+ </para>
+
+ <para>
+ Table content changes (for example, with
+ <literal role="stmt">INSERT</literal> or
+ <literal role="stmt">UPDATE</literal>) do not cause
+ repreparation, nor do <literal role="stmt">SELECT</literal>
+ statements.
+ </para>
+
+ <para>
+ An incompatibility with previous versions of MySQL is that a
+ prepared statement may now return a different set of columns or
+ different column types from one execution to the next. For
+ example, if the prepared statement is <literal>SELECT * FROM
+ t1</literal>, altering <literal>t1</literal> to contain a
+ different number of columns causes the next execution to return
+ a number of columns different from the previous execution.
+ </para>
+
+ <para>
+ Older versions of the client library cannot handle this change
+ in behavior. For applications that use prepared statements with
+ the new server, an upgrade to the new client library is strongly
+ recommended.
+ </para>
+
+ <para>
+ Along with this change to statement repreparation, the default
+ value of the <literal>table_definition_cache</literal> system
+ variable has been increased from 128 to 256. The purpose of this
+ increase is to lessen the chance that prepared statements will
+ need repreparation due to referred-to tables/views having been
+ flushed from the cache to make room for new entries.
+ </para>
+
+ <para>
+ A new status variable, <literal>Com_stmt_reprepare</literal>,
+ has been introduced to track the number of repreparations.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="optimizer"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33743"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ A number of problems in new subquery optimization code meant
+ that MySQL could pick an incorrect query plan when using
+ InsideOut and/or FirstMatch subquery optimizations, which in
+ turn would cause wrong query results.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <highlight type="incompatiblechange"/>
+ <highlight type="importantchange"/>
+ <manual type="FEDERATED"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="37069"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.64"/>
+ <version ver="5.1.26"/>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message ver="5.0.64">
+
+ <para>
+ The <literal>FEDERATED</literal> storage engine is now disabled
+ by default in the <filename>.cnf</filename> files shipped with
+ MySQL distributions (<filename>my-huge.cnf</filename>,
+ <filename>my-medium.cnf</filename>, and so forth). This affects
+ server behavior only if you install one of these files.
+ </para>
+
+ </message>
+
+ <message ver="5.1.26,6.0.6">
+
+ <para>
+ The <literal>FEDERATED</literal> storage engine is now disabled
+ by default in binary distributions. The engine is still
+ available and can be enabled by starting the server with the
+ <option>--federated</option> option.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="privileges"/>
+ <manual type="GRANT"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="16470"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Use of <literal role="stmt">GRANT</literal> statements with
+ grant tables from an old version of MySQL could cause a server
+ crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="InnoDB"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36434"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.26"/>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <filename>ha_innodb.so</filename> was incorrectly installed in
+ the <filename>lib/mysql</filename> directory rather than in
+ <filename>lib/mysql/plugin</filename>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="TRUNCATE TABLE"/>
+ <manual type="InnoDB"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="29507"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.28"/>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal role="stmt" condition="truncate">TRUNCATE
+ TABLE</literal> for <literal>InnoDB</literal> tables returned a
+ count showing too many rows affected. Now the statement returns
+ 0 for <literal>InnoDB</literal> tables.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="InnoDB"/>
+ <manual type="Handler_delete"/>
+ <manual type="Handler_update"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35537"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal>InnoDB</literal> was not updating the
+ <literal>Handler_delete</literal> or
+ <literal>Handler_update</literal> status variables.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="InnoDB"/>
+ <manual type="CREATE INDEX"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36169"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal role="stmt">CREATE INDEX</literal> for
+ <literal>InnoDB</literal> tables could under very rare
+ circumstances cause the server to crash..
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="InnoDB"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36278"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.28"/>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ For <literal>InnoDB</literal> tables, the
+ <literal>DATA_FREE</literal> column of the
+ <literal role="is">INFORMATION_SCHEMA.TABLES</literal> displayed
+ free space in kilobytes rather than bytes. Now it displays
+ bytes.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="replication"/>
+ <manual type="CHAR"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="37426"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.26"/>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Row-based replication broke for <literal>utf8</literal>
+ <literal role="type">CHAR</literal> columns longer than 85
+ characters.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="subqueries"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="37004"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.26"/>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal>NOT IN</literal> subqueries that selected
+ <literal role="func">MIN()</literal> or
+ <literal role="func">MAX()</literal> values but produced an
+ empty result could cause a server crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="mysql"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33812"/>
+ <seealsobug bugid="38158"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.66"/>
+ <version ver="5.1.26"/>
+ </versions>
+
+ <message ver="5.0.66">
+
+ <para>
+ The <command>mysql</command> client incorrectly parsed
+ statements containing the word <quote>delimiter</quote> in
+ mid-statement.
+ </para>
+
+ <para>
+ The fix for this bug had the side effect of causing the problem
+ reported in Bug#38158, so it was reverted in MySQL 5.0.67.
+ </para>
+
+ </message>
+
+ <message ver="5.1.26">
+
+ <para>
+ The <command>mysql</command> client incorrectly parsed
+ statements containing the word <quote>delimiter</quote> in
+ mid-statement.
+ </para>
+
+ <para>
+ The fix for this bug had the side effect of causing the problem
+ reported in Bug#38158, so it was reverted in MySQL 5.1.27.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="mysql"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="38158"/>
+ <seealsobug bugid="33812"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.67"/>
+ <version ver="5.1.27"/>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The fix for Bug#33812 had the side effect of causing the
+ <command>mysql</command> client not to be able to read some dump
+ files produced with <command>mysqldump</command>. To address
+ this, that fix was reverted.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="mysql"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35480"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.66"/>
+ <version ver="5.1.26"/>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The code for detecting a byte order mark (BOM) caused
+ <command>mysql</command> to crash for empty input.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="bit-string values"/>
+ <manual type="syntax"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35658"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.66"/>
+ <version ver="5.1.26"/>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ An empty bit-string literal (<literal>b''</literal>) caused a
+ server crash. Now the value is parsed as an empty bit value
+ (which is treated as an empty string in string context or 0 in
+ numeric context).
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="errors"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32140"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Killing a statement that invoked a stored function could return
+ an incorrect error message indicating table corruption rather
+ than that the statement had been interrupted.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="errors"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="31881"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Occurrence of an error within a stored routine did not always
+ cause immediate statement termination.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="BACKUP DATABASE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36265"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal role="stmt">BACKUP DATABASE</literal> failed to back up
+ views that depend on tables in a different database.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="mysql"/>
+ <manual type="syntax"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36244"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.66"/>
+ <version ver="5.1.28"/>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <command>mysql</command> client failed to recognize comment
+ lines consisting of <literal>--</literal> followed by a newline.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="parser"/>
+ <manual type="syntax"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="26030"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.68"/>
+ <version ver="5.1.28"/>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ In some cases, the parser interpreted the <literal>;</literal>
+ character as the end of input and misinterpreted stored program
+ definitions.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="InnoDB"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36793"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.28"/>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ If the length of a field was 3, internal
+ <literal>InnoDB</literal> to integer type conversion didn't work
+ on big-endian machines in the
+ <function>row_search_autoinc_column()</function> function.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="InnoDB"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36149"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ A read past the end of the string could occur while parsing the
+ value of the <option>--innodb-data-file-path</option> option.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="locking"/>
+ <manual type="logging"/>
+ <manual type="binary log"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="25144"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Statements to create, alter, or drop a view were not waiting for
+ completion of statements that were using the view, which led to
+ incorrect sequences of statements in the binary log when
+ statement-based logging was enabled.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="InnoDB"/>
+ <manual type="Innodb_row_lock_time_max"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36819"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The code for the <function>ut_usectime()</function> function in
+ <literal>InnoDB</literal> did not handle errors from the
+ <function>gettimeofday()</function> system call. Now it retries
+ <function>gettimeofday()</function> several times and updates
+ the value of the <literal>Innodb_row_lock_time_max</literal>
+ status variable only if <function>ut_usectime()</function> was
+ successful.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="views"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33245"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Selecting from a view that referenced the same table in the
+ <literal>FROM</literal> clause and an <literal>IN</literal>
+ clause caused a server crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="configure"/>
+ <manual type="without-server"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32898"/>
+ <seealsobug bugid="23973"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.67"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The server was built even when <command>configure</command> was
+ run with the <option>--without-server</option> option.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="my.cnf"/>
+ <manual type="option files"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="38180"/>
+ <seealsobug bugid="20748"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.66a"/>
+ <version ver="5.1.28"/>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The fix for Bug#20748 caused a problem such that on Unix, MySQL
+ programs looked for options in <filename>~/my.cnf</filename>
+ rather than the standard location of
+ <filename>~/.my.cnf</filename>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="INFORMATION_SCHEMA"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34529"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.60"/>
+ <version ver="5.1.24"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ A server crash could occur if
+ <literal>INFORMATION_SCHEMA</literal> tables built in memory
+ were swapped out to disk during query execution.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="UNION"/>
+ <manual type="ORDER BY"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="27848"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.56"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ An <literal>ORDER BY</literal> at the end of a
+ <literal>UNION</literal> affected individual
+ <literal role="stmt">SELECT</literal> statements rather than the
+ overall query result.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="incompatiblechange"/>
+ <manual type="utf8_general_ci"/>
+ <manual type="Unicode"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="25420"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message ver="6.0.6">
+
+ <para>
+ Certain characters were sorted incorrectly for the following
+ collations: TILDE and GRAVE ACCENT in
+ <literal>big5_chinese_ci</literal>; LATIN SMALL LETTER J in
+ <literal>cp866_general_ci</literal>; TILDE in
+ <literal>gb2312_chinese_ci</literal>; and TILDE in
+ <literal>gbk_chinese_ci</literal>.
+ </para>
+
+ <para>
+ As a result of this fix, any indexes on columns that use these
+ collations and contain the affected characters must be rebuilt
+ when upgrading to 6.0.6 or higher. To do this, use
+ <literal role="stmt">ALTER TABLE</literal> to drop and re-add
+ the indexes, or <command>mysqldump</command> to dump the
+ affected tables and <command>mysql</command> to reload the dump
+ file.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="character sets"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32394"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Conversion of binary values to multi-byte character sets could
+ fail to left-pad values to the correct length. This could result
+ in a server crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="BACKUP DATABASE"/>
+ <manual type="RESTORE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34858"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Logging to the progress tables used by
+ <literal role="stmt">BACKUP DATABASE</literal> and
+ <literal role="stmt">RESTORE</literal> caused a server crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <bugs>
+ <fixes bugid="37623"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.66"/>
+ <version ver="5.1.26"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Some binary distributions had a duplicate <quote>-64bit</quote>
+ suffix in the filename.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="BACKUP DATABASE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="38045"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal>MyISAM</literal> tables with non-ASCII characters in
+ their names could not be backed up because the
+ <literal>MyISAM</literal> native backup driver did not handle
+ them properly.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="BACKUP DATABASE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="37654"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ For <literal role="stmt">BACKUP DATABASE</literal>, if the
+ <literal>WITH COMPRESSION</literal> clause was not used, an
+ uninitialized variable could cause unpredictable results.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <manual type="BACKUP DATABASE"/>
+ </tags>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal role="stmt">BACKUP DATABASE</literal> now has a
+ <literal>WITH COMPRESSION</literal> clause. This causes the
+ image file to be compressed, which reduces its size. Compression
+ also may result in improved backup time by reducing writes to
+ disk.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="parser"/>
+ <manual type="syntax"/>
+ <manual type="stored programs"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35577"/>
+ <fixes bugid="37269"/>
+ <fixes bugid="37228"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.68"/>
+ <version ver="5.1.28"/>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Freeing of an internal parser stack during parsing of complex
+ stored programs caused a server crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <manual type="mysqldump"/>
+ <manual type="FLUSH TABLES"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35157"/>
+ <seealsobug bugid="38303"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.25"/>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <command>mysqldump</command> now adds the
+ <literal>LOCAL</literal> qualifier to the
+ <literal role="stmt" condition="flush">FLUSH TABLES</literal>
+ statement that is sent to the server when the
+ <option>--master-data</option> option is enabled. This prevents
+ the <literal role="stmt" condition="flush">FLUSH
+ TABLES</literal> statement from replicating to slaves, which is
+ disadvantageous because it would cause slaves to block while the
+ statement executes.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="InnoDB"/>
+ <manual type="ORDER BY"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="37830"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.68"/>
+ <version ver="5.1.28"/>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ For <literal>InnoDB</literal> tables, <literal>ORDER BY ...
+ DESC</literal> sometimes returned results in ascending order.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="optimizer"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35477"/>
+ <fixes bugid="35478"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.68"/>
+ <version ver="5.1.28"/>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Index scans performed with the <literal>sort_union()</literal>
+ access method returned wrong results, caused memory to be
+ leaked, and caused temporary files to be deleted when the limit
+ set by <literal>sort_buffer_size</literal> was reached.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="incompatiblechange"/>
+ <manual type="InnoDB"/>
+ <manual type="SHOW STATUS"/>
+ <manual type="Innodb_buffer_pool_pages_latched"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36600"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.68"/>
+ <version ver="5.1.28"/>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal role="stmt">SHOW STATUS</literal> took a lot of CPU
+ time for calculating the value of the
+ <literal>Innodb_buffer_pool_pages_latched</literal> status
+ variable. Now this variable is calculated and included in the
+ output of <literal role="stmt">SHOW STATUS</literal> only when
+ the <literal>UNIV_DEBUG</literal> symbol is defined at server
+ build time.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="InnoDB"/>
+ <manual type="optimizer"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36632"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.28"/>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal>SELECT DISTINCT</literal> from a simple view on an
+ <literal>InnoDB</literal> table, where all selected columns
+ belong to the same unique index key, returned incorrect results.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="prepared statements"/>
+ <manual type="stored procedures"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="12093"/>
+ <fixes bugid="21294"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.28"/>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ After executing a prepared statement that accesses a stored
+ function, the next execution would fail to find the function if
+ the stored function cache was flushed in the meantime.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="query cache"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33362"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.68"/>
+ <version ver="5.1.28"/>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Cached queries that used 256 or more tables were not properly
+ cached, so that later query invalidation due to a
+ <literal role="stmt" condition="truncate">TRUNCATE
+ TABLE</literal> for one of the tables caused the server to hang.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Windows"/>
+ <manual type="UUID()"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33748"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.28"/>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The internal functions <function>my_getsystime()</function>,
+ <function>my_micro_time()</function>, and
+ <function>my_micro_time_and_time()</function> did not work
+ correctly on Windows. One symptom was that uniqueness of
+ <literal role="func">UUID()</literal> values could be
+ compromised.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="ALTER TABLE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33873"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.28"/>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Fast <literal role="stmt">ALTER TABLE</literal> operations were
+ not fast for columns that used multibyte character sets.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="subqueries"/>
+ <manual type="KILL"/>
+ <manual type="SUM()"/>
+ <manual type="AVG()"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="37627"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.28"/>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Killing a query that used an <literal>EXISTS</literal> subquery
+ as the argument to <literal role="func">SUM()</literal> or
+ <literal role="func">AVG()</literal> caused a server crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Windows"/>
+ <manual type="InnoDB"/>
+ <manual type="symbolic links"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="11894"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ On Windows, moving an <literal>InnoDB</literal>
+ <filename>.ibd</filename> file and then symlinking to it in the
+ database directory using a <filename>.sym</filename> file caused
+ a server crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="RESTORE"/>
+ <manual type="events"/>
+ <manual type="triggers"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36530"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal role="stmt">RESTORE</literal> could fail if the server
+ on which the restore operation took place had enabled triggers
+ or events.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="InnoDB"/>
+ <manual type="REPLACE"/>
+ <manual type="innodb_autoinc_lock_mode"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35602"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.28"/>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ For <literal>InnoDB</literal> tables,
+ <literal role="stmt">REPLACE</literal> statements used
+ <quote>traditional</quote> style locking, regardless of the
+ setting of <literal>innodb_autoinc_lock_mode</literal>. Now
+ <literal role="stmt">REPLACE</literal> works the same way as
+ <quote>simple inserts</quote> instead of using the old locking
+ algorithm. (<literal role="stmt">REPLACE</literal> statements
+ are treated in the same way as as
+ <literal role="stmt">INSERT</literal> statements.)
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="innodb_table_locks"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="37669"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.28"/>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Setting the session value of the
+ <literal>innodb_table_locks</literal> system variable caused a
+ server crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <manual type="SELECT"/>
+ <manual type="SQL_CACHE"/>
+ <manual type="SQL_NO_CACHE"/>
+ <manual type="syntax"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35020"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The use of the <literal>SQL_CACHE</literal> and
+ <literal>SQL_NO_CACHE</literal> options in
+ <literal role="stmt">SELECT</literal> statements now is checked
+ more restrictively: 1) Previously, both options could be given
+ in the same statement. This is no longer true; only one can be
+ given. 2) Previously, these options could be given in
+ <literal role="stmt">SELECT</literal> statements that were not
+ at the top-level. This is no longer true; the options are
+ disallowed in subqueries (including subqueries in the
+ <literal>FROM</literal> clause, and
+ <literal role="stmt">SELECT</literal> statements in unions other
+ than the first <literal role="stmt">SELECT</literal>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="InnoDB"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34409"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.28"/>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ A significant slowdown occurred when many
+ <literal role="stmt">SELECT</literal> statements that return
+ many rows from <literal>InnoDB</literal> tables were running
+ concurrently.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="binary log"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="37027"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.68"/>
+ </versions>
+
+ <message>
+
+ <para>
+ If the server failed to expire binary log files at startup, it
+ could crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Unicode"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32390"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Inserting <literal>CURRENT_TIME</literal>,
+ <literal>CURRENT_DATE</literal>, or
+ <literal>CURRENT_TIMESTAMP</literal> into a
+ <literal role="type">VARCHAR</literal> column didn't work for
+ non-ASCII character sets such as <literal>ucs2</literal>,
+ <literal>utf16</literal>, or <literal>utf32</literal>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="ORDER BY"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33791"/>
+ <fixes bugid="30462"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal>ORDER BY</literal> failed to take into account accents
+ and lettercases in multi-level collations
+ (<literal>latin2_czech_cs</literal> and
+ <literal>cp1250_czech_cs</literal>).
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="ORDER BY"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33073"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Unindexed <literal>ORDER BY</literal> did not work on short
+ <literal>utf32</literal> columns, or on <literal>utf16</literal>
+ columns with a short <literal>max_sort_length</literal> value.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="CHAR()"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36418"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal role="func">CHAR(256 USING utf32)</literal> could
+ generate a result with an incorrect length and result in a
+ server crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Unicode"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32914"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ It was possible to insert invalid Unicode characters (with code
+ point values greater than U+10FFFF) into <literal>utf8</literal>
+ and <literal>utf32</literal> columns.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="stored functions"/>
+ <manual type="user-defined functions"/>
+ <manual type="DROP FUNCTION"/>
+ <manual type="syntax"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="31767"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ For <literal>DROP FUNCTION
+ <replaceable>db_name</replaceable>.<replaceable>func_name</replaceable></literal>
+ (that is, when the function name is qualified with the database
+ name), the statement should apply only to a stored function
+ named <filename>func_name</filename> in the given database.
+ However, if a UDF with the same name existed, the statement
+ dropped the UDF instead.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="sql_mode"/>
+ <manual type="mysql_install_db"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34159"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.67"/>
+ <version ver="5.0.68"/>
+ <version ver="5.1.28"/>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <command>mysql_install_db</command> failed if the server was
+ running with an SQL mode of <literal>TRADITIONAL</literal>. This
+ program now resets the SQL mode internally to avoid this
+ problem.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="optimizer"/>
+ <manual type="NOT IN"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="37761"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.28"/>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The server returned unexpected results if a right side of the
+ <literal>NOT IN</literal> clause consisted of the
+ <literal>NULL</literal> value and some constants of the same
+ type. For example, this query might return 3, 4, 5, and so forth
+ if a table contained those values:
+ </para>
+
+<programlisting>
+SELECT * FROM t WHERE NOT t.id IN (NULL, 1, 2);
+</programlisting>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="INFORMATION_SCHEMA"/>
+ <manual type="DROP TABLESPACE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="31302"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Making <literal>INFORMATION_SCHEMA</literal> the default
+ database caused the <literal>DROP TABLESPACE</literal> statement
+ to be disabled.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <manual type="mysqltest"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="37003"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.27"/>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <command>mysqltest</command> now installs signal handlers and
+ generates a stack trace if it crashes.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="mysql-test-run.pl"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="31880"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.56"/>
+ <version ver="5.1.23"/>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <command>mysql-test-run.pl</command> sometimes set up test
+ scenarios in which the same port number was passed to multiple
+ servers, causing one of them to be unable to start.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <highlight type="securityenhancement"/>
+ <manual type="user-defined-functions"/>
+ <manual type="plugin_dir"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="37428"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.66sp1"/>
+ <version ver="5.0.67"/>
+ <version ver="5.0.70"/>
+ </versions>
+
+ <message>
+
+ <para>
+ To enable stricter control over the location from which
+ user-defined functions can be loaded, the
+ <literal>plugin_dir</literal> system variable has been
+ backported from MySQL 5.1. If the value is non-empty,
+ user-defined function object files can be loaded only from the
+ directory named by this variable. If the value is empty, the
+ behavior that is used prior to the inclusion of
+ <literal>plugin_dir</literal> applies: The UDF object files must
+ be located in a directory that is searched by your system's
+ dynamic linker.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="MERGE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35274"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Accessing a <literal>MERGE</literal> table with an empty
+ underlying table list incorrectly resulted in a <quote>wrong
+ index</quote> error message rather than <quote>end of
+ file.</quote>
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <manual type="BACKUP DATABASE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="37012"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ On Unix, it is now possible for the output file for
+ <literal role="stmt">BACKUP DATABASE</literal> to be an existing
+ FIFO.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Windows"/>
+ <manual type="myisam_max_extra_sort_file_size"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="38371"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The Windows <filename>my-template.ini</filename> template file
+ contained a reference to the
+ <literal>myisam_max_extra_sort_file_size</literal> system
+ variable, which no longer exists, causing the installed server
+ to fail upon startup.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="BACKUP DATABASE"/>
+ <manual type="RESTORE"/>
+ <manual type="MyISAM"/>
+ <manual type="views"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36782"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ For a view that referred to a <literal>MyISAM</literal> table,
+ the contents of the table could be empty after
+ <literal role="stmt">BACKUP DATABASE</literal> followed by
+ <literal role="stmt">RESTORE</literal>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="RESTORE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36778"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Data loss could be caused by attempts to read data from a
+ database being restored by a
+ <literal role="stmt">RESTORE</literal> operation.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="RESTORE"/>
+ <manual type="triggers"/>
+ <manual type="MyISAM"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36749"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Data loss could be caused by activation of a trigger for a
+ <literal>MyISAM</literal> table being restored by a
+ <literal role="stmt">RESTORE</literal> operation.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="BACKUP DATABASE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33120"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal role="stmt">BACKUP DATABASE</literal> did not properly
+ set the flags in the first two bytes of the backup image.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="BACKUP DATABASE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33355"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ If the <literal>mysql</literal> database was named in the
+ <literal role="stmt">BACKUP DATABASE</literal> statement, the
+ backup operation hung.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="BACKUP DATABASE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33568"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ If a large number of databases were named in the
+ <literal role="stmt">BACKUP DATABASE</literal> statement, the
+ server crashed.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="RESTORE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35806"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The current system time (as returned by
+ <literal role="func">NOW()</literal> or synonyms) became
+ constant after a <literal role="stmt">RESTORE</literal>
+ operation.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="RESTORE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33573"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal role="type">TIMESTAMP</literal> columns were restored
+ to the current date and time (not their actual values) by a
+ <literal role="stmt">RESTORE</literal> operation.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="RESTORE"/>
+ <manual type="InnoDB"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34210"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ For <literal>InnoDB</literal> tables, loss of data resulted from
+ performing inserts concurrently with a
+ <literal role="stmt">RESTORE</literal> operation.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="BACKUP DATABASE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34758"/>
+ <fixes bugid="35347"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal role="stmt">BACKUP DATABASE</literal> caused a server
+ crash if it attempted to back up a view that depended on another
+ view.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <highlight type="incompatiblechange"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34965"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <literal>engines</literal> column in the
+ <literal>mysql.online_backup</literal> table has been renamed to
+ <literal>drivers</literal> to better reflect its contents.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="BACKUP DATABASE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35249"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal role="stmt">BACKUP DATABASE</literal> caused a server
+ crash upon encountering a table row that has been marked for
+ deletion but not removed.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Windows"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36257"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The project files created for Windows were missing the
+ <literal>GenError</literal> project dependency.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <bugs>
+ <fixes bugid="36586"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ On 64-bit platforms, <literal role="stmt">BACKUP
+ DATABASE</literal> hung for backups of more than 32KB.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <bugs>
+ <fixes bugid="36624"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The online backup stream library failed to parse the backup
+ stream on 64-bit systems.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="BACKUP DATABASE"/>
+ <manual type="RESTORE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36323"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The default drivers for <literal role="stmt">BACKUP
+ DATABASE</literal> and <literal role="stmt">RESTORE</literal>
+ now support a cancel operation, which also allows better cleanup
+ if a driver error occurs.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="perror"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="10143"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <command>perror</command> did not work for errors described in
+ the <filename>sql/share/errmsg.txt</filename> file.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="error messages"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="29738"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.68"/>
+ <version ver="5.1.28"/>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The Serbian translation for the
+ <literal>ER_INCORRECT_GLOBAL_LOCAL_VAR</literal> error was
+ corrected.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="FLUSH PRIVILEGES"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="21226"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.68"/>
+ <version ver="5.1.28"/>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <literal role="stmt" condition="flush">FLUSH
+ PRIVILEGES</literal> statement did not produce an error when it
+ failed.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="SHOW FUNCTION CODE"/>
+ <manual type="SHOW PROCEDURE CODE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33637"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <literal role="stmt">SHOW FUNCTION CODE</literal> and
+ <literal role="stmt">SHOW PROCEDURE CODE</literal> statements
+ are not present in non-debug builds, but attempting to use them
+ resulted in a <quote>syntax error</quote> message. Now the error
+ message indicates that the statements are disabled and that you
+ must use a debug build.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="cursors"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="38486"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.68"/>
+ <version ver="5.1.28"/>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Server-side cursors were not initialized properly, which could
+ cause a server crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <manual type="MySQL Backup"/>
+ </tags>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Several improvements were made to MySQL Backup (the
+ <literal role="stmt">BACKUP DATABASE</literal> and
+ <literal role="stmt">RESTORE</literal> statements):
+ </para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ Drivers are now included for storage engines that do not
+ store any data or rely on other storage engines for data
+ storage: <literal>MERGE</literal>,
+ <literal>FEDERATED</literal>, <literal>BLACKHOLE</literal>,
+ <literal>EXAMPLE</literal>.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ The backup kernel better determines the dependency ordering
+ of objects to be backed up so that they can be restored in
+ the proper order.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Restored events and triggers are not reactivated until the
+ restore operation completes.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <manual type="MySQL Backup"/>
+ </tags>
+
+ <versions>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Improvements made to MySQL Backup (the
+ <literal role="stmt">BACKUP DATABASE</literal> and
+ <literal role="stmt">RESTORE</literal> statements):
+ </para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ A native driver for the <literal>MyISAM</literal> storage
+ engine is included. This results in faster times for backup
+ and restore operations, although the size of backup image
+ files is larger.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="InnoDB"/>
+ <manual type="OPTIMIZE TABLE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34286"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.68"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Using <literal role="stmt">OPTIMIZE TABLE</literal> as the first
+ statement on an <literal>InnoDB</literal> table with an
+ <literal>AUTO_INCREMENT</literal> column could cause a server
+ crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="mysql_upgrade"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="31605"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.68"/>
+ <version ver="5.1.28"/>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <command>mysql_upgrade</command> attempted to use the
+ <filename>/proc</filename> filesystem even on systems that do
+ not have it.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="utf8"/>
+ <manual type="utf8mb3"/>
+ <manual type="mysql_upgrade"/>
+ <manual type="event scheduler"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33002"/>
+ <fixes bugid="33053"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ After an upgrade to MySQL 6.0.4 or higher, columns that used the
+ old 3-byte Unicode <literal>utf8</literal> character set are
+ treated as having the <literal>utf8mb3</literal> character set.
+ <command>mysql_upgrade</command> did not convert all system
+ tables in the <literal>mysql</literal> database to use the new
+ 4-byte Unicode <literal>utf8</literal> character set rather than
+ <literal>utf8mb3</literal>. This caused problems such as that
+ the event scheduler would not start.
+ <command>mysql_upgrade</command> now performs the
+ <literal>utf8mb3</literal> to <literal>utf8</literal> conversion
+ for system tables.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="utf8"/>
+ <manual type="utf8_hungarian_ci"/>
+ <manual type="configure"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35808"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.28"/>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <command>configure</command> script did not allow
+ <literal>utf8_hungarian_ci</literal> to be specified as the
+ default collation.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="IF()"/>
+ <manual type="SUM()"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="37662"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.68"/>
+ <version ver="5.1.28"/>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Nesting of <literal role="func">IF()</literal> inside of
+ <literal role="func">SUM()</literal> could cause an extreme
+ server slowdown.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="table definition cache"/>
+ <manual type="BLOB"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="38002"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.28"/>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ If the table definition cache contained tables with many
+ <literal role="type">BLOB</literal> columns, much memory could
+ be allocated to caching <literal role="type">BLOB</literal>
+ values. Now a size limit on the cached
+ <literal role="type">BLOB</literal> values is enforced.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="securityenhancement"/>
+ <manual type="parser"/>
+ <manual type="syntax"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="38296"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.66sp1"/>
+ <version ver="5.0.68"/>
+ <version ver="5.1.28"/>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The server consumed excess memory while parsing statements with
+ hundreds or thousands of nested boolean conditions (such as
+ <literal>OR (OR ... (OR ... ))</literal>). This could lead to a
+ server crash or incorrect statement execution, or cause other
+ client statements to fail due to lack of memory. The latter
+ result constitutes a denial of service.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <manual type="mysqltest"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="23921"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.26"/>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <command>mysqltest</command> was changed to be more robust in
+ the case of a race condition that can occur for rapid
+ disconnect/connect sequences with the server. The account used
+ by <command>mysqltest</command> could reach its allowed
+ simultaneous-sessions user limit if the connect attempt occurred
+ before the server had fully processed the preceding disconnect.
+ <command>mysqltest</command> now checks specificaly for a
+ user-limits error when it connects; if that error occurs, it
+ delays briefly before retrying.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="RESTORE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="38108"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <literal>MyISAM</literal> backup driver was subject to a
+ race condition that allowed multiple
+ <literal role="stmt">RESTORE</literal> operations to occur
+ simultaneously. This could result in locking conflicts,
+ incorrect entries in the progress tables, or other problems.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="metadata"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="37301"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.28"/>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <literal>max_length</literal> result set metadata value was
+ calculated incorrectly under some circumstances.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="partitioning"/>
+ <manual type="--myisam-recover"/>
+ <manual type="MyISAM"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35161"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.28"/>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal>MyISAM</literal> recovery enabled with the
+ <option>--myisam-recover</option> option did not work for
+ partitioned <literal>MyISAM</literal> tables.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="REGEXP"/>
+ <manual type="stored programs"/>
+ <manual type="prepared statements"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="37337"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.28"/>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Within stored programs or prepared statements,
+ <literal role="op">REGEXP</literal> could return incorrect
+ results due to improper initialization.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="partitioning"/>
+ <manual type="MyISAM"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="37537"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.28"/>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <command>myisamchk</command> failed with an assertion error when
+ analyzing a partitioned <literal>MyISAM</literal> table.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="HOME environment variable"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="30394"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.28"/>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Several MySQL programs could fail if the <literal>HOME</literal>
+ environment variable had an empty value.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Debian"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="27526"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.28"/>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <command>BUILD/check-cpu</command> build script failed if
+ <command>gcc</command> had a different name (such as
+ <command>gcc.real</command> on Debian).
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="key_buffer_size"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35616"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.28"/>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ On 64-bit systems, assigning values of 2
+ <superscript>63</superscript> − 1 or larger to
+ <literal role="sysvar">key_buffer_size</literal> caused memory
+ overruns.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <manual type="mysql-test-run.pl"/>
+ <manual type="--combination"/>
+ <manual type="combinations file"/>
+ </tags>
+
+ <versions>
+ <version ver="5.1.23"/>
+ <version ver="6.0.4"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <command>mysql-test-run.pl</command> now supports a
+ <option>--combination</option> option for specifying options to
+ the <command>mysqld</command> server. This option is similar to
+ <option>--mysqld</option> but should be given two or more times.
+ <command>mysql-test-run.pl</command> executes multiple test
+ runs, using the options for each instance of
+ <option>--combination</option> in successive runs.
+ </para>
+
+ <para>
+ For test runs specific to a given test suite, an alternative to
+ the use of <option>--combination</option> is to create a
+ <filename>combinations</filename> file in the suite directory.
+ The file should contain a section of options for each test run.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <manual type="mysql-test-run.pl"/>
+ <manual type="mysqltest"/>
+ </tags>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <command>mysql-test-run.pl</command> now supports a
+ <option>--mysqltest</option> option for specifying options to
+ the <command>mysqltest</command> program.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="syntax"/>
+ <manual type="CHECK"/>
+ <manual type="CONSTRAINT"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35578"/>
+ <fixes bugid="11714"/>
+ <fixes bugid="38696"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ For <literal role="stmt">CREATE TABLE</literal>, the parser did
+ not enforce that parentheses were present in a <literal>CHECK
+ (<replaceable>expr</replaceable>)</literal> clause; now it does.
+ The parser did not enforce that <literal>CONSTRAINT
+ [<replaceable>symbol</replaceable>]</literal> without a
+ following <literal>CHECK</literal> clause was illegal; now it
+ does.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="subqueries"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36135"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.28"/>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The server could crash with an assertion failure (or cause the
+ client to get a <quote>Packets out of order</quote> error) when
+ the expected query result was that it should terminate with a
+ <quote>Subquery returns more than 1 row</quote> error.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="incompatiblechange"/>
+ <manual type="SHOW ENGINE INNODB STATUS"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36941"/>
+ <fixes bugid="36942"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.28"/>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Some performance problems of
+ <literal role="stmt" condition="show-engine">SHOW ENGINE INNODB
+ STATUS</literal> were reduced by removing <literal>used
+ cells</literal> and <literal>Total number of lock structs in row
+ lock hash table</literal> from the output. These values are now
+ present only if <literal>UNIV_DEBUG</literal> is defined at
+ MySQL build time.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="BACKUP DATABASE"/>
+ <manual type="RESTORE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36795"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Server crashed when starting a new <literal role="stmt">BACKUP
+ DATABASE</literal> or <literal role="stmt">RESTORE</literal>
+ statement while a <literal role="stmt">BACKUP DATABASE</literal>
+ or <literal role="stmt">RESTORE</literal> was ongoing.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="locking"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36579"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.70"/>
+ <version ver="5.1.28"/>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Dumping information about locks in use by sending a
+ <literal>SIGHUP</literal> signal to the server or by invoking
+ the <command>mysqladmin debug</command> command could lead to a
+ server crash in debug builds or to undefined behavior in
+ production builds.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="valgrind"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="38290"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.28"/>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ A failure to clean up binary log events was corrected (detected
+ by Valgrind).
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="stored procedures"/>
+ <manual type="views"/>
+ <manual type="valgrind"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="38291"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.70"/>
+ <version ver="5.1.28"/>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ A server crash or Valgrind warnings could result when a stored
+ procedure selected from a view that referenced a function.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="InnoDB"/>
+ <manual type="TRUNCATE"/>
+ <manual type="AUTO_INCREMENT"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="37531"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.28"/>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ After <literal role="stmt" condition="truncate">TRUNCATE
+ TABLE</literal> for an <literal>InnoDB</literal> table,
+ inserting explicit values into an
+ <literal>AUTO_INCREMENT</literal> column could fail to increment
+ the counter and result in a duplicate-key error for subsequent
+ insertion of <literal>NULL</literal>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="InnoDB"/>
+ <manual type="locking"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="38185"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.28"/>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Over-aggressive lock acquisition by <literal>InnoDB</literal>
+ when calculating free space for tablespaces could result in
+ performance degradation when multiple threads were executing
+ statements on multi-core machines.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="CSV"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36638"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.28"/>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <literal>CSV</literal> storage engine returned success even
+ when it failed to open a table's data file.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="mysql_install_db"/>
+ <manual type="NetWare"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="30129"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.68"/>
+ <version ver="5.1.28"/>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ On NetWare, <command>mysql_install_db</command> could appear to
+ execute normally even if it failed to create the initial
+ databases.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="DECIMAL"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36270"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.28"/>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ When the fractional part in a multiplication of
+ <literal role="type">DECIMAL</literal> values overflowed, the
+ server truncated the first operand rather than the longest. Now
+ the server truncates so as to produce more precise
+ multiplications.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="INFORMATION_SCHEMA"/>
+ <manual type="INSTALL PLUGIN"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36399"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.28"/>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ If initialization of an <literal>INFORMATION_SCHEMA</literal>
+ plugin failed, <literal role="stmt">INSTALL PLUGIN</literal>
+ freed some internal plugin data twice.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="MyISAM"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="37310"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.70"/>
+ <version ver="5.1.28"/>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ For a <literal>MyISAM</literal> table with <literal>CHECKSUM =
+ 1</literal> and <literal>ROW_FORMAT = DYNAMIC</literal> table
+ options, a data consistency check (maximum record length) could
+ fail and cause the table to be marked as corrupted.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="FEDERATED"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34779"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.28"/>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Table checksum calculation could cause a server crash for
+ <literal>FEDERATED</literal> tables with
+ <literal role="type">BLOB</literal> columns containing
+ <literal>NULL</literal> values.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <manual type="valgrind"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="38746"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal>Falcon</literal> did not build on Linux with Valgrind
+ enabled.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <manual type="Falcon"/>
+ <manual type="AMD64"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="38535"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal>Falcon</literal> builds on AMD64 platforms now.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Falcon"/>
+ <manual type="BLOB"/>
+ <manual type="TEXT"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35688"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Following a server crash, recovery of <literal>Falcon</literal>
+ tables containing <literal role="type">BLOB</literal> or
+ <literal role="type">TEXT</literal> columns could lose data.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <manual type="INFORMATION_SCHEMA"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35490"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ In the <literal>INFORMATION_SCHEMA</literal> database, the
+ <literal>FALCON_DATABASE_IO</literal> table was renamed to
+ <literal>FALCON_TABLESPACE_IO</literal>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <manual type="BINLOG"/>
+ </tags>
+
+ <versions>
+ <version ver="5.1.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ A new statement, <literal role="stmt">BINLOG</literal>, is
+ generated by <command>mysqlbinlog</command> to represent
+ row-based events in binary log files. The statement argument, a
+ base 64-encoded string, is decoded by the server to determine
+ the data change indicated by the corresponding event.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <highlight type="importantchange"/>
+ <manual type="mysqlbinlog"/>
+ <manual type="--base64-output=DECODE-ROWS"/>
+ <manual type="--verbose"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="31455"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.28"/>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <command>mysqlbinlog</command> now supports
+ <option>--verbose</option> and
+ <option>--base64-output=DECODE-ROWS</option> options to display
+ row events as commented SQL statements. (The default otherwise
+ is to display row events encoded as base-64 strings using
+ <literal role="stmt">BINLOG</literal> statements.) See
+ <xref linkend="mysqlbinlog-row-events"/>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="BACKUP DATABASE"/>
+ <manual type="RESTORE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33023"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal role="stmt">BACKUP DATABASE</literal> followed by
+ <literal role="stmt">RESTORE</literal> could mangle object names
+ if a non-standard charset was used.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="optimizer_switch"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="37120"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <literal>optimizer_switch</literal> system variable takes a
+ comma-separated list of values, but only the first value in the
+ list was used.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="subqueries"/>
+ <manual type="optimizer"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35468"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ For uncorrelated subqueries without a <literal>WHERE</literal>
+ clause, use of semi-join or materialization options could result
+ in slow performance, or use of the LooseScan strategy could
+ produce incorrect results.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="optimizer"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="37548"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.28"/>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ When using indexed <literal>ORDER BY</literal> sorting,
+ incorrect query results could be produced if the optimizer
+ switched from a covering index to a non-covering index.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="optimizer"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="38195"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.70"/>
+ <version ver="5.1.28"/>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Incorrect handling of aggregate functions when loose index scan
+ was used caused a server crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="BIT"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="37799"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.28"/>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ If a table has a <literal>BIT NOT NULL</literal> column
+ <literal>c1</literal> with a length shorter than 8 bits and some
+ additional <literal>NOT NULL</literal> columns
+ <literal>c2</literal>, ..., and a
+ <literal role="stmt">SELECT</literal> query has a
+ <literal>WHERE</literal> clause of the form <literal>(c1 =
+ <replaceable>constant</replaceable>) AND c2 ...</literal>, the
+ query could return an unexpected result set.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <manual type="backupdir"/>
+ <manual type="BACKUP DATABASE"/>
+ <manual type="RESTORE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35230"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ A new system variable, <literal>backupdir</literal>, enables the
+ default directory to be specified for
+ <literal role="stmt">BACKUP DATABASE</literal> and
+ <literal role="stmt">RESTORE</literal> operations when the image
+ file pathname is not a full pathname. The default value for this
+ variable is the data directory.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <manual type="Debug Sync"/>
+ <manual type="--enable-debug-sync"/>
+ <manual type="--debug-sync-timeout"/>
+ <manual type="debug_sync"/>
+ <manual type="mysql-test-run.pl"/>
+ </tags>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The server now supports a Debug Sync facility for thread
+ synchronization during testing and debugging. To compile in this
+ facility, configure MySQL with the
+ <option>--enable-debug-sync</option> option. The
+ <literal role="sysvar">debug_sync</literal> system variable
+ provides the user interface Debug Sync.
+ <command>mysqld</command> and
+ <command>mysql-test-run.pl</command> support a
+ <option>--debug-sync-timeout</option> option to enable the
+ facility and set the default synchronization point timeout.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <manual type="mysql-test-run.pl"/>
+ <manual type="--client-bindir"/>
+ <manual type="--client-libdir"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34995"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.66"/>
+ <version ver="5.1.27"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <command>mysql-test-run.pl</command> now supports
+ <option>--client-bindir</option> and
+ <option>--client-libdir</option> options for specifying the
+ directory where client binaries and libraries are located.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <manual type="MySQL Backup"/>
+ <manual type="online_backup"/>
+ <manual type="online_backup_progress"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33836"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <literal>mysql.online_backup</literal> and
+ <literal>mysql.online_backup_progress</literal> tables now have
+ a default character set of <literal>utf8</literal> rather than
+ <literal>latin1</literal>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="BACKUP DATABASE"/>
+ <manual type="views"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34867"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ If a view was altered before backing up a database,
+ <literal role="stmt">BACKUP DATABASE</literal> caused a server
+ crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="BACKUP DATABASE"/>
+ <manual type="views"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34902"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ If a view depended on a base table that had been dropped,
+ <literal role="stmt">BACKUP DATABASE</literal> caused a server
+ crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Unicode"/>
+ <manual type="utf8"/>
+ <manual type="ALTER TABLE"/>
+ <manual type="TEXT"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="26180"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal role="stmt">ALTER TABLE</literal> could not be used to
+ add columns to a table if the table had an index on a
+ <literal>utf8</literal> column with a
+ <literal role="type">TEXT</literal> data type.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="BACKUP DATABASE"/>
+ <manual type="CSV"/>
+ <manual type="CHAR"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35117"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal>CSV</literal> tables with
+ <literal role="type">CHAR</literal> columns caused
+ <literal role="stmt">BACKUP DATABASE</literal> to produce a
+ server crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="errors"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="39059"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Some warnings were being reported as errors.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="errors"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36777"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Some warnings were being reported as errors.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="views"/>
+ <manual type="privileges"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36086"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.29"/>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ In some cases, references to views were confused with references
+ to anonymous tables and privilege checking was not performed.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="<=>"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="37526"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.70"/>
+ <version ver="5.1.29"/>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <literal role="op" condition="equal-to"><=></literal>
+ operator could return incorrect results when comparing
+ <literal>NULL</literal> to <literal role="type">DATE</literal>,
+ <literal role="type">TIME</literal>, or
+ <literal role="type">DATETIME</literal> values.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="SHOW PROCEDURE STATUS"/>
+ <manual type="SHOW FUNCTION STATUS"/>
+ <manual type="privileges"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="37908"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.29"/>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Access checks were skipped for <literal role="stmt">SHOW
+ PROCEDURE STATUS</literal> and <literal role="stmt">SHOW
+ FUNCTION STATUS</literal>, which could lead to a server crash or
+ insufficient access checks in subsequent statements.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="errors"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="38701"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.29"/>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ When inserting a string into a duplicate-key error message, the
+ server could improperly interpret the string, resulting in a
+ crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="WEIGHT_STRING()"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="29825"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ A problem related to HP-UX compilers that caused incorrect
+ <literal role="func">WEIGHT_STRING()</literal> results was
+ fixed.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="REGEXP"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="39021"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.70"/>
+ <version ver="5.1.29"/>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Queries of the form <literal>SELECT ... REGEXP BINARY
+ NULL</literal> could lead to a hung or crashed server.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="AUTO_INCREMENT"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="38821"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.70"/>
+ <version ver="5.1.29"/>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Repeated <literal>CREATE TABLE ... SELECT</literal> statements,
+ where the created table contained an
+ <literal>AUTO_INCREMENT</literal> column, could lead to an
+ assertion failure.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="INSERT"/>
+ <manual type="ON DUPLICATE KEY UPDATE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="39002"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.70"/>
+ <version ver="5.1.29"/>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Statements of the form <literal>INSERT ... SELECT .. ON
+ DUPLICATE KEY UPDATE <replaceable>col_name</replaceable> =
+ DEFAULT</literal> could result in a server crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Windows"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33907"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.28"/>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Changes to build files were made to enable the MySQL
+ distribution to compile on Microsoft Visual C++ Express 2008.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="mysql_install_db"/>
+ <manual type="NDB"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="31315"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <command>mysql_install_db</command> failed if run with the
+ default table type set to <literal>NDB</literal>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="views"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35395"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The method for enumerating view dependencies could cause the
+ server to deadlock.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="FEDERATED"/>
+ <manual type="ORDER BY"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32426"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Query results from a <literal>FEDERATED</literal> table were
+ corrupt if the query included an <literal>ORDER BY</literal> on
+ a <literal role="type">TEXT</literal> column.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="FEDERATED"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33702"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Attempts to access a <literal>FEDERATED</literal> table using a
+ non-existent server did not reliably return a proper error.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="valgrind"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="38560"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.29"/>
+ </versions>
+
+ <message>
+
+ <para>
+ An uninitialized variable in the query profiling code was
+ corrected (detected by Valgrind).
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Windows"/>
+ <highlight type="incompatiblechange"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="37226"/>
+ <fixes bugid="33031"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.70"/>
+ <version ver="5.1.28"/>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message ver="5.0.70,5.1.28">
+
+ <para>
+ There were some problems using <function>DllMain()</function>
+ hook functions on Windows that automatically do global and
+ per-thread initialization for
+ <filename>libmysqld.dll</filename>:
+ </para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ Per-thread initialization: MySQL internally counts the
+ number of active threads, which causes a delay in
+ <function>my_end()</function> if not all threads have
+ exited. But there are threads that can be started either by
+ Windows internally (often in TCP/IP scenarios) or by users.
+ Those threads do not necessarily use
+ <filename>libmysql.dll</filename> functionality but still
+ contribute to the open-thread count. (One symptom is a
+ five-second delay in times for PHP scripts to finish.)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Process-initialization:
+ <literal role="cfunc">my_init()</literal> calls
+ <function>WSAStartup</function> that itself loads DLLs and
+ can lead to a deadlock in the Windows loader.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ <para>
+ To correct these problems, DLL initialization code now is not
+ invoked from <filename>libmysql.dll</filename> by default. To
+ obtain the previous behavior (DLL initialization code will be
+ called), set the <literal>LIBMYSQL_DLLINIT</literal> environment
+ variable to any value. This variable exists only to prevent
+ breakage of existing Windows-only applications that do not call
+ <literal role="cfunc">mysql_thread_init()</literal> and work
+ okay today. Use of <literal>LIBMYSQL_DLLINIT</literal> is
+ discouraged and is removed in MySQL 6.0.
+ </para>
+
+ </message>
+
+ <message ver="6.0.7">
+
+ <para>
+ There were some problems using <function>DllMain()</function>
+ hook functions on Windows that automatically do global and
+ per-thread initialization for
+ <filename>libmysqld.dll</filename>:
+ </para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ Per-thread initialization: MySQL internally counts the
+ number of active threads, which causes a delay in
+ <function>my_end()</function> if not all threads have
+ exited. But there are threads that can be started either by
+ Windows internally (often in TCP/IP scenarios) or by users.
+ Those threads do not necessarily use
+ <filename>libmysql.dll</filename> functionality but still
+ contribute to the open-thread count. (One symptom is a
+ five-second delay in times for PHP scripts to finish.)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Process-initialization:
+ <literal role="cfunc">my_init()</literal> calls
+ <function>WSAStartup</function> that itself loads DLLs and
+ can lead to a deadlock in the Windows loader.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ <para>
+ To correct these problems, DLL initialization code now is not
+ invoked from <filename>libmysql.dll</filename> by default.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="BACKUP DATABASE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="39189"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ For <literal role="stmt">BACKUP DATABASE</literal>, the server
+ could add a <literal>/</literal> character to the end of the
+ backup path, even when the path ended with a filename rather
+ than a directory name.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="BACKUP DATABASE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="39127"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal role="stmt">BACKUP DATABASE</literal> failed on
+ PowerMac platforms due to type casting problems.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="i5/OS"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35743"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.72"/>
+ <version ver="5.1.29"/>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Dynamic plugins failed to load on i5/OS.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <manual type="tablespaces"/>
+ <manual type="logfile groups"/>
+ </tags>
+
+ <versions>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <literal role="priv">CREATE TABLESPACE</literal> privilege
+ has been introduced. This privilege exists at the global
+ (superuser) level and enables you to create, alter, and drop
+ tablespaces and logfile groups.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <manual type="MySQL Backup"/>
+ <highlight type="incompatiblechange"/>
+ </tags>
+
+ <versions>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The tables for MySQL Backup logging have been renamed, and the
+ logging capabilities now are more flexible, similar to the
+ capabilities provided for the general query log and slow query
+ log.
+ </para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ The names of the MySQL Backup log tables in the
+ <literal>mysql</literal> database have been changed from
+ <literal>online_backup</literal> and
+ <literal>online_backup_progress</literal> to
+ <literal>backup_history</literal> and
+ <literal>backup_progress</literal>.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Logging now can be enabled or disabled, it is possible to
+ log to tables or to files, and the names of the log files
+ can be changed. For details, see
+ <xref linkend="backup-database-restore-log-control"/>.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ A new statement,
+ <literal role="stmt" condition="flush">FLUSH BACKUP
+ LOGS</literal>, closes and reopens the backup log files. A
+ new option for
+ <literal role="cfunc">mysql_refresh()</literal>,
+ <literal>REFRESH_BACKUP_LOG</literal>, performs the same
+ operation.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="BACKUP DATABASE"/>
+ <manual type="RESTORE"/>
+ <manual type="secure_file_priv"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34171"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <literal>secure_file_priv</literal> system variable now
+ applies to <literal role="stmt">BACKUP DATABASE</literal> and
+ <literal role="stmt">RESTORE</literal> operations: If the value
+ is nonempty, backup and restore operations can read and write
+ files only in the given directory.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="MySQL Backup"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="38462"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The binary log filename stored in the
+ <literal>binlog_file</literal> column of the
+ <literal>mysql.backup_history</literal> MySQL Backup table now
+ is the file basename (the final component). Previously, the full
+ pathname was stored, but this could be too long for the column
+ width.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="MySQL Backup"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="37522"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ MySQL Backup was not consistently checking for
+ <literal>BSTREAM_ERROR</literal> errors.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="RESTORE"/>
+ <manual type="BLOB"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="37212"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Incorrect <literal role="type">BLOB</literal> handling by
+ <literal role="stmt">RESTORE</literal> could result in a server
+ crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <manual type="backup_wait_timeout"/>
+ <manual type="BACKUP DATABASE"/>
+ <manual type="RESTORE"/>
+ </tags>
+
+ <versions>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ A new session system variable,
+ <literal role="sysvar">backup_wait_timeout</literal>, controls
+ the number of seconds a <literal role="stmt">BACKUP
+ DATABASE</literal> or <literal role="stmt">RESTORE</literal>
+ operation waits for a blocked DDL statements before aborting
+ with an error.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="BACKUP DATABASE"/>
+ <manual type="RESTORE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36531"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.5"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal role="stmt">BACKUP DATABASE</literal> did not correctly
+ determine dependency ordering of backed-up objects, which could
+ cause a <literal role="stmt">RESTORE</literal> operation to
+ fail.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="ORDER BY"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36639"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.70"/>
+ <version ver="5.1.28"/>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ A query which had an <literal>ORDER BY DESC</literal> clause
+ that is satisfied with a reverse range scan could cause a server
+ crash for some specific CPU/compiler combinations.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="optimizer"/>
+ <manual type="subqueries"/>
+ <manual type="DISTINCT"/>
+ <manual type="ORDER BY"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="38191"/>
+ </bugs>
+
+ <versions>
+ <version ver="4.1.25"/>
+ <version ver="5.0.70"/>
+ <version ver="5.1.28"/>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Queries containing a subquery with <literal>DISTINCT</literal>
+ and <literal>ORDER BY</literal> could cause a server crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="UPDATE"/>
+ <manual type="FLUSH TABLES WITH READ LOCK"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="38691"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.72"/>
+ <version ver="5.1.29"/>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ A server crash resulted from concurrent execution of a
+ multiple-table <literal role="stmt">UPDATE</literal> that used a
+ <literal>NATURAL</literal> or <literal>USING</literal> join
+ together with <literal role="stmt" condition="flush">FLUSH
+ TABLES WITH READ LOCK</literal> or <literal role="stmt">ALTER
+ TABLE</literal> for the table being updated.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="stored procedures"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="38823"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.72"/>
+ <version ver="5.1.29"/>
+ <version ver="6.0.9"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Column names constructed due to wild-card expansion done inside
+ a stored procedure could point to freed memory if the expansion
+ was performed after the first call to the stored procedure.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="UPDATE"/>
+ <manual type="FLUSH TABLES"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="38499"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.29"/>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ A server crash resulted from execution of an
+ <literal role="stmt">UPDATE</literal> that used a derived table
+ together with <literal role="stmt" condition="flush">FLUSH
+ TABLES</literal>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="replication"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="38269"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.29"/>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ In some cases, a replication master sent a special event to a
+ reconnecting slave to keep the slave's temporary tables, but
+ they still had references to the <quote>old</quote> slave SQL
+ thread and used them to access that thread's data.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="replication"/>
+ <highlight type="incompatiblechange"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="39812"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.29"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The default binary logging mode has been changed from
+ <literal>MIXED</literal> to <literal>STATEMENT</literal> for
+ compatibility with MySQL 5.0.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="plugins"/>
+ <manual type="Mac OS X"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="37958"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.29"/>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The handlerton-to-plugin mapping implementation did not free
+ handler plugin references when the plugin was uninstalled,
+ resulting in a server crash after several install/uninstall
+ cycles. Also, on Mac OS X, the server crashed when trying to
+ access an <literal>EXAMPLE</literal> table after the
+ <literal>EXAMPLE</literal> plugin was installed.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="replication"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34707"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.29"/>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ For a <literal>CREATE TABLE ... SELECT</literal> statement that
+ creates a table in a database other than the current one, the
+ table could be created in the wrong database on replication
+ slaves if row-based binary logging is used.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="partitioning"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="38005"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.29"/>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Using <literal>INSERT ... SELECT</literal> to insert records
+ into a partitioned <literal>MyISAM</literal> table could fail if
+ some partitions were empty and others are not.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="partitioning"/>
+ <highlight type="replication"/>
+ <manual type="MyISAM"/>
+ <manual type="binlog"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35843"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.29"/>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Replication to partitioned <literal>MyISAM</literal> tables
+ could be slow with row-based binary logging.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="log tables"/>
+ <manual type="binary log"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34306"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.29"/>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ With binary logging enabled, <literal>CREATE TABLE ...
+ SELECT</literal> failed if the source table was a log table.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="mysqldump"/>
+ <manual type="views"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="31434"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.70"/>
+ <version ver="5.1.29"/>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <command>mysqldump</command> could fail to dump views containing
+ a large number of columns.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="transactions"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="38804"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.29"/>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ For deadlock between two transactions that required a timeout to
+ resolve, all server tables became inaccessible for the duration
+ of the deadlock.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="stored procedures"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="38469"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.72"/>
+ <version ver="5.1.29"/>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Stored procedures involving substrings could crash the server on
+ certain platforms due to invalid memory reads.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="ALTER EVENT"/>
+ <manual type="PRESERVE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35981"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.29"/>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal role="stmt">ALTER EVENT</literal> changed the
+ <literal>PRESERVE</literal> attribute of an event even when
+ <literal>PRESERVE</literal> was not specified in the statement.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="stored procedures"/>
+ <manual type="subqueries"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="37949"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.72"/>
+ <version ver="5.1.29"/>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The server crashed if an argument to a stored procedure was a
+ subquery that returned more than one row.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="stored procedures"/>
+ <manual type="NAME_CONST()"/>
+ <manual type="collations"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="39182"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.72"/>
+ <version ver="5.1.29"/>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ References to local variables in stored procedures are replaced
+ with
+ <literal role="func">NAME_CONST(<replaceable>name</replaceable>,
+ <replaceable>value</replaceable>)</literal> when written to the
+ binary log. However, an <quote>illegal mix of collation</quote>
+ error might occur when executing the log contents if the value's
+ collation differed from that of the variable. Now information
+ about the variable collation is written as well.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="partitioning"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="38083"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.29"/>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ If an error occurred when evaluating a column of a partitioned
+ table for the partitioning function, the row could be inserted
+ anyway.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="BLACKHOLE"/>
+ <highlight type="replication"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="38360"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.29"/>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Replication of <literal>BLACKHOLE</literal> tables did not work
+ with row-based binary logging.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="InnoDB"/>
+ <manual type="TIMESTAMP"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="39353"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.70"/>
+ <version ver="5.1.29"/>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ For a <literal role="type">TIMESTAMP</literal> column in an
+ <literal>InnoDB</literal> table, testing the column with
+ multiple conditions in the <literal>WHERE</literal> clause
+ caused a server crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="variables"/>
+ <manual type="types"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="26020"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.29"/>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The server could improperly type user-defined variables used in
+ the select list of a query.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="CHECK TABLE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="39585"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.29"/>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal>CHECK TABLE ... FOR UPGRADE</literal> did not check for
+ incompatible collation changes made in MySQL 5.0.48.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="AUTO_INCREMENT"/>
+ <manual type="InnoDB"/>
+ <manual type="triggers"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="31612"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.29"/>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ A trigger for an <literal>InnoDB</literal> table activating
+ multiple times could lead to <literal>AUTO_INCREMENT</literal>
+ gaps.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <highlight type="importantchange"/>
+ <manual type="skip-thread-priority"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35164"/>
+ <fixes bugid="37536"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.29"/>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <option>--skip-thread-priority</option> option is now
+ deprecated in MySQL 5.1 and is removed in MySQL 6.0 such that
+ the server won't change the thread priorities by default. Giving
+ threads different priorities might yield marginal improvements
+ in some platforms (where it actually works), but it might
+ instead cause significant degradation depending on the thread
+ count and number of processors. Meddling with the thread
+ priorities is a not a safe bet as it is very dependent on the
+ behavior of the CPU scheduler and system where MySQL is being
+ run.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <bugs>
+ <fixes bugid="36970"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ If thread-pooling was used and a connection attempt was denied
+ on the grounds of exceeding the user limits, the number of
+ active connections for that user was erroneously decreased
+ twice. The difference between the actual number connections and
+ the internal count could then cause debug builds of the server
+ to raise an assertion.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <manual type="packaging"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="27742"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.48"/>
+ <version ver="5.0.51"/>
+ <version ver="5.1.28"/>
+ <version ver="6.0.6"/>
+ </versions>
+
+ <message>
+
+ <para>
+ MySQL source distributions are now available in Zip format.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="incompatiblechange"/>
+ <manual type="views"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="17823"/>
+ <seealsobug bugid="40021"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.29"/>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message ver="5.1.29">
+
+ <para>
+ In connection with view creation, the server created
+ <filename>arc</filename> directories inside database directories
+ and maintained useless copies of <filename>.frm</filename> files
+ there. Creation and renaming procedures of those copies as well
+ as creation of <filename>arc</filename> directories has been
+ discontinued.
+ </para>
+
+ <para>
+ This change does cause a problem when downgrading to older
+ server versions which manifests itself under these
+ circumstances:
+ </para>
+
+ <orderedlist>
+
+ <listitem>
+ <para>
+ Create a view <literal>v_orig</literal> in MySQL 5.1.29 or
+ higher.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Rename the view to <literal>v_new</literal> and then back to
+ <literal>v_orig</literal>.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Downgrade to an older 5.1.x server and run
+ <command>mysql_upgrade</command>.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Try to rename <literal>v_orig</literal> to
+ <literal>v_new</literal> again. This operation fails.
+ </para>
+ </listitem>
+
+ </orderedlist>
+
+ <para>
+ As a workaround to avoid this problem, use either of these
+ approaches:
+ </para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ Dump your data using <command>mysqldump</command> before
+ downgrading and reload the dump file after downgrading.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Instead of renaming a view after the downgrade, drop it and
+ recreate it.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ </message>
+
+ <message ver="6.0.8">
+
+ <para>
+ In connection with view creation, the server created
+ <filename>arc</filename> directories inside database directories
+ and maintained useless copies of <filename>.frm</filename> files
+ there. Creation and renaming procedures of those copies as well
+ as creation of <filename>arc</filename> directories has been
+ discontinued.
+ </para>
+
+ <para>
+ This change does cause a problem when downgrading to older
+ server versions which manifests itself under these
+ circumstances:
+ </para>
+
+ <orderedlist>
+
+ <listitem>
+ <para>
+ Create a view <literal>v_orig</literal> in MySQL 6.0.8 or
+ higher.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Rename the view to <literal>v_new</literal> and then back to
+ <literal>v_orig</literal>.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Downgrade to an older 6.0.x server and run
+ <command>mysql_upgrade</command>.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Try to rename <literal>v_orig</literal> to
+ <literal>v_new</literal> again. This operation fails.
+ </para>
+ </listitem>
+
+ </orderedlist>
+
+ <para>
+ As a workaround to avoid this problem, use either of these
+ approaches:
+ </para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ Dump your data using <command>mysqldump</command> before
+ downgrading and reload the dump file after downgrading.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Instead of renaming a view after the downgrade, drop it and
+ recreate it.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="views"/>
+ <manual type="INFORMATION_SCHEMA"/>
+ <manual type="SHOW CREATE VIEW"/>
+ <manual type="privileges"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="22763"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.72"/>
+ <version ver="5.1.29"/>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ For access to the
+ <literal role="is">INFORMATION_SCHEMA.VIEWS</literal> table, the
+ server did not check the <literal role="priv">SHOW
+ VIEW</literal> and <literal role="stmt">SELECT</literal>
+ provileges, leading to inconsistency between output from that
+ table and the <literal role="stmt">SHOW CREATE VIEW</literal>
+ statement.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="PAD_CHAR_TO_FULL_LENGTH"/>
+ <manual type="ucs2"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35720"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.29"/>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ With the <literal>PAD_CHAR_TO_FULL_LENGTH</literal> SQL mode
+ enabled, a <literal>ucs2</literal>
+ <literal role="type">CHAR</literal> column returned additional
+ garbage after trailing space characters.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="mysql_install_db"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35754"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.72"/>
+ <version ver="5.1.29"/>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <command>mysql_install_db</command> failed on machines that had
+ the hostname set to <literal>localhost</literal>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Windows"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35987"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.29"/>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ For crash reports on Windows, symbol names in stack traces were
+ not correctly resolved.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="NO_BACKSLASH_ESCAPES"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="37114"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.70"/>
+ <version ver="5.1.29"/>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <literal>NO_BACKSLASH_ESCAPES</literal> SQL mode was ignored
+ for <literal role="stmt" condition="load-data">LOAD DATA
+ INFILE</literal> and <literal>SELECT INTO ... OUTFILE</literal>.
+ The setting is taken into account now.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="mysql-test-run.pl"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="38629"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.72"/>
+ <version ver="5.1.29"/>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ On ActiveState Perl, <command>mysql-test-run.pl
+ --start-and-exit</command> started but did not exit.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <manual type="Solaris"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="38727"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.29"/>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <filename>BUILD/compile-solaris-*</filename> scripts now
+ compile MySQL with the <literal>mtmalloc</literal> library
+ rather than <literal>malloc</literal>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <highlight type="importantchange"/>
+ <manual type="logging"/>
+ </tags>
+
+ <versions>
+ <version ver="5.1.29"/>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <option>--log</option> option now is deprecated and will be
+ removed (along with the <literal>log</literal> system variable)
+ in the future. Instead, use the <option>--general_log</option>
+ option to enable the general query log and the
+ <option>--general_log_file=<replaceable>file_name</replaceable></option>
+ option to set the general query log filename. The values of
+ these options are available in the
+ <literal role="sysvar">general_log</literal> and
+ <literal role="sysvar">general_log_file</literal> system
+ variables, which can be changed at runtime.
+ </para>
+
+ <para>
+ Similar changes were made for the
+ <option>--log-slow-queries</option> option and
+ <literal role="sysvar">log_slow_queries</literal> system
+ variable. You should use the <option>--slow_query_log</option>
+ and
+ <option>--slow_query_log_file=<replaceable>file_name</replaceable></option>
+ options instead (and the <literal>slow_query_log</literal> and
+ <literal>slow_query_log_file</literal> system variables).
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <bugs>
+ <fixes bugid="35924"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.72"/>
+ <version ver="5.1.29"/>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Hostname values in SQL statements were not being checked for
+ <literal>'@'</literal>, which is illegal according to RFC952.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="optimizer"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="37943"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.72"/>
+ <version ver="5.1.29"/>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ When analyzing the possible index use cases, the server was
+ incorrectly reusing an internal structure, leading to a server
+ crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <manual type="Windows"/>
+ <manual type="POSIX"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="24509"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ On WIndows, use of POSIX I/O interfaces in
+ <literal>mysys</literal> was replaced with Win32 API calls
+ (<function>CreateFile()</function>,
+ <function>WriteFile()</function>, and so forth) and the default
+ maximum number of open files has been increased to 16384. The
+ maximum can be increased further by using the
+ <option>--max-open-files=<replaceable>N</replaceable></option>
+ option at server startup.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="RESTORE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35240"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal role="stmt">RESTORE</literal> did not set the
+ <literal>validity_point_time</literal>,
+ <literal>binlog_pos</literal>, and
+ <literal>binlog_file</literal> fields of the
+ <literal>backup_history</literal> log table row.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <manual type="BACKUP DATABASE"/>
+ <manual type="RESTORE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="38261"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal role="stmt">BACKUP DATABASE</literal> now performs an
+ implicit commit, like <literal role="stmt">RESTORE</literal>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <bugs>
+ <fixes bugid="37854"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Comparisons could hang for <literal>SET</literal> or
+ <literal role="type">ENUM</literal> columns that used
+ <literal>latin2_czech_cs</literal> collation.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="SET"/>
+ <manual type="utf8"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="39186"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The server could crash when attempting to insert duplicate empty
+ strings into a <literal>utf8</literal> <literal>SET</literal>
+ column.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="--thread-handling"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="39916"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <literal>Threads_created</literal> status variable was not
+ correctly incremented when the server was started with the
+ <option>--thread-handling=pool-of-threads</option> option.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="IPv6"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="39153"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Hostname lookup failure could lead to a server crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="MySQL Backup"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33352"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The server crashed for <literal role="stmt">BACKUP
+ DATABASE</literal> if the backup progress tables in the
+ <literal>mysql</literal> database were missing or created
+ incorrectly.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <bugs>
+ <fixes bugid="38692"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.29"/>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ A race condition between threads sometimes caused unallocated
+ memory to be addressed.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <manual type="--default-table-type"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34818"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The deprecated <option>--default-table-type</option> server
+ option has been removed.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <manual type="implicit commit"/>
+ <manual type="ANALYZE TABLE"/>
+ <manual type="CHECK TABLE"/>
+ <manual type="OPTIMIZE TABLE"/>
+ <manual type="REPAIR TABLE"/>
+ </tags>
+
+ <versions>
+ <version ver="5.1.10"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The following statements now cause an implicit commit:
+ <literal role="stmt">ANALYZE TABLE</literal>,
+ <literal role="stmt">CHECK TABLE</literal>,
+ <literal role="stmt">OPTIMIZE TABLE</literal>, and
+ <literal role="stmt">REPAIR TABLE</literal>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Windows"/>
+ <manual type="mc.exe"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="40280"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.72"/>
+ <version ver="5.1.31"/>
+ <version ver="6.0.9"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <command>mc.exe</command> is no longer needed to compile MySQL
+ on Windows. This makes it possible to build MySQL from source
+ using Visual Studio Express 2008.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="optimizer"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="39844"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.72"/>
+ <version ver="5.1.31"/>
+ <version ver="6.0.9"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The server could crash during a sort-order optimization of a
+ dependent subquery.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="filesort"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="39283"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.72"/>
+ <version ver="5.1.31"/>
+ <version ver="6.0.9"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The server returned a column type of
+ <literal role="type">VARBINARY</literal> rather than
+ <literal role="type">DATE</literal> as the result from the
+ <literal role="func">COALESCE()</literal>,
+ <literal role="func">IFNULL()</literal>,
+ <literal role="func">IF()</literal>,
+ <literal role="func">GREATEST()</literal>, or
+ <literal role="func">LEAST()</literal> functions or
+ <literal role="op">CASE</literal> expression if the result was
+ obtained using <literal>filesort</literal> in an anonymous
+ temporary table during the query execution.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <bugs>
+ <fixes bugid="38693"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.72"/>
+ <version ver="5.1.31"/>
+ <version ver="6.0.9"/>
+ </versions>
+
+ <message>
+
+ <para>
+ If delayed insert failed to upgrade the lock, it did not free
+ the temporary memory storage used to keep newly constructed
+ <literal role="type">BLOB</literal> values in memory, resulting
+ in a memory leak.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="LIMIT"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="37075"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.72"/>
+ <version ver="5.1.31"/>
+ <version ver="6.0.9"/>
+ </versions>
+
+ <message>
+
+ <para>
+ On a 32-bit server built without big tables support, the offset
+ argument in a <literal>LIMIT</literal> clause might be truncated
+ due to a 64-bit to 32-bit cast.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <bugs>
+ <fixes bugid="37961"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Errors during server startup caused destruction of an
+ uninitialized mutex and assertion failure.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <bugs>
+ <fixes bugid="37894"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.72"/>
+ <version ver="5.1.31"/>
+ <version ver="6.0.9"/>
+ </versions>
+
+ <message>
+
+ <para>
+ A <literal role="stmt">SELECT</literal> with a <literal>NULL NOT
+ IN</literal> condition containing a complex subquery from the
+ same table as in the outer select caused an assertion failure.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="SHOW PROCESSLIST"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="37550"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal role="stmt">SHOW PROCESSLIST</literal> displayed
+ <quote>copy to tmp table</quote> when no such copy was
+ occurring.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="mysql_real_connect()"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33831"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal role="cfunc">mysql_real_connect()</literal> did not
+ check whether the <literal>MYSQL</literal> connection handler
+ was already connected and connected again even if so. Now an
+ <literal>CR_ALREADY_CONNECTED</literal> error occurs.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="CHECKSUM TABLE"/>
+ <manual type="KILL QUERY"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33146"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal role="stmt">CHECKSUM TABLE</literal> was not killable
+ with <literal role="stmt" condition="kill">KILL QUERY</literal>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="XA"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="28323"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.72"/>
+ <version ver="5.1.30"/>
+ <version ver="6.0.9"/>
+ </versions>
+
+ <message>
+
+ <para>
+ XA transaction rollbacks could result in corrupted transaction
+ states and a server crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="errors"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="39949"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Non-ASCII error messages were corrupted.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <manual type="implicit commits"/>
+ </tags>
+
+ <versions>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Most statements that previously caused an implicit commit before
+ executing now also cause an implicit commit after executing.
+ Also, the <literal role="stmt">FLUSH</literal> statement and
+ <literal role="cfunc">mysql_refresh()</literal> C API function
+ now cause an implicit commit. See
+ <xref linkend="implicit-commit"/>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="MySQL Backup"/>
+ <manual type="RESTORE"/>
+ <manual type="Windows"/>
+ <manual type="Vista"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="39825"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ On Windows Vista, <literal role="stmt">RESTORE</literal> did not
+ correctly calculate the validity point from the backup stream.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="MySQL Backup"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="39690"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The MySQL Backup <literal>backup_history</literal> log now
+ contains a <literal>backup_file_path</literal> column.
+ <literal>backup_file</literal> contains the basename and
+ <literal>backup_file_path</literal> contains the directory of
+ the image file pathname.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="MySQL Backup"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="39598"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Some MySQL Backup-related memory-use warnings detected by
+ Valgrind were corrected.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="MySQL Backup"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="39089"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ MySQL Backup was not handling several errors.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="MySQL Backup"/>
+ <manual type="RESTORE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="38810"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal role="stmt">RESTORE</literal> crashed if a trigger and
+ an event had the same name.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="MySQL Backup"/>
+ <manual type="RESTORE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36854"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Long error messages for <literal role="stmt">RESTORE</literal>
+ could be truncated.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="MySQL Backup"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34204"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ If <literal role="stmt">BACKUP DATABASE</literal> and
+ <literal role="stmt">RESTORE</literal> were done in a session
+ with autocommit disabled, a later <literal role="stmt">DROP
+ TABLE</literal> or <literal role="stmt">RESTORE</literal> in the
+ same session failed.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="MySQL Backup"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="40126"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Windows builds were missing the MySQL Backup log tables.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="partitioning"/>
+ <manual type="InnoDB"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="37453"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.30-ndb-6.2.17"/>
+ <version ver="5.1.29-ndb-6.3.19"/>
+ <version ver="5.1.30"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Dropping or creating an index on a partitioned table managed by
+ the <literal>InnoDB</literal> Plugin locked the table.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="optimization"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36896"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ A server crash resulted from attempts at semi-join and
+ materialization optimizations for subqueries with a parent of
+ <literal>SELECT ... FROM DUAL</literal>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <bugs>
+ <fixes bugid="37891"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal role="func">SUM(DISTINCT)</literal> and
+ <literal role="func">AVG(DISTINCT)</literal> for an empty result
+ set in a subquery were not properly handled as being able to
+ return <literal>NULL</literal>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="InnoDB"/>
+ <manual type="optimizer"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="37977"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The server returned incorrect results for <literal>WHERE ... OR
+ ... GROUP BY</literal> queries against <literal>InnoDB</literal>
+ tables.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="optimizer"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="38072"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.74"/>
+ <version ver="5.1.31"/>
+ <version ver="6.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Queries with a <literal>HAVING</literal> clause could return a
+ spurious row.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Solaris"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="39074"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.72"/>
+ <version ver="5.1.30"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Some recent releases for Solaris 10 were built on Solaris 10 U5,
+ which included a new version of <filename>libnsl.so</filename>
+ that does not work on U4 or earlier. To correct this, Solaris 10
+ builds now are created on machines that do not have that
+ upgraded <filename>libnsl.so</filename>, so that they will work
+ on Solaris 10 installations both with and without the upgraded
+ <filename>libnsl.so</filename>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="InnoDB"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="40360"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.30"/>
+ <version ver="6.0.9"/>
+ </versions>
+
+ <message>
+
+ <para>
+ With statement-based binary logging format and a transaction
+ isolation level of <literal role="isolevel">READ
+ COMMITTED</literal> or stricter, <literal>InnoDB</literal>
+ printed an error because statement-based logging might lead to
+ inconsistency between master and slave databases. However, this
+ error was printed even when binary logging was not enabled (in
+ which case, no such inconsistency can occur).
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="CHECK TABLE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="40053"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.30"/>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <literal>CHECK TABLE ... FOR UPGRADE</literal> statement did
+ not check for incompatible collation changes made in MySQL
+ 5.1.24. (This also affects <command>mysqlcheck</command> and
+ <command>mysql_upgrade</command>, which cause that statement to
+ be executed.)
+ </para>
+
+ <para>
+ Prior to this fix, a binary upgrade (performed without dumping
+ tables with <command>mysqldump</command> before the upgrade and
+ reloading the dump file after the upgrade) would corrupt tables.
+ After the fix, <literal>CHECK TABLE ... FOR UPGRADE</literal>
+ properly detects the problem and upgrades tables.
+ </para>
+
+ <para>
+ However, the fix is not backward compatible and can result in a
+ downgrading problem under these circumstances:
+ </para>
+
+ <orderedlist>
+
+ <listitem>
+ <para>
+ Perform a binary upgrade to a version of MySQL that includes
+ the fix.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Run <literal>CHECK TABLE ... FOR UPGRADE</literal> (or
+ <command>mysqlcheck</command> or
+ <command>mysql_upgrade</command>) to upgrade tables.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Perform a binary downgrade to a version of MySQL that does
+ not include the fix.
+ </para>
+ </listitem>
+
+ </orderedlist>
+
+ <para>
+ The solution is to dump tables with <command>mysqldump</command>
+ before the downgrade and reload the dump file after the
+ downgrade. Alternatively, drop and recreate affected indexes.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="ALTER TABLE"/>
+ <manual type="ENUM"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="23113"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.30"/>
+ <version ver="6.0.9"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal role="stmt">ALTER TABLE</literal> for an
+ <literal role="type">ENUM</literal> column could change column
+ values.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="partitioning"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="40494"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.30"/>
+ <version ver="6.0.9"/>
+ </versions>
+
+ <message>
+
+ <para>
+ A <literal>SELECT</literal> using a range
+ <literal>WHERE</literal> condition with an <literal>ORDER
+ BY</literal> on a partitioned table caused a server crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="prepared statements"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="32124"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.31"/>
+ <version ver="6.0.9"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Execution of a prepared statement that referred to a system
+ variable caused a server crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="RIGHT JOIN"/>
+ <manual type="stored procedures"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33811"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.74"/>
+ <version ver="5.1.31"/>
+ <version ver="6.0.9"/>
+ </versions>
+
+ <message>
+
+ <para>
+ For a stored procedure containing a <literal>SELECT * ... RIGHT
+ JOIN</literal> query, execution failed for the second call.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="mysqldumpslow"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34129"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.31"/>
+ <version ver="6.0.9"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <command>mysqldumpslow</command> did not aggregate times.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="EXPLAIN"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="34773"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.31"/>
+ <version ver="6.0.9"/>
+ </versions>
+
+ <message>
+
+ <para>
+ <literal>EXPLAIN EXTENDED</literal> evaluation of aggregate
+ functions that required a temporary table caused a server crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <bugs>
+ <fixes bugid="37129"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.9"/>
+ </versions>
+
+ <message>
+
+ <para>
+ MySQL support for adding collations using LDML specifications
+ did not support the <literal><i></literal> identity rule
+ that indicates one character sorts identically to another. The
+ <literal><i></literal> rule now is supported.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <bugs>
+ <fixes bugid="38636"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Binary distributions for Solaris, Linux, and Mac OS X now are
+ built with support for the <literal>pool-of-threads</literal>
+ value of <literal>thread_handling</literal>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="INFORMATION_SCHEMA"/>
+ <manual type="MERGE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="35068"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.31"/>
+ <version ver="6.0.9"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Selecting from an <literal>INFORMATION_SCHEMA</literal> table
+ into an incorrectly defined <literal role="se">MERGE</literal>
+ table caused an assertion failure.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="partitioning"/>
+ <manual type="errors"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36768"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.31"/>
+ <version ver="6.0.9"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Partitioned table checking sometimes returned a warning with an
+ error code of 0, making proper response to errors impossible.
+ The fix also renders the error message subject to translation in
+ non-English deployments.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="ARCHIVE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="37719"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.31"/>
+ <version ver="6.0.9"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Renaming an <literal role="se">ARCHIVE</literal> table to the
+ same name with different lettercase and then selecting from it
+ could cause a server crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="EXPLAIN"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="37870"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.31"/>
+ <version ver="6.0.9"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Use of an uninitialized constant in
+ <literal role="stmt">EXPLAIN</literal> evaluation caused an
+ assertion failure.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="subqueries"/>
+ <manual type="optimizer"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="37899"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.9"/>
+ </versions>
+
+ <message>
+
+ <para>
+ An incorrectly checked <literal>XOR</literal> subquery
+ optimization resulted in an assertion failure.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="event scheduler"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="38066"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.31"/>
+ <version ver="6.0.9"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The Event Scheduler no longer logs <quote>started in
+ thread</quote> or <quote>executed</quote> successfully messages
+ to the error log.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="query cache"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="38551"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.9"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The server unnecessarily acquired a query cache mutex even with
+ the query cache disabled, resulting in a small performance
+ decrement.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="MySQL Backup"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="39997"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.9"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The MySQL Backup message logger caused an assertion failure.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="INFORMATION_SCHEMA"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33649"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.9"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <literal>ROUTINES.DATA_TYPE</literal>,
+ <literal>REFERENTIAL_CONSTRAINTS.SPECIFIC_SCHEMA</literal>,
+ <literal>REFERENTIAL_CONSTRAINTS.SPECIFIC_NAME</literal>,
+ <literal>REFERENTIAL_CONSTRAINTS.PARAMETER_NAME</literal>,
+ <literal>REFERENTIAL_CONSTRAINTS.DATA_TYPE</literal> columns
+ were declared longer than the maximum allowed identifier length.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="optimizer"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="37851"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.9"/>
+ </versions>
+
+ <message>
+
+ <para>
+ A query that could use one index to produce the desired ordering
+ and another index for range access with index condition pushdown
+ could cause a server crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="Solaris"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="38477"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.31"/>
+ <version ver="6.0.9"/>
+ </versions>
+
+ <message>
+
+ <para>
+ On Solaris, a scheduling policy applied to the main server
+ process could be unintentionally overwritten in client-servicing
+ threads.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <manual type="INFORMATION_SCHEMA"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="38918"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.31"/>
+ <version ver="6.0.9"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Performance of <literal>SELECT *</literal> retrievals from
+ <literal role="is">INFORMATION_SCHEMA.COLUMNS</literal> was
+ improved slightly.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <bugs>
+ <fixes bugid="38941"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.31"/>
+ <version ver="6.0.9"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The fast mutex implementation was subject to excessive lock
+ contention.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="ALTER TABLE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="39372"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.31"/>
+ <version ver="6.0.9"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Use of the <literal>PACK_KEYS</literal> or
+ <literal>MAX_ROWS</literal> table option in
+ <literal role="stmt">ALTER TABLE</literal> should have triggered
+ table reconstruction but did not.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="views"/>
+ <manual type="binary log"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="39040"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.74"/>
+ <version ver="5.1.31"/>
+ <version ver="6.0.9"/>
+ </versions>
+
+ <message>
+
+ <para>
+ With binary logging enabled <literal role="stmt">CREATE
+ VIEW</literal> was subject to possible buffer overwrite and a
+ server crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="valgrind"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="39102"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.31"/>
+ <version ver="6.0.9"/>
+ </versions>
+
+ <message>
+
+ <para>
+ When built with Valgrind, the server failed to access tables
+ created with the <literal>DATA DIRECTORY</literal> or
+ <literal>INDEX DIRECTORY</literal> table option.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="INFORMATION_SCHEMA"/>
+ <manual type="SHOW"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="29153"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.31"/>
+ <version ver="6.0.9"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Some <literal>SHOW</literal> statements and retrievals from the
+ <literal>INFORMATION_SCHEMA</literal>
+ <literal role="is">TRIGGERS</literal> and
+ <literal role="is">EVENTS</literal> tables used a temporary
+ table and incremented the
+ <literal>Created_tmp_disk_tables</literal> status variable, due
+ to the way that <literal>TEXT</literal> columns are handled. The
+ <literal>TRIGGERS.SQL_MODE</literal>,
+ <literal>TRIGGERS.DEFINER</literal>, and
+ <literal>EVENTS.SQL_MODE</literal> columns now are
+ <literal role="type">VARCHAR</literal> to avoid this problem.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <manual type="MySQL Backup"/>
+ <manual type="PURGE BACKUP LOGS"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33364"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.9"/>
+ </versions>
+
+ <message>
+
+ <para>
+ A new statement, <literal>PURGE BACKUP LOGS</literal>, enables
+ the contents of the MySQL Backup logs to be culled. See
+ <xref linkend="purge-backup-logs"/>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="MySQL Backup"/>
+ <manual type="BACKUP DATABASE"/>
+ <manual type="RESTORE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="33574"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.9"/>
+ </versions>
+
+ <message>
+
+ <para>
+ If a <literal>TEMPORARY</literal> table existed with the same
+ name as a regular table, <literal role="stmt">BACKUP
+ DATABASE</literal> saved the temporary table, causing a
+ subsequent <literal role="stmt">RESTORE</literal> to fail.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <bugs>
+ <fixes bugid="36279"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.9"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <command>mysql</command> client, when built with Visual
+ Studio 2005, did not display Japanese characters.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="MySQL Backup"/>
+ <manual type="BACKUP DATABASE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="36933"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.9"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Specifying a database name twice to <literal role="stmt">BACKUP
+ DATABASE</literal> caused a server crash. Now
+ <literal role="stmt">BACKUP DATABASE</literal> ignores duplicate
+ names.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="MySQL Backup"/>
+ <manual type="BACKUP DATABASE"/>
+ <manual type="MyISAM"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="39602"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.9"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Concurrent execution of <literal role="stmt">BACKUP
+ DATABASE</literal> and DML operations on
+ <literal role="se">MyISAM</literal> tables could produce a
+ deadlock.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="MySQL Backup"/>
+ <manual type="backup_history_log"/>
+ <manual type="backup_progress_log"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="40218"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.9"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The default value of the
+ <literal role="sysvar">backup_history_log</literal> and
+ <literal role="sysvar">backup_progress_log</literal> system
+ variables is <literal>ON</literal>, but explicitly setting them
+ to <literal>DEFAULT</literal> set them to
+ <literal>OFF</literal>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="MySQL Backup"/>
+ <manual type="backup_history_log_file"/>
+ <manual type="backup_progress_log_file"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="40219"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.9"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <literal role="sysvar">backup_history_log_file</literal> and
+ <literal role="sysvar">backup_progress_log_file</literal> system
+ variables were not settable at server startup. Now they are.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="InnoDB"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="38883"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.31"/>
+ <version ver="6.0.9"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Use of <literal role="se">InnoDB</literal> monitoring
+ (<literal role="stmt" condition="show-engine">SHOW ENGINE INNODB
+ STATUS</literal> or one of the
+ <literal role="se">InnoDB</literal> Monitor tables) could cause
+ a server crash due to invalid access to a shared variable in a
+ concurrent environment.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="MySQL Backup"/>
+ <manual type="Windows"/>
+ <manual type="locking"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="38342"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ On Windows, starting the server with the
+ <option>--external-locking=1</option> option caused
+ <literal role="stmt">BACKUP DATABASE</literal> to fail.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="CREATE TABLE"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="39591"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Creating a table with a comment of 62 characters or longer
+ caused a server crash.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="feature">
+
+ <tags>
+ <manual type="replication"/>
+ </tags>
+
+ <versions>
+ <version ver="6.0.8"/>
+ </versions>
+
+ <message>
+
+ <para>
+ MySQL now supports an interface for semisynchronous replication:
+ A commit performed on the master side blocks before returning to
+ the session that performed the transaction until at least one
+ slave acknowleges that it has received and logged the events for
+ the transaction. Semisynchronous replication is implemented
+ through an optional plugin component. See
+ <xref linkend="replication-semisync"/>
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <manual type="MySQL Backup"/>
+ <manual type="valgrind"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="40480"/>
+ </bugs>
+
+ <versions>
+ <version ver="6.0.9"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Several MySQL Backup-related memory-use issues identified by
+ Valgrind were corrected.
+ </para>
+
+ </message>
+
+ </logentry>
+
</changelog>
| Thread |
|---|
| • svn commit - mysqldoc@docsrva: r12714 - in trunk: . dynamic-docs/changelog | paul.dubois | 1 Dec |