1#ifndef INC_GLOINDEXPOOL_H
2#define INC_GLOINDEXPOOL_H
52#if defined (__PTHREADS)
61#if defined(_MSC_VER) || defined(__MINGW32__) || defined(__MINGW64__)
63#elif defined(__GNUC__)
64 #define INT_PTR intptr_t
71 class SchemaInterface;
73 class WatchNotifyManager;
77 #pragma warning( disable : 4251 )
369 bool operator== (
int iDelCounter )
const;
370 bool operator!= (
int iDelCounter )
const;
371 bool operator> (
int iDelCounter )
const;
372 bool operator>= (
int iDelCounter )
const;
373 bool operator< (
int iDelCounter )
const;
374 bool operator<= (
int iDelCounter )
const;
548 bool operator== ( std::streampos Pos )
const;
549 bool operator!= ( std::streampos Pos )
const;
550 bool operator> ( std::streampos Pos )
const;
551 bool operator>= ( std::streampos Pos )
const;
552 bool operator< ( std::streampos Pos )
const;
553 bool operator<= ( std::streampos Pos )
const;
686 const ObjID & rObjID,
687 NUM_PTR ipReservingComunicatorTrx = 0 );
740 const ObjID & rObjID,
741 NUM_PTR ipReservingComunicatorTrx = 0 );
1168 const ObjID & rObjID )
const;
1640 const ObjID & rObjID );
1878 unsigned long ulClassID,
1879 const std::string & rsIndexName,
1980 const std::map< std::string, IndexPool::ObjStrIdTuple * , std::less< std::string > > &
getUniqueIndexMapRef()
const;
2100 NUM_PTR ipReservingComunicatorTrx = 0 );
2254 NUM_PTR ipReservingComunicatorTrx = 0 );
2399 : m_eComparisionOperator(
EQUAL )
2701 const std::string & rsIndex,
2732 const std::string & rsIndex,
2765 const std::string & rsRangeStartIndex,
2766 const std::string & rsRangeEndIndex )
const;
2860 const std::string & rsRangeEndIndex );
3081 const std::string rsSourceIndex )
const;
3116 const std::string & rsIndex );
3151 const std::string & rsIndex );
3383 unsigned long ulClassID )
const;
3403 unsigned long ulClassID );
3425 unsigned long ulClassID )
const;
3463 const ObjID & rObjID )
const;
3612 unsigned long ulClassID,
3613 const ObjID & rObjID )
const;
3713 unsigned long ulClassID,
3714 const std::string & rsIndexName )
const;
3744 unsigned long ulClassID,
3745 const std::string & rsIndexName,
3774 unsigned long ulClassID,
3775 const std::string & rsIndexName );
3800 const std::string & rsIndexName );
3831 const ObjID & rObjID,
3832 const std::string & rsIndexName,
3833 const std::string & rsIndex )
const;
3864 const std::string & rsIndexName,
3898 const std::string & rsIndexName,
3899 const NUM_PTR ipReservingComunicatorTrx );
3925 const std::string & rsIndexName,
3961 const std::string & rsIndexName,
3962 const ObjID & rObjID,
3963 NUM_PTR ipReservingComunicatorTrx = 0 );
4035 #if defined (__PTHREADS)
4123 const std::string & rsSchemaName,
4124 unsigned long ulClassID )
const;
4152 const ObjID & rObjID )
const;
4176 const ObjID & rDeletedObjId );
4203 const ObjID & rObjID )
const;
4237 unsigned long ulClassID,
4275 const std::string & rsSchemaName,
4276 unsigned long ulClassID,
4277 const ObjID & rObjID )
const;
4310 unsigned long ulClassID,
4311 const ObjID & rObjID );
4347 const std::string & rsSchemaName,
4348 unsigned long ulClassID,
4349 const std::string & rsIndexName )
const;
4389 unsigned long ulClassID,
4390 const ObjID & rObjID,
4391 const std::string & rsIndexName,
4392 const std::string & rsIndex )
const;
4431 unsigned long ulClassID,
4432 const std::string & rsIndexName,
4473 unsigned long ulClassID,
4474 const std::string & rsIndexName,
4475 const NUM_PTR ipReservingComunicatorTrx );
4511 unsigned long ulClassID,
4512 const std::string & rsIndexName,
4558 unsigned long ulClassID,
4559 const std::string & rsIndexName,
4560 const ObjID & rObjID,
4561 NUM_PTR ipReservingComunicatorTrx = 0 );
4665 const std::string & rsSchemaName )
const;
4692 const std::string & rsSchemaName,
4693 unsigned long ulClassID )
const;
4720 const std::string & rsTablePathName,
4721 unsigned long ulClassID );
4748 const std::string & rsSchemaName,
4749 unsigned long ulClassID )
const;
4780 const std::string & rsSchemaName,
4781 unsigned long ulClassID,
4782 const std::string & rsIndexName )
const;
4818 const std::string & rsTablePathName,
4819 unsigned long ulClassID,
4820 const std::string & rsIndexName,
4853 const std::string & rsSchemaName,
4854 unsigned long ulClassID,
4855 const std::string & rsIndexName )
const;
4881 unsigned long ulClassID,
4882 const ObjID & rObjID )
const;
4902 const ObjID & rDeletedObjId );
4924 const ObjID & rObjID )
const;
4954 unsigned long ulClassID,
4987 unsigned long ulClassID,
4988 const std::string & rsIndexName,
5022 const std::string & rsSchemaName,
5023 unsigned long ulClassID,
5024 const ObjID & rObjID )
const;
5049 unsigned long ulClassID,
5050 std::streampos Pos );
5076 const std::string & rsSchemaName,
5077 unsigned long ulClassID )
const;
5102 unsigned long ulClassID,
5103 std::streampos Pos );
5538 unsigned long ulClassID,
5539 std::streampos Pos );
5569 const std::string & rsSchemaName,
5570 unsigned long ulClassID )
const;
5599 unsigned long ulClassID,
5600 std::streampos Pos );
5628 const std::string & rsSchemaName,
5629 const ObjID & rObjID,
5880 const std::vector< eut::LanguageFunctions::EnLanguageKey > & rLanguageKeys,
5881 bool bCaseSensitive,
5883 unsigned long ulClassID,
5884 const ObjID & rObjID,
5995 const ObjID & rDeletedObjId );
6023 const ObjID & rDeletedObjId );
6049 #pragma warning( default : 4251 )
Header für CriticalSection
long long NUM_PTR
Definition EuDef_NULL_PTR.h:93
Header für EuPCriticalSection
Header für ClassInfoAttribute und ClassInfoAttribute::Type
Header für ClassInfoIndex und ClassInfoIndex::IndexAttributeItem
Für jede Bibliothek, hier 'GlobalObjects' gibt es eine Typen-Datei.
#define __glo_export_dll
Definition GloTypes.h:63
Header für WatchNotifyManager WatchNotifyManager::NotifyInfo WatchNotifyManager::NotifyObjInfo ...
Ist ein Mutex, welcher über sein Lock-Modus abgefragt werden kann. Siehe isLocked().
Definition EuPCriticalSection.h:89
Ist ein Mutex, welcher über sein Lock-Modus abgefragt werden kann. Siehe isLocked().
Definition EuCriticalSection.h:94
In Objekten dieser Klasse sind die Information für GlobalObjects, wie ein persistentes Klassenattribu...
Definition GloClassInfoAttribute.h:76
Information für den Index aus welcher Klasse welches Attribut mit wie viel Zeichen zum Index gehört.
Definition GloClassInfoIndex.h:104
In Objekten dieser Klasse sind die Information für GlobalObjects, wie ein Index aufgebaut ist.
Definition GloClassInfoIndex.h:78
Klasse um gelöschte Objekte im IndexPool::SchemaIndex zu verwalten.
Definition GloIndexPool.h:224
std::string toString() const
int m_iDelCounter
Definition GloIndexPool.h:263
ObjID m_ObjID
Definition GloIndexPool.h:237
virtual ~DeletedObjIdTuple()
DeletedObjIdTuple(const DeletedObjIdTuple &rT)
DeletedObjIdTuple(const ObjID &rObjID, int iDelCounter)
Klasse um Objekte im IndexPool::TableObjIdIndex zu verwalten.
Definition GloIndexPool.h:417
ObjIdPosTuple(const ObjIdPosTuple &rT)
std::string toString() const
std::streampos m_FilePosition
Definition GloIndexPool.h:441
ObjID m_ObjID
Definition GloIndexPool.h:430
ObjIdPosTuple(const ObjID &rObjID, std::streampos FilePosition)
Klasse um Objekte im IndexPool::ObjectStrIndex zu verwalten.
Definition GloIndexPool.h:600
ObjID m_ObjID
Definition GloIndexPool.h:632
std::string toString() const
void setValues(const std::string &rsIndex, const ObjID &rObjID, NUM_PTR ipReservingComunicatorTrx=0)
ObjStrIdTuple(const ObjStrIdTuple &rT)
void setIndex(const std::string &rsIndex)
NUM_PTR m_ipReservingComunicatorTrx
Definition GloIndexPool.h:647
void setObjID(const ObjID &rObjID)
NUM_PTR getReservingComunicatorTrx() const
void setReservingComunicatorTrx(NUM_PTR ipReservingComunicatorTrx)
ObjStrIdTuple(const std::string &rsIndex, const ObjID &rObjID, NUM_PTR ipReservingComunicatorTrx=0)
std::string m_sIndex
Definition GloIndexPool.h:621
std::string getIndex() const
Verwaltet die einzelnen String-Indizes einer Klasse. Wenn dieses ein Unique-Index ist,...
Definition GloIndexPool.h:1686
std::map< ObjID, ObjStrIdTuple *, std::less< ObjID > > m_ObjIdIndexMap
Definition GloIndexPool.h:1831
std::multimap< std::string, ObjStrIdTuple * >::iterator m_NonUniqueIndexMultiMapIterator
Definition GloIndexPool.h:1818
std::map< std::string, ObjStrIdTuple * >::iterator m_UniqueIndexMapIterator
Definition GloIndexPool.h:1768
const std::string & getIndexName() const
const std::multimap< std::string, IndexPool::ObjStrIdTuple *, std::less< std::string > > & getNonUniqueIndexMapRef() const
std::map< std::string, ObjStrIdTuple *, std::less< std::string > > m_UniqueIndexMap
Definition GloIndexPool.h:1757
bool isIndexFree(const std::string &rsIndex, const ObjID &rObjID) const
const std::map< ObjID, IndexPool::ObjStrIdTuple *, std::less< ObjID > > & getObjIdIndexMapRef() const
const std::string & getPathName() const
bool isObjIdAlreadyAvailable(const ObjID &rObjID) const
unsigned long getClassID() const
virtual ~ObjectStrIndex()
IndexPool::ObjStrIdTuple * getObjStrIdTuple(const ObjID &rObjID)
void copyMapsFrom(const ObjectStrIndex &rT)
std::string m_sIndexName
Definition GloIndexPool.h:1732
std::multimap< std::string, ObjStrIdTuple *, std::less< std::string > > m_ReservedIndexMultiMap
Definition GloIndexPool.h:1796
ObjectStrIndex(const std::string &rsPathName, unsigned long ulClassID, const std::string &rsIndexName, bool bUnique)
std::string m_strPathName
Definition GloIndexPool.h:1706
void deleteAllIndexValues()
ObjectStrIndex(const ObjectStrIndex &rT)
std::multimap< std::string, ObjStrIdTuple *, std::less< std::string > > m_NonUniqueIndexMultiMap
Definition GloIndexPool.h:1807
const std::map< std::string, IndexPool::ObjStrIdTuple *, std::less< std::string > > & getUniqueIndexMapRef() const
void releaseObjStrIdTuple(const NUM_PTR ipReservingComunicatorTrx)
int removeObjStrIdTuple(const ObjID &rObjID, bool bDelete, NUM_PTR ipReservingComunicatorTrx=0)
void reserveObjStrIdTuple(const ObjStrIdTuple &rIndexTuple)
int removeObjStrIdTuple(const ObjID &rObjID, NUM_PTR ipReservingComunicatorTrx=0)
unsigned long m_ulClassID
Definition GloIndexPool.h:1719
int insertObjStrIdTuple(const ObjStrIdTuple &rIndexTuple)
IndexPool::ObjStrIdTuple * getObjStrIdTuple(EnSeekMode eMode)
bool m_bUnique
Definition GloIndexPool.h:1746
Hat einen Zeiger auf einen ObjectStrIndex und ermöglicht das iterieren durch diesen Index....
Definition GloIndexPool.h:2497
ObjectStrIndex * m_pObjectStrIndex
Definition GloIndexPool.h:2514
ObjectStrIndexIterator(const ObjectStrIndexIterator &rT)
bool inObjectStrIndex(const ObjID &rObjID)
bool valueMatchesComparisonFilter(const std::string &rsSearchIndex, IndexComparisionFilter &rIndexComparisionFilter) const
bool setNearestObject(const std::string &rsIndex)
~ObjectStrIndexIterator()
void setFilter(IndexFilter *pIndexFilter)
int getSearchModeAndSearchIndex(std::string &rsSearchIndex, const std::string rsSourceIndex) const
bool setNearestObjectInMultiMap(std::multimap< std::string, ObjStrIdTuple * >::const_iterator &rIterator, const std::string &rsIndex)
int getObjStrIdTupleList(std::list< ObjStrIdTuple > &rRetVal, const std::string &rsRangeStartIndex, const std::string &rsRangeEndIndex) const
void setFilter(const std::string &rsIndexFilterValue, EnComparisionOp eComparisionOp)
int getObjStrIdTuple(ObjStrIdTuple &rRetVal, EnSeekMode eMode)
ObjStrIdTuple * m_pLastObjectStrIndexItem
Definition GloIndexPool.h:2530
bool valueMatchesIndexFilter(const std::string &rsSearchIndex, IndexFilter &rIndexFilter) const
int setCurrentObject(const ObjID &rObjID)
unsigned long getClassID() const
void setFilter(const std::string &rsIndexFilterValue)
bool inObjectStrIndex(const std::string &rsIndex)
void setFilter(const std::string &rsRangeStartIndex, const std::string &rsRangeEndIndex)
std::size_t getObjectStrIndexSize() const
bool setNearestObjectInMap(std::map< std::string, ObjStrIdTuple * >::const_iterator &rIterator, const std::string &rsIndex)
int getObjStrIdTupleList(std::list< ObjStrIdTuple > &rRetVal, const std::string &rsIndex, EnQueryType eQuerryType) const
IndexFilter * m_pIndexFilter
Definition GloIndexPool.h:2541
bool valueMatchesRangeFilter(const std::string &rsSearchIndex, IndexRangeFilter &rIndexRangeFilter) const
ObjectStrIndexIterator(ObjectStrIndex *pObjectStrIndex)
int getObjStrIdTupleList(std::list< ObjStrIdTuple > &rRetVal, const std::string &rsIndex, EnComparisionOp eComparisionOp) const
int setPosition(std::size_t nPosition)
Ist die Indexverwalterklasse für ein Schema bzw. eine Datenbank.
Definition GloIndexPool.h:3192
int removeObjStrIdTuple(unsigned long ulClassID, const std::string &rsIndexName, const ObjID &rObjID, NUM_PTR ipReservingComunicatorTrx=0)
int insertObjIdPosTuple(unsigned long ulClassID, const ObjIdPosTuple &rIndexTuple)
bool isObjIdDeleted(const ObjID &rObjID) const
std::multimap< unsigned long, ObjectStrIndex *, std::less< unsigned long > > m_ObjectStrIndexMap
Definition GloIndexPool.h:3235
int getObjectStrIndex(ObjectStrIndex *&prRetVal, unsigned long ulClassID, const std::string &rsIndexName)
int insertTransactionDeletedObjID(const ObjID &rDeletedObjId)
int getObjIdPosTuple(ObjIdPosTuple *&prRetVal, unsigned long ulClassID, const ObjID &rObjID) const
std::string getSchemaName() const
int insertFreeObjIDPos(unsigned long ulClassID, std::streampos Pos)
int removeObjId(unsigned long ulClassID, const ObjID &rObjID)
int reserveObjStrIdTuple(unsigned long ulClassID, const std::string &rsIndexName, const ObjStrIdTuple &rIndexTuple)
int removeObjectStrIndex(unsigned long ulClassID, const std::string &rsIndexName)
int releaseObjStrIdTuple(unsigned long ulClassID, const std::string &rsIndexName, const NUM_PTR ipReservingComunicatorTrx)
int getTableObjIdIndexIterator(TableObjIdIndexIterator *&prTableIterators, unsigned long ulClassID) const
int removeFreeObjIDPos(unsigned long ulClassID, std::streampos Pos)
std::map< unsigned long, TableObjIdIndex *, std::less< unsigned long > > m_TableObjIdIndexMap
Definition GloIndexPool.h:3220
int getFreeObjIDPos(std::streampos &rPos, unsigned long ulClassID) const
int getTableObjIdIndex(TableObjIdIndex *&prRetVal, unsigned long ulClassID) const
void copyMapsFrom(const SchemaIndex &rT)
std::string m_sSchemaName
Definition GloIndexPool.h:3205
int removeTransactionDeletedObjID(const ObjID &rDeletedObjId)
int insertObjStrIdTuple(unsigned long ulClassID, const std::string &rsIndexName, const ObjStrIdTuple &rIndexTuple)
int insertDeletedObjID(const ObjID &rDeletedObjId)
SchemaIndex(const SchemaIndex &rT)
int makeObjectStrIndex(const std::string &rsPathName, unsigned long ulClassID, const std::string &rsIndexName, bool bUnique)
std::map< ObjID, ObjID *, std::less< ObjID > > m_DeletedObjIdMap
Definition GloIndexPool.h:3250
int getObjectStrIndexIterator(ObjectStrIndexIterator *&prObjectStrIndexIterators, unsigned long ulClassID, const std::string &rsIndexName) const
int makeTableObjIdIndex(const std::string &rsPathName, unsigned long ulClassID)
void deleteAllTableIndexValues()
SchemaIndex(const std::string &rstrName)
std::map< ObjID, DeletedObjIdTuple *, std::less< ObjID > > m_TransactionDeletedObjIdMap
Definition GloIndexPool.h:3274
const std::map< unsigned long, IndexPool::TableObjIdIndex *, std::less< unsigned long > > & getTableObjIdIndexMapRef() const
int removeTableObjIdIndex(unsigned long ulClassID)
int isIndexFree(unsigned long ulClassID, const ObjID &rObjID, const std::string &rsIndexName, const std::string &rsIndex) const
const std::multimap< unsigned long, IndexPool::ObjectStrIndex *, std::less< unsigned long > > & getObjectStrIndexMapRef() const
int isObjIdFree(unsigned long ulClassID, const ObjID &rObjID) const
Verwaltet die Objekt-IDs (genutzte wie freigegebene) mit deren Position in den jeweiligen Tabellen.
Definition GloIndexPool.h:911
const std::string & getPathName() const
TableObjIdIndex(const TableObjIdIndex &rT)
int getFreeObjIDPos(std::streampos &rPos) const
std::string m_strPathName
Definition GloIndexPool.h:926
unsigned long m_ulClassID
Definition GloIndexPool.h:939
unsigned long getClassID() const
int insertFreeObjIDPos(std::streampos Pos)
virtual ~TableObjIdIndex()
const std::map< ObjID, IndexPool::ObjIdPosTuple *, std::less< ObjID > > & getObjIDIndexMapRef() const
int removeObjId(const ObjID &rObjID)
void copyMapFrom(const TableObjIdIndex &rT)
int getObjIdPosTuple(ObjIdPosTuple *&prRetVal, const ObjID &rObjID) const
std::map< std::streampos, std::streampos, std::less< std::streampos > > m_FreeObjIDPosMap
Definition GloIndexPool.h:964
std::map< ObjID, ObjIdPosTuple *, std::less< ObjID > > m_ObjIDIndexMap
Definition GloIndexPool.h:951
void removeAllFreeObjIDPos()
int insertObjIdPosTuple(const ObjIdPosTuple &rIndexTuple)
int removeFreeObjIDPos(std::streampos Pos)
void deleteAllIndexValues()
TableObjIdIndex(const std::string &rsPathName, unsigned long ulClassID)
const std::map< std::streampos, std::streampos, std::less< std::streampos > > & getFreeObjIDPosMapRef() const
bool isObjIdFree(const ObjID &rObjID) const
Hat einen Zeiger auf einen TableObjIdIndex und ermöglicht das iterieren durch diesen Index....
Definition GloIndexPool.h:1315
std::size_t getTableObjIdIndexSize() const
TableObjIdIndexIterator(TableObjIdIndex *pTableObjIdIndex)
void setWithSubClasses(bool bWithSubClasses)
ObjIdPosTuple * m_pLastTableObjIdIndexItem
Definition GloIndexPool.h:1346
unsigned long getClassID() const
int setCurrentObject(const ObjID &rObjID)
int setPosition(std::size_t nPosition)
bool withSubClasses() const
~TableObjIdIndexIterator()
TableObjIdIndexIterator(const TableObjIdIndexIterator &rT)
bool setNearestObject(std::map< ObjID, ObjIdPosTuple * >::iterator &rIterator, const ObjID &rObjID)
bool m_bWithSubClasses
Definition GloIndexPool.h:1361
bool inObjIdIndex(const ObjID &rObjID)
int getObjIdPosTuple(ObjIdPosTuple *&prRetVal, EnSeekMode eMode)
TableObjIdIndexIterator()
bool setNearestObject(const ObjID &rObjID)
TableObjIdIndex * m_pTableObjIdIndex
Definition GloIndexPool.h:1330
IndexPool ist die Basisklasse für den RealIndexPool und den TransactionIndexPool für die einzelnen Tr...
Definition GloIndexPool.h:192
IndexPool(const IndexPool &rT)
eut::CriticalSection m_LocalCriticalSection
Definition GloIndexPool.h:4038
virtual int _getTableObjIdIndex(TableObjIdIndex *&prRetVal, const std::string &rsSchemaName, unsigned long ulClassID) const
virtual int isIndexFree(const std::string &rsSchemaName, unsigned long ulClassID, const ObjID &rObjID, const std::string &rsIndexName, const std::string &rsIndex) const
virtual bool _existsSchemaIndex(const std::string &rsSchemaName) const
int reserveObjStrIdTuple(const std::string &rsSchemaName, unsigned long ulClassID, const std::string &rsIndexName, const ObjStrIdTuple &rIndexTuple)
virtual int _insertObjIdPosTuple(const std::string &rsSchemaName, unsigned long ulClassID, const ObjIdPosTuple &rIndexTuple)
void copyMapFrom(const IndexPool &rT)
virtual int getObjectStrIndexIterator(ObjectStrIndexIterator *&prObjectStrIndexIterators, const std::string &rsSchemaName, unsigned long ulClassID, const std::string &rsIndexName) const
virtual bool isObjIdDeleted(const std::string &rsSchemaName, const ObjID &rObjID) const
virtual int _insertObjStrIdTuple(const std::string &rsSchemaName, unsigned long ulClassID, const std::string &rsIndexName, const ObjStrIdTuple &rIndexTuple)
virtual int removeObjStrIdTuple(const std::string &rsSchemaName, unsigned long ulClassID, const std::string &rsIndexName, const ObjID &rObjID, NUM_PTR ipReservingComunicatorTrx=0)
virtual int _getObjIdPosTuple(ObjIdPosTuple *&prRetVal, const std::string &rsSchemaName, unsigned long ulClassID, const ObjID &rObjID) 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 insertDeletedObjID(const std::string &rsSchemaName, const ObjID &rDeletedObjId)
virtual int _makeObjectStrIndex(const std::string &rsSchemaName, const std::string &rsTablePathName, unsigned long ulClassID, const std::string &rsIndexName, bool bUnique)
virtual int getTableObjIdIndexIterator(TableObjIdIndexIterator *&prTableIterators, 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 _makeTableObjIdIndex(const std::string &rsSchemaName, const std::string &rsTablePathName, unsigned long ulClassID)
virtual int removeObjId(const std::string &rsSchemaName, unsigned long ulClassID, const ObjID &rObjID)
virtual int _insertFreeObjIDPos(const std::string &rsSchemaName, unsigned long ulClassID, std::streampos Pos)
virtual int isObjIdFree(const std::string &rsSchemaName, const ObjID &rObjID) const
virtual int _getFreeObjIDPos(std::streampos &rPos, const std::string &rsSchemaName, unsigned long ulClassID) const
int _removeSchemaIndex(const std::string &rsSchemaName)
virtual int _getSchemaIndex(SchemaIndex *&prRetVal, const std::string &rsSchemaName) const
virtual int insertObjIdPosTuple(const std::string &rsSchemaName, unsigned long ulClassID, const ObjIdPosTuple &rIndexTuple)
virtual bool _isObjIdDeleted(const std::string &rsSchemaName, const ObjID &rObjID) const
void _deleteAllSchemaIndexValues()
virtual int insertObjStrIdTuple(const std::string &rsSchemaName, unsigned long ulClassID, const std::string &rsIndexName, const ObjStrIdTuple &rIndexTuple)
std::map< std::string, SchemaIndex *, std::less< std::string > > m_SchemaIndexMap
Definition GloIndexPool.h:4050
void deleteAllSchemaIndexValues()
virtual int _getObjectStrIndex(ObjectStrIndex *&prRetVal, const std::string &rsSchemaName, unsigned long ulClassID, const std::string &rsIndexName) const
virtual int _isObjIdFree(const std::string &rsSchemaName, unsigned long ulClassID, const ObjID &rObjID) const
int releaseObjStrIdTuple(const std::string &rsSchemaName, unsigned long ulClassID, const std::string &rsIndexName, const NUM_PTR ipReservingComunicatorTrx)
virtual int _removeFreeObjIDPos(const std::string &rsSchemaName, unsigned long ulClassID, std::streampos Pos)
Ein Objekt-ID besteht aus der Klassen-ID, einer Datenbank-ID und der eigentlichen eindeutigen ObjektZ...
Definition GloObjID.h:77
Der reale Index im Gegensatz zum TransactionIndexPool, welcher für jede Transaktion erstellt wird.
Definition GloIndexPool.h:5151
int _readObjStrIndexes(const SchemaInterface &rSchemaInterface)
int _reindexObjIDIndexes(const SchemaInterface &rSchemaInterface)
int _writeObjStrIndexes(const SchemaInterface &rSchemaInterface) const
int writeIndexes(const SchemaInterface &rSchemaInterface, int iActions)
int writeObjIDIndexes(const SchemaInterface &rSchemaInterface) const
std::size_t getNumberOfClassInfos(const SchemaInterface &rSchemaInterface) const
int _reindexObjStrIndexes(const SchemaInterface &rSchemaInterface)
int reindexObjIDIndexes(const SchemaInterface &rSchemaInterface)
int writeObjStrIndexes(const SchemaInterface &rSchemaInterface) const
int readIndexes(const SchemaInterface &rSchemaInterface)
virtual bool existsSchemaIndex(const std::string &rsSchemaName) const
RealIndexPool(const RealIndexPool &rT)
void setWatchNotifyManager(WatchNotifyManager *pWatchNotifyManager)
int m_iActions
Definition GloIndexPool.h:5179
int reindexObjStrIndexes(const SchemaInterface &rSchemaInterface)
int removeSchemaIndex(const std::string &rsSchemaName)
std::size_t getNumberOfIndexes(const SchemaInterface &rSchemaInterface) const
int reindex(const SchemaInterface &rSchemaInterface)
virtual int insertFreeObjIDPos(const std::string &rsSchemaName, unsigned long ulClassID, std::streampos Pos)
int _getIndexString(std::string &rsRetValIndex, const std::vector< eut::LanguageFunctions::EnLanguageKey > &rLanguageKeys, bool bCaseSensitive, const SchemaInterface &rSchemaInterface, unsigned long ulClassID, const ObjID &rObjID, const ClassInfoIndex::IndexAttributeItem &rIndexAttributeItem)
void notifyIndexReadWrite(TdWatchNotifyMode iMode, const std::string &rsSchemaName, const ObjID &rObjID, int iFraction, int iActions)
virtual int getFreeObjIDPos(std::streampos &rPos, const std::string &rsSchemaName, unsigned long ulClassID) const
int _writeObjIDIndexes(const SchemaInterface &rSchemaInterface) const
WatchNotifyManager * m_pWatchNotifyManager
Definition GloIndexPool.h:5166
int writeIndexes(const SchemaInterface &rSchemaInterface)
virtual int removeFreeObjIDPos(const std::string &rsSchemaName, unsigned long ulClassID, std::streampos Pos)
int _readObjIDIndexes(const SchemaInterface &rSchemaInterface)
int _writeObjStrIndexes(const SchemaIndex &rSchemaIndex) const
int reindex(const SchemaInterface &rSchemaInterface, int iActions)
int _writeObjIDIndexes(const SchemaIndex &rSchemaIndex) const
int _createObjIDIndexFromTable(const SchemaInterface &rSchemaInterface, const ClassInfoAttribute &rClassInfoAttribute)
int _createObjStrIndexFromTables(const SchemaInterface &rSchemaInterface, const ClassInfoIndex &rClassInfoIndex)
Diese Klasse ist die Schnittstelle zu einem GlobalObjects-Schema. Sie beinhaltet alle Klasseninformat...
Definition GloSchemaInterface.h:84
Dieser Index wird in jeder Transaktion generiert und die Änderungen wie speichern,...
Definition GloIndexPool.h:5924
int insertTransactionDeletedObjID(const std::string &rsSchemaName, const ObjID &rDeletedObjId)
TransactionIndexPool & operator=(const TransactionIndexPool &rT)
Zuweisungsoperator.
int removeTransactionDeletedObjID(const std::string &rsSchemaName, const ObjID &rDeletedObjId)
TransactionIndexPool(const TransactionIndexPool &rT)
Copy-Konstruktor.
TransactionIndexPool(const IndexPool &rT)
Copy-Konstruktor.
virtual ~TransactionIndexPool()
Klassen um persistente Objekte überwachen zu können und bei Änderungen die jeweiligen Clients zu bean...
Definition GloWatchNotifyManager.h:344
Definition GloAbstractBaseLot.h:42
EnComparisionOp
Definition GloTypes.h:1583
@ EQUAL
Definition GloTypes.h:1593
EnSeekMode
Definition GloTypes.h:166
EnQueryType
Definition GloTypes.h:1179
unsigned long TdWatchNotifyMode
Definition GloTypes.h:543
Filter können Objekten vom Typ ObjectStrIndexIterator zugeordnet werden, welche das Iterieren durch e...
Definition GloIndexPool.h:2376
virtual ~IndexComparisionFilter()
Definition GloIndexPool.h:2411
EnComparisionOp m_eComparisionOperator
Definition GloIndexPool.h:2387
IndexComparisionFilter()
Definition GloIndexPool.h:2398
Filter können Objekten vom Typ ObjectStrIndexIterator zugeordnet werden, welche das Iterieren durch e...
Definition GloIndexPool.h:2319
virtual ~IndexFilter()
Definition GloIndexPool.h:2343
std::string m_sIndexFilterValue
Definition GloIndexPool.h:2332
Filter können Objekten vom Typ ObjectStrIndexIterator zugeordnet werden, welche das Iterieren durch e...
Definition GloIndexPool.h:2448
std::string m_sIndexFilterEndValue
Definition GloIndexPool.h:2459
virtual ~IndexRangeFilter()
Definition GloIndexPool.h:2470