Author: jstephens
Date: 2009-11-06 20:54:26 +0100 (Fri, 06 Nov 2009)
New Revision: 17508
Log:
Fixed Docs Bug #46764; also corrected changelog entry for Cluster Bug #32656
Modified:
trunk/dynamic-docs/changelog/mysqld-1.xml
trunk/refman-5.1/mysql-cluster-overview.xml
Modified: trunk/dynamic-docs/changelog/mysqld-1.xml
===================================================================
--- trunk/dynamic-docs/changelog/mysqld-1.xml 2009-11-06 18:30:44 UTC (rev 17507)
+++ trunk/dynamic-docs/changelog/mysqld-1.xml 2009-11-06 19:54:26 UTC (rev 17508)
Changed blocks: 2, Lines Added: 16, Lines Deleted: 5; 1837 bytes
@@ -19838,10 +19838,12 @@
<tags>
<highlight type="cluster"/>
<manual type="transactions"/>
+ <manual type="rollbacks"/>
</tags>
<bugs>
<fixes bugid="32656"/>
+ <seealsobug bugid="47654"/>
</bugs>
<versions>
@@ -19852,18 +19854,27 @@
<message>
<para>
- A duplicate key error raised when inserting into an
+ A duplicate key or other error raised when inserting into an
<literal role="se">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 role="se">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.
+ performs an implicit rollback when a transaction is aborted in
+ this way; it is no longer necessary to issue an explicit
+ <literal role="stmt" condition="commit">ROLLBACK</literal>
+ statement, and the next statement that is issued automatically
+ begins a new transaction.
</para>
+ <note>
+ <para>
+ It remains necessary in such cases to retry the complete
+ transaction, regardless of which statement caused it to be
+ aborted.
+ </para>
+ </note>
+
</message>
</logentry>
Modified: trunk/refman-5.1/mysql-cluster-overview.xml
===================================================================
--- trunk/refman-5.1/mysql-cluster-overview.xml 2009-11-06 18:30:44 UTC (rev 17507)
+++ trunk/refman-5.1/mysql-cluster-overview.xml 2009-11-06 19:54:26 UTC (rev 17508)
Changed blocks: 1, Lines Added: 26, Lines Deleted: 15; 3021 bytes
@@ -5212,32 +5212,43 @@
<listitem>
<formalpara>
- <title>Rollbacks</title>
+ <title>Implicit Rollbacks</title>
<para>
- Prior to MySQL Cluster NDB 6.3.19, the
- <literal role="se">NDBCLUSTER</literal> storage engine
- did not support partial transactions or partial
- rollbacks of transactions. A duplicate key or similar
- error aborted the entire transaction, and subsequent
- statements raised <errortext>ERROR 1296 (HY000): Got
- error 4350 'Transaction already aborted' from
+ Prior to MySQL Cluster NDB 6.2.17 and MySQL Cluster NDB
+ 6.3.19, MySQL Cluster did not automtically roll back a
+ transaction that was aborted by a duplicate key or
+ similar error, and subsequent statements raised
+ <errortext>ERROR 1296 (HY000): Got error 4350
+ 'Transaction already aborted' from
NDBCLUSTER</errortext>. In such cases, it was necessary
to issue an explicit
<literal role="stmt" condition="commit">ROLLBACK</literal>
- and retry the entire transaction.
+ statement first, and then to retry the entire
+ transaction.
</para>
</formalpara>
<para>
- Beginning with MySQL Cluster NDB 6.3.19, this limitation
- has been removed, and the behavior of
- <literal role="se">NDBCLUSTER</literal> is now in line
- with that of other transactional storage engines such as
- <literal>InnoDB</literal> which can roll back individual
- statements. (Bug#32656)
+ Beginning with MySQL Cluster NDB 6.2.17 and MySQL Cluster
+ NDB 6.3.19, this limitation has been removed; now, an
+ error which causes a transaction to be aborted generates
+ an implicit rollback of the entire transaction. This is
+ logged with the warning <errortext>Storage engine NDB does
+ not support rollback for this statement. Transaction
+ rolled back and must be restarted</errortext>. A statement
+ subsequent to this starts a new transaction. (Bug#32656)
</para>
+
+ <note>
+ <para>
+ The <literal role="se">NDBCLUSTER</literal> storage
+ engine does not support partial transactions or partial
+ rollbacks of transactions in any version of MySQL
+ Cluster.
+ </para>
+ </note>
</listitem>
<listitem>
| Thread |
|---|
| • svn commit - mysqldoc@docsrva: r17508 - in trunk: dynamic-docs/changelog refman-5.1 | jon.stephens | 6 Nov 2009 |