diff options
author | unknown <jonas@perch.ndb.mysql.com> | 2007-01-30 19:45:44 +0100 |
---|---|---|
committer | unknown <jonas@perch.ndb.mysql.com> | 2007-01-30 19:45:44 +0100 |
commit | 7c9da59b70d0fd1adf0b3b9b863ec37381adaee3 (patch) | |
tree | 34df5d3ad9c921108f884333d048a6603fa4343b /storage/ndb/include/ndbapi/NdbOperation.hpp | |
parent | cb2d1c068e8a26d894dbd438270e7399a4575c09 (diff) | |
parent | 16c58c11b1617a8a4982e46c0d339ff850cfb05f (diff) | |
download | mariadb-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.hpp | 23 |
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* |