Author: jstephens
Date: 2010-10-07 12:12:50 +0200 (Thu, 07 Oct 2010)
New Revision: 23038
Log:
De-gunking
General revisions
Added a couple of bits that were missing
Modified:
trunk/ndbapi/mgm-type-template.xml
trunk/ndbapi/ndb-ndbscanoperation.xml
trunk/ndbapi/ndb-ndbtransaction.xml
Modified: trunk/ndbapi/mgm-type-template.xml
===================================================================
--- trunk/ndbapi/mgm-type-template.xml 2010-10-06 19:51:56 UTC (rev 23037)
+++ trunk/ndbapi/mgm-type-template.xml 2010-10-07 10:12:50 UTC (rev 23038)
Changed blocks: 1, Lines Added: 1, Lines Deleted: 2; 441 bytes
@@ -6,8 +6,7 @@
<abstract>
<para>
- This type describes the <literal>...</literal>'s frgamentation
- type.
+ This type describes the ...
</para>
</abstract>
Modified: trunk/ndbapi/ndb-ndbscanoperation.xml
===================================================================
--- trunk/ndbapi/ndb-ndbscanoperation.xml 2010-10-06 19:51:56 UTC (rev 23037)
+++ trunk/ndbapi/ndb-ndbscanoperation.xml 2010-10-07 10:12:50 UTC (rev 23038)
Changed blocks: 24, Lines Added: 596, Lines Deleted: 463; 48016 bytes
@@ -48,7 +48,8 @@
The <literal>NdbScanOperation</literal> class represents a
scanning operation used in a transaction. This class inherits from
<literal>NdbOperation</literal>. For more information, see
- <xref linkend="ndb-ndboperation"/>.
+ <xref
+ linkend="ndb-ndboperation"/>.
</para>
</formalpara>
@@ -86,39 +87,50 @@
</thead>
<tbody>
<row>
- <entry><literal><link linkend="ndb-ndbscanoperation-readtuples">readTuples()</link></literal></entry>
+ <entry><literal><link linkend="ndb-ndbscanoperation-readtuples"
+ >readTuples()</link></literal></entry>
<entry>Reads tuples</entry>
</row>
<row>
- <entry><literal><link linkend="ndb-ndbscanoperation-nextresult">nextResult()</link></literal></entry>
+ <entry><literal><link linkend="ndb-ndbscanoperation-nextresult"
+ >nextResult()</link></literal></entry>
<entry>Gets the next tuple</entry>
</row>
<row>
- <entry><literal><link linkend="ndb-ndbscanoperation-close">close()</link></literal></entry>
+ <entry><literal><link linkend="ndb-ndbscanoperation-close"
+ >close()</link></literal></entry>
<entry>Closes the scan</entry>
</row>
<row>
- <entry><literal><link linkend="ndb-ndbscanoperation-lockcurrenttuple">lockCurrentTuple()</link></literal></entry>
+ <entry><literal><link linkend="ndb-ndbscanoperation-lockcurrenttuple"
+ >lockCurrentTuple()</link></literal></entry>
<entry>Locks the current tuple</entry>
</row>
<row>
- <entry><literal><link linkend="ndb-ndbscanoperation-updatecurrenttuple">updateCurrentTuple()</link></literal></entry>
+ <entry><literal><link
+ linkend="ndb-ndbscanoperation-updatecurrenttuple"
+ >updateCurrentTuple()</link></literal></entry>
<entry>Updates the current tuple</entry>
</row>
<row>
- <entry><literal><link linkend="ndb-ndbscanoperation-deletecurrenttuple">deleteCurrentTuple()</link></literal></entry>
+ <entry><literal><link
+ linkend="ndb-ndbscanoperation-deletecurrenttuple"
+ >deleteCurrentTuple()</link></literal></entry>
<entry>Deletes the current tuple</entry>
</row>
<row>
- <entry><literal><link linkend="ndb-ndbscanoperation-restart">restart()</link></literal></entry>
+ <entry><literal><link linkend="ndb-ndbscanoperation-restart"
+ >restart()</link></literal></entry>
<entry>Restarts the scan</entry>
</row>
<row>
- <entry><literal><link linkend="ndb-ndbscanoperation-getndbtransaction">getNdbTransaction()</link></literal></entry>
+ <entry><literal><link linkend="ndb-ndbscanoperation-getndbtransaction"
+ >getNdbTransaction()</link></literal></entry>
<entry>Gets the <literal>NdbTransaction</literal> object for this scan</entry>
</row>
<row>
- <entry><literal><link linkend="ndb-ndbscanoperation-getpruned">getPruned()</link></literal></entry>
+ <entry><literal><link linkend="ndb-ndbscanoperation-getpruned"
+ >getPruned()</link></literal></entry>
<entry>Used to find out whether this scan is pruned to a single partition</entry>
</row>
</tbody>
@@ -150,34 +162,36 @@
<para>
This diagram shows all the available members of the
<literal>NdbScanOperation</literal> class:
-
- <mediaobject>
- <imageobject>
- <imagedata contentwidth="697" contentdepth="398" fileref="images/published/NdbScanOperation-class.png" format="PNG"/>
- </imageobject>
- <textobject>
- <phrase lang="en">Public members of the
- <literal>NdbScanOperation</literal> class.</phrase>
- </textobject>
- </mediaobject>
</para>
</formalpara>
+ <mediaobject>
+ <imageobject>
+ <imagedata contentwidth="697" contentdepth="398"
+ fileref="images/published/NdbScanOperation-class.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase lang="en">Public members of the
+ <literal>NdbScanOperation</literal> class.</phrase>
+ </textobject>
+ </mediaobject>
+
+ <para>
+ For more information about the use of
+ <literal>NdbScanOperation</literal>, see
+ <xref linkend="overview-scan-operations"/>, and
+ <xref linkend="overview-scans-update-delete"/>.
+ </para>
+
<note>
<para>
- For more information about the use of
- <literal>NdbScanOperation</literal>, see
- <xref linkend="overview-scan-operations"/>, and
- <xref linkend="overview-scans-update-delete"/>.
- </para>
-
- <para>
Multi-Range Read (MRR) scans using
<literal>NdbScanOperation</literal> are not supported using MySQL
- Cluster NDB 6.2. They are supported for MySQL Cluster NDB 6.3
- beginning with 6.3.17. (Bug#38791) Both NDB 6.2 and NDB 6.3
- support MRR scans using the
+ Cluster NDB 6.2. They are supported for MySQL Cluster NDB 6.3 (and
+ later) beginning with 6.3.17 (see Bug#38791). Both NDB 6.2 and NDB
+ 6.3 (as well as later MySQL Cluster releases) support MRR scans
+ using the
<literal><link linkend="ndb-ndbrecord">NdbRecord</link></literal>
interface.
</para>
@@ -204,8 +218,9 @@
<literal>readTuples()</literal> method. More than one may be
used, in which case, they are <literal>OR</literal>'ed together
as the second argument to that method. See
- <xref linkend="ndb-ndbscanoperation-readtuples"/>, for more
- information.
+ <xref
+ linkend="ndb-ndbscanoperation-readtuples"/>, for
+ more information.
</para>
</formalpara>
@@ -215,44 +230,47 @@
<title>Enumeration values</title>
<para>
- <informaltable>
- <tgroup cols="2">
- <colspec colwidth="35*"/>
- <colspec colwidth="65*"/>
- <thead>
- <row>
- <entry>Value</entry>
- <entry>Description</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry><literal>SF_TupScan</literal></entry>
- <entry>TUP scan</entry>
- </row>
- <row>
- <entry><literal>SF_OrderBy</literal></entry>
- <entry>Ordered index scan (ascending)</entry>
- </row>
- <row>
- <entry><literal>SF_Descending</literal></entry>
- <entry>Ordered index scan (descending)</entry>
- </row>
- <row>
- <entry><literal>SF_ReadRangeNo</literal></entry>
- <entry>Enables <literal>NdbIndexScanOperation::get_range_no()</literal></entry>
- </row>
- <row>
- <entry><literal>SF_KeyInfo</literal></entry>
- <entry>Requests <literal>KeyInfo</literal> to be sent back to the caller</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
+ Possible values are shown, along with descriptions, in the
+ following table:
</para>
</formalpara>
+ <informaltable>
+ <tgroup cols="2">
+ <colspec colwidth="35*"/>
+ <colspec colwidth="65*"/>
+ <thead>
+ <row>
+ <entry>Value</entry>
+ <entry>Description</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry><literal>SF_TupScan</literal></entry>
+ <entry>TUP scan</entry>
+ </row>
+ <row>
+ <entry><literal>SF_OrderBy</literal></entry>
+ <entry>Ordered index scan (ascending)</entry>
+ </row>
+ <row>
+ <entry><literal>SF_Descending</literal></entry>
+ <entry>Ordered index scan (descending)</entry>
+ </row>
+ <row>
+ <entry><literal>SF_ReadRangeNo</literal></entry>
+ <entry>Enables <literal>NdbIndexScanOperation::get_range_no()</literal></entry>
+ </row>
+ <row>
+ <entry><literal>SF_KeyInfo</literal></entry>
+ <entry>Requests <literal>KeyInfo</literal> to be sent back to the caller</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+
</section>
<section id="ndb-ndbscanoperation-methods">
@@ -322,106 +340,102 @@
<title>Parameters</title>
<para>
- This method takes four parameters, as shown here:
+ This method takes the four parameters listed here:
+ </para>
- <itemizedlist>
+ </formalpara>
- <listitem>
- <para>
- The lock <replaceable>mode</replaceable>; this is a
- <literal>LockMode</literal> value as described in
- <xref linkend="ndb-ndboperation-lockmode"/>.
- </para>
+ <itemizedlist>
- <caution>
- <para id="ndb-ndbscanoperation-readtuples-exclusive-lock">
- When scanning with an exclusive lock, extra care must
- be taken due to the fact that, if two threads perform
- this scan simultaneously over the same range, then
- there is a significant probability of causing a
- deadlock. The likelihood of a deadlock is increased if
- the scan is also ordered (that is, using
- <literal>SF_OrderBy</literal> or
- <literal>SF_Descending</literal>).
- </para>
+ <listitem>
+ <para>
+ The lock <replaceable>mode</replaceable>; this is a
+ <literal>LockMode</literal> value as described in
+ <xref
+ linkend="ndb-ndboperation-lockmode"/>.
+ </para>
- <para>
- The
- <link linkend="ndb-ndbscanoperation-close"><literal>NdbIndexScanOperation::close()</literal></link>
- method is also affected by this deadlock, since all
- outstanding requests are serviced before the scan is
- actually closed.
- </para>
+ <caution>
+ <para id="ndb-ndbscanoperation-readtuples-exclusive-lock">
+ When scanning with an exclusive lock, extra care must be
+ taken due to the fact that, if two threads perform this
+ scan simultaneously over the same range, then there is a
+ significant probability of causing a deadlock. The
+ likelihood of a deadlock is increased if the scan is also
+ ordered (that is, using <literal>SF_OrderBy</literal> or
+ <literal>SF_Descending</literal>).
+ </para>
- <para>
- We are working to resolve this issue in a future
- release.
- </para>
- </caution>
- </listitem>
+ <para>
+ The
+ <link linkend="ndb-ndbscanoperation-close"
+ ><literal>NdbIndexScanOperation::close()</literal></link>
+ method is also affected by this deadlock, since all
+ outstanding requests are serviced before the scan is
+ actually closed.
+ </para>
+ </caution>
+ </listitem>
- <listitem>
- <para>
- One or more <literal>ScanFlag</literal> values. Multiple
- values are <literal>OR</literal>'ed together
- </para>
- </listitem>
+ <listitem>
+ <para>
+ One or more <literal>ScanFlag</literal> values. Multiple
+ values are <literal>OR</literal>'ed together
+ </para>
+ </listitem>
- <listitem>
- <para>
- The number of fragments to scan in
- <replaceable>parallel</replaceable>; use
- <literal>0</literal> to require that the maximum
- possible number be used.
- </para>
- </listitem>
+ <listitem>
+ <para>
+ The number of fragments to scan in
+ <replaceable>parallel</replaceable>; use
+ <literal>0</literal> to require that the maximum possible
+ number be used.
+ </para>
+ </listitem>
- <listitem>
- <para>
- The <replaceable>batch</replaceable> parameter specifies
- how many records will be returned to the client from the
- server by the next
- <literal>NdbScanOperation::nextResult(true)</literal>
- method call. Use <literal>0</literal> to specify the
- maximum automatically.
- </para>
+ <listitem>
+ <para>
+ The <replaceable>batch</replaceable> parameter specifies how
+ many records will be returned to the client from the server
+ by the next
+ <literal>NdbScanOperation::nextResult(true)</literal> method
+ call. Use <literal>0</literal> to specify the maximum
+ automatically.
+ </para>
- <note>
- <para>
- This parameter was ignored prior to MySQL 5.1.12, and
- the maximum was used. (Bug#20252)
- </para>
- </note>
- </listitem>
+ <note>
+ <para>
+ This parameter was ignored prior to MySQL 5.1.12, and the
+ maximum was used (see Bug#20252).
+ </para>
+ </note>
+ </listitem>
- </itemizedlist>
- </para>
+ </itemizedlist>
- </formalpara>
-
<formalpara>
<title>Return value</title>
<para>
- <literal>0</literal> on success, <literal>-1</literal> on
- failure.
+ Returns <literal>0</literal> on success, <literal>-1</literal>
+ on failure.
</para>
</formalpara>
<!--
- <formalpara>
+ <formalpara>
- <title>Example</title>
+ <title>Example</title>
- <para>
+ <para>
<programlisting>
[<emphasis>To be supplied...</emphasis>]
</programlisting>
- </para>
+ </para>
- </formalpara>
+ </formalpara>
-->
</section>
@@ -458,6 +472,12 @@
<title>Signature</title>
<para>
+ This method can be invoked in one of two ways. The first of
+ these, shown here, is available beginning in MySQL 5.1:
+ </para>
+
+ </formalpara>
+
<programlisting>
int nextResult
(
@@ -466,8 +486,10 @@
)
</programlisting>
- Beginning with MySQL Cluster NDB 6.2.3, it is also possible to
- use this method as shown here:
+ <para>
+ Beginning with MySQL Cluster NDB 6.2.3, it is also possible to
+ use this method as shown here:
+ </para>
<programlisting>
int nextResult
@@ -477,191 +499,183 @@
bool <replaceable>forceSend</replaceable> = false
)
</programlisting>
- </para>
- </formalpara>
-
<formalpara>
- <title>Parameters</title>
+ <title>Parameters (2-parameter version)</title>
<para>
- This method takes two parameters:
+ This method takes the following two parameters:
+ </para>
- <itemizedlist>
+ </formalpara>
- <listitem>
- <para>
- Normally, the NDB API contacts the
- <literal>NDB</literal> kernel for more tuples whenever
- it is necessary; setting
- <replaceable>fetchAllowed</replaceable> to
- <literal>false</literal> keeps this from happening.
- </para>
+ <itemizedlist>
- <para>
- Disabling <replaceable>fetchAllowed</replaceable> by
- setting it to <literal>false</literal> forces
- <literal>NDB</literal> to process any records it already
- has in its caches. When there are no more cached records
- it returns <literal>2</literal>. You must then call
- <literal>nextResult()</literal> with
- <replaceable>fetchAllowed</replaceable> equal to
- <literal>true</literal> in order to contact
- <literal>NDB</literal> for more records.
- </para>
+ <listitem>
+ <para>
+ Normally, the NDB API contacts the <literal>NDB</literal>
+ kernel for more tuples whenever it is necessary; setting
+ <replaceable>fetchAllowed</replaceable> to
+ <literal>false</literal> keeps this from happening.
+ </para>
- <para>
- While <literal>nextResult(false)</literal> returns
- <literal>0</literal>, you should transfer the record to
- another transaction. When
- <literal>nextResult(false)</literal> returns
- <literal>2</literal>, you must execute and commit the
- other transaction. This causes any locks to be
- transferred to the other transaction, updates or deletes
- to be made, and then, the locks to be released.
- Following this, call
- <literal>nextResult(true)</literal>—this fetches
- more records and caches them in the NDB API.
- </para>
+ <para>
+ Disabling <replaceable>fetchAllowed</replaceable> by setting
+ it to <literal>false</literal> forces <literal>NDB</literal>
+ to process any records it already has in its caches. When
+ there are no more cached records it returns
+ <literal>2</literal>. You must then call
+ <literal>nextResult()</literal> with
+ <replaceable>fetchAllowed</replaceable> equal to
+ <literal>true</literal> in order to contact
+ <literal>NDB</literal> for more records.
+ </para>
- <note>
- <para>
- If you do not transfer the records to another
- transaction, the locks on those records will be
- released the next time that the <literal>NDB</literal>
- Kernel is contacted for more records.
- </para>
- </note>
+ <para>
+ While <literal>nextResult(false)</literal> returns
+ <literal>0</literal>, you should transfer the record to
+ another transaction. When
+ <literal>nextResult(false)</literal> returns
+ <literal>2</literal>, you must execute and commit the other
+ transaction. This causes any locks to be transferred to the
+ other transaction, updates or deletes to be made, and then,
+ the locks to be released. Following this, call
+ <literal>nextResult(true)</literal>—this fetches more
+ records and caches them in the NDB API.
+ </para>
- <para>
- Disabling <replaceable>fetchAllowed</replaceable> can be
- useful when you want to update or delete all of the
- records obtained in a given transaction, as doing so
- saves time and speeds up updates or deletes of scanned
- records.
- </para>
- </listitem>
+ <note>
+ <para>
+ If you do not transfer the records to another transaction,
+ the locks on those records will be released the next time
+ that the <literal>NDB</literal> Kernel is contacted for
+ more records.
+ </para>
+ </note>
- <listitem>
- <para>
- <replaceable>forceSend</replaceable> defaults to
- <literal>false</literal>, and can normally be omitted.
- However, setting this parameter to
- <literal>true</literal> means that transactions are sent
- immediately. See
- <xref linkend="overview-adaptive-send"/>, for more
- information.
- </para>
- </listitem>
+ <para>
+ Disabling <replaceable>fetchAllowed</replaceable> can be
+ useful when you want to update or delete all of the records
+ obtained in a given transaction, as doing so saves time and
+ speeds up updates or deletes of scanned records.
+ </para>
+ </listitem>
- </itemizedlist>
- </para>
+ <listitem>
+ <para>
+ <replaceable>forceSend</replaceable> defaults to
+ <literal>false</literal>, and can normally be omitted.
+ However, setting this parameter to <literal>true</literal>
+ means that transactions are sent immediately. See
+ <xref
+ linkend="overview-adaptive-send"/>, for
+ more information.
+ </para>
+ </listitem>
- </formalpara>
+ </itemizedlist>
<formalpara>
- <title>Parameters</title>
+ <title>Parameters (3-parameter version)</title>
<para>
Beginning with MySQL Cluster NDB 6.2.3, this method can also
- be called with the following parameters:
+ be called with the following three parameters:
+ </para>
- <itemizedlist>
+ </formalpara>
- <listitem>
- <para>
- Calling <literal>nextResult()</literal> sets a pointer
- to the next row in <replaceable>outRow</replaceable> (if
- returning 0). This pointer is valid (only) until the
- next call to <literal>nextResult()</literal> when
- <replaceable>fetchAllowed</replaceable> is true. The
- <literal>NdbRecord</literal> object defining the row
- format must be specified beforehand using
- <literal>NdbTransaction::scanTable()</literal> (or
- <literal>NdbTransaction::scanIndex()</literal>.
- </para>
- </listitem>
+ <itemizedlist>
- <listitem>
- <para>
- When false, <replaceable>fetchAllowed</replaceable>
- forces <literal>NDB</literal> to process any records it
- already has in its caches. See the description for this
- parameter in the previous
- <citetitle>Parameters</citetitle> subsection for more
- details.
- </para>
- </listitem>
+ <listitem>
+ <para>
+ Calling <literal>nextResult()</literal> sets a pointer to
+ the next row in <replaceable>outRow</replaceable> (if
+ returning 0). This pointer is valid (only) until the next
+ call to <literal>nextResult()</literal> when
+ <replaceable>fetchAllowed</replaceable> is true. The
+ <literal>NdbRecord</literal> object defining the row format
+ must be specified beforehand using
+ <literal>NdbTransaction::scanTable()</literal> (or
+ <literal>NdbTransaction::scanIndex()</literal>.
+ </para>
+ </listitem>
- <listitem>
- <para>
- Setting <replaceable>forceSend</replaceable> to
- <literal>true</literal> means that transactions are sent
- immediately, as described in the previous
- <citetitle>Parameters</citetitle> subsection, as well as
- in <xref linkend="overview-adaptive-send"/>.
- </para>
- </listitem>
+ <listitem>
+ <para>
+ When false, <replaceable>fetchAllowed</replaceable> forces
+ <literal>NDB</literal> to process any records it already has
+ in its caches. See the description for this parameter in the
+ previous <citetitle>Parameters</citetitle> subsection for
+ more details.
+ </para>
+ </listitem>
- </itemizedlist>
- </para>
+ <listitem>
+ <para>
+ Setting <replaceable>forceSend</replaceable> to
+ <literal>true</literal> means that transactions are sent
+ immediately, as described in the previous
+ <citetitle>Parameters</citetitle> subsection, as well as in
+ <xref
+ linkend="overview-adaptive-send"/>.
+ </para>
+ </listitem>
- </formalpara>
+ </itemizedlist>
<formalpara>
<title>Return value</title>
<para>
- This method returns one of the following 4 integer values:
+ This method returns one of the following 4 integer values,
+ interpreted as shown in the following list:
+ </para>
- <itemizedlist>
+ </formalpara>
- <listitem>
- <para>
- <literal>-1</literal>: Indicates that an error has
- occurred.
- </para>
- </listitem>
+ <itemizedlist>
- <listitem>
- <para>
- <literal>0</literal>: Another tuple has been received.
- </para>
- </listitem>
+ <listitem>
+ <para>
+ <literal>-1</literal>: Indicates that an error has occurred.
+ </para>
+ </listitem>
- <listitem>
- <para>
- <literal>1</literal>: There are no more tuples to scan.
- </para>
- </listitem>
+ <listitem>
+ <para>
+ <literal>0</literal>: Another tuple has been received.
+ </para>
+ </listitem>
- <listitem>
- <para>
- <literal>2</literal>: There are no more cached records
- (invoke <literal>nextResult(true)</literal> to fetch
- more records).
- </para>
- </listitem>
+ <listitem>
+ <para>
+ <literal>1</literal>: There are no more tuples to scan.
+ </para>
+ </listitem>
- </itemizedlist>
- </para>
+ <listitem>
+ <para>
+ <literal>2</literal>: There are no more cached records
+ (invoke <literal>nextResult(true)</literal> to fetch more
+ records).
+ </para>
+ </listitem>
- </formalpara>
+ </itemizedlist>
-<!--
- <formalpara>
+ <formalpara>
- <title>Example</title>
+ <title>Example</title>
- <para>
- See <xref linkend="ndb-examples-basic-scanning"/>.
- </para>
+ <para>
+ See <xref linkend="ndb-examples-basic-scanning"/>.
+ </para>
- </formalpara>
--->
+ </formalpara>
</section>
@@ -690,7 +704,9 @@
<note>
<para>
See
- <link linkend="ndb-ndbscanoperation-readtuples-exclusive-lock"><citetitle>Scans
+ <link
+ linkend="ndb-ndbscanoperation-readtuples-exclusive-lock"
+ ><citetitle>Scans
and exclusive locks</citetitle></link> for information about
multiple threads attempting to perform the same scan with an
exclusive lock and how this can affect closing the scans..
@@ -718,32 +734,31 @@
<title>Parameters</title>
<para>
- This method takes two parameters:
+ This method takes the two parameters listed here:
+ </para>
- <itemizedlist>
+ </formalpara>
- <listitem>
- <para>
- <replaceable>forceSend</replaceable> defaults to
- <literal>false</literal>; call
- <literal>close()</literal> with this parameter set to
- <literal>true</literal> in order to force transactions
- to be sent.
- </para>
- </listitem>
+ <itemizedlist>
- <listitem>
- <para>
- <replaceable>releaseOp</replaceable> also defaults to
- <literal>false</literal>; set to <literal>true</literal>
- in order to release the operation.
- </para>
- </listitem>
+ <listitem>
+ <para>
+ <replaceable>forceSend</replaceable> defaults to
+ <literal>false</literal>; call <literal>close()</literal>
+ with this parameter set to <literal>true</literal> in order
+ to force transactions to be sent.
+ </para>
+ </listitem>
- </itemizedlist>
- </para>
+ <listitem>
+ <para>
+ <replaceable>releaseOp</replaceable> also defaults to
+ <literal>false</literal>; set to <literal>true</literal> in
+ order to release the operation.
+ </para>
+ </listitem>
- </formalpara>
+ </itemizedlist>
<formalpara>
@@ -756,17 +771,17 @@
</formalpara>
<!--
- <formalpara>
+ <formalpara>
- <title>Example</title>
+ <title>Example</title>
- <para>
+ <para>
<programlisting>
[<emphasis>To be supplied...</emphasis>]
</programlisting>
- </para>
+ </para>
- </formalpara>
+ </formalpara>
-->
</section>
@@ -798,25 +813,30 @@
<title>Signature</title>
<para>
+ In MySQL 5.1 and later, this method can be called with an
+ optional single parameter, in either of the two ways shown
+ here:
+ </para>
+
+ </formalpara>
+
<programlisting>
NdbOperation* lockCurrentTuple
(
void
)
-</programlisting>
- or
-
-<programlisting>
NdbOperation* lockCurrentTuple
(
NdbTransaction* <replaceable>lockTrans</replaceable>
)
</programlisting>
- Beginning with MySQL Cluster NDB 6.2.3, the following
- signature is also supported for this method, when using
- <literal>NdbRecord</literal>:
+ <para>
+ Beginning with MySQL Cluster NDB 6.2.3, the following signature
+ is also supported for this method, when using
+ <literal>NdbRecord</literal>:
+ </para>
<programlisting>
NdbOperation *lockCurrentTuple
@@ -827,13 +847,10 @@
const unsigned char* <replaceable>mask</replaceable> = 0
)
</programlisting>
- </para>
- </formalpara>
-
<formalpara>
- <title>Parameters</title>
+ <title>Parameters (original)</title>
<para>
This method takes a single, optional parameter—the
@@ -845,53 +862,51 @@
<formalpara>
- <title>Parameters when using <literal>NdbRecord</literal></title>
+ <title>Parameters (when using <literal>NdbRecord</literal>)</title>
<para>
When using the <literal>NdbRecord</literal> interface (see
- <xref linkend="ndb-ndbrecord"/>), this method takes these
- parameters, as described in the following list:
+ <xref
+ linkend="ndb-ndbrecord"/>), this method
+ takes these parameters, as described in the following list:
+ </para>
- <itemizedlist>
+ </formalpara>
- <listitem>
- <para>
- The transaction
- (<replaceable>takeOverTrans</replaceable>) that should
- perform the lock; when using
- <literal>NdbRecord</literal> with scans, this parameter
- is not optional.
- </para>
- </listitem>
+ <itemizedlist>
- <listitem>
- <para>
- The <literal>NdbRecord</literal> referenced by the scan.
- This is required, even if no records are being read.
- </para>
- </listitem>
+ <listitem>
+ <para>
+ The transaction (<replaceable>takeOverTrans</replaceable>)
+ that should perform the lock; when using
+ <literal>NdbRecord</literal> with scans, this parameter is
+ not optional.
+ </para>
+ </listitem>
- <listitem>
- <para>
- The <replaceable>row</replaceable> from which to read.
- Set this to <literal>NULL</literal> if no read is to
- occur.
- </para>
- </listitem>
+ <listitem>
+ <para>
+ The <literal>NdbRecord</literal> referenced by the scan.
+ This is required, even if no records are being read.
+ </para>
+ </listitem>
- <listitem>
- <para>
- The <replaceable>mask</replaceable> pointer is optional.
- If it is present, then only columns for which the
- corresponding bit in the mask is set are retrieved by
- the scan.
- </para>
- </listitem>
+ <listitem>
+ <para>
+ The <replaceable>row</replaceable> from which to read. Set
+ this to <literal>NULL</literal> if no read is to occur.
+ </para>
+ </listitem>
- </itemizedlist>
- </para>
+ <listitem>
+ <para>
+ The <replaceable>mask</replaceable> pointer is optional. If
+ it is present, then only columns for which the corresponding
+ bit in the mask is set are retrieved by the scan.
+ </para>
+ </listitem>
- </formalpara>
+ </itemizedlist>
<important>
<para>
@@ -916,17 +931,17 @@
</formalpara>
<!--
- <formalpara>
+ <formalpara>
- <title>Example</title>
+ <title>Example</title>
- <para>
+ <para>
<programlisting>
[<emphasis>To be supplied...</emphasis>]
</programlisting>
- </para>
+ </para>
- </formalpara>
+ </formalpara>
-->
</section>
@@ -958,44 +973,48 @@
<title>Signature</title>
<para>
+ Originally, this method could be called with a single.
+ optional parameter, in either of the ways shown here:
+ </para>
+
+ </formalpara>
+
<programlisting>
NdbOperation* updateCurrentTuple
(
void
)
-</programlisting>
- or
-<programlisting>
NdbOperation* updateCurrentTuple
(
NdbTransaction* <replaceable>updateTrans</replaceable>
)
</programlisting>
- Beginning with MySQL Cluster NDB 6.2.3, it is also possible to
- employ this method, when using <literal>NdbRecord</literal>
- with scans, as shown here:
+ <para>
+ Beginning with MySQL Cluster NDB 6.2.3, it is also possible to
+ employ this method, when using <literal>NdbRecord</literal> with
+ scans, as shown here:
+ </para>
<programlisting>
NdbOperation* updateCurrentTuple
(
- NdbTransaction* takeOverTrans,
- const NdbRecord* record,
- const char* row,
- const unsigned char* mask = 0
+ NdbTransaction* <replaceable>takeOverTrans</replaceable>,
+ const NdbRecord* <replaceable>record</replaceable>,
+ const char* <replaceable>row</replaceable>,
+ const unsigned char* <replaceable>mask</replaceable> = 0
)
</programlisting>
- See <xref linkend="ndb-ndbrecord"/>, for more information.
- </para>
+ <para>
+ See <xref linkend="ndb-ndbrecord"/>, for more information.
+ </para>
- </formalpara>
-
<formalpara>
- <title>Parameters</title>
+ <title>Parameters (original)</title>
<para>
This method takes a single, optional parameter—the
@@ -1007,51 +1026,50 @@
<formalpara>
- <title>Parameters when using <literal>NdbRecord</literal></title>
+ <title>Parameters (when using <literal>NdbRecord</literal>)</title>
<para>
When using the <literal>NdbRecord</literal> interface
(beginning with MySQL Cluster NDB 6.2.3), this method takes
- the following parameters, as described here:
+ the following parameters, as described in the following list:
+ </para>
- <itemizedlist>
+ </formalpara>
- <listitem>
- <para>
- The takeover transaction
- (<replaceable>takeOverTrans</replaceable>).
- </para>
- </listitem>
+ <itemizedlist>
- <listitem>
- <para>
- The <replaceable>record</replaceable>
- (<literal>NdbRecord</literal> object) referencing the
- column used for the scan.
- </para>
- </listitem>
+ <listitem>
+ <para>
+ The takeover transaction
+ (<replaceable>takeOverTrans</replaceable>).
+ </para>
+ </listitem>
- <listitem>
- <para>
- The <replaceable>row</replaceable> to read from. If no
- attributes are to be read, set this equal to
- <literal>NULL</literal>.
- </para>
- </listitem>
+ <listitem>
+ <para>
+ The <replaceable>record</replaceable>
+ (<literal>NdbRecord</literal> object) referencing the column
+ used for the scan.
+ </para>
+ </listitem>
- <listitem>
- <para>
- The <replaceable>mask</replaceable> pointer is optional.
- If it is present, then only columns for which the
- corresponding bit in the mask is set are retrieved by
- the scan.
- </para>
- </listitem>
+ <listitem>
+ <para>
+ The <replaceable>row</replaceable> to read from. If no
+ attributes are to be read, set this equal to
+ <literal>NULL</literal>.
+ </para>
+ </listitem>
- </itemizedlist>
- </para>
+ <listitem>
+ <para>
+ The <replaceable>mask</replaceable> pointer is optional. If
+ it is present, then only columns for which the corresponding
+ bit in the mask is set are retrieved by the scan.
+ </para>
+ </listitem>
- </formalpara>
+ </itemizedlist>
<formalpara>
@@ -1066,17 +1084,17 @@
</formalpara>
<!--
- <formalpara>
+ <formalpara>
- <title>Example</title>
+ <title>Example</title>
- <para>
+ <para>
<programlisting>
[<emphasis>To be supplied...</emphasis>]
</programlisting>
- </para>
+ </para>
- </formalpara>
+ </formalpara>
-->
</section>
@@ -1108,34 +1126,49 @@
<title>Signature</title>
<para>
+ Originally (prior to the introduction of
+ <literal>NdbRecord</literal>), this method could be invoked
+ with a single optional parameter, in either of the ways shown
+ here:
+ </para>
+
+ </formalpara>
+
<programlisting>
int deleteCurrentTuple
(
void
)
-</programlisting>
- or
-<programlisting>
int deleteCurrentTuple
(
NdbTransaction* <replaceable>takeOverTransaction</replaceable>
)
</programlisting>
- Beginning with MySQL Cluster NDB 6.2.3, this method's
- signature when performing <literal>NdbRecord</literal>-style
- scans is shown here:
+ <para>
+ Beginning with MySQL Cluster NDB 6.2.3, this method's signature
+ when performing <literal>NdbRecord</literal>-style scans is
+ shown here:
+ </para>
<programlisting>
+const NdbOperation* deleteCurrentTuple
+ (
+ NdbTransaction* <replaceable>takeOverTrans</replaceable>,
+ const NdbRecord* <replaceable>record</replaceable>,
+ char* <replaceable>row</replaceable> = 0,
+ const unsigned char* <replaceable>mask</replaceable> = 0,
+ const NdbOperation::OperationOptions* <replaceable>opts</replaceable> = 0,
+ Uint32 <replaceable>sizeOfOpts</replaceable> = 0
+ )
</programlisting>
- For more information, see <xref linkend="ndb-ndbrecord"/>.
- </para>
+ <para>
+ For more information, see <xref linkend="ndb-ndbrecord"/>.
+ </para>
- </formalpara>
-
<formalpara>
<title>Parameters</title>
@@ -1155,54 +1188,154 @@
<para>
When used with the <literal>NdbRecord</literal> interface
(beginning with MySQL Cluster NDB 6.2.3), this method takes
- two parameters, as shown here:
+ the parameters listed here:
+ </para>
- <itemizedlist>
+ </formalpara>
- <listitem>
- <para>
- The takeover transaction
- (<replaceable>takeOverTrans</replaceable>, a pointer to
- an <literal>NdbTransaction</literal> object) to employ.
- </para>
- </listitem>
+ <itemizedlist>
- <listitem>
- <para>
- The <replaceable>record</replaceable>
- (<literal>NdbRecord</literal> object) referencing the
- scan column.
- </para>
- </listitem>
+ <listitem>
+ <para>
+ The transaction (<replaceable>takeOverTrans</replaceable>)
+ that should perform the lock; when using
+ <literal>NdbRecord</literal> with scans, this parameter is
+ not optional.
+ </para>
+ </listitem>
- </itemizedlist>
- </para>
+ <listitem>
+ <para>
+ The <literal>NdbRecord</literal> referenced by the scan.
+ This <replaceable>record</replaceable> value is required,
+ even if no records are being read.
+ </para>
+ </listitem>
- </formalpara>
+ <listitem>
+ <para>
+ The <replaceable>row</replaceable> from which to read. Set
+ this to <literal>NULL</literal> if no read is to occur.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ The <replaceable>mask</replaceable> pointer is optional. If
+ it is present, then only columns for which the corresponding
+ bit in the mask is set are retrieved by the scan.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <literal><link linkend="ndb-operationoptions">OperationOptions</link></literal>
+ (<replaceable>opts</replaceable>) can be used to provide
+ more finely-grained control of operation definitions. An
+ <literal>OperationOptions</literal> structure is passed with
+ flags indicating which operation definition options are
+ present. Not all operation types support all operation
+ options; the options supported for each type of operation
+ are shown in the following table:
+ </para>
+
+ <informaltable>
+ <tgroup cols="2">
+ <colspec colwidth="40*"/>
+ <colspec colwidth="60*"/>
+ <thead>
+ <row>
+ <entry>Operation type (Method)</entry>
+ <entry><literal><link linkend="ndb-operationoptions">OperationOptions</link></literal>
+ Flags Supported</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry><literal>readTuple()</literal></entry>
+ <entry><literal>OO_ABORTOPTION</literal>, <literal>OO_GETVALUE</literal>,
+ <literal>OO_PARTITION_ID</literal>,
+ <literal>OO_INTERPRETED</literal></entry>
+ </row>
+ <row>
+ <entry><literal>insertTuple()</literal></entry>
+ <entry><literal>OO_ABORTOPTION</literal>, <literal>OO_SETVALUE</literal>,
+ <literal>OO_PARTITION_ID</literal>,
+ <literal>OO_ANYVALUE</literal></entry>
+ </row>
+ <row>
+ <entry><literal>updateTuple()</literal></entry>
+ <entry><literal>OO_ABORTOPTION</literal>, <literal>OO_SETVALUE</literal>,
+ <literal>OO_PARTITION_ID</literal>,
+ <literal>OO_INTERPRETED</literal>,
+ <literal>OO_ANYVALUE</literal></entry>
+ </row>
+ <row>
+ <entry><literal>writeTuple()</literal></entry>
+ <entry><literal>OO_ABORTOPTION</literal>, <literal>OO_SETVALUE</literal>,
+ <literal>OO_PARTITION_ID</literal>,
+ <literal>OO_ANYVALUE</literal></entry>
+ </row>
+ <row>
+ <entry><literal>deleteTuple()</literal></entry>
+ <entry><literal>OO_ABORTOPTION</literal>, <literal>OO_GETVALUE</literal>,
+ <literal>OO_PARTITION_ID</literal>,
+ <literal>OO_INTERPRETED</literal>,
+ <literal>OO_ANYVALUE</literal></entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ </listitem>
+
+ <listitem>
+ <para>
+ The optional <replaceable>sizeOfOptions</replaceable>
+ parameter is used to preserve backward compatibility of this
+ interface with previous definitions of the
+ <literal>OperationOptions</literal> structure. If an unusual
+ size is detected by the interface implementation, it can use
+ this to determine how to interpret the passed
+ <literal>OperationOptions</literal> structure. To enable
+ this functionality, the caller should pass
+ <literal>sizeof(NdbOperation::OperationOptions)</literal>
+ for the value of this argument.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ If options are specified, their length
+ (<replaceable>sizeOfOpts</replaceable>) must be specified as
+ well.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
<formalpara>
<title>Return value</title>
<para>
- <literal>0</literal> on success, <literal>-1</literal> on
- failure.
+ Returns <literal>0</literal> on success, or
+ <literal>-1</literal> on failure.
</para>
</formalpara>
<!--
- <formalpara>
+ <formalpara>
- <title>Example</title>
+ <title>Example</title>
- <para>
+ <para>
<programlisting>
[<emphasis>To be supplied...</emphasis>]
</programlisting>
- </para>
+ </para>
- </formalpara>
+ </formalpara>
-->
</section>
@@ -1262,24 +1395,24 @@
<title>Return value</title>
<para>
- <literal>0</literal> on success, <literal>-1</literal> on
+ <literal>0</literal> on success; <literal>-1</literal> on
failure.
</para>
</formalpara>
<!--
- <formalpara>
+ <formalpara>
- <title>Example</title>
+ <title>Example</title>
- <para>
+ <para>
<programlisting>
[<emphasis>To be supplied...</emphasis>]
</programlisting>
- </para>
+ </para>
- </formalpara>
+ </formalpara>
-->
</section>
@@ -1302,8 +1435,8 @@
<para>
Gets the <literal>NdbTransaction</literal> object for this
- scan. Available beginning with MySQL Cluster NDB 6.2.17 and
- MySQL Cluster NDB 6.3.19.
+ scan. This method is available beginning with MySQL Cluster
+ NDB 6.2.17 and MySQL Cluster NDB 6.3.19.
</para>
</formalpara>
@@ -1417,8 +1550,8 @@
<title>Return value</title>
<para>
- <literal>TRUE</literal>, if the scan is pruned to a single
- table partition.
+ Returns <literal>true</literal>, if the scan is pruned to a
+ single table partition.
</para>
</formalpara>
Modified: trunk/ndbapi/ndb-ndbtransaction.xml
===================================================================
--- trunk/ndbapi/ndb-ndbtransaction.xml 2010-10-06 19:51:56 UTC (rev 23037)
+++ trunk/ndbapi/ndb-ndbtransaction.xml 2010-10-07 10:12:50 UTC (rev 23038)
Changed blocks: 45, Lines Added: 1105, Lines Deleted: 1079; 93139 bytes
@@ -67,136 +67,141 @@
<para>
After obtaining an <literal>NdbTransaction</literal> object, it is
employed as follows:
+ </para>
+ </formalpara>
+
+ <orderedlist>
+
+ <listitem>
+ <para>
+ An operation is allocated to the transaction using any one of
+ the following methods:
+ </para>
+
<itemizedlist>
<listitem>
<para>
- An operation is allocated to the transaction using one of
- these methods:
+ <literal>getNdbOperation()</literal>
+ </para>
+ </listitem>
- <itemizedlist>
-
- <listitem>
- <para>
- <literal>getNdbOperation()</literal>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <literal>getNdbScanOperation()</literal>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <literal>getNdbIndexOperation()</literal>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <literal>getNdbIndexScanOperation()</literal>
- </para>
- </listitem>
-
- </itemizedlist>
-
- Calling one of these methods defines the operation. Several
- operations can be defined on the same
- <literal>NdbTransaction</literal> object, in which case they
- are executed in parallel. When all operations are defined,
- the <literal>execute()</literal> method sends them to the
- <literal>NDB</literal> kernel for execution.
+ <listitem>
+ <para>
+ <literal>getNdbScanOperation()</literal>
</para>
</listitem>
<listitem>
<para>
- The <literal>execute()</literal> method returns when the
- <literal>NDB</literal> kernel has completed execution of all
- operations previously defined.
+ <literal>getNdbIndexOperation()</literal>
</para>
-
- <important>
- <para>
- All allocated operations should be properly defined before
- calling the <literal>execute()</literal> method.
- </para>
- </important>
</listitem>
<listitem>
<para>
- <literal>execute()</literal> performs its task in one of 3
- modes, listed here:
+ <literal>getNdbIndexScanOperation()</literal>
+ </para>
+ </listitem>
- <itemizedlist>
+ </itemizedlist>
- <listitem>
- <para>
- <literal>NdbTransaction::NoCommit</literal>: Executes
- operations without committing them.
- </para>
- </listitem>
+ <para>
+ Calling one of these methods defines the operation. Several
+ operations can be defined on the same
+ <literal>NdbTransaction</literal> object, in which case they are
+ executed in parallel. When all operations are defined, the
+ <literal>execute()</literal> method sends them to the
+ <literal>NDB</literal> kernel for execution.
+ </para>
+ </listitem>
- <listitem>
- <para>
- <literal>NdbTransaction::Commit</literal>: Executes
- any remaining operation and then commits the complete
- transaction.
- </para>
- </listitem>
+ <listitem>
+ <para>
+ The <literal>execute()</literal> method returns when the
+ <literal>NDB</literal> kernel has completed execution of all
+ operations previously defined.
+ </para>
- <listitem>
- <para>
- <literal>NdbTransaction::Rollback</literal>: Rolls
- back the entire transaction.
- </para>
- </listitem>
+ <important>
+ <para>
+ All allocated operations should be properly defined
+ <emphasis>before</emphasis> calling the
+ <literal>execute()</literal> method.
+ </para>
+ </important>
+ </listitem>
- </itemizedlist>
+ <listitem>
+ <para>
+ <literal>execute()</literal> operates in one of the three modes
+ listed here:
+ </para>
- <literal>execute()</literal> is also equipped with an extra
- error handling parameter, which provides two alternatives:
+ <itemizedlist>
- <itemizedlist>
+ <listitem>
+ <para>
+ <literal>NdbTransaction::NoCommit</literal>: Executes
+ operations without committing them.
+ </para>
+ </listitem>
- <listitem>
- <para>
- <literal>NdbOperation::AbortOnError</literal>: Any
- error causes the transaction to be aborted. This is
- the default behavior.
- </para>
- </listitem>
+ <listitem>
+ <para>
+ <literal>NdbTransaction::Commit</literal>: Executes any
+ remaining operation and then commits the complete
+ transaction.
+ </para>
+ </listitem>
- <listitem>
- <para>
- <literal>NdbOperation::AO_IgnoreError</literal>: The
- transaction continues to be executed even if one or
- more of the operations defined for that transaction
- fails.
- </para>
- </listitem>
+ <listitem>
+ <para>
+ <literal>NdbTransaction::Rollback</literal>: Rolls back the
+ entire transaction.
+ </para>
+ </listitem>
- </itemizedlist>
+ </itemizedlist>
- <note>
- <para>
- In MySQL 5.1.15 and earlier, these values were
- <literal>NdbTransaction::AbortOnError</literal> and
- <literal>NdbTransaction::AO_IgnoreError</literal>.
- </para>
- </note>
+ <para>
+ <literal>execute()</literal> is also equipped with an extra
+ error handling parameter, which provides the two alternatives
+ listed here:
+ </para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ <literal>NdbOperation::AbortOnError</literal>: Any error
+ causes the transaction to be aborted. This is the default
+ behavior.
</para>
</listitem>
+ <listitem>
+ <para>
+ <literal>NdbOperation::AO_IgnoreError</literal>: The
+ transaction continues to be executed even if one or more of
+ the operations defined for that transaction fails.
+ </para>
+ </listitem>
+
</itemizedlist>
- </para>
- </formalpara>
+ <note>
+ <para>
+ In MySQL 5.1.15 and earlier, these values were
+ <literal>NdbTransaction::AbortOnError</literal> and
+ <literal>NdbTransaction::AO_IgnoreError</literal>.
+ </para>
+ </note>
+ </listitem>
+ </orderedlist>
+
<formalpara>
<title>Methods</title>
@@ -378,21 +383,21 @@
<para>
This diagram shows all the available methods and enumerated types
- of the <literal>...</literal> class:
-
- <mediaobject>
- <imageobject>
- <imagedata contentwidth="645" contentdepth="650" fileref="images/published/NdbTransaction-class.png" format="PNG"/>
- </imageobject>
- <textobject>
- <phrase lang="en">Public members of the
- <literal>NdbTransaction</literal> class.</phrase>
- </textobject>
- </mediaobject>
+ of the <literal>NdbTransaction</literal> class:
</para>
</formalpara>
+ <mediaobject>
+ <imageobject>
+ <imagedata contentwidth="645" contentdepth="650" fileref="images/published/NdbTransaction-class.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase lang="en">Public members of the
+ <literal>NdbTransaction</literal> class.</phrase>
+ </textobject>
+ </mediaobject>
+
<section id="ndb-ndbtransaction-types">
<title><literal>NdbTransaction</literal> Types</title>
@@ -408,7 +413,7 @@
<section id="ndb-ndbtransaction-abortoption">
- <title>The <literal>NdbTransaction::AbortOption</literal> Type</title>
+ <title>The <literal>NdbTransaction::AbortOption</literal> Type (OBSOLETE)</title>
<indexterm>
<primary>NdbTransaction::AbortOption (OBSOLETE)</primary>
@@ -437,32 +442,35 @@
<title>Enumeration values</title>
<para>
- <informaltable>
- <tgroup cols="2">
- <colspec colwidth="35*"/>
- <colspec colwidth="65*"/>
- <thead>
- <row>
- <entry>Value</entry>
- <entry>Description</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry><literal>AbortOnError</literal></entry>
- <entry>A failed operation causes the transaction to abort.</entry>
- </row>
- <row>
- <entry><literal>AO_IgnoreOnError</literal></entry>
- <entry>Failed operations are ignored; the transaction continues to execute.</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
+ Possible values are shown, along with descriptions, in the
+ following table:
</para>
</formalpara>
+ <informaltable>
+ <tgroup cols="2">
+ <colspec colwidth="35*"/>
+ <colspec colwidth="65*"/>
+ <thead>
+ <row>
+ <entry>Value</entry>
+ <entry>Description</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry><literal>AbortOnError</literal></entry>
+ <entry>A failed operation causes the transaction to abort.</entry>
+ </row>
+ <row>
+ <entry><literal>AO_IgnoreOnError</literal></entry>
+ <entry>Failed operations are ignored; the transaction continues to execute.</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+
<important>
<para>
Beginning with MySQL Cluster NDB 6.2.0, this type belongs to
@@ -513,44 +521,47 @@
<title>Enumeration values</title>
<para>
- <informaltable>
- <tgroup cols="2">
- <colspec colwidth="35*"/>
- <colspec colwidth="65*"/>
- <thead>
- <row>
- <entry>Value</entry>
- <entry>Description</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry><literal>NotStarted</literal></entry>
- <entry>The transaction has not yet been started.</entry>
- </row>
- <row>
- <entry><literal>Started</literal></entry>
- <entry>The transaction has started, but is not yet committed.</entry>
- </row>
- <row>
- <entry><literal>Committed</literal></entry>
- <entry>The transaction has completed, and has been committed.</entry>
- </row>
- <row>
- <entry><literal>Aborted</literal></entry>
- <entry>The transaction was aborted.</entry>
- </row>
- <row>
- <entry><literal>NeedAbort</literal></entry>
- <entry>The transaction has encountered an error, but has not yet been aborted.</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
+ Possible values are shown, along with descriptions, in the
+ following table:
</para>
</formalpara>
+ <informaltable>
+ <tgroup cols="2">
+ <colspec colwidth="35*"/>
+ <colspec colwidth="65*"/>
+ <thead>
+ <row>
+ <entry>Value</entry>
+ <entry>Description</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry><literal>NotStarted</literal></entry>
+ <entry>The transaction has not yet been started.</entry>
+ </row>
+ <row>
+ <entry><literal>Started</literal></entry>
+ <entry>The transaction has started, but is not yet committed.</entry>
+ </row>
+ <row>
+ <entry><literal>Committed</literal></entry>
+ <entry>The transaction has completed, and has been committed.</entry>
+ </row>
+ <row>
+ <entry><literal>Aborted</literal></entry>
+ <entry>The transaction was aborted.</entry>
+ </row>
+ <row>
+ <entry><literal>NeedAbort</literal></entry>
+ <entry>The transaction has encountered an error, but has not yet been aborted.</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+
<para>
A transaction's commit status ca be read using the
<literal>commitStatus()</literal> method. See
@@ -576,7 +587,7 @@
<title>Description</title>
<para>
- This type sets the transaction's execution type—that is,
+ This type sets the transaction's execution type; that is,
whether it should execute, execute and commit, or abort. It is
used as a parameter to the <literal>execute()</literal>
method. (See <xref linkend="ndb-ndbtransaction-execute"/>.)
@@ -589,36 +600,39 @@
<title>Enumeration values</title>
<para>
- <informaltable>
- <tgroup cols="2">
- <colspec colwidth="35*"/>
- <colspec colwidth="65*"/>
- <thead>
- <row>
- <entry>Value</entry>
- <entry>Description</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry><literal>NoCommit</literal></entry>
- <entry>The transaction should execute, but not commit.</entry>
- </row>
- <row>
- <entry><literal>Commit</literal></entry>
- <entry>The transaction should execute and be committed.</entry>
- </row>
- <row>
- <entry><literal>Rollback</literal></entry>
- <entry>The transaction should be rolled back.</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
+ Possible values are shown, along with descriptions, in the
+ following table:
</para>
</formalpara>
+ <informaltable>
+ <tgroup cols="2">
+ <colspec colwidth="35*"/>
+ <colspec colwidth="65*"/>
+ <thead>
+ <row>
+ <entry>Value</entry>
+ <entry>Description</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry><literal>NoCommit</literal></entry>
+ <entry>The transaction should execute, but not commit.</entry>
+ </row>
+ <row>
+ <entry><literal>Commit</literal></entry>
+ <entry>The transaction should execute and be committed.</entry>
+ </row>
+ <row>
+ <entry><literal>Rollback</literal></entry>
+ <entry>The transaction should be rolled back.</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+
</section>
</section>
@@ -705,17 +719,17 @@
</formalpara>
<!--
- <formalpara>
+ <formalpara>
- <title>Example</title>
+ <title>Example</title>
- <para>
+ <para>
<programlisting>
[<emphasis>To be supplied...</emphasis>]
</programlisting>
- </para>
+ </para>
- </formalpara>
+ </formalpara>
-->
</section>
@@ -790,17 +804,17 @@
</formalpara>
<!--
- <formalpara>
+ <formalpara>
- <title>Example</title>
+ <title>Example</title>
- <para>
+ <para>
<programlisting>
[<emphasis>To be supplied...</emphasis>]
</programlisting>
- </para>
+ </para>
- </formalpara>
+ </formalpara>
-->
</section>
@@ -875,17 +889,17 @@
</formalpara>
<!--
- <formalpara>
+ <formalpara>
- <title>Example</title>
+ <title>Example</title>
- <para>
+ <para>
<programlisting>
[<emphasis>To be supplied...</emphasis>]
</programlisting>
- </para>
+ </para>
- </formalpara>
+ </formalpara>
-->
</section>
@@ -960,17 +974,17 @@
</formalpara>
<!--
- <formalpara>
+ <formalpara>
- <title>Example</title>
+ <title>Example</title>
- <para>
+ <para>
<programlisting>
[<emphasis>To be supplied...</emphasis>]
</programlisting>
- </para>
+ </para>
- </formalpara>
+ </formalpara>
-->
</section>
@@ -1019,97 +1033,102 @@
<title>Parameters</title>
<para>
- The execute method takes 3 parameters, as described here:
+ The execute method takes the three parameters listed here:
+ </para>
+ </formalpara>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ The execution type (<literal>ExecType</literal> value); see
+ <xref linkend="ndb-ndbtransaction-exectype"/>, for more
+ information and possible values.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ An abort option
+ (<literal>NdbOperation::AbortOption</literal> value).
+ </para>
+
+ <note>
+ <para>
+ Prior to MySQL Cluster NDB 6.2.0,
+ <replaceable>abortOption</replaceable> was of type
+ <literal>NdbTransaction::AbortOption</literal>; the
+ <literal>AbortOption</literal> type became a member of
+ <literal>NdbOperation</literal> in MySQL Cluster NDB
+ 6.2.0), and its default value was
+ <literal>NdbTransaction::AbortOnError</literal>. See
+ <xref linkend="ndb-ndboperation-abortoption"/>, for more
+ information.
+ </para>
+ </note>
+
+ <para>
+ Beginning with MySQL Cluster NDB 6.2.0, errors arising from
+ this method are found with
+ <literal>NdbOperation::getNdbError()</literal> rather than
+ <literal>NdbTransaction::getNdbError()</literal>. See
+ <xref linkend="ndb-ndboperation-getndberror"/>, for more
+ information.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ A <replaceable>force</replaceable> parameter, which
+ determines when operations should be sent to the
+ <literal>NDB</literal> Kernel. It takes ones of the values
+ listed here:
+ </para>
+
<itemizedlist>
<listitem>
<para>
- The execution type (<literal>ExecType</literal> value);
- see <xref linkend="ndb-ndbtransaction-exectype"/>, for
- more information and possible values.
+ <literal>0</literal>: Nonforced; detected by the
+ adaptive send algorithm.
</para>
</listitem>
<listitem>
<para>
- An abort option
- (<literal>NdbOperation::AbortOption</literal> value).
+ <literal>1</literal>: Forced; detected by the adaptive
+ send algorithm.
</para>
-
- <note>
- <para>
- Prior to MySQL Cluster NDB 6.2.0,
- <replaceable>abortOption</replaceable> was of type
- <literal>NdbTransaction::AbortOption</literal>; the
- <literal>AbortOption</literal> type became a member of
- <literal>NdbOperation</literal> in MySQL Cluster NDB
- 6.2.0), and its default value was
- <literal>NdbTransaction::AbortOnError</literal>. See
- <xref linkend="ndb-ndboperation-abortoption"/>, for
- more information.
- </para>
-
- <para>
- Also beginning with MySQL Cluster NDB 6.2.0, errors
- arising from this method are found with
- <literal>NdbOperation::getNdbError()</literal> rather
- than <literal>NdbTransaction::getNdbError()</literal>.
- See <xref linkend="ndb-ndboperation-getndberror"/>,
- for more information.
- </para>
- </note>
</listitem>
<listitem>
<para>
- A <replaceable>force</replaceable> parameter, which
- determines when operations should be sent to the
- <literal>NDB</literal> Kernel:
-
- <itemizedlist>
-
- <listitem>
- <para>
- <literal>0</literal>: Nonforced; detected by the
- adaptive send algorithm.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <literal>1</literal>: Forced; detected by the
- adaptive send algorithm.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <literal>2</literal>: Nonforced; not detected by
- the adaptive send algorithm.
- </para>
- </listitem>
-
- </itemizedlist>
-
- See <xref linkend="overview-adaptive-send"/>.
+ <literal>2</literal>: Nonforced; not detected by the
+ adaptive send algorithm.
</para>
</listitem>
</itemizedlist>
- </para>
- </formalpara>
+ <para>
+ See <xref linkend="overview-adaptive-send"/>, for more
+ information.
+ </para>
+ </listitem>
+ </itemizedlist>
+
<formalpara>
<title>Return value</title>
<para>
- <literal>0</literal> on success, <literal>-1</literal> on
- failure. The fact that the transaction did not abort does not
- necessarily mean that each operation was successful; you must
- check each operation individually for errors.
+ Returns <literal>0</literal> on success, or
+ <literal>-1</literal> on failure. The fact that the
+ transaction did not abort does not necessarily mean that each
+ operation was successful; you must check each operation
+ individually for errors.
</para>
</formalpara>
@@ -1129,7 +1148,8 @@
<para>
This means, in the case where a
<errorname>NoDataFound</errorname> error is a possibility, you
- must now check for it explicitly, for example:
+ must now check for it explicitly, as shown in this example:
+ </para>
<programlisting>
Ndb_cluster_connection myConnection;
@@ -1154,20 +1174,19 @@
myNdb->closeTransaction(myTransaction);
</programlisting>
- </para>
<!--
- <formalpara>
+ <formalpara>
- <title>Example</title>
+ <title>Example</title>
- <para>
+ <para>
<programlisting>
[<emphasis>To be supplied...</emphasis>]
</programlisting>
- </para>
+ </para>
- </formalpara>
+ </formalpara>
-->
</section>
@@ -1201,7 +1220,7 @@
and MySQL Cluster NDB 7.1.6, this method did not update the
counter used to track
<link linkend="ndbparam-ndbd-transactioninactivetimeout"><literal>TransactionInactiveTimeout</literal></link>
- (Bug#54724).
+ (see Bug#54724).
</para>
</important>
@@ -1242,24 +1261,24 @@
<title>Return value</title>
<para>
- <literal>0</literal> on success, <literal>-1</literal> on
- failure.
+ Returns <literal>0</literal> on success, <literal>-1</literal>
+ on failure.
</para>
</formalpara>
<!--
- <formalpara>
+ <formalpara>
- <title>Example</title>
+ <title>Example</title>
- <para>
+ <para>
<programlisting>
[<emphasis>To be supplied...</emphasis>]
</programlisting>
- </para>
+ </para>
- </formalpara>
+ </formalpara>
-->
</section>
@@ -1332,17 +1351,17 @@
</formalpara>
<!--
- <formalpara>
+ <formalpara>
- <title>Example</title>
+ <title>Example</title>
- <para>
+ <para>
<programlisting>
[<emphasis>To be supplied...</emphasis>]
</programlisting>
- </para>
+ </para>
- </formalpara>
+ </formalpara>
-->
</section>
@@ -1440,17 +1459,17 @@
</note>
<!--
- <formalpara>
+ <formalpara>
- <title>Example</title>
+ <title>Example</title>
- <para>
+ <para>
<programlisting>
[<emphasis>To be supplied...</emphasis>]
</programlisting>
- </para>
+ </para>
- </formalpara>
+ </formalpara>
-->
</section>
@@ -1513,17 +1532,17 @@
</formalpara>
<!--
- <formalpara>
+ <formalpara>
- <title>Example</title>
+ <title>Example</title>
- <para>
+ <para>
<programlisting>
[<emphasis>To be supplied...</emphasis>]
</programlisting>
- </para>
+ </para>
- </formalpara>
+ </formalpara>
-->
</section>
@@ -1588,17 +1607,17 @@
</formalpara>
<!--
- <formalpara>
+ <formalpara>
- <title>Example</title>
+ <title>Example</title>
- <para>
+ <para>
<programlisting>
[<emphasis>To be supplied...</emphasis>]
</programlisting>
- </para>
+ </para>
- </formalpara>
+ </formalpara>
-->
</section>
@@ -1663,17 +1682,17 @@
</formalpara>
<!--
- <formalpara>
+ <formalpara>
- <title>Example</title>
+ <title>Example</title>
- <para>
+ <para>
<programlisting>
[<emphasis>To be supplied...</emphasis>]
</programlisting>
- </para>
+ </para>
- </formalpara>
+ </formalpara>
-->
<note>
@@ -1753,17 +1772,17 @@
</formalpara>
<!--
- <formalpara>
+ <formalpara>
- <title>Example</title>
+ <title>Example</title>
- <para>
+ <para>
<programlisting>
[<emphasis>To be supplied...</emphasis>]
</programlisting>
- </para>
+ </para>
- </formalpara>
+ </formalpara>
-->
<note>
@@ -1834,17 +1853,17 @@
</formalpara>
<!--
- <formalpara>
+ <formalpara>
- <title>Example</title>
+ <title>Example</title>
- <para>
+ <para>
<programlisting>
[<emphasis>To be supplied...</emphasis>]
</programlisting>
- </para>
+ </para>
- </formalpara>
+ </formalpara>
-->
<note>
@@ -1938,17 +1957,17 @@
</formalpara>
<!--
- <formalpara>
+ <formalpara>
- <title>Example</title>
+ <title>Example</title>
- <para>
+ <para>
<programlisting>
[<emphasis>To be supplied...</emphasis>]
</programlisting>
- </para>
+ </para>
- </formalpara>
+ </formalpara>
-->
</section>
@@ -2004,144 +2023,142 @@
<para>
This method takes the following parameters:
+ </para>
- <itemizedlist>
+ </formalpara>
- <listitem>
- <para>
- <replaceable>key_rec</replaceable> is a pointer to an
- <literal>NdbRecord</literal> for either a table or an
- index. If on a table, then the operation uses a primary
- key; if on an index, then the operation uses a unique
- key. In either case, the
- <replaceable>key_rec</replaceable> must include all
- columns of the key.
- </para>
- </listitem>
+ <itemizedlist>
- <listitem>
- <para>
- The <replaceable>key_row</replaceable> passed to this
- method defines the primary or unique key of the affected
- tuple, and must remain valid until
- <literal>execute()</literal> is called.
- </para>
- </listitem>
+ <listitem>
+ <para>
+ <replaceable>key_rec</replaceable> is a pointer to an
+ <literal>NdbRecord</literal> for either a table or an index.
+ If on a table, then the operation uses a primary key; if on
+ an index, then the operation uses a unique key. In either
+ case, the <replaceable>key_rec</replaceable> must include
+ all columns of the key.
+ </para>
+ </listitem>
- <listitem>
- <para>
- <replaceable>result_rec</replaceable> is a pointer to an
- <literal>NdbRecord</literal> used to hold the result
- </para>
- </listitem>
+ <listitem>
+ <para>
+ The <replaceable>key_row</replaceable> passed to this method
+ defines the primary or unique key of the affected tuple, and
+ must remain valid until <literal>execute()</literal> is
+ called.
+ </para>
+ </listitem>
- <listitem>
- <para>
- <replaceable>result_row</replaceable> defines a buffer
- for the result data.
- </para>
- </listitem>
+ <listitem>
+ <para>
+ <replaceable>result_rec</replaceable> is a pointer to an
+ <literal>NdbRecord</literal> used to hold the result
+ </para>
+ </listitem>
- <listitem>
- <para>
- <replaceable>lock_mode</replaceable> specifies the lock
- mode in effect for the operation. See
- <xref linkend="ndb-ndboperation-lockmode"/>, for
- permitted values and other information.
- </para>
- </listitem>
+ <listitem>
+ <para>
+ <replaceable>result_row</replaceable> defines a buffer for
+ the result data.
+ </para>
+ </listitem>
- <listitem>
- <para>
- <replaceable>result_mask</replaceable> defines a subset
- of attributes to read. Only if <literal>mask[attrId
- >> 3] & (1<<(attrId & 7))</literal>
- is set is the column affected. The mask is copied, and
- so need not remain valid after the method call returns.
- </para>
- </listitem>
+ <listitem>
+ <para>
+ <replaceable>lock_mode</replaceable> specifies the lock mode
+ in effect for the operation. See
+ <xref linkend="ndb-ndboperation-lockmode"/>, for permitted
+ values and other information.
+ </para>
+ </listitem>
- <listitem>
- <para>
- <literal><link linkend="ndb-operationoptions">OperationOptions</link></literal>
- (<replaceable>opts</replaceable>) can be used to provide
- more finely-grained control of operation definitions. An
- <literal>OperationOptions</literal> structure is passed
- with flags indicating which operation definition options
- are present. Not all operation types support all
- operation options; the options supported for each type
- of operation are shown in the following table:
- </para>
+ <listitem>
+ <para>
+ <replaceable>result_mask</replaceable> defines a subset of
+ attributes to read. Only if <literal>mask[attrId >> 3]
+ & (1<<(attrId & 7))</literal> is set is the
+ column affected. The mask is copied, and so need not remain
+ valid after the method call returns.
+ </para>
+ </listitem>
- <informaltable>
- <tgroup cols="2">
- <colspec colwidth="40*"/>
- <colspec colwidth="60*"/>
- <thead>
- <row>
- <entry>Operation type (Method)</entry>
- <entry><literal><link linkend="ndb-operationoptions">OperationOptions</link></literal>
- Flags Supported</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry><literal>readTuple()</literal></entry>
- <entry><literal>OO_ABORTOPTION</literal>, <literal>OO_GETVALUE</literal>,
- <literal>OO_PARTITION_ID</literal>,
- <literal>OO_INTERPRETED</literal></entry>
- </row>
- <row>
- <entry><literal>insertTuple()</literal></entry>
- <entry><literal>OO_ABORTOPTION</literal>, <literal>OO_SETVALUE</literal>,
- <literal>OO_PARTITION_ID</literal>,
- <literal>OO_ANYVALUE</literal></entry>
- </row>
- <row>
- <entry><literal>updateTuple()</literal></entry>
- <entry><literal>OO_ABORTOPTION</literal>, <literal>OO_SETVALUE</literal>,
- <literal>OO_PARTITION_ID</literal>,
- <literal>OO_INTERPRETED</literal>,
- <literal>OO_ANYVALUE</literal></entry>
- </row>
- <row>
- <entry><literal>writeTuple()</literal></entry>
- <entry><literal>OO_ABORTOPTION</literal>, <literal>OO_SETVALUE</literal>,
- <literal>OO_PARTITION_ID</literal>,
- <literal>OO_ANYVALUE</literal></entry>
- </row>
- <row>
- <entry><literal>deleteTuple()</literal></entry>
- <entry><literal>OO_ABORTOPTION</literal>, <literal>OO_GETVALUE</literal>,
- <literal>OO_PARTITION_ID</literal>,
- <literal>OO_INTERPRETED</literal>,
- <literal>OO_ANYVALUE</literal></entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
- </listitem>
+ <listitem>
+ <para>
+ <literal><link linkend="ndb-operationoptions">OperationOptions</link></literal>
+ (<replaceable>opts</replaceable>) can be used to provide
+ more finely-grained control of operation definitions. An
+ <literal>OperationOptions</literal> structure is passed with
+ flags indicating which operation definition options are
+ present. Not all operation types support all operation
+ options; the options supported for each type of operation
+ are shown in the following table:
+ </para>
- <listitem>
- <para>
- The optional <replaceable>sizeOfOptions</replaceable>
- parameter is used to preserve backward compatibility of
- this interface with previous definitions of the
- <literal>OperationOptions</literal> structure. If an
- unusual size is detected by the interface
- implementation, it can use this to determine how to
- interpret the passed <literal>OperationOptions</literal>
- structure. To enable this functionality, the caller
- should pass
- <literal>sizeof(NdbOperation::OperationOptions)</literal>
- for the value of this argument.
- </para>
- </listitem>
+ <informaltable>
+ <tgroup cols="2">
+ <colspec colwidth="40*"/>
+ <colspec colwidth="60*"/>
+ <thead>
+ <row>
+ <entry>Operation type (Method)</entry>
+ <entry><literal><link linkend="ndb-operationoptions">OperationOptions</link></literal>
+ Flags Supported</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry><literal>readTuple()</literal></entry>
+ <entry><literal>OO_ABORTOPTION</literal>, <literal>OO_GETVALUE</literal>,
+ <literal>OO_PARTITION_ID</literal>,
+ <literal>OO_INTERPRETED</literal></entry>
+ </row>
+ <row>
+ <entry><literal>insertTuple()</literal></entry>
+ <entry><literal>OO_ABORTOPTION</literal>, <literal>OO_SETVALUE</literal>,
+ <literal>OO_PARTITION_ID</literal>,
+ <literal>OO_ANYVALUE</literal></entry>
+ </row>
+ <row>
+ <entry><literal>updateTuple()</literal></entry>
+ <entry><literal>OO_ABORTOPTION</literal>, <literal>OO_SETVALUE</literal>,
+ <literal>OO_PARTITION_ID</literal>,
+ <literal>OO_INTERPRETED</literal>,
+ <literal>OO_ANYVALUE</literal></entry>
+ </row>
+ <row>
+ <entry><literal>writeTuple()</literal></entry>
+ <entry><literal>OO_ABORTOPTION</literal>, <literal>OO_SETVALUE</literal>,
+ <literal>OO_PARTITION_ID</literal>,
+ <literal>OO_ANYVALUE</literal></entry>
+ </row>
+ <row>
+ <entry><literal>deleteTuple()</literal></entry>
+ <entry><literal>OO_ABORTOPTION</literal>, <literal>OO_GETVALUE</literal>,
+ <literal>OO_PARTITION_ID</literal>,
+ <literal>OO_INTERPRETED</literal>,
+ <literal>OO_ANYVALUE</literal></entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ </listitem>
- </itemizedlist>
- </para>
+ <listitem>
+ <para>
+ The optional <replaceable>sizeOfOptions</replaceable>
+ parameter is used to preserve backward compatibility of this
+ interface with previous definitions of the
+ <literal>OperationOptions</literal> structure. If an unusual
+ size is detected by the interface implementation, it can use
+ this to determine how to interpret the passed
+ <literal>OperationOptions</literal> structure. To enable
+ this functionality, the caller should pass
+ <literal>sizeof(NdbOperation::OperationOptions)</literal>
+ for the value of this argument.
+ </para>
+ </listitem>
- </formalpara>
+ </itemizedlist>
<formalpara>
@@ -2158,12 +2175,15 @@
<formalpara>
- <title>Old version</title>
+ <title>Signature (<quote>old</quote> version)</title>
<para>
Prior to MySQL Cluster NDB 6.2.15 and 6.3.15, this method was
defined as shown here:
+ </para>
+ </formalpara>
+
<programlisting>
NdbOperation* readTuple
(
@@ -2175,102 +2195,98 @@
const unsigned char* <replaceable>result_mask</replaceable> = 0
)
</programlisting>
- </para>
- </formalpara>
-
<formalpara>
- <title>Parameters (old version)</title>
+ <title>Parameters (<quote>old</quote> version)</title>
<para>
Prior to MySQL Cluster NDB 6.2.15 and 6.3.15, this method took
the following parameters:
+ </para>
- <itemizedlist>
+ </formalpara>
- <listitem>
- <para>
- <replaceable>key_rec</replaceable> is a pointer to an
- <literal>NdbRecord</literal> for either a table or an
- index. If on a table, then the operation uses a primary
- key; if on an index, then the operation uses a unique
- key. In either case, the
- <replaceable>key_rec</replaceable> must include all
- columns of the key.
- </para>
- </listitem>
+ <itemizedlist>
- <listitem>
- <para>
- The <replaceable>key_row</replaceable> passed to this
- method defines the primary or unique key of the affected
- tuple, and must remain valid until
- <literal>execute()</literal> is called.
- </para>
- </listitem>
+ <listitem>
+ <para>
+ <replaceable>key_rec</replaceable> is a pointer to an
+ <literal>NdbRecord</literal> for either a table or an index.
+ If on a table, then the operation uses a primary key; if on
+ an index, then the operation uses a unique key. In either
+ case, the <replaceable>key_rec</replaceable> must include
+ all columns of the key.
+ </para>
+ </listitem>
- <listitem>
- <para>
- <replaceable>result_rec</replaceable> is a pointer to an
- <literal>NdbRecord</literal> used to hold the result
- </para>
- </listitem>
+ <listitem>
+ <para>
+ The <replaceable>key_row</replaceable> passed to this method
+ defines the primary or unique key of the affected tuple, and
+ must remain valid until <literal>execute()</literal> is
+ called.
+ </para>
+ </listitem>
- <listitem>
- <para>
- <replaceable>result_row</replaceable> defines a buffer
- for the result data.
- </para>
- </listitem>
+ <listitem>
+ <para>
+ <replaceable>result_rec</replaceable> is a pointer to an
+ <literal>NdbRecord</literal> used to hold the result
+ </para>
+ </listitem>
- <listitem>
- <para>
- <replaceable>lock_mode</replaceable> specifies the lock
- mode in effect for the operation. See
- <xref linkend="ndb-ndboperation-lockmode"/>, for
- permitted values and other information.
- </para>
- </listitem>
+ <listitem>
+ <para>
+ <replaceable>result_row</replaceable> defines a buffer for
+ the result data.
+ </para>
+ </listitem>
- <listitem>
- <para>
- <replaceable>result_mask</replaceable> defines a subset
- of attributes to read. Only if <literal>mask[attrId
- >> 3] & (1<<(attrId & 7))</literal>
- is set is the column affected. The mask is copied, and
- so need not remain valid after the method call returns.
- </para>
- </listitem>
+ <listitem>
+ <para>
+ <replaceable>lock_mode</replaceable> specifies the lock mode
+ in effect for the operation. See
+ <xref linkend="ndb-ndboperation-lockmode"/>, for permitted
+ values and other information.
+ </para>
+ </listitem>
- </itemizedlist>
- </para>
+ <listitem>
+ <para>
+ <replaceable>result_mask</replaceable> defines a subset of
+ attributes to read. Only if <literal>mask[attrId >> 3]
+ & (1<<(attrId & 7))</literal> is set is the
+ column affected. The mask is copied, and so need not remain
+ valid after the method call returns.
+ </para>
+ </listitem>
- </formalpara>
+ </itemizedlist>
<formalpara>
- <title>Return value</title>
+ <title>Return value (<quote>old</quote> version)</title>
<para>
- The <literal>NdbOperation</literal> representing this
- operation (this can be used to check for errors).
+ A pointer to the <literal>NdbOperation</literal> representing
+ this operation (this can be used to check for errors).
</para>
</formalpara>
<!--
- <formalpara>
+ <formalpara>
- <title>Example</title>
+ <title>Example</title>
- <para>
+ <para>
<programlisting>
[<emphasis>To be supplied...</emphasis>]
</programlisting>
- </para>
+ </para>
- </formalpara>
+ </formalpara>
-->
</section>
@@ -2436,12 +2452,15 @@
<formalpara>
- <title>Old version</title>
+ <title>Signature (<quote>old</quote> version)</title>
<para>
- Prior to MySQL Cluster NDB 6.2.15 and 6.3.15, this method was
- defined as follows:
+ Prior to MySQL Cluster NDB 6.2.15 and MySQL Cluster NDB
+ 6.3.15, this method was defined as follows:
+ </para>
+ </formalpara>
+
<programlisting>
NdbOperation* insertTuple
(
@@ -2450,49 +2469,46 @@
const unsigned char* <replaceable>mask</replaceable> = 0
)
</programlisting>
- </para>
- </formalpara>
-
<formalpara>
- <title>Parameters (old version)</title>
+ <title>Parameters (<quote>old</quote> version)</title>
<para>
Prior to MySQL Cluster NDB 6.2.15 and 6.3.15,
<literal>insertTuple()</literal> took the following
parameters:
+ </para>
- <itemizedlist>
+ </formalpara>
- <listitem>
- <para>
- A pointer to an <literal>NdbRecord</literal> indicating
- the <replaceable>record</replaceable> to be inserted.
- </para>
- </listitem>
+ <itemizedlist>
- <listitem>
- <para>
- A <replaceable>row</replaceable> of data to be inserted.
- </para>
- </listitem>
+ <listitem>
+ <para>
+ A pointer to an <literal>NdbRecord</literal> indicating the
+ <replaceable>record</replaceable> to be inserted.
+ </para>
+ </listitem>
- <listitem>
- <para>
- A <replaceable>mask</replaceable> which can be used to
- filter the columns to be inserted.
- </para>
- </listitem>
+ <listitem>
+ <para>
+ A <replaceable>row</replaceable> of data to be inserted.
+ </para>
+ </listitem>
- </itemizedlist>
- </para>
+ <listitem>
+ <para>
+ A <replaceable>mask</replaceable> which can be used to
+ filter the columns to be inserted.
+ </para>
+ </listitem>
- </formalpara>
+ </itemizedlist>
<formalpara>
- <title>Return Value (old version)</title>
+ <title>Return Value (<quote>old</quote> version)</title>
<para>
Prior to MySQL Cluster NDB 6.2.15 and 6.3.15, this method
@@ -2503,17 +2519,17 @@
</formalpara>
<!--
- <formalpara>
+ <formalpara>
- <title>Example</title>
+ <title>Example</title>
- <para>
+ <para>
<programlisting>
[<emphasis>To be supplied...</emphasis>]
</programlisting>
- </para>
+ </para>
- </formalpara>
+ </formalpara>
-->
</section>
@@ -2568,68 +2584,95 @@
<para>
<literal>updateTuple()</literal> takes the following
parameters:
+ </para>
- <itemizedlist>
+ </formalpara>
- <listitem>
- <para>
- <replaceable>key_rec</replaceable> is a pointer to an
- <literal>NdbRecord</literal> for either a table or an
- index. If on a table, then the operation uses a primary
- key; if on an index, then the operation uses a unique
- key. In either case, the
- <replaceable>key_rec</replaceable> must include all
- columns of the key.
- </para>
- </listitem>
+ <itemizedlist>
- <listitem>
- <para>
- The <replaceable>key_row</replaceable> passed to this
- method defines the primary or unique key of the affected
- tuple, and must remain valid until
- <literal>execute()</literal> is called.
- </para>
- </listitem>
+ <listitem>
+ <para>
+ <replaceable>key_rec</replaceable> is a pointer to an
+ <literal>NdbRecord</literal> for either a table or an index.
+ If on a table, then the operation uses a primary key; if on
+ an index, then the operation uses a unique key. In either
+ case, the <replaceable>key_rec</replaceable> must include
+ all columns of the key.
+ </para>
+ </listitem>
- <listitem>
- <para>
- <replaceable>attr_rec</replaceable> is an
- <literal>NdbRecord</literal> referencing the attribute
- to be updated.
- </para>
+ <listitem>
+ <para>
+ The <replaceable>key_row</replaceable> passed to this method
+ defines the primary or unique key of the affected tuple, and
+ must remain valid until <literal>execute()</literal> is
+ called.
+ </para>
+ </listitem>
- <note>
- <para>
- For unique index operations, the
- <replaceable>attr_rec</replaceable> must refer to the
- underlying table of the index, not to the index
- itself.
- </para>
- </note>
- </listitem>
+ <listitem>
+ <para>
+ <replaceable>attr_rec</replaceable> is an
+ <literal>NdbRecord</literal> referencing the attribute to be
+ updated.
+ </para>
- <listitem>
- <para>
- <replaceable>attr_row</replaceable> is a buffer
- containing the new data for the update.
- </para>
- </listitem>
+ <note>
+ <para>
+ For unique index operations, the
+ <replaceable>attr_rec</replaceable> must refer to the
+ underlying table of the index, not to the index itself.
+ </para>
+ </note>
+ </listitem>
- <listitem>
- <para>
- The <replaceable>mask</replaceable>, if not
- <literal>NULL</literal>, defines a subset of attributes
- to be updated. The mask is copied, and so does not need
- to remain valid after the call to this method returns.
- </para>
- </listitem>
+ <listitem>
+ <para>
+ <replaceable>attr_row</replaceable> is a buffer containing
+ the new data for the update.
+ </para>
+ </listitem>
- </itemizedlist>
- </para>
+ <listitem>
+ <para>
+ The <replaceable>mask</replaceable>, if not
+ <literal>NULL</literal>, defines a subset of attributes to
+ be updated. The mask is copied, and so does not need to
+ remain valid after the call to this method returns.
+ </para>
+ </listitem>
- </formalpara>
+ <listitem>
+ <para>
+ <literal><link linkend="ndb-operationoptions">OperationOptions</link></literal>
+ (<replaceable>opts</replaceable>) can be used to provide
+ more finely-grained control of operation definitions. An
+ <literal>OperationOptions</literal> structure is passed with
+ flags indicating which operation definition options are
+ present. Not all operation types support all operation
+ options; for the options supported by each type of
+ operation, see
+ <xref linkend="ndb-ndbtransaction-readtuple"/>.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ The optional <replaceable>sizeOfOptions</replaceable>
+ parameter is used to preserve backward compatibility of this
+ interface with previous definitions of the
+ <literal>OperationOptions</literal> structure. If an unusual
+ size is detected by the interface implementation, it can use
+ this to determine how to interpret the passed
+ <literal>OperationOptions</literal> structure. To enable
+ this functionality, the caller should pass
+ <literal>sizeof(NdbOperation::OperationOptions)</literal>
+ for the value of this argument.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
<formalpara>
<title>Return value</title>
@@ -2648,7 +2691,10 @@
<para>
Prior to MySQL Cluster NDB 6.2.15 and 6.3.15, this method was
defined as follows:
+ </para>
+ </formalpara>
+
<programlisting>
NdbOperation* updateTuple
(
@@ -2659,83 +2705,78 @@
const unsigned char* <replaceable>mask</replaceable> = 0
)
</programlisting>
- </para>
- </formalpara>
-
<formalpara>
- <title>Parameters (old version)</title>
+ <title>Parameters (<quote>old</quote> version)</title>
<para>
Prior to MySQL Cluster NDB 6.2.15 and 6.3.15,
<literal>updateTuple()</literal> took the following
parameters:
+ </para>
- <itemizedlist>
+ </formalpara>
- <listitem>
- <para>
- <replaceable>key_rec</replaceable> is a pointer to an
- <literal>NdbRecord</literal> for either a table or an
- index. If on a table, then the operation uses a primary
- key; if on an index, then the operation uses a unique
- key. In either case, the
- <replaceable>key_rec</replaceable> must include all
- columns of the key.
- </para>
- </listitem>
+ <itemizedlist>
- <listitem>
- <para>
- The <replaceable>key_row</replaceable> passed to this
- method defines the primary or unique key of the affected
- tuple, and must remain valid until
- <literal>execute()</literal> is called.
- </para>
- </listitem>
+ <listitem>
+ <para>
+ <replaceable>key_rec</replaceable> is a pointer to an
+ <literal>NdbRecord</literal> for either a table or an index.
+ If on a table, then the operation uses a primary key; if on
+ an index, then the operation uses a unique key. In either
+ case, the <replaceable>key_rec</replaceable> must include
+ all columns of the key.
+ </para>
+ </listitem>
- <listitem>
- <para>
- <replaceable>attr_rec</replaceable> is an
- <literal>NdbRecord</literal> referencing the attribute
- to be updated.
- </para>
+ <listitem>
+ <para>
+ The <replaceable>key_row</replaceable> passed to this method
+ defines the primary or unique key of the affected tuple, and
+ must remain valid until <literal>execute()</literal> is
+ called.
+ </para>
+ </listitem>
- <note>
- <para>
- For unique index operations, the
- <replaceable>attr_rec</replaceable> must refer to the
- underlying table of the index, not to the index
- itself.
- </para>
- </note>
- </listitem>
+ <listitem>
+ <para>
+ <replaceable>attr_rec</replaceable> is an
+ <literal>NdbRecord</literal> referencing the attribute to be
+ updated.
+ </para>
- <listitem>
- <para>
- <replaceable>attr_row</replaceable> is a buffer
- containing the new data for the update.
- </para>
- </listitem>
+ <note>
+ <para>
+ For unique index operations, the
+ <replaceable>attr_rec</replaceable> must refer to the
+ underlying table of the index, not to the index itself.
+ </para>
+ </note>
+ </listitem>
- <listitem>
- <para>
- The <replaceable>mask</replaceable>, if not
- <literal>NULL</literal>, defines a subset of attributes
- to be updated. The mask is copied, and so does not need
- to remain valid after the call to this method returns.
- </para>
- </listitem>
+ <listitem>
+ <para>
+ <replaceable>attr_row</replaceable> is a buffer containing
+ the new data for the update.
+ </para>
+ </listitem>
- </itemizedlist>
- </para>
+ <listitem>
+ <para>
+ The <replaceable>mask</replaceable>, if not
+ <literal>NULL</literal>, defines a subset of attributes to
+ be updated. The mask is copied, and so does not need to
+ remain valid after the call to this method returns.
+ </para>
+ </listitem>
- </formalpara>
+ </itemizedlist>
<formalpara>
- <title>Return Value (old version)</title>
+ <title>Return Value (<quote>old</quote> version)</title>
<para>
Prior to MySQL Cluster NDB 6.2.15 and 6.3.15, this method
@@ -2747,17 +2788,17 @@
</formalpara>
<!--
- <formalpara>
+ <formalpara>
- <title>Example</title>
+ <title>Example</title>
- <para>
+ <para>
<programlisting>
[<emphasis>To be supplied...</emphasis>]
</programlisting>
- </para>
+ </para>
- </formalpara>
+ </formalpara>
-->
</section>
@@ -2812,97 +2853,94 @@
<para>
This method takes the following parameters:
+ </para>
- <itemizedlist>
+ </formalpara>
- <listitem>
- <para>
- <replaceable>key_rec</replaceable> is a pointer to an
- <literal>NdbRecord</literal> for either a table or an
- index. If on a table, then the operation uses a primary
- key; if on an index, then the operation uses a unique
- key. In either case, the
- <replaceable>key_rec</replaceable> must include all
- columns of the key.
- </para>
- </listitem>
+ <itemizedlist>
- <listitem>
- <para>
- The <replaceable>key_row</replaceable> passed to this
- method defines the primary or unique key of the tuple to
- be written, and must remain valid until
- <literal>execute()</literal> is called.
- </para>
- </listitem>
+ <listitem>
+ <para>
+ <replaceable>key_rec</replaceable> is a pointer to an
+ <literal>NdbRecord</literal> for either a table or an index.
+ If on a table, then the operation uses a primary key; if on
+ an index, then the operation uses a unique key. In either
+ case, the <replaceable>key_rec</replaceable> must include
+ all columns of the key.
+ </para>
+ </listitem>
- <listitem>
- <para>
- <replaceable>attr_rec</replaceable> is an
- <literal>NdbRecord</literal> referencing the attribute
- to be written.
- </para>
+ <listitem>
+ <para>
+ The <replaceable>key_row</replaceable> passed to this method
+ defines the primary or unique key of the tuple to be
+ written, and must remain valid until
+ <literal>execute()</literal> is called.
+ </para>
+ </listitem>
- <note>
- <para>
- For unique index operations, the
- <replaceable>attr_rec</replaceable> must refer to the
- underlying table of the index, not to the index
- itself.
- </para>
- </note>
- </listitem>
+ <listitem>
+ <para>
+ <replaceable>attr_rec</replaceable> is an
+ <literal>NdbRecord</literal> referencing the attribute to be
+ written.
+ </para>
- <listitem>
- <para>
- <replaceable>attr_row</replaceable> is a buffer
- containing the new data.
- </para>
- </listitem>
+ <note>
+ <para>
+ For unique index operations, the
+ <replaceable>attr_rec</replaceable> must refer to the
+ underlying table of the index, not to the index itself.
+ </para>
+ </note>
+ </listitem>
- <listitem>
- <para>
- The <replaceable>mask</replaceable>, if not
- <literal>NULL</literal>, defines a subset of attributes
- to be written. The mask is copied, and so does not need
- to remain valid after the call to this method returns.
- </para>
- </listitem>
+ <listitem>
+ <para>
+ <replaceable>attr_row</replaceable> is a buffer containing
+ the new data.
+ </para>
+ </listitem>
- <listitem>
- <para>
- <literal><link linkend="ndb-operationoptions">OperationOptions</link></literal>
- (<replaceable>opts</replaceable>) can be used to provide
- more finely-grained control of operation definitions. An
- <literal>OperationOptions</literal> structure is passed
- with flags indicating which operation definition options
- are present. Not all operation types support all
- operation options; for the options supported by each
- type of operation, see
- <xref linkend="ndb-ndbtransaction-readtuple"/>.
- </para>
- </listitem>
+ <listitem>
+ <para>
+ The <replaceable>mask</replaceable>, if not
+ <literal>NULL</literal>, defines a subset of attributes to
+ be written. The mask is copied, and so does not need to
+ remain valid after the call to this method returns.
+ </para>
+ </listitem>
- <listitem>
- <para>
- The optional <replaceable>sizeOfOptions</replaceable>
- parameter is used to provide backward compatibility of
- this interface with previous definitions of the
- <literal>OperationOptions</literal> structure. If an
- unusual size is detected by the interface
- implementation, it can use this to determine how to
- interpret the passed <literal>OperationOptions</literal>
- structure. To enable this functionality, the caller
- should pass
- <literal>sizeof(NdbOperation::OperationOptions)</literal>
- for the value of this argument.
- </para>
- </listitem>
+ <listitem>
+ <para>
+ <literal><link linkend="ndb-operationoptions">OperationOptions</link></literal>
+ (<replaceable>opts</replaceable>) can be used to provide
+ more finely-grained control of operation definitions. An
+ <literal>OperationOptions</literal> structure is passed with
+ flags indicating which operation definition options are
+ present. Not all operation types support all operation
+ options; for the options supported by each type of
+ operation, see
+ <xref linkend="ndb-ndbtransaction-readtuple"/>.
+ </para>
+ </listitem>
- </itemizedlist>
- </para>
+ <listitem>
+ <para>
+ The optional <replaceable>sizeOfOptions</replaceable>
+ parameter is used to provide backward compatibility of this
+ interface with previous definitions of the
+ <literal>OperationOptions</literal> structure. If an unusual
+ size is detected by the interface implementation, it can use
+ this to determine how to interpret the passed
+ <literal>OperationOptions</literal> structure. To enable
+ this functionality, the caller should pass
+ <literal>sizeof(NdbOperation::OperationOptions)</literal>
+ for the value of this argument.
+ </para>
+ </listitem>
- </formalpara>
+ </itemizedlist>
<formalpara>
@@ -2919,12 +2957,15 @@
<formalpara>
- <title>Old version</title>
+ <title>Signature (<quote>old</quote> version)</title>
<para>
Prior to MySQL Cluster NDB 6.2.15 and 6.3.15, this method was
defined as shown here:
+ </para>
+ </formalpara>
+
<programlisting>
NdbOperation* writeTuple
(
@@ -2935,82 +2976,77 @@
const unsigned char* <replaceable>mask</replaceable> = 0
)
</programlisting>
- </para>
- </formalpara>
-
<formalpara>
- <title>Parameters (old version)</title>
+ <title>Parameters (<quote>old</quote> version)</title>
<para>
Prior to MySQL Cluster NDB 6.2.15 and 6.3.15, this method took
the following parameters:
+ </para>
- <itemizedlist>
+ </formalpara>
- <listitem>
- <para>
- <replaceable>key_rec</replaceable> is a pointer to an
- <literal>NdbRecord</literal> for either a table or an
- index. If on a table, then the operation uses a primary
- key; if on an index, then the operation uses a unique
- key. In either case, the
- <replaceable>key_rec</replaceable> must include all
- columns of the key.
- </para>
- </listitem>
+ <itemizedlist>
- <listitem>
- <para>
- The <replaceable>key_row</replaceable> passed to this
- method defines the primary or unique key of the tuple to
- be written, and must remain valid until
- <literal>execute()</literal> is called.
- </para>
- </listitem>
+ <listitem>
+ <para>
+ <replaceable>key_rec</replaceable> is a pointer to an
+ <literal>NdbRecord</literal> for either a table or an index.
+ If on a table, then the operation uses a primary key; if on
+ an index, then the operation uses a unique key. In either
+ case, the <replaceable>key_rec</replaceable> must include
+ all columns of the key.
+ </para>
+ </listitem>
- <listitem>
- <para>
- <replaceable>attr_rec</replaceable> is an
- <literal>NdbRecord</literal> referencing the attribute
- to be written.
- </para>
+ <listitem>
+ <para>
+ The <replaceable>key_row</replaceable> passed to this method
+ defines the primary or unique key of the tuple to be
+ written, and must remain valid until
+ <literal>execute()</literal> is called.
+ </para>
+ </listitem>
- <note>
- <para>
- For unique index operations, the
- <replaceable>attr_rec</replaceable> must refer to the
- underlying table of the index, not to the index
- itself.
- </para>
- </note>
- </listitem>
+ <listitem>
+ <para>
+ <replaceable>attr_rec</replaceable> is an
+ <literal>NdbRecord</literal> referencing the attribute to be
+ written.
+ </para>
- <listitem>
- <para>
- <replaceable>attr_row</replaceable> is a buffer
- containing the new data.
- </para>
- </listitem>
+ <note>
+ <para>
+ For unique index operations, the
+ <replaceable>attr_rec</replaceable> must refer to the
+ underlying table of the index, not to the index itself.
+ </para>
+ </note>
+ </listitem>
- <listitem>
- <para>
- The <replaceable>mask</replaceable>, if not
- <literal>NULL</literal>, defines a subset of attributes
- to be written. The mask is copied, and so does not need
- to remain valid after the call to this method returns.
- </para>
- </listitem>
+ <listitem>
+ <para>
+ <replaceable>attr_row</replaceable> is a buffer containing
+ the new data.
+ </para>
+ </listitem>
- </itemizedlist>
- </para>
+ <listitem>
+ <para>
+ The <replaceable>mask</replaceable>, if not
+ <literal>NULL</literal>, defines a subset of attributes to
+ be written. The mask is copied, and so does not need to
+ remain valid after the call to this method returns.
+ </para>
+ </listitem>
- </formalpara>
+ </itemizedlist>
<formalpara>
- <title>Return Value (old version)</title>
+ <title>Return Value (<quote>old</quote> version)</title>
<para>
Prior to MySQL Cluster NDB 6.2.15 and 6.3.15, this method
@@ -3086,73 +3122,71 @@
<para>
This method takes the following parameters:
+ </para>
- <itemizedlist>
+ </formalpara>
- <listitem>
- <para>
- <replaceable>key_rec</replaceable> is a pointer to an
- <literal>NdbRecord</literal> for either a table or an
- index. If on a table, then the delete operation uses a
- primary key; if on an index, then the operation uses a
- unique key. In either case, the
- <replaceable>key_rec</replaceable> must include all
- columns of the key.
- </para>
- </listitem>
+ <itemizedlist>
- <listitem>
- <para>
- The <replaceable>key_row</replaceable> passed to this
- method defines the primary or unique key of the tuple to
- be deleted, and must remain valid until
- <literal>execute()</literal> is called.
- </para>
- </listitem>
+ <listitem>
+ <para>
+ <replaceable>key_rec</replaceable> is a pointer to an
+ <literal>NdbRecord</literal> for either a table or an index.
+ If on a table, then the delete operation uses a primary key;
+ if on an index, then the operation uses a unique key. In
+ either case, the <replaceable>key_rec</replaceable> must
+ include all columns of the key.
+ </para>
+ </listitem>
- <listitem>
- <para>
- The <replaceable>result_mask</replaceable>, if not
- <literal>NULL</literal>, defines a subset of attributes
- to be written. The mask is copied, and so does not need
- to remain valid after the call to this method returns.
- </para>
- </listitem>
+ <listitem>
+ <para>
+ The <replaceable>key_row</replaceable> passed to this method
+ defines the primary or unique key of the tuple to be
+ deleted, and must remain valid until
+ <literal>execute()</literal> is called.
+ </para>
+ </listitem>
- <listitem>
- <para>
- <literal><link linkend="ndb-operationoptions">OperationOptions</link></literal>
- (<replaceable>opts</replaceable>) can be used to provide
- more finely-grained control of operation definitions. An
- <literal>OperationOptions</literal> structure is passed
- with flags indicating which operation definition options
- are present. Not all operation types support all
- operation options; for the options supported by each
- type of operation, see
- <xref linkend="ndb-ndbtransaction-readtuple"/>.
- </para>
- </listitem>
+ <listitem>
+ <para>
+ The <replaceable>result_mask</replaceable>, if not
+ <literal>NULL</literal>, defines a subset of attributes to
+ be written. The mask is copied, and so does not need to
+ remain valid after the call to this method returns.
+ </para>
+ </listitem>
- <listitem>
- <para>
- The optional <replaceable>sizeOfOptions</replaceable>
- parameter provides backward compatibility of this
- interface with previous definitions of the
- <literal>OperationOptions</literal> structure. If an
- unusual size is detected by the interface
- implementation, it can use this to determine how to
- interpret the passed <literal>OperationOptions</literal>
- structure. To enable this functionality, the caller
- should pass
- <literal>sizeof(NdbOperation::OperationOptions)</literal>
- for the value of this argument.
- </para>
- </listitem>
+ <listitem>
+ <para>
+ <literal><link linkend="ndb-operationoptions">OperationOptions</link></literal>
+ (<replaceable>opts</replaceable>) can be used to provide
+ more finely-grained control of operation definitions. An
+ <literal>OperationOptions</literal> structure is passed with
+ flags indicating which operation definition options are
+ present. Not all operation types support all operation
+ options; for the options supported by each type of
+ operation, see
+ <xref linkend="ndb-ndbtransaction-readtuple"/>.
+ </para>
+ </listitem>
- </itemizedlist>
- </para>
+ <listitem>
+ <para>
+ The optional <replaceable>sizeOfOptions</replaceable>
+ parameter provides backward compatibility of this interface
+ with previous definitions of the
+ <literal>OperationOptions</literal> structure. If an unusual
+ size is detected by the interface implementation, it can use
+ this to determine how to interpret the passed
+ <literal>OperationOptions</literal> structure. To enable
+ this functionality, the caller should pass
+ <literal>sizeof(NdbOperation::OperationOptions)</literal>
+ for the value of this argument.
+ </para>
+ </listitem>
- </formalpara>
+ </itemizedlist>
<formalpara>
@@ -3167,16 +3201,17 @@
</formalpara>
-<!-- OLD -->
-
<formalpara>
- <title>Old version</title>
+ <title>Signature (<quote>old</quote> version)</title>
<para>
Prior to MySQL Cluster NDB 6.2.15 and 6.3.15, this method was
defined as shown here:
+ </para>
+ </formalpara>
+
<programlisting>
NdbOperation* deleteTuple
(
@@ -3184,49 +3219,45 @@
const char* <replaceable>key_row</replaceable>
)
</programlisting>
- </para>
- </formalpara>
-
<formalpara>
- <title>Parameters (old version)</title>
+ <title>Parameters (<quote>old</quote> version)</title>
<para>
Prior to MySQL Cluster NDB 6.2.15 and 6.3.15, this method took
the following parameters:
+ </para>
- <itemizedlist>
+ </formalpara>
- <listitem>
- <para>
- <replaceable>key_rec</replaceable> is a pointer to an
- <literal>NdbRecord</literal> for either a table or an
- index. If on a table, then the delete operation uses a
- primary key; if on an index, then the operation uses a
- unique key. In either case, the
- <replaceable>key_rec</replaceable> must include all
- columns of the key.
- </para>
- </listitem>
+ <itemizedlist>
- <listitem>
- <para>
- The <replaceable>key_row</replaceable> passed to this
- method defines the primary or unique key of the tuple to
- be deleted, and must remain valid until
- <literal>execute()</literal> is called.
- </para>
- </listitem>
+ <listitem>
+ <para>
+ <replaceable>key_rec</replaceable> is a pointer to an
+ <literal>NdbRecord</literal> for either a table or an index.
+ If on a table, then the delete operation uses a primary key;
+ if on an index, then the operation uses a unique key. In
+ either case, the <replaceable>key_rec</replaceable> must
+ include all columns of the key.
+ </para>
+ </listitem>
- </itemizedlist>
- </para>
+ <listitem>
+ <para>
+ The <replaceable>key_row</replaceable> passed to this method
+ defines the primary or unique key of the tuple to be
+ deleted, and must remain valid until
+ <literal>execute()</literal> is called.
+ </para>
+ </listitem>
- </formalpara>
+ </itemizedlist>
<formalpara>
- <title>Return Value (old version)</title>
+ <title>Return Value (<quote>old</quote> version)</title>
<para>
A pointer to the <literal>NdbOperation</literal> representing
@@ -3237,17 +3268,17 @@
</formalpara>
<!--
- <formalpara>
+ <formalpara>
- <title>Example</title>
+ <title>Example</title>
- <para>
+ <para>
<programlisting>
[<emphasis>To be supplied...</emphasis>]
</programlisting>
- </para>
+ </para>
- </formalpara>
+ </formalpara>
-->
</section>
@@ -3302,71 +3333,69 @@
<para>
The <literal>scanTable()</literal> method takes the following
parameters:
+ </para>
- <itemizedlist>
+ </formalpara>
- <listitem>
- <para>
- A pointer to an <literal>NdbRecord</literal> for storing
- the result. This
- <replaceable>result_record</replaceable> must remain
- valid until after the <literal>execute()</literal> call
- has been made.
- </para>
- </listitem>
+ <itemizedlist>
- <listitem>
- <para>
- The <replaceable>lock_mode</replaceable> in effect for
- the operation. See
- <xref linkend="ndb-ndboperation-lockmode"/>, for
- permitted values and other information.
- </para>
- </listitem>
+ <listitem>
+ <para>
+ A pointer to an <literal>NdbRecord</literal> for storing the
+ result. This <replaceable>result_record</replaceable> must
+ remain valid until after the <literal>execute()</literal>
+ call has been made.
+ </para>
+ </listitem>
- <listitem>
- <para>
- The <replaceable>result_mask</replaceable> pointer is
- optional. If it is present, only columns for which the
- corresponding bit (by attribute ID order) in
- <replaceable>result_mask</replaceable> is set will be
- retrieved in the scan. The
- <replaceable>result_mask</replaceable> is copied
- internally, so in contrast to
- <replaceable>result_record</replaceable> need not be
- valid when <literal>execute()</literal> is invoked.
- </para>
- </listitem>
+ <listitem>
+ <para>
+ The <replaceable>lock_mode</replaceable> in effect for the
+ operation. See <xref linkend="ndb-ndboperation-lockmode"/>,
+ for permitted values and other information.
+ </para>
+ </listitem>
- <listitem>
- <para>
- <replaceable>scan_flags</replaceable> can be used to
- impose ordering and sorting conditions for scans. See
- <xref linkend="ndb-ndbscanoperation-scanflag"/>, for a
- list of permitted values.
- </para>
- </listitem>
+ <listitem>
+ <para>
+ The <replaceable>result_mask</replaceable> pointer is
+ optional. If it is present, only columns for which the
+ corresponding bit (by attribute ID order) in
+ <replaceable>result_mask</replaceable> is set will be
+ retrieved in the scan. The
+ <replaceable>result_mask</replaceable> is copied internally,
+ so in contrast to <replaceable>result_record</replaceable>
+ need not be valid when <literal>execute()</literal> is
+ invoked.
+ </para>
+ </listitem>
- <listitem>
- <para>
- The <replaceable>parallel</replaceable> argument is the
- desired parallelism, or <literal>0</literal> for maximum
- parallelism (receiving rows from all fragments in
- parallel), which is the default.
- </para>
- </listitem>
+ <listitem>
+ <para>
+ <replaceable>scan_flags</replaceable> can be used to impose
+ ordering and sorting conditions for scans. See
+ <xref linkend="ndb-ndbscanoperation-scanflag"/>, for a list
+ of permitted values.
+ </para>
+ </listitem>
- <listitem>
- <para>
- <replaceable>batch</replaceable> determines whether
- batching is employed. The default is 0 (off).
- </para>
- </listitem>
+ <listitem>
+ <para>
+ The <replaceable>parallel</replaceable> argument is the
+ desired parallelism, or <literal>0</literal> for maximum
+ parallelism (receiving rows from all fragments in parallel),
+ which is the default.
+ </para>
+ </listitem>
- </itemizedlist>
- </para>
+ <listitem>
+ <para>
+ <replaceable>batch</replaceable> determines whether batching
+ is employed. The default is 0 (off).
+ </para>
+ </listitem>
- </formalpara>
+ </itemizedlist>
<formalpara>
@@ -3381,17 +3410,17 @@
</formalpara>
<!--
- <formalpara>
+ <formalpara>
- <title>Example</title>
+ <title>Example</title>
- <para>
+ <para>
<programlisting>
[<emphasis>To be supplied...</emphasis>]
</programlisting>
- </para>
+ </para>
- </formalpara>
+ </formalpara>
-->
</section>
@@ -3470,131 +3499,128 @@
<para>
This method takes the following parameters:
+ </para>
- <itemizedlist>
+ </formalpara>
- <listitem>
- <para>
- The <replaceable>key_record</replaceable> describes the
- index to be scanned. It must be a key record on the
- index; that is, the columns which it specifies must
- include all of the key columns of the index. It must be
- created from the index to be scanned, and not from the
- underlying table.
- </para>
- </listitem>
+ <itemizedlist>
- <listitem>
- <para>
- <replaceable>low_key</replaceable> determines the lower
- bound for a range scan.
- </para>
- </listitem>
+ <listitem>
+ <para>
+ The <replaceable>key_record</replaceable> describes the
+ index to be scanned. It must be a key record on the index;
+ that is, the columns which it specifies must include all of
+ the key columns of the index. It must be created from the
+ index to be scanned, and not from the underlying table.
+ </para>
+ </listitem>
- <listitem>
- <para>
- <replaceable>low_key_count</replaceable> determines the
- number of columns used for the lower bound when
- specifying a partial prefix for the scan.
- </para>
- </listitem>
+ <listitem>
+ <para>
+ <replaceable>low_key</replaceable> determines the lower
+ bound for a range scan.
+ </para>
+ </listitem>
- <listitem>
- <para>
- <replaceable>low_inclusive</replaceable> determines
- whether the lower bound is considered as a
- <literal>>=</literal> or <literal>></literal>
- relation.
- </para>
- </listitem>
+ <listitem>
+ <para>
+ <replaceable>low_key_count</replaceable> determines the
+ number of columns used for the lower bound when specifying a
+ partial prefix for the scan.
+ </para>
+ </listitem>
- <listitem>
- <para>
- <replaceable>high_key</replaceable> determines the upper
- bound for a range scan.
- </para>
- </listitem>
+ <listitem>
+ <para>
+ <replaceable>low_inclusive</replaceable> determines whether
+ the lower bound is considered as a <literal>>=</literal>
+ or <literal>></literal> relation.
+ </para>
+ </listitem>
- <listitem>
- <para>
- <replaceable>high_key_count</replaceable> determines the
- number of columns used for the higher bound when
- specifying a partial prefix for the scan.
- </para>
- </listitem>
+ <listitem>
+ <para>
+ <replaceable>high_key</replaceable> determines the upper
+ bound for a range scan.
+ </para>
+ </listitem>
- <listitem>
- <para>
- <replaceable>high_inclusive</replaceable> determines
- whether the lower bound is considered as a
- <literal><=</literal> or <literal><</literal>
- relation.
- </para>
- </listitem>
+ <listitem>
+ <para>
+ <replaceable>high_key_count</replaceable> determines the
+ number of columns used for the higher bound when specifying
+ a partial prefix for the scan.
+ </para>
+ </listitem>
- <listitem>
- <para>
- The <replaceable>result_record</replaceable> describes
- the rows to be returned from the scan. For an ordered
- index scan, <replaceable>result_record</replaceable> be
- a key record on the index; that is, the columns which it
- specifies must include all of the key columns of the
- index. This is because the index key is needed for merge
- sorting of the scans returned from each fragment.
- </para>
- </listitem>
+ <listitem>
+ <para>
+ <replaceable>high_inclusive</replaceable> determines whether
+ the lower bound is considered as a <literal><=</literal>
+ or <literal><</literal> relation.
+ </para>
+ </listitem>
- <listitem>
- <para>
- The <replaceable>lock_mode</replaceable> for the scan
- must be one of the values specified in
- <xref linkend="ndb-ndboperation-lockmode"/>.
- </para>
- </listitem>
+ <listitem>
+ <para>
+ The <replaceable>result_record</replaceable> describes the
+ rows to be returned from the scan. For an ordered index
+ scan, <replaceable>result_record</replaceable> be a key
+ record on the index; that is, the columns which it specifies
+ must include all of the key columns of the index. This is
+ because the index key is needed for merge sorting of the
+ scans returned from each fragment.
+ </para>
+ </listitem>
- <listitem>
- <para>
- The <replaceable>result_mask</replaceable> pointer is
- optional. If it is present, only columns for which the
- corresponding bit (by attribute ID order) in
- <replaceable>result_mask</replaceable> is set will be
- retrieved in the scan. The
- <replaceable>result_mask</replaceable> is copied
- internally, so in contrast to
- <replaceable>result_record</replaceable> need not be
- valid when <literal>execute()</literal> is invoked.
- </para>
- </listitem>
+ <listitem>
+ <para>
+ The <replaceable>lock_mode</replaceable> for the scan must
+ be one of the values specified in
+ <xref linkend="ndb-ndboperation-lockmode"/>.
+ </para>
+ </listitem>
- <listitem>
- <para>
- <replaceable>scan_flags</replaceable> can be used to
- impose ordering and sorting conditions for scans. See
- <xref linkend="ndb-ndbscanoperation-scanflag"/>, for a
- list of permitted values.
- </para>
- </listitem>
+ <listitem>
+ <para>
+ The <replaceable>result_mask</replaceable> pointer is
+ optional. If it is present, only columns for which the
+ corresponding bit (by attribute ID order) in
+ <replaceable>result_mask</replaceable> is set will be
+ retrieved in the scan. The
+ <replaceable>result_mask</replaceable> is copied internally,
+ so in contrast to <replaceable>result_record</replaceable>
+ need not be valid when <literal>execute()</literal> is
+ invoked.
+ </para>
+ </listitem>
- <listitem>
- <para>
- The <replaceable>parallel</replaceable> argument is the
- desired parallelism, or <literal>0</literal> for maximum
- parallelism (receiving rows from all fragments in
- parallel), which is the default.
- </para>
- </listitem>
+ <listitem>
+ <para>
+ <replaceable>scan_flags</replaceable> can be used to impose
+ ordering and sorting conditions for scans. See
+ <xref linkend="ndb-ndbscanoperation-scanflag"/>, for a list
+ of permitted values.
+ </para>
+ </listitem>
- <listitem>
- <para>
- <replaceable>batch</replaceable> determines whether
- batching is employed. The default is 0 (off).
- </para>
- </listitem>
+ <listitem>
+ <para>
+ The <replaceable>parallel</replaceable> argument is the
+ desired parallelism, or <literal>0</literal> for maximum
+ parallelism (receiving rows from all fragments in parallel),
+ which is the default.
+ </para>
+ </listitem>
- </itemizedlist>
- </para>
+ <listitem>
+ <para>
+ <replaceable>batch</replaceable> determines whether batching
+ is employed. The default is 0 (off).
+ </para>
+ </listitem>
- </formalpara>
+ </itemizedlist>
<formalpara>
@@ -3608,17 +3634,17 @@
</formalpara>
<!--
- <formalpara>
+ <formalpara>
- <title>Example</title>
+ <title>Example</title>
- <para>
+ <para>
<programlisting>
[<emphasis>To be supplied...</emphasis>]
</programlisting>
- </para>
+ </para>
- </formalpara>
+ </formalpara>
-->
</section>
| Thread |
|---|
| • svn commit - mysqldoc@docsrva: r23038 - trunk/ndbapi | jon.stephens | 7 Oct |