Commit 32544f17 authored by unknown's avatar unknown
Browse files

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

into poseidon.ndb.mysql.com:/home/tomas/mysql-5.0-ndb

parents 07086656 56ba2a8d
Loading
Loading
Loading
Loading
+9 −7
Original line number Diff line number Diff line
@@ -99,9 +99,11 @@

   Each transaction (NdbTransaction object) consist of a list of 
   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);
+7 −1
Original line number Diff line number Diff line
@@ -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: