1#ifndef INC_GLOTRANSACTIONMANAGER_H
2#define INC_GLOTRANSACTIONMANAGER_H
50#include <unordered_map>
53#if defined(_MSC_VER) || defined(__MINGW32__) || defined(__MINGW64__)
55#elif defined(__GNUC__)
56 #define INT_PTR intptr_t
72 #pragma warning( disable : 4251 )
520 bool bLocalCopy =
false );
1185 const ObjID & rObjID,
1186 const std::string & rsDataPath,
1187 bool bInRecursion =
false );
1223 const ObjID & rObjID,
1224 const std::string & rsDataPath,
1225 bool bInRecursion =
false );
1329 #pragma warning( default : 4251 )
Header for TransactionOwner
For each library, here 'GlobalObjects' there is a type file.
#define __glo_export_dll
Definition GloTypes.h:70
Superclass of LocalThread, ClientThread and ServerThread, because they can act as senders and receive...
Definition GloCommunicator.h:93
An object ID consists of the class ID, a database ID and the actual unique object number (all unsigne...
Definition GloObjID.h:84
Objects of this class transport the data from the tables into the persistent object and from these ag...
Definition GloRecord.h:108
The transaction stack of a client communicator with thread-id for a database.
Definition GloTransactionManager.h:698
CommunicatorTransactionStack(const TransactionOwner &rCommunicatorWithTreadID)
CommunicatorTransactionStack()
int setTransactionStep(NUM_PTR &nNewTrxStepAddr, EnStoreDelete eAction, Record *pActionRecord)
TransactionOwner m_CommunicatorWithTreadID
Definition GloTransactionManager.h:711
TransactionOwner getCommunicator()
CommunicatorTransactionStack(const CommunicatorTransactionStack &)
std::list< TransactionManager::TransactionBase * > & getTransactionStack()
~CommunicatorTransactionStack()
std::list< TransactionBase * > m_TransactionStack
Definition GloTransactionManager.h:724
bool abortTransaction(std::list< TransactionBase * > &rAbortedTransactionStepList)
int m_iCurrentTransactionPoint
Definition GloTransactionManager.h:735
Base class for TransactionPoint and TransactionStep.
Definition GloTransactionManager.h:224
virtual ~TransactionBase()
TransactionBase(const TransactionBase &)
Objects of this class reflect a transaction start.
Definition GloTransactionManager.h:299
virtual ~TransactionPoint()
TransactionPoint(int iCount)
TransactionPoint(const TransactionPoint &)
int m_iCount
Definition GloTransactionManager.h:316
Objects of this class reflect a record operation.
Definition GloTransactionManager.h:428
TransactionStep(EnStoreDelete eAction, Record *pActionRecord, bool bLocalCopy=false)
TransactionManager::EnStoreDelete m_eAction
Definition GloTransactionManager.h:467
bool m_bLocalCopyRecord
Definition GloTransactionManager.h:444
TransactionStep(const TransactionStep &)
ObjID getActionRecordObjID() const
TransactionManager::EnStoreDelete getAction() const
int takeOverObjIDsFilePos(const Record &rSourceRecord)
void getActionRecord(Record *&prRetVal) const
Record * m_pActionRecord
Definition GloTransactionManager.h:455
const Record * getActionRecord() const
virtual ~TransactionStep()
class to guarantee transactions.
Definition GloTransactionManager.h:172
std::map< TransactionOwner, CommunicatorTransactionStack * >::iterator m_TransactionStackMapIterator
Definition GloTransactionManager.h:968
EnStoreDelete
Definition GloTransactionManager.h:186
std::map< TransactionOwner, CommunicatorTransactionStack *, std::less< TransactionOwner > > m_TransactionStackMap
Definition GloTransactionManager.h:957
TransactionManager::CommunicatorTransactionStack * getTransactionStack(const TransactionOwner &rCommunicatorWithTreadID)
virtual ~TransactionManager()
int getActionRecord(Record *&prRetVal, EnStoreDelete &reAction, const TransactionOwner &rCommunicatorWithTreadID, const ObjID &rObjID, const std::string &rsDataPath, bool bInRecursion=false)
void beginTransaction(const TransactionOwner &rCommunicatorWithTreadID)
int commitTransaction(CommunicatorTransactionStack *&prRetVal, const TransactionOwner &rCommunicatorWithTreadID)
int setTransactionStep(NUM_PTR &nNewTrxStepAddr, const TransactionOwner &rCommunicatorWithTreadID, EnStoreDelete eAction, Record *pActionRecord)
std::unordered_map< ObjID, Record *, glo::ObjID::HashFunction > m_RecursionRecordMap
Definition GloTransactionManager.h:980
void removeCurrentTransactionStack()
void deleteAllTransactions(Communicator *pCommunicator)
bool inTransaction(const TransactionOwner &rCommunicatorWithTreadID) const
int writeTransactionFile(CommunicatorTransactionStack *pTransactionStack)
int getActionRecord(std::shared_ptr< Record > &rRetVal, EnStoreDelete &reAction, const TransactionOwner &rCommunicatorWithTreadID, const ObjID &rObjID, const std::string &rsDataPath, bool bInRecursion=false)
int abortTransaction(std::list< TransactionBase * > &rAbortedTransactionStepList, const TransactionOwner &rCommunicatorWithTreadID)
TransactionManager(const TransactionManager &)
In order to make transactions available not only to a glo::Communicator, but also to individual threa...
Definition GloTransactionOwner.h:81
Definition GloAbstractBaseLot.h:49