List:Commits« Previous MessageNext Message »
From:jon Date:December 7 2007 8:20pm
Subject:svn commit - mysqldoc@docsrva: r9202 - in trunk: dynamic-docs/command-optvars refman-5.1 refman-6.0
View as plain text  
Author: jstephens
Date: 2007-12-07 21:20:17 +0100 (Fri, 07 Dec 2007)
New Revision: 9202

Log:

Fixes to mysql-cluster-replication-conflict-resolution

Added missing mysqld options to optvars file

(Thanks, Oli!)



Modified:
   trunk/dynamic-docs/command-optvars/mysqld.xml
   trunk/refman-5.1/mysql-cluster-cge-building-tmp.xml
   trunk/refman-5.1/mysql-cluster-replication.xml
   trunk/refman-6.0/mysql-cluster-replication.xml


Modified: trunk/dynamic-docs/command-optvars/mysqld.xml
===================================================================
--- trunk/dynamic-docs/command-optvars/mysqld.xml	2007-12-07 19:59:29 UTC (rev 9201)
+++ trunk/dynamic-docs/command-optvars/mysqld.xml	2007-12-07 20:20:17 UTC (rev 9202)
Changed blocks: 14, Lines Added: 149, Lines Deleted: 93; 10132 bytes

@@ -10666,74 +10666,73 @@
     </versions>
 
   </mysqloption>
-  
+
   <mysqloption section="security" id="max_prepared_STATEMENT_count">
-    
+
     <xrefto id="option_mysqld_max_prepared_STATEMENT_count"/>
-    
+
     <name>max_prepared_STATEMENT_count</name>
-    
+
     <shortdescription lang="en">
-      This variable limits the total number of prepared statements in the server
+      This variable limits the total number of prepared statements in
+      the server
     </shortdescription>
-    
+
     <types>
       <vartype class="system" isdynamic="no" scope="global" format="max_prepared_STATEMENT_count"/>
     </types>
-    
-   
+
     <versions>
       <manual version="5.1"/>
       <introduced version="5.1.10"/>
       <manual version="6.0"/>
     </versions>
-    
+
   </mysqloption>
-  
+
   <mysqloption section="security" id="prepared_STATEMENT_count">
-    
+
     <xrefto id="option_mysqld_prepared_STATEMENT_count"/>
-    
+
     <name>max_prepared_STATEMENT_count</name>
-    
+
     <shortdescription lang="en">
       The current number of prepared statements
     </shortdescription>
-    
+
     <types>
       <vartype class="system" isdynamic="no" scope="global" format="prepared_STATEMENT_count"/>
     </types>
-    
-    
+
     <versions>
       <manual version="5.1"/>
       <introduced version="5.1.10"/>
       <manual version="6.0"/>
     </versions>
-    
+
   </mysqloption>
-  
+
   <mysqloption section="security" id="local_infile">
-    
+
     <xrefto id="option_mysqld_local_infile"/>
-    
+
     <name>local_infile</name>
-    
+
     <shortdescription lang="en">
       Whether LOCAL is supported for LOAD DATA INFILE statements
     </shortdescription>
-    
+
     <types>
       <vartype class="system" isdynamic="no" scope="global" format="local_infile"/>
     </types>
-        
+
     <versions>
       <manual version="4.1"/>
       <manual version="5.0"/>
       <manual version="5.1"/>
       <manual version="6.0"/>
     </versions>
-    
+
   </mysqloption>
 
   <mysqloption section="server" id="log">

@@ -10768,10 +10767,10 @@
     </versions>
 
   </mysqloption>
-  
-  <!--id already in use-->
-  
-  <!--mysqloption section="server" id="log">
+
+<!--id already in use-->
+
+<!--mysqloption section="server" id="log">
     
     <xrefto id="option_mysqld_log"/>
     

@@ -10793,7 +10792,6 @@
     </versions>
     
   </mysqloption-->
-  
 
   <mysqloption section="server" id="log-bin">
 

@@ -10820,29 +10818,28 @@
     </versions>
 
   </mysqloption>
-  
+
   <mysqloption section="server" id="log_bin">
-    
+
     <xrefto id="option_mysqld_log_bin"/>
-    
+
     <name>log_bin</name>
-    
+
     <shortdescription lang="en">
       Whether the binary log is enabled
     </shortdescription>
-    
+
     <types>
       <vartype isdynamic="no" scope="global" class="system" format="log_bin"/>
     </types>
-    
-  
+
     <versions>
       <manual version="4.1"/>
       <manual version="5.0"/>
       <manual version="5.1"/>
       <manual version="6.0"/>
     </versions>
-    
+
   </mysqloption>
 
   <mysqloption section="server" id="log-bin-index">

@@ -11028,7 +11025,7 @@
     <name>log-output</name>
 
     <shortdescription lang="en">
-      The destination for general query log and slow query log output. 
+      The destination for general query log and slow query log output.
       Syntax: log-output[=value[,value...]], where "value" could be
       TABLE, FILE, or NONE
     </shortdescription>

@@ -12622,28 +12619,28 @@
     </versions>
 
   </mysqloption>
-  
+
   <mysqloption section="server" id="locked_in_memory">
-    
+
     <xrefto id="option_mysqld_locked_in_memory"/>
-    
+
     <name>locked_in_memory</name>
-    
+
     <shortdescription lang="en">
       Whether mysqld is locked in memory
     </shortdescription>
-    
+
     <types>
       <vartype isdynamic="no" scope="global" class="system" format="locked_in_memory" />
     </types>
-    
+
     <versions>
       <manual version="4.1"/>
       <manual version="5.0"/>
       <manual version="5.1"/>
       <manual version="6.0"/>
     </versions>
-    
+
   </mysqloption>
 
   <mysqloption section="server" id="license">

@@ -12688,7 +12685,7 @@
     <types>
       <optype class="cmdline" format="--merge"/>
       <optype class="mycnf"/>
-     </types>
+    </types>
 
     <values vartype="boolean" platform="all">
 

@@ -12761,26 +12758,26 @@
     </versions>
 
   </mysqloption>
+
   <mysqloption section="myisam" id="myisam_recover_options">
-    
+
     <name>myisam_recover_options</name>
-    
+
     <shortdescription lang="en">
       The value of the --myisam-recover option
     </shortdescription>
-    
 
     <types>
       <vartype isdynamic="no" class="system" format="myisam_recover_options"/>
     </types>
-    
+
     <versions>
       <manual version="4.1"/>
       <manual version="5.0"/>
       <manual version="5.1"/>
       <manual version="6.0"/>
     </versions>
-    
+
   </mysqloption>
 
   <mysqloption section="server" id="multi_range_count">

@@ -13303,28 +13300,28 @@
     </versions>
 
   </mysqloption>
-  
+
   <mysqloption section="ndb" id="ndb-connectstring">
-    
+
     <name>ndb-connectstring</name>
-    
+
     <shortdescription lang="en">
-      Indicates the management server that distributes the cluster configuration
+      Indicates the management server that distributes the cluster
+      configuration
     </shortdescription>
-    
+
     <types>
       <optype class="cmdline" format="--ndb-connect-string" />
       <optype class="mycnf"/>
     </types>
-    
-    <values vartype="string" platform="all"/>  
-    
-    
+
+    <values vartype="string" platform="all"/>
+
     <versions>
       <manual version="5.1"/>
       <manual version="6.0"/>
     </versions>
-    
+
   </mysqloption>
 
   <mysqloption section="ndb" id="ndb_extra_logging">

@@ -13419,6 +13416,67 @@
 
   </mysqloption>
 
+  <mysqloption section="ndb" id="ndb_log_updated_only">
+
+    <xrefto id="option_mysqld_ndb_log_updated_only"/>
+
+    <name>ndb_log_updated_only</name>
+
+    <shortdescription lang="en">
+      Log complete rows (ON) or updates only (OFF)
+    </shortdescription>
+
+    <types>
+      <optype class="cmdline" format="--ndb-log-updated-only"/>
+      <optype class="mycnf"/>
+      <vartype isdynamic="yes" scope="global" class="system" format="ndb_log_updated_only"/>
+    </types>
+
+    <values vartype="boolean" platform="all">
+
+      <value default="ON"/>
+
+    </values>
+
+    <versions>
+      <manual version="5.1"/>
+      <introduced version="5.1.19-ndb-6.3.0"/>
+      <manual version="6.0"/>
+    </versions>
+
+  </mysqloption>
+
+  <mysqloption section="ndb" id="ndb_log_update_as_write">
+
+    <xrefto id="option_mysqld_ndb_log_update_as_write"/>
+
+    <name>ndb_log_update_as_write</name>
+
+    <shortdescription lang="en">
+      Toggles logging of updates on the master between updates (OFF) and
+      writes (ON)
+    </shortdescription>
+
+    <types>
+      <optype class="cmdline" format="--ndb-log-update-as-write"/>
+      <optype class="mycnf"/>
+      <vartype isdynamic="yes" scope="global" class="system" format="ndb_log_update_as_write"/>
+    </types>
+
+    <values vartype="boolean" platform="all">
+
+      <value default="ON"/>
+
+    </values>
+
+    <versions>
+      <manual version="5.1"/>
+      <introduced version="5.1.19-ndb-6.3.0"/>
+      <manual version="6.0"/>
+    </versions>
+
+  </mysqloption>
+
   <mysqloption section="ndb" id="ndb_wait_connected">
 
     <xrefto id="option_mysqld_ndb_wait_connected"/>

@@ -16087,28 +16145,27 @@
     </versions>
 
   </mysqloption>
-  
+
   <mysqloption section="server" id="slow_query_log">
-    
+
     <xrefto id="option_mysqld_slow_query_log"/>
-    
+
     <name>slow_query_log</name>
-    
+
     <shortdescription lang="en">
       Whether the slow query log is enabled
     </shortdescription>
-    
+
     <types>
       <vartype isdynamic="no" class="system" scope="global" format="slow_query_log"/>
     </types>
-    
-  
+
     <versions>
       <manual version="5.1"/>
       <manual version="6.0"/>
       <introduced version="5.1.12"/>
     </versions>
-    
+
   </mysqloption>
 
   <mysqloption section="server" id="slow_launch_time">

@@ -18917,7 +18974,6 @@
 
     <types>
       <vartype class="system" isdynamic="no" format="named_pipe"/>
-      
     </types>
 
     <versions>

@@ -18928,30 +18984,30 @@
     </versions>
 
   </mysqloption>
-  
+
   <mysqloption section="server" id="enable-named-pipe">
-    
+
     <xrefto id="option_mysqld_enable-named-pipe"/>
-    
+
     <name>named_pipe</name>
-    
+
     <shortdescription lang="en">
-      Enable support for named pipes. 
+      Enable support for named pipes.
     </shortdescription>
-    
+
     <platforms applies="windows"/>
-    
+
     <types>
       <optype class="cmdline" format="--named_pipe"/>
       <optype class="mycnf"/>
     </types>
-    
+
     <versions>
       <manual version="5.0"/>
       <manual version="5.1"/>
       <manual version="6.0"/>
     </versions>
-    
+
   </mysqloption>
 
   <mysqloption section="ndb" id="ndb_index_stat_cache_entries">

@@ -21312,50 +21368,50 @@
     </versions>
 
   </mysqloption>
-  
+
   <mysqloption section="ndb" id="skip-ndbcluster">
-    
+
     <xrefto id="option_mysqld_skip-ndbcluster"/>
-    
+
     <name>skip-ndbcluster</name>
-    
+
     <shortdescription lang="en">
       Disable the NDB Cluster storage engine
     </shortdescription>
-    
+
     <types>
       <optype class="cmdline" format="--skip-ndbcluster"/>
       <optype class="mycnf"/>
     </types>
-    
+
     <versions>
       <manual version="5.1"/>
       <manual version="6.0"/>
     </versions>
-    
+
   </mysqloption>
-  
+
   <mysqloption section="server" id="one-thread">
-    
+
     <xrefto id="option_mysqld_one-thread"/>
-    
+
     <name>one-thread</name>
-    
+
     <shortdescription lang="en">
       Only use one thread (for debugging under Linux)
     </shortdescription>
-    
+
     <types>
       <optype class="cmdline" format="--one-thread"/>
       <optype class="mycnf"/>
     </types>
-    
+
     <versions>
       <manual version="5.0"/>
       <manual version="5.1"/>
       <manual version="6.0"/>
     </versions>
-    
+
   </mysqloption>
 
 </mysqloptions>


Modified: trunk/refman-5.1/mysql-cluster-cge-building-tmp.xml
===================================================================
--- trunk/refman-5.1/mysql-cluster-cge-building-tmp.xml	2007-12-07 19:59:29 UTC (rev 9201)
+++ trunk/refman-5.1/mysql-cluster-cge-building-tmp.xml	2007-12-07 20:20:17 UTC (rev 9202)
Changed blocks: 14, Lines Added: 101, Lines Deleted: 41; 9921 bytes

@@ -9,9 +9,10 @@
 
   <para>
     This section provides instructions on building &mccge-series; using
-    the source code that can be obtained from the MySQL FTP site and the
+    the source code that can be obtained from the MySQL FTP site or
+    <ulink url="http://mysql.bkbits.net/"/> and the
     <command>build_mccge.sh</command> script that can be found in the
-    source code's <filename>BUILD</filename> directory.
+    source code <filename>BUILD</filename> directory.
   </para>
 
   <section id="mysql-cluster-cge-building-basics">

@@ -20,40 +21,39 @@
 
     <para>
       The <command>build_mccge.sh</command> script is intended to
-      provide an easy way to build &mccge-series; binaries on the
-      principal supported platforms for this product:
+      provide an easy way to build 32-bit or 64-bit &mccge-series;
+      binaries on the principal supported platforms for this product:
 
       <itemizedlist>
 
         <listitem>
           <para>
-            Linux/x86 32-bit or 64-bit, using the <command>gcc</command>
-            compiler.
+            Linux/x86, using <command>gcc</command> or Intel&apos;s
+            <command>icc</command> compiler.
           </para>
         </listitem>
 
         <listitem>
           <para>
-            Linux/x86 32-bit or 64-bit, using Intel's
-            <command>icc</command> compiler.
+            Solaris/x86, using <command>gcc</command>.
           </para>
         </listitem>
 
         <listitem>
           <para>
-            Solaris/x86, also using <command>gcc</command>.
+            Solaris/SPARC, using the <command>Forte</command> compiler.
           </para>
         </listitem>
 
         <listitem>
           <para>
-            Solaris/Sparc, using the <command>Forte</command> compiler.
+            MacOS X on x86, using <command>gcc</command>.
           </para>
         </listitem>
 
         <listitem>
           <para>
-            MacOS X, using <command>gcc</command>.
+            FreeBSD/x86, using <command>gcc</command>.
           </para>
         </listitem>
 

@@ -61,21 +61,32 @@
 
       These instructions are <emphasis>not</emphasis> intended to cover
       obtaining and installing the compiler and other tools needed to
-      build the &mccge-series; (often abbreviated as
-      <quote>MCCGE</quote> or <quote>CGE</quote>) software. For help
-      with doing so, please see the documentation provided for your
-      operating platform.
+      build the &mccge-series; software (sometimes abbreviated as
+      <quote>MCCGE</quote>). For help with this, see the documentation
+      provided for your operating platform. For information on what
+      tools are required and recommended, see
+      <xref linkend="installing-source"/>, and
+      <xref linkend="installing-source-tree"/>.
     </para>
 
     <para>
       The script automatically detects the CPU type and operating system
       of the machine on which it is used; in most cases this also
-      determines which compiler to use, the exception being Linux/x86
-      where you can choose between <command>gcc</command> (the default)
-      and <command>icc</command>. To build on any of these platforms
-      (using <command>gcc</command> on Linux), it is often sufficient to
-      invoke the script without any extra options, like this:
+      determines which compiler to use.
 
+      <note>
+        <para>
+          For Linux running on x86 processors, <command>gcc</command> is
+          the default, but you can also choose the
+          <command>icc</command> compiler if it is available on your
+          system.
+        </para>
+      </note>
+
+      To build on any of these platforms (using <command>gcc</command>
+      on Linux), it is often sufficient to invoke the script without any
+      extra options, like this:
+
 <programlisting>
 shell&gt; <userinput>cd <replaceable>mccge-root</replaceable></userinput>
 shell&gt; <userinput>BUILD/build_mccge.sh</userinput>

@@ -127,13 +138,52 @@
     <para>
       Using the <option>--package</option> option with
       <command>build_mccge.sh</command>, it is possible to build a
-      number of different packages. These include a
-      <quote>Classic</quote> version of MySQL having only the
-      <literal>MyISAM</literal> storage engine, a <quote>Pro</quote>
-      package including all storage engines and other features except
-      for MySQL Cluster, and a <quote>Max</quote> package including all
-      of these features plus MySQL Cluster (this is the default package
-      when the <option>--developer</option> option is used).
+      number of different packages, listed here:
+
+      <itemizedlist>
+
+        <listitem>
+          <formalpara>
+
+            <title>Classic</title>
+
+            <para>
+              This package includes only the <literal>MyISAM</literal>
+              and <literal>CSV</literal> storage engines.
+            </para>
+
+          </formalpara>
+        </listitem>
+
+        <listitem>
+          <formalpara>
+
+            <title>Pro</title>
+
+            <para>
+              This packages includes all storage engines and other
+              features except for MySQL Cluster.
+            </para>
+
+          </formalpara>
+        </listitem>
+
+        <listitem>
+          <formalpara>
+
+            <title>Extended</title>
+
+            <para>
+              This package includes all of the features found in the Pro
+              package with the addition of MySQL Cluster. This is the
+              default package when the <option>--developer</option>
+              option is used.
+            </para>
+
+          </formalpara>
+        </listitem>
+
+      </itemizedlist>
     </para>
 
     <para>

@@ -158,7 +208,7 @@
           </thead>
           <tbody>
             <row>
-              <entry><option>--package=ndb</option></entry>
+              <entry><option>--package=cge</option></entry>
               <entry><literal>ARCHIVE</literal>, <literal>BLACKHOLE</literal>,
                 <literal>CSV</literal>, <literal>EXAMPLE</literal>,
                 <literal>FEDERATED</literal>, <literal>MYISAM</literal>,

@@ -168,7 +218,7 @@
               <entry><literal>-cge</literal></entry>
             </row>
             <row>
-              <entry><option>--package=max</option></entry>
+              <entry><option>--package=extended</option></entry>
               <entry><literal>ARCHIVE</literal>, <literal>BLACKHOLE</literal>,
                 <literal>CSV</literal>, <literal>EXAMPLE</literal>,
                 <literal>FEDERATED</literal>, <literal>INNODB</literal>,

@@ -208,6 +258,14 @@
       options).
     </para>
 
+    <note>
+      <para>
+        Because the &mccge-series; sources are currently based on MySQL
+        5.1, there is no support in &mccge-series; for the
+        <literal>Falcon</literal> storage engine at this time.
+      </para>
+    </note>
+
     <formalpara>
 
       <title>Additional package options</title>

@@ -256,7 +314,7 @@
                 This option changes a number of things to make the
                 version built more appropriate to developers' debugging
                 and testing needs. It changes the default package to
-                Max. It also changes the default warning mode from
+                Extended. It also changes the default warning mode from
                 <literal>none</literal> to <literal>normal</literal>,
                 which allows an extensive list of warnings to be
                 generated.

@@ -271,7 +329,7 @@
               <title><option>--error-inject</option></title>
 
               <para>
-                This option is used only when the
+                This option is honored only when the
                 <option>--developer</option> option is also used, and
                 enables error injection in both the MySQL Server and on
                 MySQL Cluster data nodes.

@@ -375,9 +433,9 @@
                 <note>
                   <para>
                     <literal>MyISAM</literal> support is always built
-                    into the MySQL Server. The server cannot be built
-                    without the <literal>MyISAM</literal> storage
-                    engine.
+                    into the MySQL Server. The server
+                    <emphasis>cannot</emphasis> be built without the
+                    <literal>MyISAM</literal> storage engine.
                   </para>
                 </note></entry>
               <entry/>

@@ -440,9 +498,9 @@
     </formalpara>
 
     <para>
-      The MySQL Cluster Carrier Grade Edition builds (built using
-      <option>--package=ndb</option> or <option>--package=max</option>)
-      add the following options:
+      The &mccge-series; builds (built using
+      <option>--package=cge</option> or
+      <option>--package=extended</option>) add the following options:
 
       <itemizedlist>
 

@@ -495,7 +553,7 @@
               <title><option>--with-innodb</option></title>
 
               <para>
-                Included in the Pro and Max packages only.
+                Included in the Pro and Extended packages only.
               </para>
 
             </formalpara>

@@ -519,11 +577,11 @@
           <listitem>
             <formalpara>
 
-              <title><option/></title>
+              <title><option>--with-server-suffix</option></title>
 
               <para>
-                --with-server-suffix Sets the server suffix on the MySQL
-                version, by package, as described in
+                Sets the server suffix on the MySQL version, by package,
+                as described in
                 <xref linkend="mysql-cluster-cge-building-packages"/>.
               </para>
 

@@ -535,6 +593,8 @@
 
     </formalpara>
 
+<!--  EDITS THORUGH HERE  -->
+
     <formalpara>
 
       <title>Other options</title>


Modified: trunk/refman-5.1/mysql-cluster-replication.xml
===================================================================
--- trunk/refman-5.1/mysql-cluster-replication.xml	2007-12-07 19:59:29 UTC (rev 9201)
+++ trunk/refman-5.1/mysql-cluster-replication.xml	2007-12-07 20:20:17 UTC (rev 9202)
Changed blocks: 6, Lines Added: 11, Lines Deleted: 12; 3258 bytes

@@ -2336,7 +2336,7 @@
       <title>Logging full or partial rows (<option>--ndb-log-updated-only</option>
         option)</title>
 
-      <para>
+      <para id="option_mysqld_ndb_log_updated_only">
         For purposes of conflict resolution, there are two basic methods
         of logging rows, as determined by the setting of the
         <option>--ndb-log-updated-only</option> option for

@@ -2360,11 +2360,10 @@
 
         </itemizedlist>
 
-        In general it is preferable to log full rows. However, depending
-        on the application, it may be sufficient to log only the
-        updates, and can be more efficient to do so. This can be done by
-        setting <option>--ndb-log-updated-only</option> to
-        <literal>1</literal> or <literal>ON</literal>.
+        It more efficient to log updated columns only; however, if you
+        need to log full rows, you can do so by setting
+        <option>--ndb-log-updated-only</option> to <literal>0</literal>
+        or <literal>OFF</literal>.
       </para>
 
     </formalpara>

@@ -2374,15 +2373,15 @@
       <title>Logging changed data as updates
         (<option>--ndb-log-update-as-write</option> option)</title>
 
-      <para>
+      <para id="option_mysqld_ndb_log_update_as_write">
         Either of these logging methods can be configured to be done
         with or without the <quote>before</quote> image as determined by
         the setting of another MySQL Server option
         <option>--ndb-log-update-as-write</option>. Because conflict
         resolution is done in the MySQL Server's update handler, it is
         necessary to control logging on the master such that updates are
-        updates and not writes as in in mainline MySQL 5.1. This option
-        is turned on by default; to turn it off, start the server with
+        updates and not writes. This option is turned on by default; to
+        turn it off, start the server with
         <option>--ndb-log-update-as-write=0</option> or
         <option>--ndb-log-update-as-write=OFF</option>.
       </para>

@@ -2758,7 +2757,7 @@
 
       <para>
         The following examples assume that you have already a working
-        replication setup, as described in
+        MySQL Cluster replication setup, as described in
         <xref linkend="mysql-cluster-replication-preparation"/>, and
         <xref linkend="mysql-cluster-replication-starting"/>.
 

@@ -2783,7 +2782,7 @@
                     <para>
                       Make sure that you have started the master
                       <command>mysqld</command> with
-                      <option>-–ndb-log-updates-as-writes=OFF</option>.
+                      <option>-–ndb-log-update-as-write=OFF</option>.
                     </para>
                   </listitem>
 

@@ -2825,7 +2824,7 @@
     <replaceable>columns</replaceable>
     mycol INT UNSIGNED,
     <replaceable>columns</replaceable>
-);
+) ENGINE=NDB;
 </programlisting>
 
                       Now, when updates are done on this table, conflict


Modified: trunk/refman-6.0/mysql-cluster-replication.xml
===================================================================
--- trunk/refman-6.0/mysql-cluster-replication.xml	2007-12-07 19:59:29 UTC (rev 9201)
+++ trunk/refman-6.0/mysql-cluster-replication.xml	2007-12-07 20:20:17 UTC (rev 9202)
Changed blocks: 7, Lines Added: 450, Lines Deleted: 363; 37931 bytes

@@ -2190,52 +2190,56 @@
       Cluster Replication provides a means of resolving such conflicts
       by allowing a user defined <quote>timestamp</quote> column to be
       used to determine whether or not an update to the row on a given
-      master should be applied on the slave. There are two ways in which
-      this column can be used, as explained in the next two paragraphs.
+      master should be applied on the slave.
     </para>
 
     <para>
-      In the first method, if the <quote>timestamp</quote> for a given
-      row coming from the master is higher than that on the slave, it is
-      applied; otherwise it is not applied on the slave. This ensures
-      that, in the event of a conflict, the version of the row that was
-      most recently updated is the version that persists.
+      Different methods can be used to compare <quote>timestamps</quote>
+      on the slave when conflicts occur, as explained later in this
+      section; the method used can be set on a per-table basis.
     </para>
 
-    <para>
-      In the second method for conflict resolution, the update is
-      applied only if the <quote>timestamp</quote> column is the same on
-      both the master and the slave. This ensures that updates are not
-      applied from the wrong master.
-    </para>
+    <formalpara>
 
-    <para>
-      This replication scheme, also known as <quote>changed parameter
-      only replication</quote>, is configurable on a per-table basis.
+      <title>Requirements</title>
 
-      <itemizedlist>
+      <para>
+        Preparations for conflict resolution must be made on both the
+        master and the slave:
 
-        <listitem>
-          <para>
-            On the master, it must be determined which columns to send
-            (all columns or only those that have been updated).
-          </para>
-        </listitem>
+        <itemizedlist>
 
-        <listitem>
-          <para>
-            On the slave, it must be determined which type of conflict
-            resolution to apply (<quote>latest timestamp wins</quote>,
-            <quote>same timestamp wins</quote>, or none).
-          </para>
-        </listitem>
+          <listitem>
+            <para>
+              On the master writing the binlogs, you must determine
+              which columns are sent (all columns or only those that
+              have been updated). This is done for the MySQL Server as a
+              while by applying the <command>mysqld</command> startup
+              option <option>-–ndb-log-updated-only</option>
+              (described later in this section) or on a per-table basis
+              by entries in the <literal>mysql.ndb_replication</literal>
+              table.
+            </para>
+          </listitem>
 
-      </itemizedlist>
+          <listitem>
+            <para>
+              On the slave, you must determine which type of conflict
+              resolution to apply (<quote>latest timestamp wins</quote>,
+              <quote>same timestamp wins</quote>, or none). This is done
+              using the <literal>mysql.ndb_replication</literal> system
+              table, on a per-table basis.
+            </para>
+          </listitem>
 
-      If only some but not all columns are sent, then the master and
-      slave can diverge.
-    </para>
+        </itemizedlist>
 
+        If only some but not all columns are sent, then the master and
+        slave can diverge.
+      </para>
+
+    </formalpara>
+
     <note>
       <para>
         We refer to the column used for determining updates as a

@@ -2250,150 +2254,141 @@
       <primary>--ndb-log-update-as-write (mysqld option)</primary>
     </indexterm>
 
-    <para>
-      We can see update operations in terms of <quote>before</quote> and
-      <quote>after</quote> images &mdash; that is, the states of the
-      table before and after the update is applied. Normally, when
-      updating a table with a primary key, the <quote>before</quote>
-      image is not of great interest; however, when we need to determine
-      on a per-update basis whether or not to use the updated values on
-      a replication slave, we need to make sure that both images are
-      written to the master's binary log. This is done with the
-      <option>--ndb-log-update-as-write</option> startup option for
-      <command>mysqld</command>, as described later in this section.
-    </para>
+    <formalpara>
 
-    <para>
-      Whether logging of complete rows or of updated columns only is
-      done is decided when the MySQL server is started, and cannot be
-      changed online; you must either restart <command>mysqld</command>,
-      or start a new <command>mysqld</command> instance with different
-      logging options.
-    </para>
+      <title>Master column control</title>
 
-    <para>
-      For purposes of conflict resolution, there are two basic methods
-      of logging rows:
+      <para>
+        We can see update operations in terms of <quote>before</quote>
+        and <quote>after</quote> images &mdash; that is, the states of
+        the table before and after the update is applied. Normally, when
+        updating a table with a primary key, the <quote>before</quote>
+        image is not of great interest; however, when we need to
+        determine on a per-update basis whether or not to use the
+        updated values on a replication slave, we need to make sure that
+        both images are written to the master's binary log. This is done
+        with the <option>--ndb-log-update-as-write</option> startup
+        option for <command>mysqld</command>, as described later in this
+        section.
 
-      <itemizedlist>
-
-        <listitem>
+        <important>
           <para>
-            Log complete rows
+            Whether logging of complete rows or of updated columns only
+            is done is decided when the MySQL server is started, and
+            cannot be changed online; you must either restart
+            <command>mysqld</command>, or start a new
+            <command>mysqld</command> instance with different logging
+            options.
           </para>
-        </listitem>
+        </important>
+      </para>
 
-        <listitem>
-          <para>
-            Log only column data that has been updated &mdash; that is,
-            column data whose value has been set, regardless of whether
-            or not this value was actually changed.
-          </para>
-        </listitem>
+    </formalpara>
 
-      </itemizedlist>
+    <indexterm>
+      <primary>conflict resolution</primary>
+      <secondary>mysqld startup options</secondary>
+    </indexterm>
 
-      Either of the above logging methods can be configured to be done
-      with or without the <quote>before</quote> image.
-    </para>
-
     <formalpara>
 
-      <title><command>mysqld</command> startup options</title>
+      <title>Logging full or partial rows (<option>--ndb-log-updated-only</option>
+        option)</title>
 
-      <indexterm>
-        <primary>conflict resolution</primary>
-        <secondary>mysqld startup options</secondary>
-      </indexterm>
+      <para id="option_mysqld_ndb_log_updated_only">
+        For purposes of conflict resolution, there are two basic methods
+        of logging rows, as determined by the setting of the
+        <option>--ndb-log-updated-only</option> option for
+        <command>mysqld</command>:
 
-      <para>
-        The following <command>mysqld</command> startup options are
-        available to control conflict resolution:
-
         <itemizedlist>
 
           <listitem>
-            <formalpara>
-
-              <title><option>--ndb-log-update-as-write</option></title>
-
-              <indexterm>
-                <primary>--ndb-log-update-as-write (mysqld option)</primary>
-              </indexterm>
-
-              <para>
-                Because conflict resolution is done in the MySQL
-                Server's update handler, it is necessary to control
-                logging on the master such that updates are updates and
-                not writes as in in mainline MySQL 5.1. This option is
-                turned on by default; to turn it off, start the server
-                with <option>--ndb-log-update-as-write=0</option> or
-                <option>--ndb-log-update-as-write=OFF</option>.
-              </para>
-
-            </formalpara>
+            <para>
+              Log complete rows
+            </para>
           </listitem>
 
           <listitem>
-            <formalpara>
+            <para>
+              Log only column data that has been updated &mdash; that
+              is, column data whose value has been set, regardless of
+              whether or not this value was actually changed.
+            </para>
+          </listitem>
 
-              <title><option>--ndb-log-updated-only</option></title>
+        </itemizedlist>
 
-              <indexterm>
-                <primary>--ndb-log-updated-only (mysqld option)</primary>
-              </indexterm>
+        It more efficient to log updated columns only; however, if you
+        need to log full rows, you can do so by setting
+        <option>--ndb-log-updated-only</option> to <literal>0</literal>
+        or <literal>OFF</literal>.
+      </para>
 
-              <para>
-                In general it is preferable to log full rows. However,
-                depending on the application, it may be sufficient to
-                log only the updates, and can be more efficient to do
-                so. This can be done by setting
-                <option>--ndb-log-updated-only</option> to
-                <literal>1</literal> or <literal>ON</literal>.
-              </para>
+    </formalpara>
 
-            </formalpara>
-          </listitem>
+    <formalpara>
 
-        </itemizedlist>
+      <title>Logging changed data as updates
+        (<option>--ndb-log-update-as-write</option> option)</title>
+
+      <para id="option_mysqld_ndb_log_update_as_write">
+        Either of these logging methods can be configured to be done
+        with or without the <quote>before</quote> image as determined by
+        the setting of another MySQL Server option
+        <option>--ndb-log-update-as-write</option>. Because conflict
+        resolution is done in the MySQL Server's update handler, it is
+        necessary to control logging on the master such that updates are
+        updates and not writes. This option is turned on by default; to
+        turn it off, start the server with
+        <option>--ndb-log-update-as-write=0</option> or
+        <option>--ndb-log-update-as-write=OFF</option>.
       </para>
 
     </formalpara>
 
-    <para>
-      The server status variable <literal>Ndb_conflict_fn_max</literal>
-      provides a count of the number of times that a row was not applied
-      on the current SQL node due to <quote>greatest timestamp
-      wins</quote> conflict resolution since the last time that
-      <command>mysqld</command> was started. The number of times that a
-      row was not applied as the result of <quote>same timestamp
-      wins</quote> conflict resolution on a given
-      <command>mysqld</command> since the last time it was restarted is
-      given by the global status variable
-      <literal>Ndb_conflict_fn_old</literal>. In addition to
-      incrementing <literal>Ndb_conflict_fn_old</literal>, the primary
-      key of the row that was not used is inserted into an
-      <firstterm>exceptions table</firstterm>, as explained later in
-      this section.
-    </para>
-
     <indexterm>
       <primary>conflict resolution</primary>
       <secondary>enabling</secondary>
     </indexterm>
 
-    <para>
-      To enable conflict resolution, it is necessary to create an
-      <literal>ndb_replication</literal> table in the
-      <literal>mysql</literal> system database on the master, the slave,
-      or both, depending on the conflict resolution type and method to
-      be employed. This table is used in order to control logging and
-      conflict resolution function on a per-table basis, and has one row
-      per table invokved in replication. Each row in
-      <literal>mysql.ndb_replication</literal> corresponding to a given
-      table specifies how to log and resolve conflicts for that table.
-      The definition of this table is shown here:
+    <formalpara>
 
+      <title>Conflict resolution control</title>
+
+      <para>
+        Conflict resolution is usually enabled on the server where
+        conflicts can occur. Like logging method selection, it is
+        enabled by entries in the
+        <literal>mysql.ndb_replication</literal> table.
+      </para>
+
+    </formalpara>
+
+    <formalpara>
+
+      <title>The <literal>ndb_replication</literal> system table</title>
+
+      <para>
+        To enable conflict resolution, it is necessary to create an
+        <literal>ndb_replication</literal> table in the
+        <literal>mysql</literal> system database on the master, the
+        slave, or both, depending on the conflict resolution type and
+        method to be employed. This table is used to control logging and
+        conflict resolution functions on a per-table basis, and has one
+        row per table invoved in replication.
+        <literal>ndb_replication</literal> is created and filled with
+        control information on the server where the conflict is to be
+        resolved. In a simple master-slave setup where data can also be
+        changed locally on the slave this will typically be the slave.
+        In a more complex master-master (2-way) replication schema this
+        will usually be all of the masters involved. Each row in
+        <literal>mysql.ndb_replication</literal> corresponds to a table
+        being replicated, and specifies how to log and resolve conflicts
+        (that is, which conflict resolution function, if any, to use)
+        for that table. The definition of the
+        <literal>mysql.ndb_replication</literal> table is shown here:
+
 <programlisting>
 CREATE TABLE mysql.ndb_replication  (
     db VARBINARY(63),

@@ -2406,172 +2401,216 @@
 PARTITION BY KEY(db,table_name);
 </programlisting>
 
-      The columns in this table are described in the following list:
+        The columns in this table are described in the following list:
 
-      <itemizedlist>
+        <itemizedlist>
 
-        <listitem>
-          <formalpara>
+          <listitem>
+            <formalpara>
 
-            <title><literal>db</literal></title>
+              <title><literal>db</literal></title>
 
-            <para>
-              The name of the database containing the table to be
-              replicated.
-            </para>
+              <para>
+                The name of the database containing the table to be
+                replicated.
+              </para>
 
-          </formalpara>
-        </listitem>
+            </formalpara>
+          </listitem>
 
-        <listitem>
-          <formalpara>
+          <listitem>
+            <formalpara>
 
-            <title><literal>table_name</literal></title>
+              <title><literal>table_name</literal></title>
 
-            <para>
-              The name of the table to be replicated.
-            </para>
+              <para>
+                The name of the table to be replicated.
+              </para>
 
-          </formalpara>
-        </listitem>
+            </formalpara>
+          </listitem>
 
-        <listitem>
-          <formalpara>
+          <listitem>
+            <formalpara>
 
-            <title><literal>server_id</literal></title>
+              <title><literal>server_id</literal></title>
 
-            <para>
-              The unique server ID of the MySQL instance (SQL node)
-              where the table resides.
-            </para>
+              <para>
+                The unique server ID of the MySQL instance (SQL node)
+                where the table resides.
+              </para>
 
-          </formalpara>
-        </listitem>
+            </formalpara>
+          </listitem>
 
-        <listitem>
-          <formalpara>
+          <listitem>
+            <formalpara>
 
-            <title><literal>binlog_type</literal></title>
+              <title><literal>binlog_type</literal></title>
 
-            <para>
-              The type of binary logging to be employed. This is
-              determined as shown in the following table:
+              <para>
+                The type of binary logging to be employed. This is
+                determined as shown in the following table:
 
-              <informaltable>
-                <tgroup cols="3">
-                  <colspec colwidth="15*"/>
-                  <colspec colwidth="30*"/>
-                  <colspec colwidth="55*"/>
-                  <thead>
-                    <row>
-                      <entry>Value</entry>
-                      <entry>Internal Value</entry>
-                      <entry>Description</entry>
-                    </row>
-                  </thead>
-                  <tbody>
-                    <row>
-                      <entry>0</entry>
-                      <entry><literal>NBT_DEFAULT</literal></entry>
-                      <entry>Use server default</entry>
-                    </row>
-                    <row>
-                      <entry>1</entry>
-                      <entry><literal>NBT_NO_LOGGING</literal></entry>
-                      <entry>Do not log this table in the binary log</entry>
-                    </row>
-                    <row>
-                      <entry>2</entry>
-                      <entry><literal>NBT_UPDATED_ONLY</literal></entry>
-                      <entry>Only updated attributes are logged</entry>
-                    </row>
-                    <row>
-                      <entry>3</entry>
-                      <entry><literal>NBT_FULL</literal></entry>
-                      <entry>Log full row, even if not updated (MySQL server default behavior)</entry>
-                    </row>
-                    <row>
-                      <entry>4</entry>
-                      <entry><literal>NBT_USE_UPDATE</literal></entry>
-                      <entry>(For generating <literal>NBT_UPDATED_ONLY_USE_UPDATE</literal> and
-                        <literal>NBT_FULL_USE_UPDATE</literal> values
-                        only &mdash; not intended for separate use)</entry>
-                    </row>
-                    <row>
-                      <entry>5</entry>
-                      <entry>[<emphasis>Not used</emphasis>]</entry>
-                      <entry>---</entry>
-                    </row>
-                    <row>
-                      <entry>6</entry>
-                      <entry><literal>NBT_UPDATED_ONLY_USE_UPDATE</literal> (=
-                        <literal>NBT_UPDATED_ONLY |
-                        NBT_USE_UPDATE</literal>)</entry>
-                      <entry>Use updated attributes, even if values are unchanged</entry>
-                    </row>
-                    <row>
-                      <entry>7</entry>
-                      <entry><literal>NBT_FULL_USE_UPDATE</literal>(= <literal>NBT_FULL |
-                        NBT_USE_UPDATE</literal>)</entry>
-                      <entry>Use full row, even if values are unchanged</entry>
-                    </row>
-                  </tbody>
-                </tgroup>
-              </informaltable>
-            </para>
+                <informaltable>
+                  <tgroup cols="3">
+                    <colspec colwidth="15*"/>
+                    <colspec colwidth="30*"/>
+                    <colspec colwidth="55*"/>
+                    <thead>
+                      <row>
+                        <entry>Value</entry>
+                        <entry>Internal Value</entry>
+                        <entry>Description</entry>
+                      </row>
+                    </thead>
+                    <tbody>
+                      <row>
+                        <entry>0</entry>
+                        <entry><literal>NBT_DEFAULT</literal></entry>
+                        <entry>Use server default</entry>
+                      </row>
+                      <row>
+                        <entry>1</entry>
+                        <entry><literal>NBT_NO_LOGGING</literal></entry>
+                        <entry>Do not log this table in the binary log</entry>
+                      </row>
+                      <row>
+                        <entry>2</entry>
+                        <entry><literal>NBT_UPDATED_ONLY</literal></entry>
+                        <entry>Only updated attributes are logged</entry>
+                      </row>
+                      <row>
+                        <entry>3</entry>
+                        <entry><literal>NBT_FULL</literal></entry>
+                        <entry>Log full row, even if not updated (MySQL server default behavior)</entry>
+                      </row>
+                      <row>
+                        <entry>4</entry>
+                        <entry><literal>NBT_USE_UPDATE</literal></entry>
+                        <entry>(For generating <literal>NBT_UPDATED_ONLY_USE_UPDATE</literal> and
+                          <literal>NBT_FULL_USE_UPDATE</literal> values
+                          only &mdash; not intended for separate use)</entry>
+                      </row>
+                      <row>
+                        <entry>5</entry>
+                        <entry>[<emphasis>Not used</emphasis>]</entry>
+                        <entry>---</entry>
+                      </row>
+                      <row>
+                        <entry>6</entry>
+                        <entry><literal>NBT_UPDATED_ONLY_USE_UPDATE</literal> (=
+                          <literal>NBT_UPDATED_ONLY |
+                          NBT_USE_UPDATE</literal>)</entry>
+                        <entry>Use updated attributes, even if values are unchanged</entry>
+                      </row>
+                      <row>
+                        <entry>7</entry>
+                        <entry><literal>NBT_FULL_USE_UPDATE</literal>(= <literal>NBT_FULL |
+                          NBT_USE_UPDATE</literal>)</entry>
+                        <entry>Use full row, even if values are unchanged</entry>
+                      </row>
+                    </tbody>
+                  </tgroup>
+                </informaltable>
+              </para>
 
-          </formalpara>
-        </listitem>
+            </formalpara>
+          </listitem>
 
-        <listitem>
-          <formalpara>
+          <listitem>
+            <formalpara>
 
-            <title><literal>conflict_fn</literal></title>
+              <title><literal>conflict_fn</literal></title>
 
-            <para>
-              The conflict resolution function to be applied. This
-              function must be specified as one of the following:
+              <para>
+                The conflict resolution function to be applied. This
+                function must be specified as one of the following:
 
-              <itemizedlist>
+                <itemizedlist>
 
-                <listitem>
-                  <para>
-                    <literal>NDB$MAX(<replaceable>column_name</replaceable></literal>:
-                    Indicates that <quote>greatest timestamp
-                    wins</quote> conflict resolution is to be used.
-                  </para>
-                </listitem>
+                  <listitem>
+                    <formalpara>
 
-                <listitem>
-                  <para>
-                    <literal>NDB$OLD(<replaceable>column_name</replaceable></literal>:
-                    An update is applied only if the value of
-                    <replaceable>column_name</replaceable> is the same
-                    on both the master and the slave.
-                  </para>
-                </listitem>
+                      <title><literal>NDB$MAX(<replaceable>column_name</replaceable></literal>)</title>
 
-                <listitem>
-                  <para>
-                    <literal>NULL</literal>: Indicates that conflict
-                    resolution is not to be used for the corresponding
-                    table
-                  </para>
-                </listitem>
+                      <para>
+                        Indicates that <quote>greatest timestamp
+                        wins</quote> conflict resolution is to be used
+                        &mdash; that is, if the <quote>timestamp</quote>
+                        for a given row coming from the master is higher
+                        than that on the slave, it is applied; otherwise
+                        it is not applied on the slave. This ensures
+                        that, in the event of a conflict, the version of
+                        the row that was most recently updated is the
+                        version that persists.
+                      </para>
 
-              </itemizedlist>
+                    </formalpara>
+                  </listitem>
 
-              .
-            </para>
+                  <listitem>
+                    <formalpara>
 
-          </formalpara>
-        </listitem>
+                      <title><literal>NDB$OLD(<replaceable>column_name</replaceable></literal>)</title>
 
-      </itemizedlist>
-    </para>
+                      <para>
+                        Indicates that an update is applied only if the
+                        value of <replaceable>column_name</replaceable>
+                        is the same on both the master and the slave.
+                        This ensures that updates are not applied from
+                        the wrong master.
+                      </para>
 
+                    </formalpara>
+                  </listitem>
+
+                  <listitem>
+                    <para>
+                      <literal>NULL</literal>: Indicates that conflict
+                      resolution is not to be used for the corresponding
+                      table
+                    </para>
+                  </listitem>
+
+                </itemizedlist>
+
+                .
+              </para>
+
+            </formalpara>
+          </listitem>
+
+        </itemizedlist>
+      </para>
+
+    </formalpara>
+
     <formalpara>
 
+      <title>Status information</title>
+
+      <para>
+        The <literal>Ndb_conflict_fn_max</literal> server status
+        variable provides a count of the number of times that a row was
+        not applied on the current SQL node due to <quote>greatest
+        timestamp wins</quote> conflict resolution since the last time
+        that <command>mysqld</command> was started. Beginning with
+        MySQL-5.1.22-ndb-6.3.4, the number of times that a row was not
+        applied as the result of <quote>same timestamp wins</quote>
+        conflict resolution on a given <command>mysqld</command> since
+        the last time it was restarted is given by the global status
+        variable <literal>Ndb_conflict_fn_old</literal>. In addition to
+        incrementing <literal>Ndb_conflict_fn_old</literal>, the primary
+        key of the row that was not used is inserted into an
+        <firstterm>exceptions table</firstterm>, as explained later in
+        this section.
+      </para>
+
+    </formalpara>
+
+    <formalpara>
+
       <title>Additional requirements for <quote>Same timestamp wins</quote> conflict
         resolution</title>
 

@@ -2640,11 +2679,11 @@
     <important>
       <para>
         The <literal>mysql.ndb_replication</literal> table is read when
-        the table is set up for replication, so the row corresponding to
-        a table to be replicated must be inserted into
+        a data table is set up for replication, so the row corresponding
+        to a table to be replicated must be inserted into
         <literal>mysql.ndb_replication</literal>
-        <emphasis>before</emphasis> creation of the table to be
-        replicated takes place.
+        <emphasis>before</emphasis> the table to be replicated is
+        created.
       </para>
     </important>
 

@@ -2660,78 +2699,115 @@
 
     <formalpara>
 
-      <title><literal>NDB$MAX()</literal> example</title>
+      <title>Examples</title>
 
       <para>
-        Suppose you wish to enable <quote>greatest timestamp
-        wins</quote> conflict resolution on table
-        <literal>test.t1</literal>, using column
-        <literal>mycol</literal> as the <quote>timestamp</quote>. This
-        can be done using the following two steps:
+        The following examples assume that you have already a working
+        MySQL Cluster replication setup, as described in
+        <xref linkend="mysql-cluster-replication-preparation"/>, and
+        <xref linkend="mysql-cluster-replication-starting"/>.
 
         <itemizedlist>
 
           <listitem>
-            <para>
-              On the master, perform this <literal>INSERT</literal>
-              statement:
+            <formalpara>
 
+              <title><literal>NDB$MAX()</literal> example</title>
+
+              <para>
+                Suppose you wish to enable <quote>greatest timestamp
+                wins</quote> conflict resolution on table
+                <literal>test.t1</literal>, using column
+                <literal>mycol</literal> as the
+                <quote>timestamp</quote>. This can be done using the
+                following steps:
+
+                <orderedlist>
+
+                  <listitem>
+                    <para>
+                      Make sure that you have started the master
+                      <command>mysqld</command> with
+                      <option>-–ndb-log-update-as-write=OFF</option>.
+                    </para>
+                  </listitem>
+
+                  <listitem>
+                    <para>
+                      On the master, perform this
+                      <literal>INSERT</literal> statement:
+
 <programlisting>
 INSERT INTO mysql.ndb_replication 
     VALUES ('test', 't1', 0, NULL, 'NDB$MAX(mycol)');
 </programlisting>
-            </para>
+                    </para>
 
-            <para>
-              Inserting a 0 into the <literal>server_id</literal>
-              indicates that all SQL nodes accessing this table should
-              use conflict resolution. If you want to use conflict
-              resolution on a specific <command>mysqld</command> only,
-              use the actual server ID.
-            </para>
+                    <para>
+                      Inserting a 0 into the
+                      <literal>server_id</literal> indicates that all
+                      SQL nodes accessing this table should use conflict
+                      resolution. If you want to use conflict resolution
+                      on a specific <command>mysqld</command> only, use
+                      the actual server ID.
+                    </para>
 
-            <para>
-              Inserting <literal>NULL</literal> into the
-              <literal>binlog_type</literal> column has the same effect
-              as inserting 0 (<literal>NBT_DEFAULT</literal>); the
-              server default is used.
-            </para>
-          </listitem>
+                    <para>
+                      Inserting <literal>NULL</literal> into the
+                      <literal>binlog_type</literal> column has the same
+                      effect as inserting 0
+                      (<literal>NBT_DEFAULT</literal>); the server
+                      default is used.
+                    </para>
+                  </listitem>
 
-          <listitem>
-            <para>
-              Create the <literal>test.t1</literal> table:
+                  <listitem>
+                    <para>
+                      Create the <literal>test.t1</literal> table:
 
 <programlisting>
 CREATE TABLE test.t1 (
     <replaceable>columns</replaceable>
     mycol INT UNSIGNED,
     <replaceable>columns</replaceable>
-);
+) ENGINE=NDB;
 </programlisting>
 
-              Now, when updates are done on this table, conflict
-              resolution will be applied, and the version of the row
-              having the greatest value for <literal>mycol</literal>
-              will be written to the slave.
-            </para>
-          </listitem>
+                      Now, when updates are done on this table, conflict
+                      resolution will be applied, and the version of the
+                      row having the greatest value for
+                      <literal>mycol</literal> will be written to the
+                      slave.
+                    </para>
+                  </listitem>
 
-        </itemizedlist>
-      </para>
+                </orderedlist>
+              </para>
 
-    </formalpara>
+            </formalpara>
 
-    <formalpara>
+            <note>
+              <para>
+                Other <literal>binlog_type</literal> options &mdash;
+                such as <literal>NBT_UPDATED_ONLY_USE_UPDATE</literal>
+                should be used in order to control logging on the master
+                via the <literal>ndb_replication</literal> table rather
+                than by using command line options.
+              </para>
+            </note>
+          </listitem>
 
-      <title><literal>NDB$OLD()</literal> example</title>
+          <listitem>
+            <formalpara>
 
-      <para>
-        Suppose an <literal>NDB</literal> table such as the one defined
-        here is being replicated, and you wish to enable <quote>same
-        timestamp wins</quote> conflict resolution for updates to this
-        table:
+              <title><literal>NDB$OLD()</literal> example</title>
 
+              <para>
+                Suppose an <literal>NDB</literal> table such as the one
+                defined here is being replicated, and you wish to enable
+                <quote>same timestamp wins</quote> conflict resolution
+                for updates to this table:
+
 <programlisting>
 CREATE TABLE test.t2  (
     a INT UNSIGNED NOT NULL,

@@ -2743,36 +2819,40 @@
 )   ENGINE=NDB;
 </programlisting>
 
-        The following steps are required, in the order shown:
+                The following steps are required, in the order shown:
 
-        <orderedlist>
+                <orderedlist>
 
-          <listitem>
-            <para>
-              First &mdash; and <emphasis>prior</emphasis> to creating
-              <literal>test.t2</literal> &mdash; you must insert a row
-              into the <literal>mysql.ndb_replication</literal> table,
-              as shown here:
+                  <listitem>
+                    <para>
+                      First &mdash; and <emphasis>prior</emphasis> to
+                      creating <literal>test.t2</literal> &mdash; you
+                      must insert a row into the
+                      <literal>mysql.ndb_replication</literal> table, as
+                      shown here:
 
 <programlisting>
 INSERT INTO mysql.ndb_replication 
     VALUES ('test', 't2', 0, NULL, 'NDB$OLD(mycol)');
 </programlisting>
 
-              Possible values for the <literal>binlog_type</literal>
-              column are shown earlier in this section. The value
-              <literal>'NDB$OLD(mycol)'</literal> should be inserted
-              into the <literal>conflict_fn</literal> column.
-            </para>
-          </listitem>
+                      Possible values for the
+                      <literal>binlog_type</literal> column are shown
+                      earlier in this section. The value
+                      <literal>'NDB$OLD(mycol)'</literal> should be
+                      inserted into the <literal>conflict_fn</literal>
+                      column.
+                    </para>
+                  </listitem>
 
-          <listitem>
-            <para>
-              Create an appropriate exceptions table for
-              <literal>test.t2</literal>. The table creation statement
-              shown here includes all required columns; any additional
-              columns must be declared following these columns, and
-              before the definition of the table's primary key.
+                  <listitem>
+                    <para>
+                      Create an appropriate exceptions table for
+                      <literal>test.t2</literal>. The table creation
+                      statement shown here includes all required
+                      columns; any additional columns must be declared
+                      following these columns, and before the definition
+                      of the table's primary key.
 
 <programlisting>
 CREATE TABLE test.t2$EX  (

@@ -2786,24 +2866,31 @@
     PRIMARY KEY(server_id, master_server_id, master_epoch, count)
 )   ENGINE=NDB;
 </programlisting>
-            </para>
-          </listitem>
+                    </para>
+                  </listitem>
 
-          <listitem>
-            <para>
-              Create the table <literal>test.t2</literal> as shown
-              previously.
-            </para>
+                  <listitem>
+                    <para>
+                      Create the table <literal>test.t2</literal> as
+                      shown previously.
+                    </para>
+                  </listitem>
+
+                </orderedlist>
+
+                These steps must be followed for every table for which
+                you wish to perform conflict resolution using
+                <literal>NDB$OLD()</literal>. For each such table, there
+                must be a corresponding row in
+                <literal>mysql.ndb_replication</literal>, and there must
+                be an exceptions table in the same database as the table
+                being replicated.
+              </para>
+
+            </formalpara>
           </listitem>
 
-        </orderedlist>
-
-        These steps must be followed for every table for which you wish
-        to perform conflict resolution using
-        <literal>NDB$OLD()</literal>. For each such table, there must be
-        a corresponding row in <literal>mysql.ndb_replication</literal>,
-        and there must be an exceptions table in the same database as
-        the table being replicated.
+        </itemizedlist>
       </para>
 
     </formalpara>


Thread
svn commit - mysqldoc@docsrva: r9202 - in trunk: dynamic-docs/command-optvars refman-5.1 refman-6.0jon7 Dec