GlobalObjects
|
Der Transaktions-Stack eines Client-Kommunikators für eine Datenbank. Mehr ...
#include <GloTransactionManager.h>
Öffentliche Methoden | |
CommunicatorTransactionStack (Communicator *pCommunicator) | |
~CommunicatorTransactionStack () | |
bool | abortTransaction (std::list< TransactionBase * > &rAbortedTransactionStepList) |
void | beginTransaction () |
bool | commitTransaction () |
Communicator * | getCommunicator () |
std::list< TransactionManager::TransactionBase * > & | getTransactionStack () |
int | setTransactionStep (NUM_PTR &nNewTrxStepAddr, EnStoreDelete eAction, Record *pActionRecord) |
Geschützte Methoden | |
CommunicatorTransactionStack () | |
Private Methoden | |
CommunicatorTransactionStack (const CommunicatorTransactionStack &) | |
TransactionManager::CommunicatorTransactionStack & | operator= (const CommunicatorTransactionStack &) |
Private Attribute | |
int | m_iCurrentTransactionPoint |
Communicator * | m_pCommunicator |
std::list< TransactionBase * > | m_TransactionStack |
Der Transaktions-Stack eines Client-Kommunikators für eine Datenbank.
|
protected |
Der Standard-Konstruktor steht nicht zur Verfügung.
glo::TransactionManager::CommunicatorTransactionStack::CommunicatorTransactionStack | ( | Communicator * | pCommunicator | ) |
Konstruktor mit Parameterübergabe.
[in] | pCommunicator | Der Client-Kommunikator, der die Transaktion startet. |
eut::ErrorNException | Bei einem Fehler wird eine Exception geworfen. |
glo::TransactionManager::CommunicatorTransactionStack::~CommunicatorTransactionStack | ( | ) |
Destruktor, es wird die Transaktion abgebrochen und der Speicher aufgeräumt.
|
private |
Der Copy-Konstruktor steht nicht zur Verfügung.
bool glo::TransactionManager::CommunicatorTransactionStack::abortTransaction | ( | std::list< TransactionBase * > & | rAbortedTransactionStepList | ) |
Es wird der Transaktions-Stack bis zum TransactionPoint mit dem aktuelenn Wert aus m_iCurrentTransactionPoint abgebaut.
Dann wird der Wert in m_iCurrentTransactionPoint dekrementiert. Wenn dieser 0,wird true geliefert.
[in,out] | rAbortedTransactionStepList | In dieser Liste werden die verworfenen TransactionSteps geliefert (müssen u.a. noch im LockManager freigegeben werden). |
void glo::TransactionManager::CommunicatorTransactionStack::beginTransaction | ( | ) |
Beginnt eine neue Transaktion, indem ein neuer TransactionPoint auf den Transaktions-Stack gelegt wird.
bool glo::TransactionManager::CommunicatorTransactionStack::commitTransaction | ( | ) |
Es wird der Wert in m_iCurrentTransactionPoint dekrementiert. Wenn dieser 0, wird true geliefert.
Communicator * glo::TransactionManager::CommunicatorTransactionStack::getCommunicator | ( | ) |
Liefert einen Zeiger auf den Client-Kommunikator, der die Transaktion gestartet hat..
std::list< TransactionManager::TransactionBase * > & glo::TransactionManager::CommunicatorTransactionStack::getTransactionStack | ( | ) |
Liefert eine Referenz auf den Transaktions-Stack.
|
private |
Der Zuweisungsoperator steht nicht zur Verfügung.
int glo::TransactionManager::CommunicatorTransactionStack::setTransactionStep | ( | NUM_PTR & | nNewTrxStepAddr, |
EnStoreDelete | eAction, | ||
Record * | pActionRecord ) |
Generiert einen TransactionStep und legt diesen auf den Transaktions-Stack.
[in,out] | nNewTrxStepAddr | Die Adresse des erstellten Transaktionsschritts, um Indexe verwalten zu können (siehe auch IndexPool::ObjectStrIndex::m_ReservedIndexMultiMap). |
[in] | eAction | Die Aktion wie mit dem Datensatz umgegangen werden soll; speichern oder löschen. |
[in] | pActionRecord | Der Datensatz welcher gespeichert bzw. gelöscht werden soll. Es wird der Datensatz kopiert und nicht 'remembert'. |
|
private |
Der aktuelle Zähler des letzten TransactionPoint.
|
private |
Der Client-Kommunikator, der die Transaktion gestartet hat.
|
private |
Die Liste der einzelnen Objekte vom Typ TransactionPoint und TransactionStep.