From: jon Date: January 22 2009 8:51pm Subject: svn commit - mysqldoc@docsrva: r13351 - trunk/ndbapi List-Archive: http://lists.mysql.com/commits/63851 Message-Id: <200901222051.n0MKps1o008845@docsrva.mysql.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Author: jstephens Date: 2009-01-22 21:51:53 +0100 (Thu, 22 Jan 2009) New Revision: 13351 Log: Reverted changes made in r 13128-13129 - caused problems with refs to Ndb class vs NDB SE Modified: trunk/ndbapi/class-column.xml trunk/ndbapi/class-datafile.xml trunk/ndbapi/class-dictionary.xml trunk/ndbapi/class-event.xml trunk/ndbapi/class-index.xml trunk/ndbapi/class-logfilegroup.xml trunk/ndbapi/class-ndb-cluster-connection.xml trunk/ndbapi/class-ndb.xml trunk/ndbapi/class-ndbblob.xml trunk/ndbapi/class-ndbdictionary.xml trunk/ndbapi/class-ndbeventoperation.xml trunk/ndbapi/class-ndboperation.xml trunk/ndbapi/class-ndbrecattr.xml trunk/ndbapi/class-ndbscanoperation.xml trunk/ndbapi/class-ndbtransaction.xml trunk/ndbapi/class-object.xml trunk/ndbapi/class-table.xml trunk/ndbapi/class-tablespace.xml trunk/ndbapi/class-undofile.xml trunk/ndbapi/getting-started.xml trunk/ndbapi/interface-ndbrecord.xml trunk/ndbapi/mgm-api.xml trunk/ndbapi/ndb-classes.xml trunk/ndbapi/ndb-errors.xml trunk/ndbapi/ndb-examples.xml trunk/ndbapi/ndb-hierarchy.xml trunk/ndbapi/ndb-internals.xml trunk/ndbapi/ndbapi.xml trunk/ndbapi/overview.xml trunk/ndbapi/struct-ndberror.xml Modified: trunk/ndbapi/class-column.xml =================================================================== --- trunk/ndbapi/class-column.xml 2009-01-22 20:10:44 UTC (rev 13350) +++ trunk/ndbapi/class-column.xml 2009-01-22 20:51:53 UTC (rev 13351) Changed blocks: 7, Lines Added: 14, Lines Deleted: 16; 3485 bytes @@ -86,9 +86,9 @@ These types in general correspond to MySQL datatypes and their variants. The data formats are same as in MySQL. The - NDB API provides no support for - constructing such formats; however, they are checked by the - NDB kernel. + NDB API provides no support for constructing + such formats; however, they are checked by the + NDB kernel. @@ -303,8 +303,8 @@ Type - The column's datatype. NDB columns have the - datatypes as found in MySQL + The column's datatype. NDB columns have the datatypes + as found in MySQL @@ -722,8 +722,8 @@ As with other database objects, Column object creation and attribute changes to existing columns done using - the NDB API are not visible from - MySQL. For example, if you change a column's datatype using + the NDB API are not visible from MySQL. For + example, if you change a column's datatype using Column::setType(), MySQL will regard the type of column as being unchanged. The only exception to this rule with regard to columns is that you can change the name of an @@ -754,8 +754,8 @@ A Column created using the - NDB API will - not be visible to a MySQL server. + NDB API will not be + visible to a MySQL server. @@ -2044,9 +2044,8 @@ A partitioning key is a set of attributes used to distribute the tuples onto the - NDB nodes. This key a hashing - function specific to the - NDBCLUSTER storage engine. + NDB nodes. This key a hashing function + specific to the NDBCLUSTER storage engine. @@ -2069,8 +2068,8 @@ The only type of user-defined partitioning that is supported - for use with the NDBCLUSTER - storage engine in MySQL 5.1 is key partitioning. + for use with the NDBCLUSTER storage engine + in MySQL 5.1 is key partitioning. @@ -2303,8 +2302,7 @@ setName() is the only Column method whose result is visible from a MySQL Server. MySQL cannot see any other changes made to - existing columns using the NDB - API. + existing columns using the NDB API. Modified: trunk/ndbapi/class-datafile.xml =================================================================== --- trunk/ndbapi/class-datafile.xml 2009-01-22 20:10:44 UTC (rev 13350) +++ trunk/ndbapi/class-datafile.xml 2009-01-22 20:51:53 UTC (rev 13351) Changed blocks: 1, Lines Added: 2, Lines Deleted: 2; 657 bytes @@ -61,8 +61,8 @@ Versions of MySQL prior to 5.1 do not support Disk Data storage and so do not support datafiles; thus the Datafile class is unavailable for - NDB API applications written against - these MySQL versions. + NDB API applications written against these + MySQL versions. Modified: trunk/ndbapi/class-dictionary.xml =================================================================== --- trunk/ndbapi/class-dictionary.xml 2009-01-22 20:10:44 UTC (rev 13350) +++ trunk/ndbapi/class-dictionary.xml 2009-01-22 20:51:53 UTC (rev 13351) Changed blocks: 2, Lines Added: 3, Lines Deleted: 3; 788 bytes @@ -305,7 +305,7 @@ Parameters - An NDB object. See + An Ndb object. See . @@ -993,8 +993,8 @@ Description - This method retrieves the most recent - NDB API error. + This method retrieves the most recent NDB + API error. Modified: trunk/ndbapi/class-event.xml =================================================================== --- trunk/ndbapi/class-event.xml 2009-01-22 20:10:44 UTC (rev 13350) +++ trunk/ndbapi/class-event.xml 2009-01-22 20:51:53 UTC (rev 13351) Changed blocks: 1, Lines Added: 1, Lines Deleted: 1; 530 bytes @@ -276,7 +276,7 @@ TableEvent is used to classify the types of events that may be associated with tables in the - NDB API. + NDB API. Modified: trunk/ndbapi/class-index.xml =================================================================== --- trunk/ndbapi/class-index.xml 2009-01-22 20:10:44 UTC (rev 13350) +++ trunk/ndbapi/class-index.xml 2009-01-22 20:51:53 UTC (rev 13351) Changed blocks: 2, Lines Added: 6, Lines Deleted: 6; 1129 bytes @@ -281,10 +281,10 @@ - If you create or change indexes using the - NDB API, these modifications cannot - be seen by MySQL. The only exception to this is renaming the - index using Index::setName(). + If you create or change indexes using the NDB + API, these modifications cannot be seen by MySQL. The only + exception to this is renaming the index using + Index::setName(). @@ -305,8 +305,8 @@ - Indexes created using the NDB API - cannot be seen by the MySQL Server. + Indexes created using the NDB API cannot be + seen by the MySQL Server. Modified: trunk/ndbapi/class-logfilegroup.xml =================================================================== --- trunk/ndbapi/class-logfilegroup.xml 2009-01-22 20:10:44 UTC (rev 13350) +++ trunk/ndbapi/class-logfilegroup.xml 2009-01-22 20:51:53 UTC (rev 13351) Changed blocks: 1, Lines Added: 2, Lines Deleted: 2; 678 bytes @@ -64,8 +64,8 @@ Versions of MySQL prior to 5.1 do not support Disk Data storage and so do not support logfile groups; thus the LogfileGroup class is unavailable for - NDB API applications written against - these MySQL versions. + NDB API applications written against these + MySQL versions. Modified: trunk/ndbapi/class-ndb-cluster-connection.xml =================================================================== --- trunk/ndbapi/class-ndb-cluster-connection.xml 2009-01-22 20:10:44 UTC (rev 13350) +++ trunk/ndbapi/class-ndb-cluster-connection.xml 2009-01-22 20:51:53 UTC (rev 13351) Changed blocks: 14, Lines Added: 46, Lines Deleted: 56; 10367 bytes @@ -70,10 +70,10 @@ Ndb_cluster_connection objects representing connections to different management servers in a single application, nor against using these for creating multiple - instances of the NDB class. Such + instances of the Ndb class. Such Ndb_cluster_connection objects (and the - NDB instances based on them) are not - required even to connect to the same cluster. + Ndb instances based on them) are not required + even to connect to the same cluster. @@ -81,7 +81,7 @@ application-level partitioning of data in such a manner that data meeting one set of criteria are handed off to one cluster via an - NDB object that makes use of an + Ndb object that makes use of an Ndb_cluster_connection object representing a connection to that cluster, while data not meeting those criteria (or perhaps a different set of criteria) can be sent to a @@ -127,12 +127,12 @@ - An NDB object making use of - this connection (Ndb_cluster_connection) + An Ndb object making use of this + connection (Ndb_cluster_connection) cannot be re-used to connect to a different cluster management server (and thus to a different collection of data nodes making up a cluster). Any given instance of - NDB is bound to a specific + Ndb is bound to a specific Ndb_cluster_connection when created, and that Ndb_cluster_connection is in turn bound to a single and unique management server when it is @@ -147,7 +147,7 @@ The bindings described above persist for the lifetimes of - the NDB and + the Ndb and Ndb_cluster_connection objects in question. @@ -158,10 +158,9 @@ Therefore, it is imperative in designing and implementing any application that accesses multiple clusters in a single session, that a separate set of Ndb_cluster_connection - and NDB objects be instantiated for - connecting to each cluster management server, and that no - confusion arises as to which of these is used to access which - MySQL Cluster. + and Ndb objects be instantiated for connecting + to each cluster management server, and that no confusion arises as + to which of these is used to access which MySQL Cluster. @@ -229,22 +228,22 @@ lock_ndb_objects() - Disables the creation of new - NDB objects. + Disables the creation of new Ndb + objects. unlock_ndb_objects() - Enables the creation of new - NDB objects. + Enables the creation of new Ndb + objects. get_next_ndb_object() - Used to iterate through multiple - NDB objects. + Used to iterate through multiple Ndb + objects. @@ -293,11 +292,10 @@ This method creates a connection to a MySQL cluster, that is, to a cluster of data nodes. The object returned by this method - is required in order to instantiate an - NDB object. (See - .) Thus, every - NDB API application requires the - use of an Ndb_cluster_connection. + is required in order to instantiate an Ndb + object. (See .) Thus, every + NDB API application requires the use of an + Ndb_cluster_connection. @@ -876,8 +874,7 @@ This method is used to iterate over a set of - NDB objects, retrieving them one - at a time. + Ndb objects, retrieving them one at a time. @@ -903,8 +900,8 @@ This method takes a single parameter, a pointer to the last - NDB object to have been retrieved - or NULL. + Ndb object to have been retrieved or + NULL. @@ -914,20 +911,19 @@ Return Value - Returns the next NDB object, or - NULL if no more - NDB objects are available. + Returns the next Ndb object, or + NULL if no more Ndb + objects are available. - Iterating over <literal role="se">NDB</literal> objects + Iterating over <literal>Ndb</literal> objects - To retrieve all existing NDB - objects: + To retrieve all existing Ndb objects: @@ -935,7 +931,7 @@ Invoke the lock_ndb_objects() method. This prevents the creation of any new instances of - NDB until the + Ndb until the unlock_ndb_objects() method is called. @@ -943,26 +939,23 @@ - Retrieve the first available - NDB object by passing - NULL to + Retrieve the first available Ndb + object by passing NULL to get_next_ndb_object(). You can - retrieve the second NDB - object by passing the pointer retrieved by the first - call to the next - get_next_ndb_object() call, and so - on. When a pointer to the last available - NDB instance is used, the - method returns NULL. + retrieve the second Ndb object by + passing the pointer retrieved by the first call to the + next get_next_ndb_object() call, and + so on. When a pointer to the last available + Ndb instance is used, the method + returns NULL. After you have retrieved all desired - NDB objects, you should - re-enable NDB object - creation by calling the + Ndb objects, you should re-enable + Ndb object creation by calling the unlock_ndb_objects() method. @@ -1004,10 +997,9 @@ Calling this method prevents the creation of new instances of - the NDB class. This method must - be called prior to iterating over multiple - NDB objects using - get_next_ndb_object(). + the Ndb class. This method must be called + prior to iterating over multiple Ndb + objects using get_next_ndb_object(). @@ -1079,12 +1071,10 @@ This method undoes the effects of the lock_ndb_objects() method, making it - possible to create new instances of - NDB. + possible to create new instances of Ndb. unlock_ndb_objects() should be called after - you have finished retrieving NDB - objects using the get_next_ndb_object() - method. + you have finished retrieving Ndb objects + using the get_next_ndb_object() method. Modified: trunk/ndbapi/class-ndb.xml =================================================================== --- trunk/ndbapi/class-ndb.xml 2009-01-22 20:10:44 UTC (rev 13350) +++ trunk/ndbapi/class-ndb.xml 2009-01-22 20:51:53 UTC (rev 13351) Changed blocks: 24, Lines Added: 59, Lines Deleted: 64; 12563 bytes @@ -5,7 +5,7 @@ ]>
- The <literal role="se">NDB</literal> Class + The <literal>Ndb</literal> Class Ndb class @@ -14,9 +14,8 @@ - This class represents the NDB kernel; - it is the primary class of the NDB - API. + This class represents the NDB kernel; it is the + primary class of the NDB API. @@ -46,15 +45,14 @@ Description - Any non-trivial NDB API program makes - use of at least one instance of NDB. - By using several NDB objects, it is - possible to implement a multi-threaded application. You should - remember that one NDB object cannot - be shared between threads; however, it is possible for a single - thread to use multiple NDB objects. A - single application process can support a maximum of 128 - NDB objects. + Any non-trivial NDB API program makes use of at + least one instance of Ndb. By using several + Ndb objects, it is possible to implement a + multi-threaded application. You should remember that one + Ndb object cannot be shared between threads; + however, it is possible for a single thread to use multiple + Ndb objects. A single application process can + support a maximum of 128 Ndb objects. @@ -62,11 +60,11 @@ The Ndb object is multi-thread safe in that each - NDB object can be handled by one - thread at a time. If an NDB object is - handed over to another thread, then the application must ensure - that a memory barrier is used to ensure that the new thread sees - all updates performed by the previous thread. + Ndb object can be handled by one thread at a + time. If an Ndb object is handed over to + another thread, then the application must ensure that a memory + barrier is used to ensure that the new thread sees all updates + performed by the previous thread. @@ -77,10 +75,9 @@ - It is also possible to use multiple NDB - objects to perform operations on different clusters in a single - application. See the - Note on + It is also possible to use multiple Ndb objects + to perform operations on different clusters in a single application. + See the Note on Application-Level Partitioning for conditions and restrictions applying to such usage. @@ -118,8 +115,7 @@ init() - Initialises an NDB object and makes it - ready for use. + Initialises an Ndb object and makes it ready for use. getDictionary() @@ -169,8 +165,8 @@ getReference() - Retrieves a reference or identifier for the - NDB object instance. + Retrieves a reference or identifier for the Ndb + object instance. @@ -187,15 +183,15 @@ This diagram shows all the available methods of the - NDB class: + Ndb class: - Public methods of the - NDB class. + Public methods of the Ndb + class. @@ -204,32 +200,31 @@
- <literal role="se">NDB</literal> Methods + <literal>Ndb</literal> Methods The sections that follow discuss the public methods of the - NDB class. + Ndb class.
- <literal role="se">NDB</literal> Class Constructor + <literal>Ndb</literal> Class Constructor Description - This creates an instance of NDB, - which represents a connection to the MySQL Cluster. All - NDB API applications should begin - with the creation of at least one - NDB object. This requires the - creation of at least one instance of + This creates an instance of Ndb, which + represents a connection to the MySQL Cluster. All + NDB API applications should begin with the + creation of at least one Ndb object. This + requires the creation of at least one instance of Ndb_cluster_connection, which serves as a container for a cluster connectstring. @@ -258,8 +253,8 @@ Parameters - The NDB class constructor can - take up to 3 parameters, of which only the first is required: + The Ndb class constructor can take up to 3 + parameters, of which only the first is required: @@ -277,7 +272,7 @@ catalogName is an optional parameter providing a namespace for the tables and indexes created in any connection from the - NDB object. + Ndb object. @@ -313,7 +308,7 @@ Return Value - An NDB object. + An Ndb object. @@ -324,7 +319,7 @@ Example - This example shows how to create an NDB + This example shows how to create an Ndb object: @@ -340,10 +335,10 @@ <literal>~Ndb()</literal> (Class Destructor) - The destructor for the NDB class - should be called in order to terminate an instance of - NDB. It requires no arguments, - nor any special handling. + The destructor for the Ndb class should be + called in order to terminate an instance of + Ndb. It requires no arguments, nor any + special handling. @@ -367,8 +362,8 @@ Description - This method is used to initialise an - NDB object. + This method is used to initialise an Ndb + object. @@ -397,8 +392,8 @@ maxNoOfTransactions of type integer. This parameter specifies the maximum number of parallel NdbTransaction objects that can be - handled by this instance of NDB. - The maximum permitted value for + handled by this instance of Ndb. The + maximum permitted value for maxNoOfTransactions is 1024; if not specified, it defaults to 4. @@ -426,7 +421,7 @@ 0: indicates that the - NDB object was initialised + Ndb object was initialised successfully. @@ -449,7 +444,7 @@ This example shows how to use the init() - method to initialise an NDB object: + method to initialise an Ndb object: [To be supplied...] @@ -1187,8 +1182,8 @@ Description - This is one of two NDB API - methods provided for closing a transaction (the other being + This is one of two NDB API methods provided + for closing a transaction (the other being NdbTransaction::close() — see ). You must call one of these two methods to close the transaction once it has @@ -1651,7 +1646,7 @@ This method provides you with two different ways to obtain an NdbError object representing an error condition. For more detailed information about error handling - in the NDB API, see + in the NDB API, see . @@ -1685,7 +1680,7 @@ Regardless of which version of the method is used, the NdbError object returned persists until the - next NDB API method is invoked. + next NDB API method is invoked. @@ -1700,8 +1695,8 @@ obtain the error matching a specific errorCode, invoke the method passing the code (an int) to it as a - parameter. For a listing of NDB - API error codes and corresponding error messages, see + parameter. For a listing of NDB API error + codes and corresponding error messages, see . @@ -1728,7 +1723,7 @@ This example shows how to use getNdbError() to retrieve the most recent - NDB API error: + NDB API error: [To be supplied...] @@ -1759,10 +1754,10 @@ This method can be used to obtain a reference to a given - NDB object. This is the same - value that is returned for a given operation corresponding to - this object in the output of DUMP 2350. - (See , for an + Ndb object. This is the same value that is + returned for a given operation corresponding to this object in + the output of DUMP 2350. (See + , for an example.) Modified: trunk/ndbapi/class-ndbblob.xml =================================================================== --- trunk/ndbapi/class-ndbblob.xml 2009-01-22 20:10:44 UTC (rev 13350) +++ trunk/ndbapi/class-ndbblob.xml 2009-01-22 20:51:53 UTC (rev 13351) Changed blocks: 2, Lines Added: 2, Lines Deleted: 2; 801 bytes @@ -2144,7 +2144,7 @@ ndb: The relevant - NDB object. + Ndb object. @@ -2259,7 +2259,7 @@ ndb: The relevant - NDB object. + Ndb object. Modified: trunk/ndbapi/class-ndbdictionary.xml =================================================================== --- trunk/ndbapi/class-ndbdictionary.xml 2009-01-22 20:10:44 UTC (rev 13350) +++ trunk/ndbapi/class-ndbdictionary.xml 2009-01-22 20:51:53 UTC (rev 13351) Changed blocks: 2, Lines Added: 8, Lines Deleted: 9; 1636 bytes @@ -22,7 +22,7 @@ While the preferred method of database object creation and deletion is through the MySQL Server, NdbDictionary also permits the developer to - perform these tasks via the NDB API. + perform these tasks via the NDB API. @@ -114,14 +114,13 @@ - Dropping indexes via the NDB API that - were created originally from a MySQL Cluster causes - inconsistencies. It is possible that a table from which one or - more indexes have been dropped using the - NDB API will no longer be usable by - MySQL following such operations. In this event, the table must be - dropped, and then re-created using MySQL to make it accessible to - MySQL once more. + Dropping indexes via the NDB API that were + created originally from a MySQL Cluster causes inconsistencies. It + is possible that a table from which one or more indexes have been + dropped using the NDB API will no longer be + usable by MySQL following such operations. In this event, the + table must be dropped, and then re-created using MySQL to make it + accessible to MySQL once more. Modified: trunk/ndbapi/class-ndbeventoperation.xml =================================================================== --- trunk/ndbapi/class-ndbeventoperation.xml 2009-01-22 20:10:44 UTC (rev 13350) +++ trunk/ndbapi/class-ndbeventoperation.xml 2009-01-22 20:51:53 UTC (rev 13351) Changed blocks: 4, Lines Added: 4, Lines Deleted: 4; 1515 bytes @@ -59,7 +59,7 @@ This class has no public constructor or destructor. Instead, instances of NdbEventOperation are created as - the result of method calls on NDB and + the result of method calls on Ndb and NdbDictionary objects: @@ -110,7 +110,7 @@ The following issues may be encountered when working with event - operations in the NDB API: + operations in the NDB API: @@ -158,7 +158,7 @@ We intend to remedy this issue in a future release of MySQL - Cluster and the NDB API. + Cluster and the NDB API. @@ -585,7 +585,7 @@ This method defines the retrieval of an attribute value. The - NDB API allocates memory for the + NDB API allocates memory for the NdbRecAttr object that is to hold the returned attribute value. Modified: trunk/ndbapi/class-ndboperation.xml =================================================================== --- trunk/ndbapi/class-ndboperation.xml 2009-01-22 20:10:44 UTC (rev 13350) +++ trunk/ndbapi/class-ndboperation.xml 2009-01-22 20:51:53 UTC (rev 13351) Changed blocks: 3, Lines Added: 10, Lines Deleted: 10; 2064 bytes @@ -536,8 +536,8 @@ This method prepares for the retrieval of an attribute value. - The NDB API allocates memory for - an NdbRecAttr object that is later used to + The NDB API allocates memory for an + NdbRecAttr object that is later used to hold the returned attribute value. @@ -1611,12 +1611,12 @@ - However, the NDB API does check - that the application sends a correct length to the interface - as given in the length parameter. A char* - value can contain any datatype or any type of array. If the - length is not provided, or if it is set to zero, then the API - assumes that the pointer is correct, and does not check it. + However, the NDB API does check that the + application sends a correct length to the interface as given + in the length parameter. A char* value can + contain any datatype or any type of array. If the length is + not provided, or if it is set to zero, then the API assumes + that the pointer is correct, and does not check it. @@ -1634,8 +1634,8 @@ When you use insertTuple(), the - NDB API will automatically detect - that it is supposed to use equal() instead. + NDB API will automatically detect that it + is supposed to use equal() instead. Modified: trunk/ndbapi/class-ndbrecattr.xml =================================================================== --- trunk/ndbapi/class-ndbrecattr.xml 2009-01-22 20:10:44 UTC (rev 13350) +++ trunk/ndbapi/class-ndbrecattr.xml 2009-01-22 20:51:53 UTC (rev 13351) Changed blocks: 2, Lines Added: 4, Lines Deleted: 4; 1378 bytes @@ -48,10 +48,10 @@ NdbRecAttr contains the value of an attribute. An NdbRecAttr object is used to store an attribute value after it has been retrieved the - NDB Cluster using the + NDB Cluster using the NdbOperation::getValue(). This object is - allocated by the NDB API. A brief - example is shown here: + allocated by the NDB API. A brief example is + shown here: MyRecAttr = MyOperation->getValue("ATTR2", NULL); @@ -1675,7 +1675,7 @@ This method is used to obtain a reference to an attribute value, as a char pointer. This pointer is aligned appropriately for the datatype. The memory is released - by the NDB API when + by the NDB API when NdbTransaction::closeTransaction() is executed on the transaction which read the value. Modified: trunk/ndbapi/class-ndbscanoperation.xml =================================================================== --- trunk/ndbapi/class-ndbscanoperation.xml 2009-01-22 20:10:44 UTC (rev 13350) +++ trunk/ndbapi/class-ndbscanoperation.xml 2009-01-22 20:51:53 UTC (rev 13351) Changed blocks: 4, Lines Added: 14, Lines Deleted: 15; 3370 bytes @@ -487,9 +487,9 @@ - Normally, the NDB API - contacts the NDB kernel for - more tuples whenever it is necessary; setting + Normally, the NDB API contacts the + NDB kernel for more tuples whenever + it is necessary; setting fetchAllowed to false keeps this from happening. @@ -497,13 +497,13 @@ Disabling fetchAllowed by setting it to false forces - NDB to process any records - it already has in its caches. When there are no more - cached records it returns 2. You must - then call nextResult() with + NDB to process any records it already + has in its caches. When there are no more cached records + it returns 2. You must then call + nextResult() with fetchAllowed equal to true in order to contact - NDB for more records. + NDB for more records. @@ -517,16 +517,15 @@ to be made, and then, the locks to be released. Following this, call nextResult(true) — this fetches more records and caches them in the - NDB API. + NDB API. If you do not transfer the records to another transaction, the locks on those records will be - released the next time that the - NDB Kernel is contacted - for more records. + released the next time that the NDB + Kernel is contacted for more records. @@ -583,9 +582,9 @@ When false, fetchAllowed - forces NDB to process any - records it already has in its caches. See the - description for this parameter in the previous + forces NDB to process any records it + already has in its caches. See the description for this + parameter in the previous Parameters subsection for more details. Modified: trunk/ndbapi/class-ndbtransaction.xml =================================================================== --- trunk/ndbapi/class-ndbtransaction.xml 2009-01-22 20:10:44 UTC (rev 13350) +++ trunk/ndbapi/class-ndbtransaction.xml 2009-01-22 20:51:53 UTC (rev 13351) Changed blocks: 4, Lines Added: 11, Lines Deleted: 13; 2871 bytes @@ -45,10 +45,9 @@ Description - A transaction is represented in the - NDB API by an - NdbTransaction object, which belongs to an - NDB object and is created using + A transaction is represented in the NDB API by + an NdbTransaction object, which belongs to an + Ndb object and is created using Ndb::startTransaction(). A transaction consists of a list of operations represented by the NdbOperation class, or by one of its subclasses @@ -109,15 +108,15 @@ NdbTransaction object, in which case they are executed in parallel. When all operations are defined, the execute() method sends them to the - NDB kernel for execution. + NDB kernel for execution. The execute() method returns when the - NDB kernel has completed - execution of all operations previously defined. + NDB kernel has completed execution of all + operations previously defined. @@ -477,11 +476,10 @@ Beginning with MySQL Cluster NDB 6.2.0, this type belongs to the NdbOperation class and its possible values and default behavior have changed. - NDB API application code written - against previous versions of MySQL Cluster that refers - explicitly to NdbTransaction::AbortOption - values must be modified to work with MySQL Cluster NDB 6.2.0 - or later. + NDB API application code written against + previous versions of MySQL Cluster that refers explicitly to + NdbTransaction::AbortOption values must be + modified to work with MySQL Cluster NDB 6.2.0 or later. @@ -1075,7 +1073,7 @@ A force parameter, which determines when operations should be sent to the - NDB Kernel: + NDB Kernel: Modified: trunk/ndbapi/class-object.xml =================================================================== --- trunk/ndbapi/class-object.xml 2009-01-22 20:10:44 UTC (rev 13350) +++ trunk/ndbapi/class-object.xml 2009-01-22 20:51:53 UTC (rev 13351) Changed blocks: 3, Lines Added: 7, Lines Deleted: 8; 2210 bytes @@ -359,8 +359,7 @@ Reading an object's Status tells whether or - not it is available in the NDB - kernel. + not it is available in the NDB kernel. @@ -384,18 +383,18 @@ New The object exists only in memory, and has not yet been created in the - NDB kernel + NDB kernel Changed The object has been modified in memory, and must be committed in the - NDB Kernel for changes - to take effect + NDB Kernel for changes to take + effect Retrieved The object exists, and has been read into main memory from the - NDB Kernel + NDB Kernel Invalid @@ -403,8 +402,8 @@ Altered - The table has been altered in the NDB - kernel, but is still available for use + The table has been altered in the NDB kernel, but is + still available for use Modified: trunk/ndbapi/class-table.xml =================================================================== --- trunk/ndbapi/class-table.xml 2009-01-22 20:10:44 UTC (rev 13350) +++ trunk/ndbapi/class-table.xml 2009-01-22 20:51:53 UTC (rev 13351) Changed blocks: 5, Lines Added: 14, Lines Deleted: 15; 2834 bytes @@ -15,8 +15,7 @@ This section describes the Table class, which - models a database table in the NDB - API. + models a database table in the NDB API. @@ -56,13 +55,13 @@ - It is possible using the NDB API to - create tables independently of the MySQL server. However, it is - usually not advisable to do so, since tables created in this - fashion cannot be seen by the MySQL server. Similarly, it is - possible using Table methods to modify existing - tables, but these changes (except for renaming tables) are not - visible to MySQL. + It is possible using the NDB API to create + tables independently of the MySQL server. However, it is usually + not advisable to do so, since tables created in this fashion + cannot be seen by the MySQL server. Similarly, it is possible + using Table methods to modify existing tables, + but these changes (except for renaming tables) are not visible to + MySQL. @@ -514,8 +513,8 @@ As with other database objects, Table object creation and attribute changes to existing tables done using the - NDB API are not visible from MySQL. - For example, if you add a new column to a table using + NDB API are not visible from MySQL. For + example, if you add a new column to a table using Table::addColumn(), MySQL will not see the new column. The only exception to this rule with regard to tables is that you can change the name of an existing table @@ -541,8 +540,8 @@ - Tables created in the NDB API - using this method are not accessible from MySQL. + Tables created in the NDB API using this + method are not accessible from MySQL. @@ -5065,8 +5064,8 @@ Even after the validate() method is called, there may still exist errors which can be detected only by the - NDB kernel when the table is - actually created. + NDB kernel when the table is actually + created. Modified: trunk/ndbapi/class-tablespace.xml =================================================================== --- trunk/ndbapi/class-tablespace.xml 2009-01-22 20:10:44 UTC (rev 13350) +++ trunk/ndbapi/class-tablespace.xml 2009-01-22 20:51:53 UTC (rev 13351) Changed blocks: 2, Lines Added: 4, Lines Deleted: 4; 972 bytes @@ -65,8 +65,8 @@ Versions of MySQL prior to 5.1 do not support Disk Data storage and so do not support tablespaces; thus the Tablespace class is unavailable for - NDB API applications written against - these MySQL versions. + NDB API applications written against these + MySQL versions. @@ -204,8 +204,8 @@ This section provides details of the public members of the - NDB API's - Tablespace class. + NDB API's Tablespace + class. Modified: trunk/ndbapi/class-undofile.xml =================================================================== --- trunk/ndbapi/class-undofile.xml 2009-01-22 20:10:44 UTC (rev 13350) +++ trunk/ndbapi/class-undofile.xml 2009-01-22 20:51:53 UTC (rev 13351) Changed blocks: 1, Lines Added: 2, Lines Deleted: 2; 656 bytes @@ -62,8 +62,8 @@ Versions of MySQL prior to 5.1 do not support Disk Data storage and so do not support undofile; thus the Undofile class is unavailable for - NDB API applications written against - these MySQL versions. + NDB API applications written against these + MySQL versions. Modified: trunk/ndbapi/getting-started.xml =================================================================== --- trunk/ndbapi/getting-started.xml 2009-01-22 20:10:44 UTC (rev 13350) +++ trunk/ndbapi/getting-started.xml 2009-01-22 20:51:53 UTC (rev 13351) Changed blocks: 17, Lines Added: 57, Lines Deleted: 64; 10905 bytes @@ -16,27 +16,27 @@ --> - Getting Started with the <literal role="se">NDB</literal> API + Getting Started with the <literal>NDB</literal> API This chapter discusses preparations for writing an - NDB API application. + NDB API application.
- Compiling and Linking <literal role="se">NDB</literal> API Programs + Compiling and Linking <literal>NDB</literal> API Programs This section provides information on compiling and linking - NDB API applications, including - requirements and compiler and linker options. + NDB API applications, including requirements + and compiler and linker options. @@ -46,23 +46,23 @@ General Requirements - To use the NDB API with MySQL, you - must have the NDB client library - and its header files installed alongside the regular MySQL - client libraries and headers. These are automatically installed - when you build MySQL using the - configure - option or when using a MySQL binary package that supports the - NDBCLUSTER storage engine. + To use the NDB API with MySQL, you must have + the NDB client library and its header files + installed alongside the regular MySQL client libraries and + headers. These are automatically installed when you build MySQL + using the + configure option or when using a MySQL binary + package that supports the NDBCLUSTER storage + engine. MySQL 4.1 does not install the required - NDB-specific header files. You - should use MySQL 5.0 or later when writing - NDB API applications, and this - Guide is targeted for use with MySQL 5.1. + NDB-specific header files. You should use + MySQL 5.0 or later when writing NDB API + applications, and this Guide is targeted for use with MySQL + 5.1. @@ -86,11 +86,11 @@ In order to compile source files that use the - NDB API, you must ensure that the - necessary header files can be found. Header files specific to - the NDB API are installed in the - following subdirectories of the MySQL - include directory: + NDB API, you must ensure that the necessary + header files can be found. Header files specific to the + NDB API are installed in the following + subdirectories of the MySQL include + directory: @@ -127,8 +127,8 @@ This sets the include path for the MySQL header files but not - for those specific to the NDB - API. The option to + for those specific to the NDB API. The + option to mysql_config returns the generic include path switch: @@ -170,12 +170,11 @@ Linker Options - NDB API applications must be linked - against both the MySQL and NDB - client libraries. The NDB client - library also requires some functions from the - mystrings library, so this must be linked in - as well. + NDB API applications must be linked against + both the MySQL and NDB client libraries. The + NDB client library also requires some + functions from the mystrings library, so this + must be linked in as well. @@ -397,9 +396,8 @@ - This section covers connecting an - NDB API application to a MySQL - cluster. + This section covers connecting an NDB API + application to a MySQL cluster. @@ -409,24 +407,23 @@ Include Files - NDB API applications require one or - more of the following include files: + NDB API applications require one or more of + the following include files: Applications accessing Cluster data via the - NDB API must include the file + NDB API must include the file NdbApi.hpp. - Applications making use of both the - NDB API and the regular MySQL - client API also need to include + Applications making use of both the NDB + API and the regular MySQL client API also need to include mysql.h. @@ -448,11 +445,11 @@ API Initialisation and Cleanup - Before using the NDB API, it must - first be initialised by calling the - ndb_init() function. Once an - NDB API application is complete, - call ndb_end(0) to perform a cleanup. + Before using the NDB API, it must first be + initialised by calling the ndb_init() + function. Once an NDB API application is + complete, call ndb_end(0) to perform a + cleanup.
@@ -575,8 +572,7 @@
- Mapping MySQL Database Object Names and Types to - <literal role="se">NDB</literal> + Mapping MySQL Database Object Names and Types to <literal>NDB</literal> @@ -593,8 +589,8 @@ Databases and schemas are not represented by objects as such in - the NDB API. Instead, they are - modelled as attributes of Table and + the NDB API. Instead, they are modelled as + attributes of Table and Index objects. The value of the database attribute of one of these objects is always the same as the name of the MySQL database to which the @@ -611,9 +607,8 @@ Tables - MySQL table names are directly mapped to - NDB table names without - modification. Table names starting with + MySQL table names are directly mapped to NDB + table names without modification. Table names starting with 'NDB$' are reserved for internal use>, as is the SYSTAB_0 table in the sys database. @@ -666,8 +661,7 @@ This index is given the name PRIMARY. There is no extra hash; however, the uniqueness of the primary key is guaranteed by making the MySQL key the - internal primary key of the - NDB table. + internal primary key of the NDB table. @@ -681,8 +675,8 @@ Column Names and Values - NDB column names are the same as - their MySQL names. + NDB column names are the same as their MySQL + names. @@ -692,8 +686,8 @@ Datatypes - MySQL datatypes are stored in NDB - columns as follows: + MySQL datatypes are stored in NDB columns as + follows: @@ -702,9 +696,8 @@ The MySQL TINYINT, SMALLINT, INT, and BIGINT datatypes map to - NDB types having the same - names and storage requirements as their MySQL - counterparts. + NDB types having the same names and + storage requirements as their MySQL counterparts. @@ -712,8 +705,8 @@ The MySQL FLOAT and DOUBLE datatypes are mapped to - NDB types having the same - names and storage requirements. + NDB types having the same names and + storage requirements. @@ -743,8 +736,8 @@ For in-memory columns, the - NDBCLUSTER storage - engine supports variable-width columns with 4-byte + NDBCLUSTER storage engine + supports variable-width columns with 4-byte alignment. This means that (for example) a the string 'abcde' stored in a VARCHAR(50) column using the Modified: trunk/ndbapi/interface-ndbrecord.xml =================================================================== --- trunk/ndbapi/interface-ndbrecord.xml 2009-01-22 20:10:44 UTC (rev 13350) +++ trunk/ndbapi/interface-ndbrecord.xml 2009-01-22 20:51:53 UTC (rev 13351) Changed blocks: 2, Lines Added: 6, Lines Deleted: 7; 1536 bytes @@ -10,8 +10,8 @@ NdbRecord is an interface which provides a mapping to a full or a partial record stored in - NDB. In the latter case, it can be used - in conjunction with a bitmap to assist in access. + NDB. In the latter case, it can be used in + conjunction with a bitmap to assist in access. NdbRecord is available beginning with MySQL Cluster NDB 6.2.3. @@ -55,13 +55,12 @@ An NdbRecord can be created in - NDB API programs by calling the + NDB API programs by calling the createRecord() method of the NdbDictionary class. In addition, a number of - NDB API methods have additional - declarations in MySQL Cluster NDB 6.2.3 and later MySQL Cluster NDB - 6.x releases that allow the programmer to leverage - NdbRecord: + NDB API methods have additional declarations in + MySQL Cluster NDB 6.2.3 and later MySQL Cluster NDB 6.x releases + that allow the programmer to leverage NdbRecord: Modified: trunk/ndbapi/mgm-api.xml =================================================================== --- trunk/ndbapi/mgm-api.xml 2009-01-22 20:10:44 UTC (rev 13350) +++ trunk/ndbapi/mgm-api.xml 2009-01-22 20:51:53 UTC (rev 13351) Changed blocks: 1, Lines Added: 1, Lines Deleted: 1; 545 bytes @@ -1588,7 +1588,7 @@ This section discusses MGM API functions that are used to initiate, configure, and terminate connections to an - NDB management server. + NDB management server. Modified: trunk/ndbapi/ndb-classes.xml =================================================================== --- trunk/ndbapi/ndb-classes.xml 2009-01-22 20:10:44 UTC (rev 13350) +++ trunk/ndbapi/ndb-classes.xml 2009-01-22 20:51:53 UTC (rev 13351) Changed blocks: 1, Lines Added: 3, Lines Deleted: 3; 747 bytes @@ -5,14 +5,14 @@ ]> - <literal role="se">NDB</literal> API Classes, Interfaces, and Structures + <literal>NDB</literal> API Classes, Interfaces, and Structures This chapter provides a detailed listing of all classes, - interfaces, and stuctures defined in the - NDB API. + interfaces, and stuctures defined in the NDB + API. Modified: trunk/ndbapi/ndb-errors.xml =================================================================== --- trunk/ndbapi/ndb-errors.xml 2009-01-22 20:10:44 UTC (rev 13350) +++ trunk/ndbapi/ndb-errors.xml 2009-01-22 20:51:53 UTC (rev 13351) Changed blocks: 15, Lines Added: 34, Lines Deleted: 40; 8377 bytes @@ -13,7 +13,7 @@ potentially generated in MySQL Cluster API applications. It includes information about error codes, classifications, and messages for the MGM API (see ) and - NDB API (see + NDB API (see ). Also provided in this chapter is a listing of exit codes and messages returned by a failed ndbd process, in @@ -307,17 +307,16 @@
- <literal role="se">NDB</literal> API Errors and Error Handling + <literal>NDB</literal> API Errors and Error Handling This section contains a discussion of error handling in - NDB API applications as well as - listing listings of the most common - NDB error codes and messages, along - with their classifications and likely causes for which they - might be raised. + NDB API applications as well as listing + listings of the most common NDB error codes + and messages, along with their classifications and likely causes + for which they might be raised. @@ -325,19 +324,18 @@ For information about the NdbError structure, which is used to convey error information to - NDB API applications, see + NDB API applications, see . It is strongly recommended that you not - depend on specific error codes in your - NDB API applications, as they are - subject to change over time. Instead, you should use the - NdbError::Status and error classification in - your source code, or consult the output of perror - + depend on specific error codes in your NDB + API applications, as they are subject to change over time. + Instead, you should use the NdbError::Status + and error classification in your source code, or consult the + output of perror error_code to obtain information about a specific error code. @@ -352,14 +350,13 @@
- Handling <literal role="se">NDB</literal> API Errors + Handling <literal>NDB</literal> API Errors - This section describes how NDB - API errors can be detected and mapped onto particular - operations. + This section describes how NDB API errors + can be detected and mapped onto particular operations. @@ -411,8 +408,8 @@ If you have worked with older versions of the - NDB API, you should be aware - that, beginning with MySQL Cluster NDB 6.2.0, the + NDB API, you should be aware that, + beginning with MySQL Cluster NDB 6.2.0, the AbortOption type is a member of NdbOperation. See , for more @@ -827,14 +824,14 @@ - For information about NDB API error + For information about NDB API error classification and status codes, see . While you should not not rely on a specific error code or message text in your - NDB API applications — since - error codes and messages are both subject to change over time - — it can be useful to check error codes and messages to - help determine why a particular failure occurred. For more + NDB API applications — since error + codes and messages are both subject to change over time — + it can be useful to check error codes and messages to help + determine why a particular failure occurred. For more information about these, see . For more about NdbError and the types of information which can be obtained from @@ -1002,8 +999,8 @@ This section lists all the error messages that can be returned when a data node process halts due to an error, arranged in most - cases according to the affected NDB - kernel block. + cases according to the affected NDB kernel + block. @@ -1025,7 +1022,7 @@ This section contains ndbd error codes that are either generic in nature or otherwise not associated with - a specific NDB kernel block. + a specific NDB kernel block. @@ -1226,8 +1223,7 @@ This section contains ndbd error codes that are associated with problems in the VM - (virtal machine) NDB kernel - block. + (virtal machine) NDB kernel block. @@ -1289,8 +1285,8 @@ This section contains ndbd error codes that are associated with problems in the NDBCNTR - (initialization and configuration) - NDB kernel block. + (initialization and configuration) NDB + kernel block. @@ -1333,8 +1329,7 @@ This section contains ndbd error codes that are associated with problems in the DIH - (distribution handler) NDB kernel - block. + (distribution handler) NDB kernel block. @@ -1384,8 +1379,8 @@ This section contains ndbd error codes that are associated with problems in the ACC - (access control and lock management) - NDB kernel block. + (access control and lock management) NDB + kernel block. @@ -1420,8 +1415,7 @@ This section contains ndbd error codes that are associated with problems in the TUP - (tuple management) NDB kernel - block. + (tuple management) NDB kernel block. @@ -1456,7 +1450,7 @@ This section contains ndbd error codes that are associated with problems in the NDBFS - (file system) NDB kernel block. + (filesystem) NDB kernel block. @@ -1701,7 +1695,7 @@
- <literal role="se">NDB</literal> Transporter Errors + <literal>NDB</literal> Transporter Errors This section lists error codes, names, and messages that are Modified: trunk/ndbapi/ndb-examples.xml =================================================================== --- trunk/ndbapi/ndb-examples.xml 2009-01-22 20:10:44 UTC (rev 13350) +++ trunk/ndbapi/ndb-examples.xml 2009-01-22 20:51:53 UTC (rev 13351) Changed blocks: 5, Lines Added: 14, Lines Deleted: 14; 2710 bytes @@ -1100,7 +1100,7 @@ - NDB: + Ndb: @@ -2388,8 +2388,8 @@ This program illustrates how to use secondary indexes in the - NDB API with the aid of the - NdbRecord interface introduced in MySQL-5.1.18-6.2.3.. + NDB API with the aid of the NdbRecord + interface introduced in MySQL-5.1.18-6.2.3.. @@ -2735,7 +2735,7 @@
- <literal role="se">NDB</literal> API Event Handling Example + <literal>NDB</literal> API Event Handling Example events @@ -3332,10 +3332,10 @@ This example illustrates the manipulation of a - BLOB column in the - NDB API. It demonstrates how to - perform insert, read, and update operations, using both inline - value buffers as well as read and write methods. + BLOB column in the NDB + API. It demonstrates how to perform insert, read, and update + operations, using both inline value buffers as well as read and + write methods. @@ -3863,12 +3863,12 @@ This example illustrates the manipulation of a - BLOB column in the - NDB API using the - NdbRecord interface available beginning with - MySQL Cluster NDB 6.2.3. It demonstrates how to perform insert, - read, and update operations, using both inline value buffers as - well as read and write methods. It can be found in the file + BLOB column in the NDB API + using the NdbRecord interface available + beginning with MySQL Cluster NDB 6.2.3. It demonstrates how to + perform insert, read, and update operations, using both inline + value buffers as well as read and write methods. It can be found + in the file storage/ndb/ndbapi-examples/ndbapi_blob_ndbrecord/main.cpp in the mysql-5.1-telco and mysql-5.1-telco-6.2 source trees. Modified: trunk/ndbapi/ndb-hierarchy.xml =================================================================== --- trunk/ndbapi/ndb-hierarchy.xml 2009-01-22 20:10:44 UTC (rev 13350) +++ trunk/ndbapi/ndb-hierarchy.xml 2009-01-22 20:51:53 UTC (rev 13351) Changed blocks: 2, Lines Added: 3, Lines Deleted: 3; 893 bytes @@ -5,11 +5,11 @@ ]> - The <literal role="se">NDB</literal> Object Hierarachy + The <literal>NDB</literal> Object Hierarachy Here we provide a hierarchical listing of all classes, interfaces, - and structures exposed by the NDB API. + and structures exposed by the NDB API. @@ -17,7 +17,7 @@ - NDB + Ndb Modified: trunk/ndbapi/ndb-internals.xml =================================================================== --- trunk/ndbapi/ndb-internals.xml 2009-01-22 20:10:44 UTC (rev 13350) +++ trunk/ndbapi/ndb-internals.xml 2009-01-22 20:51:53 UTC (rev 13351) Changed blocks: 32, Lines Added: 77, Lines Deleted: 84; 18097 bytes @@ -430,12 +430,11 @@ - This causes the contents of one or more - NDB registers on the node with ID - node_id to be dumped to the Cluster - log. The registers affected are determined by the value of - code. Some (but not all) - DUMP commands accept additional + This causes the contents of one or more NDB + registers on the node with ID node_id + to be dumped to the Cluster log. The registers affected are + determined by the value of code. Some + (but not all) DUMP commands accept additional arguments; these are noted and described where applicable. @@ -460,9 +459,8 @@ - The relevant NDB kernel block - or blocks (see - , for + The relevant NDB kernel block or blocks + (see , for information about these) @@ -1665,7 +1663,7 @@ Description - Provides NDB file system + Provides NDB file system statistics. @@ -1727,7 +1725,7 @@ Description - Prints NDB file system file + Prints NDB file system file handles and states (OPEN or CLOSED). @@ -1814,7 +1812,7 @@ Description - Prints list of NDB file system + Prints list of NDB file system open files. @@ -1883,7 +1881,7 @@ Description - Prints list of NDB file system + Prints list of NDB file system idle file handles. @@ -3405,14 +3403,14 @@ - Relation to <literal role="se">NDB</literal> API + Relation to <literal>NDB</literal> API It is possible to match the output of DUMP 2350 to specific threads or - NDB objects. First - suppose that you dump all operations on data node 2 - from API node 5, using table 4 only, like this: + Ndb objects. First suppose that + you dump all operations on data node 2 from API node + 5, using table 4 only, like this: ndb_mgm> 2 DUMP 2350 1 5 0 4 @@ -3423,12 +3421,11 @@ Suppose you are working with an - NDB instance named + Ndb instance named MyNdb, to which this operation belongs. You can see that this is the case by - calling the NDB - object's getReference() method, - like this: + calling the Ndb object's + getReference() method, like this: printf("MyNdb.getReference(): 0x%x\n", MyNdb.getReference()); @@ -8349,21 +8346,20 @@
- <literal role="se">NDB</literal> Protocol Overview + <literal>NDB</literal> Protocol Overview MySQL Cluster data and API nodes communicate with one another by passing messages to one another. The sending of a message from one node and its reception by another node is referred to as a - signal; the - NDB Protocol is the set of rules - governing the format of these messages and the manner in which - they are passed. + signal; the NDB + Protocol is the set of rules governing the format of these + messages and the manner in which they are passed. - An NDB message is typically either - a request or a + An NDB message is typically either a + request or a response. A request indicates that an API node wants to perform an operation involving cluster data (such as retrieval, insertion, updating, or deletion) or transactions @@ -8541,8 +8537,8 @@ Message Naming Conventions and Structure - This section describes the NDB - Protocol message types and their structures. + This section describes the NDB Protocol + message types and their structures. @@ -9123,12 +9119,12 @@
- <literal role="se">NDB</literal> Kernel Blocks + <literal>NDB</literal> Kernel Blocks The following sections list and describe the major kernel blocks - found in the NDB source code. These - are found under the directory + found in the NDB source code. These are found + under the directory storage/ndb/src/kernel/blocks/ in the MySQL source code tree. @@ -9250,8 +9246,8 @@ This block is responsible for configuration management between - the kernel blocks and the NDB - virtual machine, as well as the cluster job que and cluster + the kernel blocks and the NDB virtual + machine, as well as the cluster job que and cluster transporters. It is found in storage/ndb/src/kernel/blocks/cmvmi, and contains these files: @@ -9693,10 +9689,9 @@ Contains the definition of the Sysfile structure; in other words, - the format of an NDB system - file. See , - for more information about - NDB system files. + the format of an NDB system file. See + , for more + information about NDB system files. @@ -10711,7 +10706,7 @@ The routines contained in this file perform handling of - NDB internal triggers. + NDB internal triggers. @@ -11159,7 +11154,7 @@ The <literal>NDBFS</literal> Block - This block provides the NDB file + This block provides the NDB file system abstraction layer, and is located in the directory storage/ndb/src/kernel/blocks/ndbfs, which contains the following files: @@ -11337,8 +11332,8 @@ <filename>Ndbfs.hpp</filename> - Because an NDB signal - request can result in multiple requests to + Because an NDB signal request can + result in multiple requests to AsyncFile, one class (defined in this file) is responsible for keeping track of all outstanding requests, and when all are finished, @@ -11563,8 +11558,8 @@ Defines the Timer class, used by - NDB to keep strict - timekeeping independent of the system clock. + NDB to keep strict timekeeping + independent of the system clock. @@ -12030,7 +12025,7 @@ Connections between the kernel blocks and the - NDB file system are also set up + NDB file system are also set up during Phase 0. This is necessary to enable the blocks to communicate easily which parts of a table structure are to be written to disk. @@ -12038,8 +12033,8 @@ - NDB performs memory allocations in - two different ways. The first of these is by using the + NDB performs memory allocations in two + different ways. The first of these is by using the allocRecord() method (defined in storage/ndb/src/kernel/vm/SimulatedBlock.hpp). This is the traditional method whereby records are accessed @@ -12082,12 +12077,12 @@ <literal>STTOR</literal> Phase 0 - Most NDB kernel blocks begin their - start phases at STTOR Phase 1, with the - exception of NDBFS and - NDBCNTR, which begin with Phase 0, as can be - seen by inspecting the first value for each element in the - ALL_BLOCKS array (defined in + Most NDB kernel blocks begin their start + phases at STTOR Phase 1, with the exception + of NDBFS and NDBCNTR, + which begin with Phase 0, as can be seen by inspecting the first + value for each element in the ALL_BLOCKS + array (defined in src/kernel/blocks/ndbcntr/NdbcntrMain.cpp). In addition, when the STTOR signal is sent to a block, the return signal STTORRY always @@ -12106,7 +12101,7 @@ Both activities in Phase 0 have to do with initialization of the - NDB file system. First, if + NDB file system. First, if necessary, NDBFS creates the file system directory for the data node. In the case of an initial start, NDBCNTR clears any existing files from the @@ -12552,10 +12547,10 @@ DBACC, while DBTC allows its internal records to be exchanged with DBDIH. The DBDIH kernel - block creates the mutexes used by the - NDB kernel and reads nodes using - the READ_NODESREQ signal. With the data from - the response to this signal, DBDIH can create + block creates the mutexes used by the NDB + kernel and reads nodes using the + READ_NODESREQ signal. With the data from the + response to this signal, DBDIH can create node lists, node groups, and so forth. For node restarts and initial node restarts, DBDIH also asks the master for permission to perform the restart. The master will @@ -13280,12 +13275,11 @@
- <literal role="se">NDB</literal> Internals Glossary + <literal>NDB</literal> Internals Glossary This section contains terms and abbreviations that are found in or - useful to understanding the NDB - source code. + useful to understanding the NDB source code. @@ -13312,13 +13306,12 @@ API node - In NDB terms, this is any - application that accesses cluster data using the - NDB API, including - mysqld when functioning as an API node. - (MySQL servers acting in this capacity are also referred to - as SQL nodes). Often abbreviated to - API. + In NDB terms, this is any application + that accesses cluster data using the NDB + API, including mysqld when functioning as + an API node. (MySQL servers acting in this capacity are also + referred to as SQL nodes). Often abbreviated + to API. @@ -13335,11 +13328,11 @@ Virtual Machine Interface. An - NDB kernel handling non-signal - requests to the operating system, as well as configuration + NDB kernel handling non-signal requests + to the operating system, as well as configuration management, interaction with the cluster management server, and interaction between various kernel blocks and the - NDB virtual machine. See + NDB virtual machine. See , for more information. @@ -13383,7 +13376,7 @@ DICT - The NDB data + The NDB data DICTionary kernel block. Also DBDICT. See . @@ -13400,7 +13393,7 @@ DIstribution Handler. An - NDB kernel block. See + NDB kernel block. See . @@ -13416,8 +13409,8 @@ The Log Group MANager - NDB kernel block, used for - MySQL Cluster Disk Data tables. See + NDB kernel block, used for MySQL Cluster + Disk Data tables. See . @@ -13433,7 +13426,7 @@ Local Query Handler. - NDB kernel block, discussed in + NDB kernel block, discussed in . @@ -13466,9 +13459,9 @@ QMGR - The cluster management block in the - NDB kernel. It responsibilities - include monitoring heartbeats from data and API nodes. See + The cluster management block in the NDB + kernel. It responsibilities include monitoring heartbeats + from data and API nodes. See , for more information. @@ -13545,8 +13538,8 @@ Stands for TRansactions and IndeXes, - which are managed by the NDB - kernel block having this name. See + which are managed by the NDB kernel block + having this name. See . @@ -13579,8 +13572,8 @@ TUPle. Unit of data storage. Also used (along with DBTUP) to refer to the - NDB kernel's tuple management - block, which is discussed in + NDB kernel's tuple management block, + which is discussed in . Modified: trunk/ndbapi/ndbapi.xml =================================================================== --- trunk/ndbapi/ndbapi.xml 2009-01-22 20:10:44 UTC (rev 13350) +++ trunk/ndbapi/ndbapi.xml 2009-01-22 20:51:53 UTC (rev 13351) Changed blocks: 1, Lines Added: 4, Lines Deleted: 4; 897 bytes @@ -26,10 +26,10 @@ Provides information for developers wishing to use the low-level C/C++-language NDB API for the MySQL® - NDBCLUSTER storage engine. Includes - concepts, terminology, programming class and structure - references, practical examples, common problems, and tips for - using the NDB API in applications. + NDBCLUSTER storage engine. Includes concepts, + terminology, programming class and structure references, + practical examples, common problems, and tips for using the NDB + API in applications. Modified: trunk/ndbapi/overview.xml =================================================================== --- trunk/ndbapi/overview.xml 2009-01-22 20:10:44 UTC (rev 13350) +++ trunk/ndbapi/overview.xml 2009-01-22 20:51:53 UTC (rev 13351) Changed blocks: 16, Lines Added: 46, Lines Deleted: 51; 9198 bytes @@ -79,7 +79,7 @@ The NDB API provides a number of classes implementing the functionality described above. The most important of these - include the NDB, + include the Ndb, Ndb_cluster_connection, NdbTransaction, and NdbOperation classes. These model @@ -179,9 +179,9 @@ Checkpoint: Generally speaking, when data is saved to disk, it is said that a checkpoint has been reached. When working with the - NDB storage engine, there are two - sorts of checkpoints which work together in order to ensure - that a consistent view of the cluster's data is maintained: + NDB storage engine, there are two sorts of + checkpoints which work together in order to ensure that a + consistent view of the cluster's data is maintained: @@ -413,10 +413,10 @@ Fragment: Contains a portion of a database table; in other words, in the - NDB storage engine, a table is - broken up into and stored as a number of subsets, usually - referred to as fragments. A fragment is sometimes also called - a partition. + NDB storage engine, a table is broken up + into and stored as a number of subsets, usually referred to as + fragments. A fragment is sometimes also called a + partition. @@ -428,9 +428,8 @@ Replica: Under the - NDB storage engine, each table - fragment has number of replicas in order to provide - redundancy. + NDB storage engine, each table fragment has + number of replicas in order to provide redundancy. @@ -463,7 +462,7 @@ defined - NDB: This originally stood for + NDB: This originally stood for Network Database. It now refers to the storage engine used by MySQL AB to enable its MySQL Cluster distributed database. @@ -531,7 +530,7 @@
- The <literal role="se">NDBCLUSTER</literal> Transaction and Scanning API + The <literal>NDBCLUSTER</literal> Transaction and Scanning API @@ -580,8 +579,8 @@ - NDB is the main class, and - represents a connection to a database. + Ndb is the main class, and represents a + connection to a database. @@ -679,8 +678,8 @@ - The NDB event notification API is - not supported prior to MySQL 5.1. (Bug #19719) + The NDB event notification API is not + supported prior to MySQL 5.1. (Bug #19719) @@ -717,8 +716,7 @@ Initiate a database connection by constructing and - initialising one or more NDB - objects. + initialising one or more Ndb objects. @@ -739,7 +737,7 @@ - Delete NDB objects. + Delete Ndb objects. @@ -942,9 +940,8 @@ To execute several synchronous transactions in parallel, you - can either use multiple NDB - objects in several threads, or start multiple application - programs. + can either use multiple Ndb objects in + several threads, or start multiple application programs.
@@ -2017,15 +2014,14 @@ - The NDBCLUSTER storage engine - used by MySQL Cluster is a relational database engine storing - records in tables as with other relational database systems. - Table rows represent records as tuples of relational data. - When a new table is created, its attribute schema is specified - for the table as a whole, and thus each table row has the same + The NDBCLUSTER storage engine used by MySQL + Cluster is a relational database engine storing records in + tables as with other relational database systems. Table rows + represent records as tuples of relational data. When a new + table is created, its attribute schema is specified for the + table as a whole, and thus each table row has the same structure. Again, this is typical of relational databases, and - NDB is no different in this - regard. + NDB is no different in this regard. @@ -2070,11 +2066,11 @@ - NDBCLUSTER uses - pessimistic concurrency control based - on locking. If a requested lock (implicit and depending on - database operation) cannot be attained within a specified - time, then a timeout error results. + NDBCLUSTER uses pessimistic + concurrency control based on locking. If a + requested lock (implicit and depending on database + operation) cannot be attained within a specified time, then + a timeout error results. @@ -2172,9 +2168,9 @@ NdbTransaction::execute(), they are not immediately transferred to the NDB Kernel. Instead, transactions are kept in a special send list (buffer) in the - NDB object to which they belong. - The adaptive send algorithm decides when transactions should - actually be transferred to the NDB kernel. + Ndb object to which they belong. The adaptive + send algorithm decides when transactions should actually be + transferred to the NDB kernel. @@ -2185,19 +2181,18 @@ The NDB API is designed as a multi-threaded interface, and so it is often desirable to transfer database operations from more than one thread at a time. The NDB API keeps track of which - NDB objects are active in - transferring information to the NDB kernel and the expected - number of threads to interact with the NDB kernel. Note that a - given instance of NDB should be - used in at most one thread; different threads should - not share the same - NDB object. + Ndb objects are active in transferring + information to the NDB kernel and the expected number of threads + to interact with the NDB kernel. Note that a given instance of + Ndb should be used in at most one thread; + different threads should not share the same + Ndb object. There are four conditions leading to the transfer of database - operations from NDB object buffers - to the NDB kernel: + operations from Ndb object buffers to the NDB + kernel: @@ -2209,9 +2204,9 @@ implementation-dependent and may change between MySQL Cluster releases. When TCP/IP is the transporter, the buffer size is usually around 64 KB. Since each - NDB object provides a single - buffer per data node, the notion of a full - buffer is local to each data node. + Ndb object provides a single buffer per + data node, the notion of a full buffer is + local to each data node. Modified: trunk/ndbapi/struct-ndberror.xml =================================================================== --- trunk/ndbapi/struct-ndberror.xml 2009-01-22 20:10:44 UTC (rev 13350) +++ trunk/ndbapi/struct-ndberror.xml 2009-01-22 20:51:53 UTC (rev 13351) Changed blocks: 3, Lines Added: 5, Lines Deleted: 5; 1884 bytes @@ -442,8 +442,8 @@ This is a temporary failure which was likely caused by a node recovery in progress, some examples being when information sent between an application and - NDB is lost, or when - there is a distribution change. + NDB is lost, or when there is a + distribution change. OverloadError @@ -460,7 +460,7 @@ InternalError - A serious error has occurred in NDB itself. + A serious error has occurred in NDB itself. FunctionNotImplemented @@ -469,8 +469,8 @@ UnknownErrorCode - This is seen where the NDB error handler - cannot determine the correct error code to report. + This is seen where the NDB error handler cannot + determine the correct error code to report. NodeShutdown