Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.0-ndb

into poseidon.ndb.mysql.com:/home/tomas/mysql-5.0-ndb
This commit is contained in:
tomas@poseidon.ndb.mysql.com 2004-12-23 12:19:20 +01:00
commit a32f231f87
2 changed files with 16 additions and 8 deletions

View file

@ -98,10 +98,12 @@
@section secNdbOperations Operations
Each transaction (NdbTransaction object) consist of a list of
operations (Ndb*Operation objects).
operations (Ndb*Operation objects).
#ifndef DOXYGEN_SHOULD_SKIP_INTERNAL
Operations are of two different kinds:
-# standard operations, and
-# interpreted program operations.
#endif
<h3>Single row operations</h3>
After the operation is created using NdbTransaction::getNdbOperation
@ -205,8 +207,7 @@
The result of reading data from an NdbRecAttr object before
calling NdbTransaction::execute is undefined.
#ifndef DOXYGEN_SHOULD_SKIP_INTERNAL
<h3>Interpreted Program Operations</h3>
The following types of interpreted program operations exist:
-# NdbOperation::interpretedUpdateTuple :
@ -267,7 +268,7 @@
There might be zero NdbOperation::getValue calls.
-# The fifth step is possible subroutine definitions using
NdbOperation::def_subroutine and NdbOperation::ret_sub.
#endif
@subsection secScan Scanning
The most common use of interpreted programs is for scanning
@ -361,7 +362,7 @@
but is of the following form:
-# Start transaction
-# Get NdbScanOperation for the table to be scanned
-# NdbScanOperation::readTuplesExclusive returns a handle to a
-# NdbScanOperation::readTuples(NdbOperation::LM_Exclusive) returns a handle to a
NdbResultSet.
-# Search conditions are defined by NdbScanFilter
-# Call NdbTransaction::execute(NoCommit) to start the scan.
@ -384,7 +385,7 @@
See the scan example program in @ref ndbapi_scan.cppn for example
usage of the new scan api.
#ifndef DOXYGEN_SHOULD_SKIP_INTERNAL
<h3>Interpreted Programs</h3>
Interpretation programs are executed in a
register-based virtual machine.
@ -455,6 +456,7 @@
The parameter used by NdbOperation::def_subroutine
should match the automatic numbering to make it easier to
debug the interpreted program.
#endif
#ifndef DOXYGEN_SHOULD_SKIP_INTERNAL
@section secAsync Asynchronous Transactions
@ -587,7 +589,7 @@
theTransaction = theNdb->startTransaction();
theOperation = theTransaction->getNdbOperation("TEST_TABLE");
if (theOperation == NULL) goto error;
theOperation->readTuple();
theOperation->readTuple(NdbOperation::LM_Read);
theOperation->setValue("ATTR_1", at1);
theOperation->setValue("ATTR_2", at1); //Here an error occurs
theOperation->setValue("ATTR_3", at1);

View file

@ -168,7 +168,6 @@ public:
* @depricated
*/
virtual int dirtyRead();
#endif
/**
* Define the NdbOperation to be a standard operation of type committedRead.
@ -201,7 +200,9 @@ public:
* @return 0 if successful otherwise -1.
*/
virtual int dirtyWrite();
#endif
#ifndef DOXYGEN_SHOULD_SKIP_INTERNAL
/** @} *********************************************************************/
/**
* @name Define Interpreted Program Operation Type
@ -221,6 +222,7 @@ public:
* @return 0 if successful otherwise -1.
*/
virtual int interpretedDeleteTuple();
#endif
/** @} *********************************************************************/
@ -377,6 +379,7 @@ public:
virtual NdbBlob* getBlobHandle(const char* anAttrName);
virtual NdbBlob* getBlobHandle(Uint32 anAttrId);
#ifndef DOXYGEN_SHOULD_SKIP_INTERNAL
/** @} *********************************************************************/
/**
* @name Specify Interpreted Program Instructions
@ -675,6 +678,7 @@ public:
* @return -1 if unsuccessful.
*/
int ret_sub();
#endif
/** @} *********************************************************************/
@ -723,6 +727,7 @@ public:
LockMode getLockMode() const { return theLockMode; }
void setAbortOption(Int8 ao) { m_abortOption = ao; }
#ifndef DOXYGEN_SHOULD_SKIP_INTERNAL
/**
* Set/get distribution/partition key
*/
@ -730,6 +735,7 @@ public:
void setPartitionHash(Uint32 key);
void setPartitionHash(const Uint64 *, Uint32 len);
Uint32 getPartitionId() const;
#endif
protected:
int handle_distribution_key(const Uint64 *, Uint32 len);
protected: