GlobalObjects
Loading...
Searching...
No Matches
GloRealIndexPool.h
Go to the documentation of this file.
1#ifndef INC_GLOREALINDEXPOOL_H
2#define INC_GLOREALINDEXPOOL_H
3//-----------------------------------------------------------------------------
43//-----------------------------------------------------------------------------
44#include "GloIndexPool.h"
45//-----------------------------------------------------------------------------
46namespace glo
47{
48 //---------------------------------------------------------------------------
49 /* Forwards
50 class SchemaInterface;
51 class ClassInfoIndex;
52 class WatchNotifyManager; */
53 //---------------------------------------------------------------------------
69 {
70 private:
71 //============== Attribute
72 //-----------------------------------------------------------------------
85 //-----------------------------------------------------------------------
98 //-----------------------------------------------------------------------
99
100 public:
101 //============== De- und Konstruktor
102 //-----------------------------------------------------------------------
113 //-----------------------------------------------------------------------
126 //-----------------------------------------------------------------------
136 virtual ~RealIndexPool();
137 //-----------------------------------------------------------------------
138
139 //============== Methoden
140 //-----------------------------------------------------------------------
159 std::size_t getNumberOfClassInfos( const SchemaInterface & rSchemaInterface ) const;
160 //-----------------------------------------------------------------------
176 std::size_t getNumberOfIndexes( const SchemaInterface & rSchemaInterface ) const;
177 //-----------------------------------------------------------------------
195 void setWatchNotifyManager( WatchNotifyManager * pWatchNotifyManager );
196 //-----------------------------------------------------------------------
216 int removeSchemaIndex( const std::string & rsSchemaName );
217 //-----------------------------------------------------------------------
235 int readIndexes( const SchemaInterface & rSchemaInterface );
236 //-----------------------------------------------------------------------
254 int reindex( const SchemaInterface & rSchemaInterface );
255 //-----------------------------------------------------------------------
277 int reindex( const SchemaInterface & rSchemaInterface, int iActions );
278 //-----------------------------------------------------------------------
298 int writeIndexes( const SchemaInterface & rSchemaInterface );
299 //-----------------------------------------------------------------------
323 int writeIndexes( const SchemaInterface & rSchemaInterface, int iActions );
324 //-----------------------------------------------------------------------
343 int reindexObjIDIndexes( const SchemaInterface & rSchemaInterface );
344 //-----------------------------------------------------------------------
363 int reindexObjStrIndexes( const SchemaInterface & rSchemaInterface );
364 //-----------------------------------------------------------------------
384 int writeObjIDIndexes( const SchemaInterface & rSchemaInterface ) const;
385 //-----------------------------------------------------------------------
405 int writeObjStrIndexes( const SchemaInterface & rSchemaInterface ) const;
406 //-----------------------------------------------------------------------
427 virtual bool existsSchemaIndex( const std::string & rsSchemaName ) const;
428 //-----------------------------------------------------------------------
455 virtual int insertFreeObjIDPos( const std::string & rsSchemaName,
456 unsigned long ulClassID,
457 std::streampos Pos );
458 //-----------------------------------------------------------------------
486 virtual int getFreeObjIDPos( std::streampos & rPos,
487 const std::string & rsSchemaName,
488 unsigned long ulClassID ) const;
489 //-----------------------------------------------------------------------
516 virtual int removeFreeObjIDPos( const std::string & rsSchemaName,
517 unsigned long ulClassID,
518 std::streampos Pos );
519 //-----------------------------------------------------------------------
546 const std::string & rsSchemaName,
547 const ObjID & rObjID,
548 int iFraction,
549 int iActions );
550 //-----------------------------------------------------------------------
551
552 protected:
553 //============== Methoden
554 //-----------------------------------------------------------------------
569 int _reindexObjIDIndexes( const SchemaInterface & rSchemaInterface );
570 //-----------------------------------------------------------------------
585 int _reindexObjStrIndexes( const SchemaInterface & rSchemaInterface );
586 //-----------------------------------------------------------------------
602 int _writeObjIDIndexes( const SchemaInterface & rSchemaInterface ) const;
603 //-----------------------------------------------------------------------
619 int _writeObjStrIndexes( const SchemaInterface & rSchemaInterface ) const;
620 //-----------------------------------------------------------------------
637 int _writeObjIDIndexes( const SchemaIndex & rSchemaIndex ) const;
638 //-----------------------------------------------------------------------
655 int _writeObjStrIndexes( const SchemaIndex & rSchemaIndex ) const;
656 //-----------------------------------------------------------------------
680 int _readObjIDIndexes( const SchemaInterface & rSchemaInterface );
681 //-----------------------------------------------------------------------
705 int _readObjStrIndexes( const SchemaInterface & rSchemaInterface );
706 //-----------------------------------------------------------------------
722 int _createObjIDIndexFromTable( const SchemaInterface & rSchemaInterface,
723 const ClassInfoAttribute & rClassInfoAttribute );
724 //-----------------------------------------------------------------------
740 int _createObjStrIndexFromTables( const SchemaInterface & rSchemaInterface,
741 const ClassInfoIndex & rClassInfoIndex );
742 //-----------------------------------------------------------------------
797 int _getIndexString( std::string & rsRetValIndex,
798 const std::vector< eut::LanguageFunctions::EnLanguageKey > & rLanguageKeys,
799 bool bCaseSensitive,
800 const SchemaInterface & rSchemaInterface,
801 unsigned long ulClassID,
802 const ObjID & rObjID,
803 const ClassInfoIndex::IndexAttributeItem & rIndexAttributeItem );
804 //-----------------------------------------------------------------------
805
806 public:
807 //============== Operatoren
808 //-----------------------------------------------------------------------
820 RealIndexPool & operator= ( const RealIndexPool & rT );
821 //-----------------------------------------------------------------------
822 };
823 //---------------------------------------------------------------------------
824} // namespace glo
825#endif
Header for IndexPool IndexPool::DeletedObjIdTuple IndexPool::ObjIdPosTuple IndexPool::ObjStrIdT...
#define __glo_export_dll
Definition GloTypes.h:70
In objects of this class, the information for GlobalObjects is how a persistent class attribute is st...
Definition GloClassInfoAttribute.h:83
Information for the index about which attribute from which class, with how many characters,...
Definition GloClassInfoIndex.h:111
In objects of this class, the information for GlobalObjects is how an index is structured.
Definition GloClassInfoIndex.h:85
Is the index manager class for a schema resp. a database.
Definition GloIndexPool.h:3332
IndexPool is the base class for the RealIndexPool and the TransactionIndexPool for the individual tra...
Definition GloIndexPool.h:196
An object ID consists of the class ID, a database ID and the actual unique object number (all unsigne...
Definition GloObjID.h:84
The real index as opposed to the TransactionIndexPool, which is created for each transaction
Definition GloRealIndexPool.h:69
int _readObjStrIndexes(const SchemaInterface &rSchemaInterface)
int _reindexObjIDIndexes(const SchemaInterface &rSchemaInterface)
int _writeObjStrIndexes(const SchemaInterface &rSchemaInterface) const
int writeIndexes(const SchemaInterface &rSchemaInterface, int iActions)
virtual ~RealIndexPool()
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 GloRealIndexPool.h:97
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 GloRealIndexPool.h:84
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)
This class is the interface to a GlobalObjects schema. It contains all class information to store obj...
Definition GloSchemaInterface.h:91
Classes to monitor persistent objects and to notify the respective clients of changes.
Definition GloWatchNotifyManager.h:352
Definition GloAbstractBaseLot.h:49
unsigned long TdWatchNotifyMode
Definition GloTypes.h:558