GlobalObjects
Loading...
Searching...
No Matches
glo::TransactionIndexPool Class Reference

This index is generated in each transaction and changes such as saving, deleting or inserting an object are only entered here until the transaction is committed or aborted. More...

#include <GloTransactionIndexPool.h>

Inheritance diagram for glo::TransactionIndexPool:

Public Member Functions

 TransactionIndexPool ()
 
virtual ~TransactionIndexPool ()
 
int insertTransactionDeletedObjID (const std::string &rsSchemaName, const ObjID &rDeletedObjId)
 
int removeTransactionDeletedObjID (const std::string &rsSchemaName, const ObjID &rDeletedObjId)
 
 TransactionIndexPool (const TransactionIndexPool &rT)
 Copy constructor.
 
 TransactionIndexPool (const IndexPool &rT)
 Copy constructor.
 
TransactionIndexPooloperator= (const TransactionIndexPool &rT)
 Assignment operator.
 
TransactionIndexPooloperator= (const IndexPool &rT)
 Assignment operator.
 
- Public Member Functions inherited from glo::IndexPool
 IndexPool ()
 
 IndexPool (const IndexPool &rT)
 
virtual ~IndexPool ()
 
void deleteAllSchemaIndexValues ()
 
virtual int getObjectStrIndexIterator (ObjectStrIndexIterator *&prObjectStrIndexIterators, const std::string &rsSchemaName, unsigned long ulClassID, const std::string &rsIndexName) const
 
virtual int getObjIdPosTuple (ObjIdPosTuple *&prRetVal, const std::string &rsSchemaName, unsigned long ulClassID, const ObjID &rObjID) const
 
virtual int getTableObjIdIndexIterator (TableObjIdIndexIterator *&prTableIterators, const std::string &rsSchemaName, unsigned long ulClassID) const
 
virtual int insertDeletedObjID (const std::string &rsSchemaName, const ObjID &rDeletedObjId)
 
virtual int insertObjIdPosTuple (const std::string &rsSchemaName, unsigned long ulClassID, const ObjIdPosTuple &rIndexTuple)
 
virtual int insertObjStrIdTuple (const std::string &rsSchemaName, unsigned long ulClassID, const std::string &rsIndexName, const ObjStrIdTuple &rIndexTuple)
 
virtual int isIndexFree (const std::string &rsSchemaName, unsigned long ulClassID, const ObjID &rObjID, const std::string &rsIndexName, const std::string &rsIndex) const
 
virtual bool isObjIdDeleted (const std::string &rsSchemaName, const ObjID &rObjID) const
 
virtual int isObjIdFree (const std::string &rsSchemaName, const ObjID &rObjID) const
 
IndexPooloperator= (const IndexPool &rT)
 
int releaseAllCommunicatorObjStrIdTuples (const std::string &rsSchemaName, const NUM_PTR ipReservingComunicator)
 
int releaseObjStrIdTuple (const std::string &rsSchemaName, unsigned long ulClassID, const std::string &rsIndexName, const NUM_PTR ipReservingComunicatorTrx)
 
virtual int removeObjId (const std::string &rsSchemaName, unsigned long ulClassID, const ObjID &rObjID)
 
virtual int removeObjStrIdTuple (const std::string &rsSchemaName, unsigned long ulClassID, const std::string &rsIndexName, const ObjID &rObjID, NUM_PTR ipReservingComunicatorTrx=0)
 
int reserveObjStrIdTuple (const std::string &rsSchemaName, unsigned long ulClassID, const std::string &rsIndexName, const ObjStrIdTuple &rIndexTuple)
 

Additional Inherited Members

- Protected Member Functions inherited from glo::IndexPool
void _deleteAllSchemaIndexValues ()
 
virtual bool _existsSchemaIndex (const std::string &rsSchemaName) const
 
virtual int _getFreeObjIDPos (std::streampos &rPos, const std::string &rsSchemaName, unsigned long ulClassID) const
 
virtual int _getObjectStrIndex (ObjectStrIndex *&prRetVal, const std::string &rsSchemaName, unsigned long ulClassID, const std::string &rsIndexName) const
 
virtual int _getObjectStrIndexIterator (ObjectStrIndexIterator *&prObjStrIterators, const std::string &rsSchemaName, unsigned long ulClassID, const std::string &rsIndexName) const
 
virtual int _getObjIdPosTuple (ObjIdPosTuple *&prRetVal, const std::string &rsSchemaName, unsigned long ulClassID, const ObjID &rObjID) const
 
virtual int _getSchemaIndex (SchemaIndex *&prRetVal, const std::string &rsSchemaName) const
 
virtual int _getTableObjIdIndex (TableObjIdIndex *&prRetVal, const std::string &rsSchemaName, unsigned long ulClassID) const
 
virtual int _getTableObjIdIndexIterator (TableObjIdIndexIterator *&prTableIterators, const std::string &rsSchemaName, unsigned long ulClassID) const
 
virtual int _insertDeletedObjID (const std::string &rsSchemaName, const ObjID &rDeletedObjId)
 
virtual int _insertFreeObjIDPos (const std::string &rsSchemaName, unsigned long ulClassID, std::streampos Pos)
 
virtual int _insertObjIdPosTuple (const std::string &rsSchemaName, unsigned long ulClassID, const ObjIdPosTuple &rIndexTuple)
 
virtual int _insertObjStrIdTuple (const std::string &rsSchemaName, unsigned long ulClassID, const std::string &rsIndexName, const ObjStrIdTuple &rIndexTuple)
 
virtual bool _isObjIdDeleted (const std::string &rsSchemaName, const ObjID &rObjID) const
 
virtual int _isObjIdFree (const std::string &rsSchemaName, unsigned long ulClassID, const ObjID &rObjID) const
 
virtual int _makeObjectStrIndex (const std::string &rsSchemaName, const std::string &rsTablePathName, unsigned long ulClassID, const std::string &rsIndexName, bool bUnique)
 
virtual int _makeTableObjIdIndex (const std::string &rsSchemaName, const std::string &rsTablePathName, unsigned long ulClassID)
 
virtual int _removeFreeObjIDPos (const std::string &rsSchemaName, unsigned long ulClassID, std::streampos Pos)
 
int _removeSchemaIndex (const std::string &rsSchemaName)
 
void copyMapFrom (const IndexPool &rT)
 
- Protected Attributes inherited from glo::IndexPool
eut::CriticalSection m_LocalCriticalSection
 
std::map< std::string, SchemaIndex *, std::less< std::string > > m_SchemaIndexMap
 

Detailed Description

This index is generated in each transaction and changes such as saving, deleting or inserting an object are only entered here until the transaction is committed or aborted.

Author
Helmut Jakoby

Constructor & Destructor Documentation

◆ TransactionIndexPool() [1/3]

glo::TransactionIndexPool::TransactionIndexPool ( )

Standard constructor.

◆ TransactionIndexPool() [2/3]

glo::TransactionIndexPool::TransactionIndexPool ( const TransactionIndexPool & rT)

Copy constructor.

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

◆ TransactionIndexPool() [3/3]

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

Copy constructor.

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

◆ ~TransactionIndexPool()

virtual glo::TransactionIndexPool::~TransactionIndexPool ( )
virtual

Destructor.

Member Function Documentation

◆ insertTransactionDeletedObjID()

int glo::TransactionIndexPool::insertTransactionDeletedObjID ( const std::string & rsSchemaName,
const ObjID & rDeletedObjId )

Registers passed object ID in the current transaction for a schema index as deleted (increments the deletion counter, see also DeletedObjIdTuple::m_iDelCounter ).

Parameters
[in]rsSchemaNameThe schema name (e.g. "MyGloBase") to identify the SchemaIndex.
[in]rDeletedObjIdThe object ID to be registered as deleted.
Returns
A return value < 0 indicates an error.
Note
This method blocks further calls of methods of this class, which are secured with m_LocalCriticalSection.

◆ operator=() [1/2]

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

Assignment operator.

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

◆ operator=() [2/2]

TransactionIndexPool & glo::TransactionIndexPool::operator= ( const TransactionIndexPool & rT)

Assignment operator.

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

◆ removeTransactionDeletedObjID()

int glo::TransactionIndexPool::removeTransactionDeletedObjID ( const std::string & rsSchemaName,
const ObjID & rDeletedObjId )

Deregisters passed object ID for the current transaction for a schema index as deleted. (decrements the deletion counter, see also DeletedObjIdTuple::m_iDelCounter).

Parameters
[in]rsSchemaNameThe schema name (e.g. "MyGloBase") to identify the SchemaIndex.
[in]rDeletedObjIdThe object ID to be deregistered as deleted.
Returns
A return value < 0 indicates an error.
Note
This method blocks further calls of methods of this class, which are secured with m_LocalCriticalSection.

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