GlobalObjects
Loading...
Searching...
No Matches
glo::IndexPool::DeletedObjIdTuple Class Reference

Class to manage deleted objects in the IndexPool::SchemaIndex. More...

#include <GloIndexPool.h>

Public Member Functions

 DeletedObjIdTuple ()
 
 DeletedObjIdTuple (const DeletedObjIdTuple &rT)
 
 DeletedObjIdTuple (const ObjID &rObjID, int iDelCounter)
 
virtual ~DeletedObjIdTuple ()
 
IndexPool::DeletedObjIdTupleoperator= (const DeletedObjIdTuple &rT)
 
std::string toString () const
 
bool operator== (const DeletedObjIdTuple &rT) const
 
bool operator!= (const DeletedObjIdTuple &rT) const
 
bool operator> (const DeletedObjIdTuple &rT) const
 
bool operator>= (const DeletedObjIdTuple &rT) const
 
bool operator< (const DeletedObjIdTuple &rT) const
 
bool operator<= (const DeletedObjIdTuple &rT) const
 
bool operator== (int iDelCounter) const
 
bool operator!= (int iDelCounter) const
 
bool operator> (int iDelCounter) const
 
bool operator>= (int iDelCounter) const
 
bool operator< (int iDelCounter) const
 
bool operator<= (int iDelCounter) const
 

Public Attributes

int m_iDelCounter
 
ObjID m_ObjID
 

Detailed Description

Class to manage deleted objects in the IndexPool::SchemaIndex.

Deleted objects must not be saved again. The object IDs of deleted objects are stored here. This is to ensure that objects deleted by one client are not saved again by another client who still has the deleted object in memory. The object ID is not reusable, so the deleted object cannot be saved as a new one.

Author
Helmut Jakoby

Constructor & Destructor Documentation

◆ DeletedObjIdTuple() [1/3]

glo::IndexPool::DeletedObjIdTuple::DeletedObjIdTuple ( )

Standard constructor.

◆ DeletedObjIdTuple() [2/3]

glo::IndexPool::DeletedObjIdTuple::DeletedObjIdTuple ( const ObjID & rObjID,
int iDelCounter )

Constructor with parameter passing.

Parameters
[in]rObjIDThe object ID of the object deleted in the database.
[in]iDelCounterThe deletion counter.

◆ DeletedObjIdTuple() [3/3]

glo::IndexPool::DeletedObjIdTuple::DeletedObjIdTuple ( const DeletedObjIdTuple & rT)

Copy constructor.

Parameters
[in]rTThe data is copied from this object.

◆ ~DeletedObjIdTuple()

virtual glo::IndexPool::DeletedObjIdTuple::~DeletedObjIdTuple ( )
virtual

Destructor.

Member Function Documentation

◆ operator!=() [1/2]

bool glo::IndexPool::DeletedObjIdTuple::operator!= ( const DeletedObjIdTuple & rT) const

Comparison operator.

Parameters
[in]rTThe object to be compared with this one.

◆ operator!=() [2/2]

bool glo::IndexPool::DeletedObjIdTuple::operator!= ( int iDelCounter) const

Comparison operator.

Parameters
[in]iDelCounterOnly the deletion counter is compared.

◆ operator<() [1/2]

bool glo::IndexPool::DeletedObjIdTuple::operator< ( const DeletedObjIdTuple & rT) const

Comparison operator.

Parameters
[in]rTThe object to be compared with this one.

◆ operator<() [2/2]

bool glo::IndexPool::DeletedObjIdTuple::operator< ( int iDelCounter) const

Comparison operator.

Parameters
[in]iDelCounterOnly the deletion counter is compared.

◆ operator<=() [1/2]

bool glo::IndexPool::DeletedObjIdTuple::operator<= ( const DeletedObjIdTuple & rT) const

Comparison operator.

Parameters
[in]rTThe object to be compared with this one.

◆ operator<=() [2/2]

bool glo::IndexPool::DeletedObjIdTuple::operator<= ( int iDelCounter) const

Comparison operator.

Parameters
[in]iDelCounterOnly the deletion counter is compared.

◆ operator=()

IndexPool::DeletedObjIdTuple & glo::IndexPool::DeletedObjIdTuple::operator= ( const DeletedObjIdTuple & rT)

Assignment operator.

Parameters
[in]rTThe data is transferred from this object.

◆ operator==() [1/2]

bool glo::IndexPool::DeletedObjIdTuple::operator== ( const DeletedObjIdTuple & rT) const

Comparison operator.

Parameters
[in]rTThe object to be compared with this one.

◆ operator==() [2/2]

bool glo::IndexPool::DeletedObjIdTuple::operator== ( int iDelCounter) const

Comparison operator.

Parameters
[in]iDelCounterOnly the deletion counter is compared.

◆ operator>() [1/2]

bool glo::IndexPool::DeletedObjIdTuple::operator> ( const DeletedObjIdTuple & rT) const

Comparison operator.

Parameters
[in]rTThe object to be compared with this one.

◆ operator>() [2/2]

bool glo::IndexPool::DeletedObjIdTuple::operator> ( int iDelCounter) const

Comparison operator.

Parameters
[in]iDelCounterOnly the deletion counter is compared.

◆ operator>=() [1/2]

bool glo::IndexPool::DeletedObjIdTuple::operator>= ( const DeletedObjIdTuple & rT) const

Comparison operator.

Parameters
[in]rTThe object to be compared with this one.

◆ operator>=() [2/2]

bool glo::IndexPool::DeletedObjIdTuple::operator>= ( int iDelCounter) const

Comparison operator.

Parameters
[in]iDelCounterOnly the deletion counter is compared.

◆ toString()

std::string glo::IndexPool::DeletedObjIdTuple::toString ( ) const

Returns in the form 'Object ID|Deletion counter|' e.g. "7.0.2743|2|".

Returns
The object ID and the deletion counter in a string.

Member Data Documentation

◆ m_iDelCounter

int glo::IndexPool::DeletedObjIdTuple::m_iDelCounter

To ensure that transactions are processed cleanly, a deletion counter is available for the TransactionsIndexPool.

This allows to count the number of times an object has been deleted from the database in different transactions.

A transaction that is aborted does not know about a possibly enclosing transaction, where the object might be deleted with a commit.

◆ m_ObjID

ObjID glo::IndexPool::DeletedObjIdTuple::m_ObjID

The object ID of the object deleted in the database.


The documentation for this class was generated from the following file: