GlobalObjects
Lade ...
Suche ...
Keine Treffer
GloRealIndexPool.h
gehe zur Dokumentation dieser Datei
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 für IndexPool IndexPool::DeletedObjIdTuple IndexPool::ObjIdPosTuple IndexPool::ObjStrId...
#define __glo_export_dll
Definition GloTypes.h:70
In Objekten dieser Klasse sind die Information für GlobalObjects, wie ein persistentes Klassenattribu...
Definition GloClassInfoAttribute.h:83
Information für den Index aus welcher Klasse welches Attribut mit wie viel Zeichen zum Index gehört.
Definition GloClassInfoIndex.h:111
In Objekten dieser Klasse sind die Information für GlobalObjects, wie ein Index aufgebaut ist.
Definition GloClassInfoIndex.h:85
Ist die Indexverwalterklasse für ein Schema bzw. eine Datenbank.
Definition GloIndexPool.h:3332
IndexPool ist die Basisklasse für den RealIndexPool und den TransactionIndexPool für die einzelnen Tr...
Definition GloIndexPool.h:196
Ein Objekt-ID besteht aus der Klassen-ID, einer Datenbank-ID und der eigentlichen eindeutigen ObjektZ...
Definition GloObjID.h:84
Der reale Index im Gegensatz zum TransactionIndexPool, welcher für jede Transaktion erstellt wird.
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)
Diese Klasse ist die Schnittstelle zu einem GlobalObjects-Schema. Sie beinhaltet alle Klasseninformat...
Definition GloSchemaInterface.h:91
Klassen um persistente Objekte überwachen zu können und bei Änderungen die jeweiligen Clients zu bean...
Definition GloWatchNotifyManager.h:352
Definition GloAbstractBaseLot.h:49
unsigned long TdWatchNotifyMode
Definition GloTypes.h:558