summaryrefslogtreecommitdiff
path: root/storage/ndb/include/ndbapi/NdbOperation.hpp
diff options
context:
space:
mode:
authorunknown <jonas@perch.ndb.mysql.com>2007-01-30 19:45:44 +0100
committerunknown <jonas@perch.ndb.mysql.com>2007-01-30 19:45:44 +0100
commit7c9da59b70d0fd1adf0b3b9b863ec37381adaee3 (patch)
tree34df5d3ad9c921108f884333d048a6603fa4343b /storage/ndb/include/ndbapi/NdbOperation.hpp
parentcb2d1c068e8a26d894dbd438270e7399a4575c09 (diff)
parent16c58c11b1617a8a4982e46c0d339ff850cfb05f (diff)
downloadmariadb-git-7c9da59b70d0fd1adf0b3b9b863ec37381adaee3.tar.gz
Merge perch.ndb.mysql.com:/home/jonas/src/51-work
into perch.ndb.mysql.com:/home/jonas/src/mysql-5.1-new-ndb sql/ha_ndbcluster.cc: Auto merged storage/ndb/include/ndbapi/NdbOperation.hpp: Auto merged storage/ndb/include/ndbapi/NdbTransaction.hpp: Auto merged storage/ndb/src/ndbapi/NdbBlob.cpp: Auto merged storage/ndb/src/ndbapi/NdbIndexStat.cpp: Auto merged storage/ndb/src/ndbapi/NdbOperationDefine.cpp: Auto merged storage/ndb/src/ndbapi/NdbOperationExec.cpp: Auto merged storage/ndb/src/ndbapi/NdbScanOperation.cpp: Auto merged storage/ndb/src/ndbapi/NdbTransaction.cpp: Auto merged storage/ndb/test/include/HugoOperations.hpp: Auto merged storage/ndb/test/ndbapi/testNdbApi.cpp: Auto merged storage/ndb/test/src/HugoOperations.cpp: Auto merged
Diffstat (limited to 'storage/ndb/include/ndbapi/NdbOperation.hpp')
-rw-r--r--storage/ndb/include/ndbapi/NdbOperation.hpp23
1 files changed, 21 insertions, 2 deletions
diff --git a/storage/ndb/include/ndbapi/NdbOperation.hpp b/storage/ndb/include/ndbapi/NdbOperation.hpp
index 556412c4799..90b90c7e481 100644
--- a/storage/ndb/include/ndbapi/NdbOperation.hpp
+++ b/storage/ndb/include/ndbapi/NdbOperation.hpp
@@ -98,6 +98,19 @@ public:
};
/**
+ * How should transaction be handled if operation fails
+ *
+ * For READ, default is AO_IgnoreError
+ * DML, default is AbortOnError
+ * CommittedRead does _only_ support AO_IgnoreError
+ */
+ enum AbortOption {
+ DefaultAbortOption = -1,///< Use default as specified by op-type
+ AbortOnError = 0, ///< Abort transaction on failed operation
+ AO_IgnoreError = 2 ///< Transaction continues on failed operation
+ };
+
+ /**
* Define the NdbOperation to be a standard operation of type insertTuple.
* When calling NdbTransaction::execute, this operation
* adds a new tuple to the table.
@@ -776,8 +789,13 @@ public:
*/
LockMode getLockMode() const { return theLockMode; }
+ /**
+ * Get/set abort option
+ */
+ AbortOption getAbortOption() const;
+ int setAbortOption(AbortOption);
+
#ifndef DOXYGEN_SHOULD_SKIP_INTERNAL
- void setAbortOption(Int8 ao) { m_abortOption = ao; }
/**
* Set/get partition key
@@ -856,7 +874,8 @@ protected:
int doSend(int ProcessorId, Uint32 lastFlag);
virtual int prepareSend(Uint32 TC_ConnectPtr,
- Uint64 TransactionId);
+ Uint64 TransactionId,
+ AbortOption);
virtual void setLastFlag(NdbApiSignal* signal, Uint32 lastFlag);
int prepareSendInterpreted(); // Help routine to prepare*