List:Commits« Previous MessageNext Message »
From:jon Date:May 18 2007 10:03am
Subject:svn commit - mysqldoc@docsrva: r6518 - trunk/refman-5.1
View as plain text  
Author: jstephens
Date: 2007-05-18 10:03:02 +0200 (Fri, 18 May 2007)
New Revision: 6518

Log:

Reformat.



Modified:
   trunk/refman-5.1/mysql-cluster-limitations-working.xml


Modified: trunk/refman-5.1/mysql-cluster-limitations-working.xml
===================================================================
--- trunk/refman-5.1/mysql-cluster-limitations-working.xml	2007-05-17 21:42:47 UTC (rev
6517)
+++ trunk/refman-5.1/mysql-cluster-limitations-working.xml	2007-05-18 08:03:02 UTC (rev
6518)
Changed blocks: 15, Lines Added: 993, Lines Deleted: 891; 84107 bytes

@@ -6,49 +6,48 @@
   %all.entities;
 ]>
 <section id="mysql-cluster-limitations">
-  
+
   <title>Known Limitations of MySQL Cluster</title>
 
-    <indexterm>
-      <primary>MySQL Cluster limitations</primary>
-    </indexterm>
+  <indexterm>
+    <primary>MySQL Cluster limitations</primary>
+  </indexterm>
 
-    <indexterm>
-      <primary>limitations of MySQL Cluster</primary>
+  <indexterm>
+    <primary>limitations of MySQL Cluster</primary>
 <!-- <see>MySQL Cluster limitations</see> -->
-    </indexterm>
+  </indexterm>
 
-    <para>
-      In the sections that follow, we discuss known limitations in MySQL
-      &current-series; Cluster and &mccge-series; releases as compared
-      with the features available when using the
-      <literal>MyISAM</literal> and <literal>InnoDB</literal>
storage
-      engines. Currently, there are no plans to address these in coming
-      releases of MySQL &current-series; or &mccge-series;; however, we
-      will attempt to supply fixes for these issues in subsequent
-      release series. If you check the <quote>Cluster</quote> category
-      in the MySQL bugs database at
-      <ulink url="http://bugs.mysql.com"/>, you can find known bugs
-      which (if marked <quote>&current-series;</quote>) we intend to
-      correct in upcoming releases of MySQL &current-series;. Some of
-      these issues may be addressed in &mccge-series; and the fixes
-      included in a future mainline MySQL Cluster version.
-    </para>
+  <para>
+    In the sections that follow, we discuss known limitations in MySQL
+    &current-series; Cluster and &mccge-series; releases as compared
+    with the features available when using the <literal>MyISAM</literal>
+    and <literal>InnoDB</literal> storage engines. Currently, there are
+    no plans to address these in coming releases of MySQL
+    &current-series; or &mccge-series;; however, we will attempt to
+    supply fixes for these issues in subsequent release series. If you
+    check the <quote>Cluster</quote> category in the MySQL bugs database
+    at <ulink url="http://bugs.mysql.com"/>, you can find known bugs
+    which (if marked <quote>&current-series;</quote>) we intend to
+    correct in upcoming releases of MySQL &current-series;. Some of
+    these issues may be addressed in &mccge-series; and the fixes
+    included in a future mainline MySQL Cluster version.
+  </para>
 
-    <para>
-      This information is intended to be complete with respect to the
-      conditions just set forth. You can report any discrepancies that
-      you encounter to the MySQL bugs database using the instructions
-      given in <xref linkend="bug-reports"/>. If we do not plan to fix
-      the problem in MySQL &current-series;, we will add it to the list.
-    </para>
+  <para>
+    This information is intended to be complete with respect to the
+    conditions just set forth. You can report any discrepancies that you
+    encounter to the MySQL bugs database using the instructions given in
+    <xref linkend="bug-reports"/>. If we do not plan to fix the problem
+    in MySQL &current-series;, we will add it to the list.
+  </para>
 
-    <para>
-      (<emphasis role="bold">Note</emphasis>: See the end of this
-      section for a list of issues in MySQL &previous-series; Cluster
-      that have been resolved in the current version.)
-    </para>
-  
+  <para>
+    (<emphasis role="bold">Note</emphasis>: See the end of this section
+    for a list of issues in MySQL &previous-series; Cluster that have
+    been resolved in the current version.)
+  </para>
+
   <note>
     <para>
       Limitations and other issues specific to MySQL Cluster Replication

@@ -56,152 +55,173 @@
       <xref linkend="mysql-cluster-replication-issues"/>.
     </para>
   </note>
-  
+
   <section id="mysql-cluster-limitations-syntax">
+
     <title>Non-Compliance In SQL Syntax</title>
+
     <indexterm>
       <primary>MySQL Cluster limitations</primary>
       <secondary>syntax</secondary>
     </indexterm>
-    
+
     <para>
       Some SQL statements relating to certain MySQL features produce
       errors when used with <literal>NDB</literal> tables, as described
       in the following list:
-      
+
       <itemizedlist>
-        
+
         <listitem>
           <formalpara>
-          <title>Temporary tables</title>
-          <para>
-            Temporary tables are not supported. Trying either to create
-            a temporary table that uses the <literal>NDB</literal>
-            storage engine or to alter an existing temporary table to
-            use <literal>NDB</literal> fails with the error
-            <errortext>Table storage engine 'ndbcluster' does not
-            support the create option 'TEMPORARY'</errortext>.            
-          </para>
+
+            <title>Temporary tables</title>
+
+            <para>
+              Temporary tables are not supported. Trying either to
+              create a temporary table that uses the
+              <literal>NDB</literal> storage engine or to alter an
+              existing temporary table to use <literal>NDB</literal>
+              fails with the error <errortext>Table storage engine
+              'ndbcluster' does not support the create option
+              'TEMPORARY'</errortext>.
+            </para>
+
           </formalpara>
         </listitem>
-        
+
         <listitem>
           <formalpara>
-          <title>Indexes and keys in <literal>NDB</literal>
tables</title>
-            
+
+            <title>Indexes and keys in <literal>NDB</literal>
tables</title>
+
             <para>
-              Keys and indexes on MySQL Cluster tables are subject to the
-              following limitations:
+              Keys and indexes on MySQL Cluster tables are subject to
+              the following limitations:
+
               <itemizedlist>
+
                 <listitem>
-                  
                   <para>
-                    You cannot create indexes on <literal>NDB</literal> table
-                    columns that use any of the <literal>TEXT</literal> or
-                    <literal>BLOB</literal> data types.
+                    You cannot create indexes on <literal>NDB</literal>
+                    table columns that use any of the
+                    <literal>TEXT</literal> or
<literal>BLOB</literal>
+                    data types.
                   </para>
                 </listitem>
+
                 <listitem>
-                  
                   <para>
                     The <literal>NDB</literal> storage engine does not
                     support <literal>FULLTEXT</literal> indexes, which
-                    are possible for <literal>MyISAM</literal> tables only.
+                    are possible for <literal>MyISAM</literal> tables
+                    only.
                   </para>
+
                   <para>
                     However, you can create indexes on
                     <literal>VARCHAR</literal> columns of
                     <literal>NDB</literal> tables.
                   </para>
                 </listitem>
-                
+
                 <listitem>
                   <para>
-                    A <literal>BIT</literal> column cannot be a primary key,
-                    unique key, or index, nor can it be part of a composite
-                    primary key, unique key, or index.
+                    A <literal>BIT</literal> column cannot be a primary
+                    key, unique key, or index, nor can it be part of a
+                    composite primary key, unique key, or index.
                   </para>
                 </listitem>
-                
+
                 <listitem>
                   <formalpara>
+
                     <title>Duplicate keys</title>
-                  <para>
-                    A duplicate key error returns the error message
-                    <errortext>ERROR 23000: Can't write; duplicate key in
-                      table
+
+                    <para>
+                      A duplicate key error returns the error message
+                      <errortext>ERROR 23000: Can't write; duplicate key
+                      in table
                      
'<replaceable>tbl_name</replaceable>'</errortext>.
-                  </para>
+                    </para>
+
                   </formalpara>
                 </listitem>
-                
+
                 <listitem>
                   <formalpara>
-                  <title><literal>AUTO_INCREMENT</literal>
columns</title>
-                  <para>
-                    Like other MySQL storage engines, the
-                    <literal>NDB</literal> storage engine can handle a
-                    maximum of one <literal>AUTO_INCREMENT</literal>
-                    column per table. However, in the case of a Cluster
-                    table with no explicit primary key, an
-                    <literal>AUTO_INCREMENT</literal> column is
-                    automatically defined and used as a
-                    <quote>hidden</quote> primary key. For this reason,
-                    you cannot define a table that has an explicit
-                    <literal>AUTO_INCREMENT</literal> column unless that
-                    column is also declared using the <literal>PRIMARY
-                      KEY</literal> option. Attempting to create a table with an
-                    <literal>AUTO_INCREMENT</literal> column that is not
-                    the table's primary key, and using the
-                    <literal>NDB</literal> storage engine, fails with an
-                    error.
-                  </para>
+
+                    <title><literal>AUTO_INCREMENT</literal>
columns</title>
+
+                    <para>
+                      Like other MySQL storage engines, the
+                      <literal>NDB</literal> storage engine can handle a
+                      maximum of one <literal>AUTO_INCREMENT</literal>
+                      column per table. However, in the case of a
+                      Cluster table with no explicit primary key, an
+                      <literal>AUTO_INCREMENT</literal> column is
+                      automatically defined and used as a
+                      <quote>hidden</quote> primary key. For this
+                      reason, you cannot define a table that has an
+                      explicit <literal>AUTO_INCREMENT</literal> column
+                      unless that column is also declared using the
+                      <literal>PRIMARY KEY</literal> option. Attempting
+                      to create a table with an
+                      <literal>AUTO_INCREMENT</literal> column that is
+                      not the table's primary key, and using the
+                      <literal>NDB</literal> storage engine, fails with
+                      an error.
+                    </para>
+
                   </formalpara>
                 </listitem>
-                
+
               </itemizedlist>
             </para>
-          
-          
+
           </formalpara>
-          
         </listitem>
-        
+
         <listitem>
           <formalpara>
-          <title>MySQL Cluster and geometry data types</title>
-          <indexterm>
-            <primary>MySQL Cluster limitations</primary>
-            <secondary>geometry data types</secondary>
-          </indexterm>
-          
-          <para>
-            Geometry datatypes (<literal>WKT</literal> and
-            <literal>WKB</literal>) are supported in
-            <literal>NDB</literal> tables in MySQL &current-series;.
-            However, spatial indexes are not supported.
-          </para>
+
+            <title>MySQL Cluster and geometry data types</title>
+
+            <indexterm>
+              <primary>MySQL Cluster limitations</primary>
+              <secondary>geometry data types</secondary>
+            </indexterm>
+
+            <para>
+              Geometry datatypes (<literal>WKT</literal> and
+              <literal>WKB</literal>) are supported in
+              <literal>NDB</literal> tables in MySQL &current-series;.
+              However, spatial indexes are not supported.
+            </para>
+
           </formalpara>
         </listitem>
-        
+
         <listitem>
           <indexterm>
             <primary>MySQL Cluster</primary>
             <secondary>partitioning support</secondary>
           </indexterm>
-          
+
           <indexterm>
             <primary>partitioning</primary>
             <secondary>support in MySQL Cluster</secondary>
           </indexterm>
-          
+
           <indexterm>
             <primary>MySQL Cluster limitations</primary>
             <secondary>partitioning</secondary>
           </indexterm>
+
           <formalpara>
+
             <title>Creating <literal>NDB</literal> tables with
user-defined partitioning</title>
-            
+
             <para>
               Support for user-defined partitioning for MySQL Cluster in
               MySQL &current-series; is restricted to

@@ -211,8 +231,9 @@
               <literal>ENGINE=NDBCLUSTER</literal> in a <literal>CREATE
               TABLE</literal> statement results in an error.
             </para>
+
           </formalpara>
-          
+
           <para>
             As of MySQL 5.1.6, all Cluster tables are by default
             partitioned by <literal>KEY</literal> using the table's

@@ -223,36 +244,41 @@
             additional discussion of these and related issues, see
             <xref linkend="partitioning-key"/>.
           </para>
+
           <formalpara>
+
             <title><literal>DROP PARTITION</literal> not
supported</title>
-          <para>
-            It is not possible to drop partitions from
-            <literal>NDB</literal> tables using <literal>ALTER TABLE
+
+            <para>
+              It is not possible to drop partitions from
+              <literal>NDB</literal> tables using <literal>ALTER TABLE
               ... DROP PARTITION</literal>. The other partitioning
-            extensions to <literal>ALTER TABLE</literal> &mdash;
-            <literal>ADD PARTITION</literal>, <literal>REORGANIZE
+              extensions to <literal>ALTER TABLE</literal> &mdash;
+              <literal>ADD PARTITION</literal>, <literal>REORGANIZE
               PARTITION</literal>, and <literal>COALESCE
-                PARTITION</literal> &mdash; are supported for Cluster
-            tables, but use copying and so are not optimised. See
-            <xref linkend="partitioning-management-range-list"/> and
-            <xref linkend="alter-table"/>.
-          </para></formalpara>
+              PARTITION</literal> &mdash; are supported for Cluster
+              tables, but use copying and so are not optimised. See
+              <xref linkend="partitioning-management-range-list"/> and
+              <xref linkend="alter-table"/>.
+            </para>
+
+          </formalpara>
         </listitem>
-        
+
         <listitem>
-          
           <indexterm>
             <primary>MySQL Cluster limitations</primary>
             <secondary>replication</secondary>
           </indexterm>
+
           <para>
-            When using row-based replication with MySQL Cluster,
-            binary logging cannot be disabled. That is, the
+            When using row-based replication with MySQL Cluster, binary
+            logging cannot be disabled. That is, the
             <literal>NDB</literal> storage engine ignores the value of
             <literal>SQL_LOG_BIN</literal>. (Bug #16680)
           </para>
         </listitem>
-        
+
         <listitem>
           <para>
             The <literal>auto_increment_increment</literal> and

@@ -260,83 +286,95 @@
             variables are not supported for Cluster replication.
           </para>
         </listitem>
-        
+
       </itemizedlist>
     </para>
+
   </section>
-  
+
   <section id="mysql-cluster-limitations-limits">
+
     <title>Limits and Differences from Standard MySQL Limits</title>
+
     <indexterm>
       <primary>MySQL Cluster limitations</primary>
       <secondary>and differences from standard MySQL limits</secondary>
     </indexterm>
-    
+
     <para>
       In this section, we list limits found in MySQL Cluster that either
-      differ from limits found in, or that are not found in, standard MySQL.
+      differ from limits found in, or that are not found in, standard
+      MySQL.
+
       <itemizedlist>
 
-          <listitem>
-            <indexterm>
-              <primary>memory use</primary>
-              <secondary>in MySQL Cluster</secondary>
-            </indexterm>
+        <listitem>
+          <indexterm>
+            <primary>memory use</primary>
+            <secondary>in MySQL Cluster</secondary>
+          </indexterm>
 
-            <indexterm>
-              <primary>MySQL Cluster</primary>
-              <secondary>memory usage and recovery</secondary>
-            </indexterm>
+          <indexterm>
+            <primary>MySQL Cluster</primary>
+            <secondary>memory usage and recovery</secondary>
+          </indexterm>
 
-            <indexterm>
-              <primary><literal>DELETE</literal></primary>
-              <secondary>and MySQL Cluster</secondary>
-            </indexterm>
+          <indexterm>
+            <primary><literal>DELETE</literal></primary>
+            <secondary>and MySQL Cluster</secondary>
+          </indexterm>
 
-            <indexterm>
-              <primary><literal>DROP TABLE</literal></primary>
-              <secondary>and MySQL Cluster</secondary>
-            </indexterm>
+          <indexterm>
+            <primary><literal>DROP TABLE</literal></primary>
+            <secondary>and MySQL Cluster</secondary>
+          </indexterm>
 
-            <indexterm>
-              <primary><literal>TRUNCATE</literal></primary>
-              <secondary>and MySQL Cluster</secondary>
-            </indexterm>
+          <indexterm>
+            <primary><literal>TRUNCATE</literal></primary>
+            <secondary>and MySQL Cluster</secondary>
+          </indexterm>
 
-            <formalpara>
-              <title>Memory usage and recovery</title>
-              <para>
+          <formalpara>
+
+            <title>Memory usage and recovery</title>
+
+            <para>
               Memory comsumed when data is inserted into an
               <literal>NDB</literal> table is not automatically
               recovered when deleted, as it is with other storage
               engines. Instead, the following rules hold true:
+
               <itemizedlist>
-                
+
                 <listitem>
                   <para>
                     A <literal>DELETE</literal> statement on an
-                    <literal>NDB</literal> table makes the memory formerly
-                    used by the deleted rows available for re-use by
-                    inserts on the same table only. This memory cannot be
-                    used by other <literal>NDB</literal> tables.
+                    <literal>NDB</literal> table makes the memory
+                    formerly used by the deleted rows available for
+                    re-use by inserts on the same table only. This
+                    memory cannot be used by other
+                    <literal>NDB</literal> tables.
                   </para>
                 </listitem>
-                
+
                 <listitem>
                   <para>
                     A <literal>DROP TABLE</literal> or
                     <literal>TRUNCATE</literal> operation on an
-                    <literal>NDB</literal> table frees the memory that was
-                    used by this table for re-use by any
-                    <literal>NDB</literal> table, either by the
-                    same table or by another <literal>NDB</literal> table.
+                    <literal>NDB</literal> table frees the memory that
+                    was used by this table for re-use by any
+                    <literal>NDB</literal> table, either by the same
+                    table or by another <literal>NDB</literal> table.
                   </para>
+
                   <note>
-                  <para>
-                    Recall that <literal>TRUNCATE</literal> drops and
-                    re-creates the table. See <xref linkend="truncate"/>.
-                  </para>
+                    <para>
+                      Recall that <literal>TRUNCATE</literal> drops and
+                      re-creates the table. See
+                      <xref linkend="truncate"/>.
+                    </para>
                   </note>
+
                   <para>
                     Memory freed by <literal>DELETE</literal> operations
                     but still allocated to a specific table can also be

@@ -345,177 +383,196 @@
                     <xref linkend="mysql-cluster-rolling-restart"/>.
                   </para>
                 </listitem>
+
                 <listitem>
                   <formalpara>
+
                     <title>Limits imposed by the cluster's
configuration</title>
-                    
+
                     <indexterm>
                       <primary>MySQL Cluster limitations</primary>
                       <secondary>imposed by configuration</secondary>
                     </indexterm>
+
                     <para>
-                      A number of hard limits exist which are configurable, but
-                      available main memory in the cluster sets limits. See the
-                      complete list of configuration parameters in
+                      A number of hard limits exist which are
+                      configurable, but available main memory in the
+                      cluster sets limits. See the complete list of
+                      configuration parameters in
                       <xref linkend="mysql-cluster-config-file"/>. Most
-                      configuration parameters can be upgraded online. These
-                      hard limits include:<itemizedlist>
-                        
+                      configuration parameters can be upgraded online.
+                      These hard limits include:
+
+                      <itemizedlist>
+
                         <listitem>
                           <para>
                             Database memory size and index memory size
                             (<literal>DataMemory</literal> and
-                            <literal>IndexMemory</literal>, respectively).
+                            <literal>IndexMemory</literal>,
+                            respectively).
                           </para>
-                          
+
                           <para>
-                            <literal>DataMemory</literal> is allocated as
32KB
-                            pages. As each <literal>DataMemory</literal> page
is
-                            used, it is assigned to a specific table; once
-                            allocated, this memory cannot be freed except by
-                            dropping the table.
+                            <literal>DataMemory</literal> is allocated
+                            as 32KB pages. As each
+                            <literal>DataMemory</literal> page is used,
+                            it is assigned to a specific table; once
+                            allocated, this memory cannot be freed
+                            except by dropping the table.
                           </para>
-                          
+
                           <para>
-                            See <xref linkend="mysql-cluster-ndbd-definition"/>,
+                            See
+                            <xref linkend="mysql-cluster-ndbd-definition"/>,
                             for further information about
                             <literal>DataMemory</literal> and
                             <literal>IndexMemory</literal>.
                           </para>
                         </listitem>
-                        
+
                         <listitem>
                           <para>
-                            The maximum number of operations that can be performed
-                            per transaction is set using the configuration
-                            parameters
-                            <literal>MaxNoOfConcurrentOperations</literal>
and
-                            <literal>MaxNoOfLocalOperations</literal>. Note
that
-                            bulk loading, <literal>TRUNCATE TABLE</literal>,
and
-                            <literal>ALTER TABLE</literal> are handled as
special
-                            cases by running multiple transactions, and so are not
-                            subject to this limitation.
+                            The maximum number of operations that can be
+                            performed per transaction is set using the
+                            configuration parameters
+                            <literal>MaxNoOfConcurrentOperations</literal>
+                            and
+                            <literal>MaxNoOfLocalOperations</literal>.
+                            Note that bulk loading, <literal>TRUNCATE
+                            TABLE</literal>, and <literal>ALTER
+                            TABLE</literal> are handled as special cases
+                            by running multiple transactions, and so are
+                            not subject to this limitation.
                           </para>
                         </listitem>
-                        
+
                         <listitem>
                           <para>
-                            Different limits related to tables and indexes. For
-                            example, the maximum number of ordered indexes per
-                            table is determined by
+                            Different limits related to tables and
+                            indexes. For example, the maximum number of
+                            ordered indexes per table is determined by
                             <literal>MaxNoOfOrderedIndexes</literal>.
                           </para>
                         </listitem>
-                        
+
                       </itemizedlist>
                     </para>
+
                   </formalpara>
-                  
-                  
-                  
-                  
-                  
                 </listitem>
-                
-                
+
                 <listitem>
                   <formalpara>
+
                     <title>Node and data object maximums</title>
+
                     <para>
                       The following limits apply to numbers of cluster
                       nodes and metadata objects:
+
                       <itemizedlist>
-                  <listitem>
-                    <para>
-                      The maximum number of data nodes is 48.
-                    </para>
-                  </listitem>
-                  
-                  <listitem>
-                    <para>
-                      The total maximum number of nodes in a MySQL
-                      Cluster is 63. This number includes all SQL nodes
-                      (MySQL Servers), API nodes (applications accessing
-                      the cluster other than MySQL servers), data nodes,
-                      and management servers.
-                    </para>
-                    
-                  </listitem>
-                  
-                  <listitem>
-                    <para>
-                      The maximum number of metadata objects in MySQL
-                      &current-series; Cluster and &mccge-series; is
-                      20320. This limit is hard-coded.
-                    </para>
-                  </listitem>
+
+                        <listitem>
+                          <para>
+                            The maximum number of data nodes is 48.
+                          </para>
+                        </listitem>
+
+                        <listitem>
+                          <para>
+                            The total maximum number of nodes in a MySQL
+                            Cluster is 63. This number includes all SQL
+                            nodes (MySQL Servers), API nodes
+                            (applications accessing the cluster other
+                            than MySQL servers), data nodes, and
+                            management servers.
+                          </para>
+                        </listitem>
+
+                        <listitem>
+                          <para>
+                            The maximum number of metadata objects in
+                            MySQL &current-series; Cluster and
+                            &mccge-series; is 20320. This limit is
+                            hard-coded.
+                          </para>
+                        </listitem>
+
                       </itemizedlist>
+
                       <note>
                         <para role="mccge-warning">
-                          &mccge-series; users should see 
+                          &mccge-series; users should see
                           <xref linkend="mysql-cluster-limitations-resolved"/>,
                           for more information.
                         </para>
                       </note>
                     </para>
-                </formalpara></listitem>  
-                
-                
+
+                  </formalpara>
+                </listitem>
+
               </itemizedlist>
             </para>
-            </formalpara>
 
-            
-          </listitem>
+          </formalpara>
+        </listitem>
+
       </itemizedlist>
-      
     </para>
+
   </section>
-  
+
   <section id="mysql-cluster-limitations-transactions">
-    
+
     <title>Limits Relating to Transaction Handling</title>
+
     <indexterm>
       <primary>MySQL Cluster limitations</primary>
       <secondary>transactions</secondary>
     </indexterm>
-    
+
     <para>
       A numbe of limitations exist in MySQL Cluster with regard to the
       handling of transactions. These include the following:
-      
+
       <itemizedlist>
-        
+
         <listitem>
           <para>
             The <literal>NDBCLUSTER</literal> storage engine supports
             only the <literal>READ COMMITTED</literal> transaction
             isolation level.
           </para>
+
           <important>
-          <para>
-            If a
-            <literal>SELECT</literal> from a Cluster table
-            includes a <literal>BLOB</literal> or
-            <literal>TEXT</literal> column, the <literal>READ
+            <para>
+              If a <literal>SELECT</literal> from a Cluster table
+              includes a <literal>BLOB</literal> or
+              <literal>TEXT</literal> column, the <literal>READ
               COMMITTED</literal> transaction isolation level is
-            converted to a read with read lock. This is done to
-            guarantee consistency, due to the fact that parts of
-            the values stored in columns of these types are
-            actually read from a separate table.
-          </para>
+              converted to a read with read lock. This is done to
+              guarantee consistency, due to the fact that parts of the
+              values stored in columns of these types are actually read
+              from a separate table.
+            </para>
           </important>
         </listitem>
-        
+
         <listitem>
           <formalpara>
+
             <title>Rollbacks</title>
-          <para> 
-            There is no partial rollback of transactions. A duplicate
-            key or similar error rolls back the entire transaction.
-          </para></formalpara>
+
+            <para>
+              There is no partial rollback of transactions. A duplicate
+              key or similar error rolls back the entire transaction.
+            </para>
+
+          </formalpara>
         </listitem>
-        
+
         <listitem>
           <para>
             As noted elsewhere in this chapter, MySQL Cluster does not

@@ -524,25 +581,25 @@
             to attempt a single large transaction containing a great
             many operations.
           </para>
-          
+
           <indexterm>
             <primary>MySQL Cluster limitations</primary>
             <secondary>memory usage and transaction handling</secondary>
           </indexterm>
-          
+
           <indexterm>
             <primary>MySQL Cluster</primary>
             <secondary>transaction handling</secondary>
           </indexterm>
-          
+
           <para>
             Among other considerations, large transactions require very
             large amounts of memory. Because of this, the transactional
             behaviour of a number of MySQL statements is effected as
             described in the following list:
-            
+
             <itemizedlist>
-              
+
               <listitem>
                 <para>
                   <literal>TRUNCATE</literal> is not transactional when

@@ -551,7 +608,7 @@
                   then it must be re-run until it is successful.
                 </para>
               </listitem>
-              
+
               <listitem>
                 <para>
                   <literal>DELETE FROM</literal> (even with no

@@ -562,110 +619,120 @@
                   <literal>DELETE FROM ... LIMIT ...</literal>
                   statements to <quote>chunk</quote> the delete
                   operation. If your objective is to empty the table,
-                  then you may wish to use
-                  <literal>TRUNCATE</literal> instead.
+                  then you may wish to use <literal>TRUNCATE</literal>
+                  instead.
                 </para>
               </listitem>
-              
+
               <listitem>
                 <formalpara>
+
                   <title><literal>LOAD DATA</literal>
statements</title>
-                <para>
-                  <literal>LOAD DATA INFILE</literal> is not
-                  transactional when used on <literal>NDB</literal>
-                  tables. 
-                  <important>
-                    <para>
-                      When executing a <literal>LOAD DATA
-                      INFILE</literal> statement, the
-                      <literal>NDB</literal> engine can and does commit
-                      at will.
-                    </para>                    
-                  </important>
-                  <literal>LOAD DATA FROM MASTER</literal> is not
-                  supported in MySQL Cluster.
-                </para>
+
+                  <para>
+                    <literal>LOAD DATA INFILE</literal> is not
+                    transactional when used on <literal>NDB</literal>
+                    tables.
+
+                    <important>
+                      <para>
+                        When executing a <literal>LOAD DATA
+                        INFILE</literal> statement, the
+                        <literal>NDB</literal> engine can and does
+                        commit at will.
+                      </para>
+                    </important>
+
+                    <literal>LOAD DATA FROM MASTER</literal> is not
+                    supported in MySQL Cluster.
+                  </para>
+
                 </formalpara>
               </listitem>
-              
+
               <listitem>
                 <formalpara>
+
                   <title><literal>ALTER TABLE</literal> and
transactions</title>
-                <para>
-                  When copying an <literal>NDB</literal> table as part
-                  of an <literal>ALTER TABLE</literal>, the creation of
-                  the copy is non-transactional. (In any case, this
-                  operation is rolled back when the copy is deleted.)
-                </para>
+
+                  <para>
+                    When copying an <literal>NDB</literal> table as part
+                    of an <literal>ALTER TABLE</literal>, the creation
+                    of the copy is non-transactional. (In any case, this
+                    operation is rolled back when the copy is deleted.)
+                  </para>
+
                 </formalpara>
               </listitem>
-              
+
             </itemizedlist>
           </para>
-          
-          
-              </listitem>
+        </listitem>
+
       </itemizedlist>
     </para>
+
   </section>
-  
+
   <section id="mysql-cluster-limitations-error-handling">
+
     <title>Error Handling</title>
-    
+
     <para>
       Starting, stopping, or restarting a node may give rise to
       temporary errors causing some transactions to fail. These include
       the following cases:
+
       <itemizedlist>
-        
+
         <listitem>
           <para>
-            When first starting a node, it is possible that
-            you may see Error 1204 <errortext>Temporary
-              failure, distribution changed</errortext> and
-            similar temporary errors.
+            When first starting a node, it is possible that you may see
+            Error 1204 <errortext>Temporary failure, distribution
+            changed</errortext> and similar temporary errors.
           </para>
         </listitem>
-        
+
         <listitem>
           <para>
-            The stopping or failure of any data node can
-            result in a number of different node failure
-            errors. (However, there should be no aborted
-            transactions when performing a planned shutdown of
-            the cluster.)
+            The stopping or failure of any data node can result in a
+            number of different node failure errors. (However, there
+            should be no aborted transactions when performing a planned
+            shutdown of the cluster.)
           </para>
         </listitem>
-        
+
       </itemizedlist>
     </para>
 
-                
+    <para>
+      In either of these cases, any errors that are generated must be
+      handled within the application. This should be done by retrying
+      the transaction.
+    </para>
 
-                <para>
-                  In either of these cases, any errors that are
-                  generated must be handled within the application. This
-                  should be done by retrying the transaction.
-                </para>
-              
+    <para>
+      See also <xref linkend="mysql-cluster-limitations-limits"/>.
+    </para>
 
-      <para>
-        See also <xref linkend="mysql-cluster-limitations-limits"/>.
-      </para>
-    
   </section>
+
   <section id="mysql-cluster-limitations-database-objects">
+
     <title>Limits Associated with Database Objects</title>
+
     <indexterm>
       <primary>MySQL Cluster limitations</primary>
       <secondary>database objects</secondary>
     </indexterm>
+
     <para>
       Some database objects such as tables and indexes have different
       limitations when using the <literal>NDBCLUSTER</literal> storage
       engine:
-      
+
       <itemizedlist>
+
         <listitem>
           <para>
             Database names, table names and attribute names cannot be as

@@ -673,112 +740,116 @@
             table handlers. Attribute names are truncated to 31
             characters, and if not unique after truncation give rise to
             errors. Database names and table names can total a maximum
-            of 122 characters. 
+            of 122 characters.
           </para>
-          
+
           <para>
             In other words, the maximum length for an
             <literal>NDB</literal> table name is 122 characters, less
             the number of characters in the name of the database of
             which that table is a part.
-            </para>
-          </listitem>
+          </para>
+        </listitem>
 
+        <listitem>
+          <para>
+            The maximum number of <literal>NDB</literal> tables is
+            limited to 20320.
+          </para>
+        </listitem>
+
+        <listitem>
+          <para>
+            The maximum number of attributes (that is, columns and
+            indexes) per table is limited to 128.
+          </para>
+        </listitem>
+
+        <listitem>
+          <para>
+            The maximum permitted size of any one row is 8KB. Note that
+            each <literal>BLOB</literal> or
<literal>TEXT</literal>
+            column contributes 256 + 8 = 264 bytes towards this total.
+          </para>
+        </listitem>
+
+        <listitem>
+          <para>
+            The maximum number of attributes per key is 32.
+          </para>
+        </listitem>
+
+      </itemizedlist>
+    </para>
+
+  </section>
+
+  <section id="mysql-cluster-limitations-unsupported-missing">
+
+    <title>Unsupported Or Missing Features</title>
+
+    <indexterm>
+      <primary>MySQL Cluster limitations</primary>
+      <secondary>unsupported features</secondary>
+    </indexterm>
+
+    <formalpara>
+
+      <title>Unsupported Features</title>
+
+      <para>
+        A number of features supported by other storage engines are not
+        supported for <literal>NDB</literal> tables. Trying to use any
+        of these features in MySQL Cluster does not cause errors in or
+        of itself; however, errors may occur in applications that
+        expects the features to be supported or enforced:
+
+        <itemizedlist>
+
           <listitem>
             <para>
-              The maximum number of <literal>NDB</literal> tables is
-              limited to 20320.
+              The foreign key construct is ignored, just as it is in
+              <literal>MyISAM</literal> tables.
             </para>
           </listitem>
 
           <listitem>
             <para>
-              The maximum number of attributes (that is, columns and
-              indexes) per table is limited to 128.
+              Savepoints and rollbacks to savepoints are ignored as in
+              <literal>MyISAM</literal>.
             </para>
           </listitem>
 
           <listitem>
             <para>
-              The maximum permitted size of any one row is 8KB. Note
-              that each <literal>BLOB</literal> or
-              <literal>TEXT</literal> column contributes 256 + 8 = 264
-              bytes towards this total.
+              <literal>OPTIMIZE</literal> operations are not supported.
             </para>
           </listitem>
 
           <listitem>
             <para>
-              The maximum number of attributes per key is 32.
+              <literal>LOAD TABLE ... FROM MASTER</literal> is not
+              supported.
             </para>
           </listitem>
-      </itemizedlist>
-        
-    </para>
-  </section>
-  <section id="mysql-cluster-limitations-unsupported-missing">
-    <title>Unsupported Or Missing Features</title>
-    
-    <indexterm>
-      <primary>MySQL Cluster limitations</primary>
-      <secondary>unsupported features</secondary>
-    </indexterm>
-  
-  <formalpara>
-    <title>Unsupported Features</title>
-    <para>
-    A number of features supported by other storage engines are not
-    supported for <literal>NDB</literal> tables. Trying to use any
-    of these features in MySQL Cluster does not cause errors in or of
-    itself; however, errors may occur in applications that expects the
-    features to be supported or enforced:   
-          
-      <itemizedlist>
-        
-        <listitem>
-          <para>
-            The foreign key construct is ignored, just as it is in
-            <literal>MyISAM</literal> tables.
-          </para>
-        </listitem>
-        
-        <listitem>
-          <para>
-            Savepoints and rollbacks to savepoints are ignored as in
-            <literal>MyISAM</literal>.
-          </para>
-        </listitem>
-        
-        <listitem>
-          <para>
-            <literal>OPTIMIZE</literal> operations are not supported.
-          </para>
-        </listitem>
-        
-        <listitem>
-          <para>
-            <literal>LOAD TABLE ... FROM MASTER</literal> is not
-            supported.
-          </para>
-        </listitem>
-        
-      </itemizedlist>
-    
-    </para>
-  </formalpara>
-    
+
+        </itemizedlist>
+      </para>
+
+    </formalpara>
+
     <formalpara>
+
       <title>Missing Features</title>
+
       <para>
-        
-        
         <itemizedlist>
-          
+
           <listitem>
             <para>
               The only supported isolation level is <literal>READ
-                COMMITTED</literal>. (InnoDB supports <literal>READ
-                  COMMITTED</literal>, <literal>READ
UNCOMMITTED</literal>,
+              COMMITTED</literal>. (InnoDB supports <literal>READ
+              COMMITTED</literal>, <literal>READ UNCOMMITTED</literal>,
               <literal>REPEATABLE READ</literal>, and
               <literal>SERIALIZABLE</literal>.) See
               <xref linkend="mysql-cluster-backup-troubleshooting"/>,

@@ -786,7 +857,7 @@
               of Cluster databases.
             </para>
           </listitem>
-          
+
           <listitem>
             <para>
               No durable commits on disk. Commits are replicated, but

@@ -794,294 +865,307 @@
               commit.
             </para>
           </listitem>
-          
+
         </itemizedlist>
       </para>
+
     </formalpara>
-    
-    
+
   </section>
-  
+
   <section id="mysql-cluster-limitations-performance">
+
     <title>Limitations Relating to Performance</title>
-        <indexterm>
-          <primary>MySQL Cluster limitations</primary>
-          <secondary>performance</secondary>
-        </indexterm>
-  
-  
-  
+
+    <indexterm>
+      <primary>MySQL Cluster limitations</primary>
+      <secondary>performance</secondary>
+    </indexterm>
+
     <para>
       The following performance issues are specific to or especially
       pronounced in MySQL Cluster:
-      
-        <itemizedlist>
 
-          <listitem>
-            <para>
-              There are query performance issues due to sequential
-              access to the <literal>NDB</literal> storage engine; it is
-              also relatively more expensive to do many range scans than
-              it is with either <literal>MyISAM</literal> or
-              <literal>InnoDB</literal>.
-            </para>
-          </listitem>
+      <itemizedlist>
 
-          <listitem>
-            <para>
-              The <literal>Records in range</literal> statistic is
-              available but is not completely tested or officially
-              supported. This may result in non-optimal query plans in
-              some cases. If necessary, you can employ <literal>USE
-              INDEX</literal> or <literal>FORCE INDEX</literal> to
alter
-              the execution plan. See <xref linkend="index-hints"/>, for
-              more information on how to do this.
-            </para>
-          </listitem>
+        <listitem>
+          <para>
+            There are query performance issues due to sequential access
+            to the <literal>NDB</literal> storage engine; it is also
+            relatively more expensive to do many range scans than it is
+            with either <literal>MyISAM</literal> or
+            <literal>InnoDB</literal>.
+          </para>
+        </listitem>
 
-          <listitem>
-            <para>
-              Unique hash indexes created with <literal>USING
-              HASH</literal> cannot be used for accessing a table if
-              <literal>NULL</literal> is given as part of the key.
-            </para>
-          </listitem>
+        <listitem>
+          <para>
+            The <literal>Records in range</literal> statistic is
+            available but is not completely tested or officially
+            supported. This may result in non-optimal query plans in
+            some cases. If necessary, you can employ <literal>USE
+            INDEX</literal> or <literal>FORCE INDEX</literal> to alter
+            the execution plan. See <xref linkend="index-hints"/>, for
+            more information on how to do this.
+          </para>
+        </listitem>
 
-          <listitem>
-            <para>
-              <literal>SQL_LOG_BIN</literal> has no effect on data
-              operations; however, it is supported for schema
-              operations.
-            </para>
+        <listitem>
+          <para>
+            Unique hash indexes created with <literal>USING
+            HASH</literal> cannot be used for accessing a table if
+            <literal>NULL</literal> is given as part of the key.
+          </para>
+        </listitem>
 
-            <para>
-              MySQL Cluster cannot produce a binlog for tables having
-              <literal>BLOB</literal> columns but no primary key.
-            </para>
+        <listitem>
+          <para>
+            <literal>SQL_LOG_BIN</literal> has no effect on data
+            operations; however, it is supported for schema operations.
+          </para>
 
-            <para>
-              Only the following schema operations are logged in a
-              cluster binlog which is <emphasis>not</emphasis> on the
-              <command>mysqld</command> executing the statement:
-            </para>
+          <para>
+            MySQL Cluster cannot produce a binlog for tables having
+            <literal>BLOB</literal> columns but no primary key.
+          </para>
 
-            <itemizedlist>
+          <para>
+            Only the following schema operations are logged in a cluster
+            binlog which is <emphasis>not</emphasis> on the
+            <command>mysqld</command> executing the statement:
+          </para>
 
-              <listitem>
-                <para>
-                  <literal>CREATE TABLE</literal>
-                </para>
-              </listitem>
+          <itemizedlist>
 
-              <listitem>
-                <para>
-                  <literal>ALTER TABLE</literal>
-                </para>
-              </listitem>
+            <listitem>
+              <para>
+                <literal>CREATE TABLE</literal>
+              </para>
+            </listitem>
 
-              <listitem>
-                <para>
-                  <literal>DROP TABLE</literal>
-                </para>
-              </listitem>
+            <listitem>
+              <para>
+                <literal>ALTER TABLE</literal>
+              </para>
+            </listitem>
 
-              <listitem>
-                <para>
-                  <literal>CREATE DATABASE</literal> / <literal>CREATE
-                  SCHEMA</literal>
-                </para>
-              </listitem>
+            <listitem>
+              <para>
+                <literal>DROP TABLE</literal>
+              </para>
+            </listitem>
 
-              <listitem>
-                <para>
-                  <literal>DROP DATABASE</literal> / <literal>DROP
-                  SCHEMA</literal>
-                </para>
-              </listitem>
+            <listitem>
+              <para>
+                <literal>CREATE DATABASE</literal> / <literal>CREATE
+                SCHEMA</literal>
+              </para>
+            </listitem>
 
-              <listitem>
-                <para>
-                  <literal>CREATE TABLESPACE</literal>
-                </para>
-              </listitem>
+            <listitem>
+              <para>
+                <literal>DROP DATABASE</literal> / <literal>DROP
+                SCHEMA</literal>
+              </para>
+            </listitem>
 
-              <listitem>
-                <para>
-                  <literal>ALTER TABLESPACE</literal>
-                </para>
-              </listitem>
+            <listitem>
+              <para>
+                <literal>CREATE TABLESPACE</literal>
+              </para>
+            </listitem>
 
-              <listitem>
-                <para>
-                  <literal>DROP TABLESPACE</literal>
-                </para>
-              </listitem>
+            <listitem>
+              <para>
+                <literal>ALTER TABLESPACE</literal>
+              </para>
+            </listitem>
 
-              <listitem>
-                <para>
-                  <literal>CREATE LOGFILE GROUP</literal>
-                </para>
-              </listitem>
+            <listitem>
+              <para>
+                <literal>DROP TABLESPACE</literal>
+              </para>
+            </listitem>
 
-              <listitem>
-                <para>
-                  <literal>ALTER LOGFILE GROUP</literal>
-                </para>
-              </listitem>
+            <listitem>
+              <para>
+                <literal>CREATE LOGFILE GROUP</literal>
+              </para>
+            </listitem>
 
-              <listitem>
-                <para>
-                  <literal>DROP LOGFILE GROUP</literal>
-                </para>
-              </listitem>
+            <listitem>
+              <para>
+                <literal>ALTER LOGFILE GROUP</literal>
+              </para>
+            </listitem>
 
-            </itemizedlist>
-          </listitem>
+            <listitem>
+              <para>
+                <literal>DROP LOGFILE GROUP</literal>
+              </para>
+            </listitem>
 
-        </itemizedlist>
-      
-    
+          </itemizedlist>
+        </listitem>
+
+      </itemizedlist>
     </para>
-    
+
   </section>
 
   <section id="mysql-cluster-limitations-exclusive-to-cluster">
-        
-    <title>Issues Exclusive to MySQL Cluster</title>    
 
-      
-        <indexterm>
-          <primary>MySQL Cluster limitations</primary>
-          <secondary>implementation</secondary>
-        </indexterm>
+    <title>Issues Exclusive to MySQL Cluster</title>
 
+    <indexterm>
+      <primary>MySQL Cluster limitations</primary>
+      <secondary>implementation</secondary>
+    </indexterm>
+
+    <para>
+      The following are limitations specific to the
+      <literal>NDBCLUSTER</literal> storage engine, and do not occur
+      with <literal>MyISAM</literal> or
<literal>InnoDB</literal>:
+
+      <itemizedlist>
+
+        <listitem>
+          <formalpara>
+
+            <title>Machine architecture</title>
+
+            <para>
+              All machines used in the cluster must have the same
+              architecture. That is, all machines hosting nodes must be
+              either big-endian or little-endian, and you cannot use a
+              mixture of both. For example, you cannot have a management
+              node running on a PowerPC which directs a data node that
+              is running on an x86 machine. This restriction does not
+              apply to machines simply running <command>mysql</command>
+              or other clients that may be accessing the cluster's SQL
+              nodes.
+            </para>
+
+          </formalpara>
+        </listitem>
+
+        <listitem>
+          <formalpara>
+
+            <title>Adding and dropping of data nodes</title>
+
+            <para>
+              Online adding or dropping of data nodes is not currently
+              possible. In such cases, the entire cluster must be
+              restarted.
+            </para>
+
+          </formalpara>
+        </listitem>
+
+        <listitem>
+          <formalpara>
+
+            <title>Multiple data node processes</title>
+
+            <para>
+              While it is possible to run multiple cluster processes
+              concurrently on a single host, it is not always advisable
+              to do so for reasons of performance and high availability,
+              as well as other considerations. In particular, in MySQL
+              &current-series; or &mccge-series;, we do not support for
+              production use any MySQL Cluster deployment in which more
+              than one <command>ndbd</command> process is run on a
+              single physical machine.
+            </para>
+
+          </formalpara>
+
+          <para>
+            We may support multiple data nodes per host in a future
+            MySQL release, following additional testing. However, in
+            MySQL &current-series; and &mccge-series;, such
+            configurations can be considered experimental only.
+          </para>
+        </listitem>
+
+      </itemizedlist>
+    </para>
+
+  </section>
+
+  <section id="mysql-cluster-limitations-disk-data">
+
+    <title>Limitation Relating to Disk Data Storage</title>
+
+    <indexterm>
+      <primary>MySQL Cluster limitations</primary>
+      <secondary>Disk Data storage</secondary>
+    </indexterm>
+
+    <itemizedlist>
+
+      <listitem>
         <para>
-          The following are limitations specific to the
-          <literal>NDBCLUSTER</literal> storage engine, and do not occur
-          with <literal>MyISAM</literal> or
<literal>InnoDB</literal>:<itemizedlist>
-            
+          Disk data objects are subject to the following maximums:
+
+          <itemizedlist>
+
             <listitem>
-              <formalpara>
-                <title>Machine architecture</title>
               <para>
-                All machines used in the cluster must have the same
-                architecture. That is, all machines hosting nodes must be
-                either big-endian or little-endian, and you cannot use a
-                mixture of both. For example, you cannot have a management
-                node running on a PowerPC which directs a data node that
-                is running on an x86 machine. This restriction does not
-                apply to machines simply running <command>mysql</command>
-                or other clients that may be accessing the cluster's SQL
-                nodes.
+                Maxmimum number of tablespaces: 2^32 (4294967296)
               </para>
-              </formalpara>
             </listitem>
-            
+
             <listitem>
-              <formalpara>
-                <title>Adding and dropping of data nodes</title>
               <para>
-                Online adding or dropping of data nodes is not currently
-                possible. In such cases, the entire cluster must be restarted.
+                Maximum number of data files per tablespace: 2^16
+                (65535)
               </para>
-              </formalpara>
             </listitem>
-            
+
             <listitem>
-              <formalpara>
-                <title>Multiple data node processes</title>
-                <para>
-                  While it is possible to run multiple cluster processes
-                  concurrently on a single host, it is not always
-                  advisable to do so for reasons of performance and high
-                  availability, as well as other considerations. In
-                  particular, in MySQL &current-series; or
-                  &mccge-series;, we do not support for production use
-                  any MySQL Cluster deployment in which more than one
-                  <command>ndbd</command> process is run on a single
-                  physical machine.
-                </para>
-              </formalpara>
-              
               <para>
-                We may support multiple data nodes per host in a future
-                MySQL release, following additional testing. However, in
-                MySQL &current-series; and &mccge-series;, such
-                configurations can be considered experimental only.
+                Maxmimum data file size: 2^47 (128GB)
               </para>
             </listitem>
+
           </itemizedlist>
         </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          Use of Disk Data tables is not supported when running the
+          cluster in diskless mode. Beginning with MySQL 5.1.12, it is
+          disallowed altogether. (Bug #20008)
+        </para>
+      </listitem>
+
+    </itemizedlist>
+
   </section>
-  
-  <section id="mysql-cluster-limitations-disk-data">
-    
-    <title>Limitation Relating to Disk Data Storage</title>
-    <indexterm>
-      <primary>MySQL Cluster limitations</primary>
-      <secondary>Disk Data storage</secondary>
-    </indexterm><itemizedlist>
-    <listitem>
-                    <para>
-                      Disk data objects are subject to the following
-                      maximums:
-                      
-                      <itemizedlist>
-                        
-                        <listitem>
-                          <para>
-                            Maxmimum number of tablespaces: 2^32
-                            (4294967296)
-                          </para>
-                        </listitem>
-                        
-                        <listitem>
-                          <para>
-                            Maximum number of data files per tablespace:
-                            2^16 (65535)
-                          </para>
-                        </listitem>
-                        
-                        <listitem>
-                          <para>
-                            Maxmimum data file size: 2^47 (128GB)
-                          </para>
-                        </listitem>
-                        
-                      </itemizedlist>
-                    </para>
-                  </listitem>
-                  
-                  <listitem>
-                    <para>
-                      Use of Disk Data tables is not supported when
-                      running the cluster in diskless mode. Beginning with
-                      MySQL 5.1.12, it is disallowed altogether. (Bug
-                      #20008)
-                    </para>
-                  </listitem>
-                  
-                
-              </itemizedlist>
-            
-  </section>
-  
+
   <section id="mysql-cluster-limitations-multiple-nodes">
-            <title>Limitations Relating to Multiple Cluster Nodes</title>
+
+    <title>Limitations Relating to Multiple Cluster Nodes</title>
+
     <formalpara>
+
       <title>Multiple SQL nodes</title>
+
       <indexterm>
         <primary>MySQL Cluster limitations</primary>
         <secondary>multiple MySQL servers</secondary>
       </indexterm>
-      
+
       <para>
-        The following are issues relating to the use of multiple MySQL servers
-        as MySQL Cluster SQL nodes, and are specific to the
+        The following are issues relating to the use of multiple MySQL
+        servers as MySQL Cluster SQL nodes, and are specific to the
         <literal>NDBCLUSTER</literal> storage engine:
-        
+
         <itemizedlist>
-          
+
           <listitem>
             <para>
               <literal>ALTER TABLE</literal> is not fully locking when

@@ -1089,89 +1173,96 @@
               lock).
             </para>
           </listitem>
-          
+
           <listitem>
             <para>
               DDL operations (such as <literal>CREATE TABLE</literal> or
-              <literal>ALTER TABLE</literal>) are not safe from data node
-              failures. If a data node fails while trying to peform one of
-              these, the data dictionary is locked and no further DDL
-              statements can be executed without restarting the cluster.
+              <literal>ALTER TABLE</literal>) are not safe from data
+              node failures. If a data node fails while trying to peform
+              one of these, the data dictionary is locked and no further
+              DDL statements can be executed without restarting the
+              cluster.
             </para>
           </listitem>
-          
+
         </itemizedlist>
       </para>
+
     </formalpara>
-    
+
     <formalpara>
+
       <title>Multiple management nodes</title>
-              <indexterm>
-                <primary>MySQL Cluster limitations</primary>
-                <secondary>multiple management servers</secondary>
-              </indexterm>
-              
-              <para>
-                When using multiple management servers:<itemizedlist>
-                  
-                  <listitem>
-                    <para>
-                      You must give nodes explicit IDs in connectstrings
-                      because automatic allocation of node IDs does not work
-                      across multiple management servers.
-                    </para>
-                  </listitem>
-                  
-                  <listitem>
-                    <para>
-                      You must take extreme care to have the same
-                      configurations for all management servers. No special
-                      checks for this are performed by the cluster.
-                    </para>
-                  </listitem>
-                  
-                </itemizedlist>
-              </para>
-              
-              </formalpara>
-            <itemizedlist>
-    
-    
-            <listitem>
-              <formalpara>
-                <title>Multiple network addresses</title>
-                
-                <para>
-                  Multiple network addresses per data node are not
-                  supported. Use of these is liable to cause problems:
-                  In the event of a data node failure, an SQL node waits
-                  for confirmation that the data node went down but
-                  never receives it because another route to that data
-                  node remains open. This can effectively make the
-                  cluster inoperable.
-                </para>
-              </formalpara>
-              
-              <para>
-                It is possible to use multiple network hardware
-                <emphasis>interfaces</emphasis> (such as Ethernet cards)
-                for a single data node, but these must be bound to the
-                same address. This also means that it not possible to
-                use more than one <literal>[TCP]</literal> section per
-                connection in the <literal>config.ini</literal> file.
-                See <xref linkend="mysql-cluster-tcp-definition"/>, for
-                more information.
-              </para>
-            </listitem>
-            
-            </itemizedlist>
-    
-    
+
+      <indexterm>
+        <primary>MySQL Cluster limitations</primary>
+        <secondary>multiple management servers</secondary>
+      </indexterm>
+
+      <para>
+        When using multiple management servers:
+
+        <itemizedlist>
+
+          <listitem>
+            <para>
+              You must give nodes explicit IDs in connectstrings because
+              automatic allocation of node IDs does not work across
+              multiple management servers.
+            </para>
+          </listitem>
+
+          <listitem>
+            <para>
+              You must take extreme care to have the same configurations
+              for all management servers. No special checks for this are
+              performed by the cluster.
+            </para>
+          </listitem>
+
+        </itemizedlist>
+      </para>
+
+    </formalpara>
+
+    <itemizedlist>
+
+      <listitem>
+        <formalpara>
+
+          <title>Multiple network addresses</title>
+
+          <para>
+            Multiple network addresses per data node are not supported.
+            Use of these is liable to cause problems: In the event of a
+            data node failure, an SQL node waits for confirmation that
+            the data node went down but never receives it because
+            another route to that data node remains open. This can
+            effectively make the cluster inoperable.
+          </para>
+
+        </formalpara>
+
+        <para>
+          It is possible to use multiple network hardware
+          <emphasis>interfaces</emphasis> (such as Ethernet cards) for a
+          single data node, but these must be bound to the same address.
+          This also means that it not possible to use more than one
+          <literal>[TCP]</literal> section per connection in the
+          <literal>config.ini</literal> file. See
+          <xref linkend="mysql-cluster-tcp-definition"/>, for more
+          information.
+        </para>
+      </listitem>
+
+    </itemizedlist>
+
   </section>
-  
+
   <section id="mysql-cluster-limitations-resolved">
+
     <title>Previous MySQL Cluster Issues Resolved in MySQL 5.1</title>
-    
+
     <indexterm>
       <primary>MySQL Cluster limitations</primary>
       <secondary>resolved in current version from previous
versions</secondary>

@@ -1181,213 +1272,229 @@
       A number of limitations and related issues existing in earlier
       versions of MySQL Cluster have been resolved over the course of
       development of MySQL &current-series; or &mccge-series;:
-      
+
       <itemizedlist>
-      
-      <listitem>
-        <para>
-          The <literal>NDB Cluster</literal> storage engine now
-          supports variable-length column types for in-memory
-          tables.
-        </para>
-        
-        <para>
-          Previously, for example, any Cluster table having one or more
-          <literal>VARCHAR</literal> fields which contained only
-          relatively small values, much more memory and disk space
-          were required when using the <literal>NDBCLUSTER</literal>
-          storage engine than would have been the case for the same
-          table and data using the <literal>MyISAM</literal> engine.
-          In other words, in the case of a
-          <literal>VARCHAR</literal> column, such a column required
-          the same amount of storage as a <literal>CHAR</literal>
-          column of the same size. In MySQL 5.1, this is no longer
-          the case for in-memory tables, where storage requirements
-          for variable-length column types such as
-          <literal>VARCHAR</literal> and
<literal>BINARY</literal>
-          are comparable to those for these column types when used
-          in <literal>MyISAM</literal> tables (see
-          <xref linkend="storage-requirements"/>).
-        </para>
-        
-        <important>
+
+        <listitem>
           <para>
-            For MySQL Cluster Disk Data tables, the fixed-width
-            limitation continues to apply. See 
-            <xref linkend="mysql-cluster-disk-data"/>.
+            The <literal>NDB Cluster</literal> storage engine now
+            supports variable-length column types for in-memory tables.
           </para>
-        </important>
-      </listitem>
-      
-      <listitem>
-        <indexterm>
-          <primary>MySQL Cluster limitations</primary>
-          <secondary>replication</secondary>
-        </indexterm>
-        
-        <para>
-          It is now possible to use MySQL replication with Cluster
-          databases. For details, see
-          <xref linkend="mysql-cluster-replication"/>.
-        </para>
-        
-        <para>
-          However, circular replication is <emphasis>not</emphasis>
-          currently supported for MySQL Cluster. See
-          <xref linkend="mysql-cluster-replication-issues"/>.
-        </para>
-      </listitem>
-      
-      <listitem>
-        <indexterm>
-          <primary>MySQL Cluster limitations</primary>
-          <secondary>autodiscovery</secondary>
-        </indexterm>
-        
-        <para>
-          Autodiscovery of databases is now supported for multiple
-          MySQL servers accessing the same MySQL Cluster, provided
-          that a given <command>mysqld</command> is already running
-          and is connected to the cluster at the time that the
-          database is created on a different
-          <command>mysqld</command>.
-        </para>
-        
-        <para>
-          What this means is that if a <command>mysqld</command>
-          process first connects to the cluster after a database
-          named <replaceable>db_name</replaceable> has been created,
-          you should issue a <literal>CREATE SCHEMA
-            <replaceable>db_name</replaceable></literal> statement on
-          the <quote>new</quote> MySQL server when it first accesses
-          that MySQL Cluster. Once this has been done, the
-          <quote>new</quote> <command>mysqld</command> should be
-          able to detect any tables in that database tables without
-          errors.
-        </para>
-        
-        <para>
-          This also means that online schema changes in
-          <literal>NDB</literal> tables are now possible. That is,
-          the result of operations such as <literal>ALTER
-            TABLE</literal> and <literal>CREATE INDEX</literal>
-          performed on one SQL node in the cluster are now visible
-          to the cluster's other SQL nodes without any additional
-          action being taken.
-        </para>
-      </listitem>
-      
-      <listitem>
-        <para>
-          Beginning with MySQL 5.1.10, it is possible to perform a
-          Cluster backup and restore between different
-          architectures. Previously &mdash; for example &mdash; you
-          could not back up a cluster running on a big-endian
-          platform and then restore from that backup to a cluster
-          running on a little-endian system. (Bug #19255)
-        </para>
-      </listitem>
-      
-      <listitem>
-        <formalpara>
-          <title>Character sets</title>
-          
+
+          <para>
+            Previously, for example, any Cluster table having one or
+            more <literal>VARCHAR</literal> fields which contained only
+            relatively small values, much more memory and disk space
+            were required when using the <literal>NDBCLUSTER</literal>
+            storage engine than would have been the case for the same
+            table and data using the <literal>MyISAM</literal> engine.
+            In other words, in the case of a <literal>VARCHAR</literal>
+            column, such a column required the same amount of storage as
+            a <literal>CHAR</literal> column of the same size. In MySQL
+            5.1, this is no longer the case for in-memory tables, where
+            storage requirements for variable-length column types such
+            as <literal>VARCHAR</literal> and
<literal>BINARY</literal>
+            are comparable to those for these column types when used in
+            <literal>MyISAM</literal> tables (see
+            <xref linkend="storage-requirements"/>).
+          </para>
+
+          <important>
+            <para>
+              For MySQL Cluster Disk Data tables, the fixed-width
+              limitation continues to apply. See
+              <xref linkend="mysql-cluster-disk-data"/>.
+            </para>
+          </important>
+        </listitem>
+
+        <listitem>
           <indexterm>
             <primary>MySQL Cluster limitations</primary>
-            <secondary>character sets</secondary>
+            <secondary>replication</secondary>
           </indexterm>
-        <para>
-          Beginning with MySQL 5.1.10, it is possible to install
-          MySQL with Cluster support to a non-default location and
-          change the search path for font description files using
-          either the <option>--basedir</option> or
-          <option>--character-sets-dir</option> options.
-          (Previously, <command>ndbd</command> in MySQL 5.1 searched
-          only the default path &mdash; typically
-          <filename>/usr/local/mysql/share/mysql/charsets</filename>
-          &mdash; for character sets.)
-        </para></formalpara>
-      </listitem>
-      
-      <listitem>
-        <para>
-          In MySQL 5.1, it is no longer necessary, when running
-          multiple management servers, to restart all the cluster's
-          data nodes to enable the management nodes to see one
-          another.
-        </para>
-      </listitem>
-      
-      
-      <listitem>
-        <formalpara>
-          <title>Length of <literal>CREATE TABLE</literal>
statements</title>
-          
+
+          <para>
+            It is now possible to use MySQL replication with Cluster
+            databases. For details, see
+            <xref linkend="mysql-cluster-replication"/>.
+          </para>
+
+          <para>
+            However, circular replication is <emphasis>not</emphasis>
+            currently supported for MySQL Cluster. See
+            <xref linkend="mysql-cluster-replication-issues"/>.
+          </para>
+        </listitem>
+
+        <listitem>
           <indexterm>
             <primary>MySQL Cluster limitations</primary>
-            <secondary>CREATE TABLE statements</secondary>
+            <secondary>autodiscovery</secondary>
           </indexterm>
+
           <para>
-            <literal>CREATE TABLE</literal> statements may be no more
-            than 4096 characters in length. <emphasis>This limitation
+            Autodiscovery of databases is now supported for multiple
+            MySQL servers accessing the same MySQL Cluster, provided
+            that a given <command>mysqld</command> is already running
+            and is connected to the cluster at the time that the
+            database is created on a different
+            <command>mysqld</command>.
+          </para>
+
+          <para>
+            What this means is that if a <command>mysqld</command>
+            process first connects to the cluster after a database named
+            <replaceable>db_name</replaceable> has been created, you
+            should issue a <literal>CREATE SCHEMA
+            <replaceable>db_name</replaceable></literal> statement on
+            the <quote>new</quote> MySQL server when it first accesses
+            that MySQL Cluster. Once this has been done, the
+            <quote>new</quote> <command>mysqld</command> should
be able
+            to detect any tables in that database tables without errors.
+          </para>
+
+          <para>
+            This also means that online schema changes in
+            <literal>NDB</literal> tables are now possible. That is, the
+            result of operations such as <literal>ALTER TABLE</literal>
+            and <literal>CREATE INDEX</literal> performed on one SQL
+            node in the cluster are now visible to the cluster's other
+            SQL nodes without any additional action being taken.
+          </para>
+        </listitem>
+
+        <listitem>
+          <para>
+            Beginning with MySQL 5.1.10, it is possible to perform a
+            Cluster backup and restore between different architectures.
+            Previously &mdash; for example &mdash; you could not back up
+            a cluster running on a big-endian platform and then restore
+            from that backup to a cluster running on a little-endian
+            system. (Bug #19255)
+          </para>
+        </listitem>
+
+        <listitem>
+          <formalpara>
+
+            <title>Character sets</title>
+
+            <indexterm>
+              <primary>MySQL Cluster limitations</primary>
+              <secondary>character sets</secondary>
+            </indexterm>
+
+            <para>
+              Beginning with MySQL 5.1.10, it is possible to install
+              MySQL with Cluster support to a non-default location and
+              change the search path for font description files using
+              either the <option>--basedir</option> or
+              <option>--character-sets-dir</option> options.
+              (Previously, <command>ndbd</command> in MySQL 5.1 searched
+              only the default path &mdash; typically
+              <filename>/usr/local/mysql/share/mysql/charsets</filename>
+              &mdash; for character sets.)
+            </para>
+
+          </formalpara>
+        </listitem>
+
+        <listitem>
+          <para>
+            In MySQL 5.1, it is no longer necessary, when running
+            multiple management servers, to restart all the cluster's
+            data nodes to enable the management nodes to see one
+            another.
+          </para>
+        </listitem>
+
+        <listitem>
+          <formalpara>
+
+            <title>Length of <literal>CREATE TABLE</literal>
statements</title>
+
+            <indexterm>
+              <primary>MySQL Cluster limitations</primary>
+              <secondary>CREATE TABLE statements</secondary>
+            </indexterm>
+
+            <para>
+              <literal>CREATE TABLE</literal> statements may be no more
+              than 4096 characters in length. <emphasis>This limitation
               affects MySQL 5.1.6, 5.1.7, and 5.1.8 only</emphasis>.
-            (See Bug #17813)
-          </para></formalpara>
-      </listitem>
-      
-      <listitem>
-        <formalpara>
-          <title><literal>IGNORE</literal> and
<literal>REPLACE</literal> functionality</title>
-          <indexterm>
-            <primary>MySQL Cluster limitations</primary>
-            <secondary>INSERT IGNORE, UPDATE IGNORE, and REPLACE
statements</secondary>
-          </indexterm>
-        <para>
-          In MySQL 5.1.7 and earlier, <literal>INSERT
-            IGNORE</literal>, <literal>UPDATE IGNORE</literal>, and
-          <literal>REPLACE</literal> were supported only for primary
-          keys, but not for unique keys. It was possible to work around
-          this issue by removing the constraint, then dropping the unique index,
-          performing any inserts, and then adding the unique index again.
-        </para></formalpara>
-        
-        <para>
-          This limitation was removed for <literal>INSERT
+              (See Bug #17813)
+            </para>
+
+          </formalpara>
+        </listitem>
+
+        <listitem>
+          <formalpara>
+
+            <title><literal>IGNORE</literal> and
<literal>REPLACE</literal> functionality</title>
+
+            <indexterm>
+              <primary>MySQL Cluster limitations</primary>
+              <secondary>INSERT IGNORE, UPDATE IGNORE, and REPLACE
statements</secondary>
+            </indexterm>
+
+            <para>
+              In MySQL 5.1.7 and earlier, <literal>INSERT
+              IGNORE</literal>, <literal>UPDATE IGNORE</literal>, and
+              <literal>REPLACE</literal> were supported only for primary
+              keys, but not for unique keys. It was possible to work
+              around this issue by removing the constraint, then
+              dropping the unique index, performing any inserts, and
+              then adding the unique index again.
+            </para>
+
+          </formalpara>
+
+          <para>
+            This limitation was removed for <literal>INSERT
             IGNORE</literal> and <literal>REPLACE</literal> in MySQL
-          5.1.8. (See Bug #17431.)
-        </para>
-      </listitem>
-      
-      <listitem>
-        <formalpara>
-          <title><literal>AUTO_INCREMENT</literal>
columns</title>
-        <para>
-          In MySQL 5.1.10 and earlier versions, the maximum number
-          of tables having <literal>AUTO_INCREMENT</literal> columns
-          &mdash; including those belonging to hidden primary keys
-          &mdash; was 2048.
-        </para>
-        </formalpara>
-        
-        <para>
-          This limitation was lifted in MySQL 5.1.11.
-        </para>
-      </listitem>
-        
+            5.1.8. (See Bug #17431.)
+          </para>
+        </listitem>
+
         <listitem>
+          <formalpara>
+
+            <title><literal>AUTO_INCREMENT</literal>
columns</title>
+
+            <para>
+              In MySQL 5.1.10 and earlier versions, the maximum number
+              of tables having <literal>AUTO_INCREMENT</literal> columns
+              &mdash; including those belonging to hidden primary keys
+              &mdash; was 2048.
+            </para>
+
+          </formalpara>
+
+          <para>
+            This limitation was lifted in MySQL 5.1.11.
+          </para>
+        </listitem>
+
+        <listitem>
           
           &mccge-warning-begin;
         <formalpara>
-          <title>Maximum number of cluster nodes</title>
+
+            <title>Maximum number of cluster nodes</title>
+
+            <para>
+              Prior to MySQL 5.1.15-ndb-6.1.1, the total maximum number
+              of nodes in a MySQL Cluster was 63, including all SQL
+              nodes (MySQL Servers), API nodes (applications accessing
+              the cluster other than MySQL servers), data nodes, and
+              management servers.
+            </para>
+
+          </formalpara>
+
           <para>
-            Prior to MySQL 5.1.15-ndb-6.1.1, the total maximum number
-            of nodes in a MySQL Cluster was 63, including all SQL
-            nodes (MySQL Servers), API nodes (applications accessing
-            the cluster other than MySQL servers), data nodes, and
-            management servers.
-          </para>
-        </formalpara>  
-          <para>
             Starting with MySQL 5.1.15-ndb-6.1.1, up to 255 API nodes
             (including MySQL servers acting as cluster SQL nodes) are
             supported by a single cluster. The total number of data

@@ -1397,15 +1504,10 @@
           
           &mccge-warning-end-cluster;
         </listitem>
-      
-    </itemizedlist>
-        </para>
 
-        
-      
-      
+      </itemizedlist>
+    </para>
 
-    
+  </section>
 
-  </section>
-</section>
\ No newline at end of file
+</section>


Thread
svn commit - mysqldoc@docsrva: r6518 - trunk/refman-5.1jon18 May