GlobalObjects
Lade ...
Suche ...
Keine Treffer
glo::RealIndexPool Klassenreferenz

Der reale Index im Gegensatz zum TransactionIndexPool, welcher für jede Transaktion erstellt wird. Mehr ...

#include <GloRealIndexPool.h>

Klassendiagramm für glo::RealIndexPool:

Öffentliche Methoden

 RealIndexPool ()
 
 RealIndexPool (const RealIndexPool &rT)
 
virtual ~RealIndexPool ()
 
virtual bool existsSchemaIndex (const std::string &rsSchemaName) const
 
virtual int getFreeObjIDPos (std::streampos &rPos, const std::string &rsSchemaName, unsigned long ulClassID) const
 
std::size_t getNumberOfClassInfos (const SchemaInterface &rSchemaInterface) const
 
std::size_t getNumberOfIndexes (const SchemaInterface &rSchemaInterface) const
 
virtual int insertFreeObjIDPos (const std::string &rsSchemaName, unsigned long ulClassID, std::streampos Pos)
 
void notifyIndexReadWrite (TdWatchNotifyMode iMode, const std::string &rsSchemaName, const ObjID &rObjID, int iFraction, int iActions)
 
RealIndexPooloperator= (const RealIndexPool &rT)
 
int readIndexes (const SchemaInterface &rSchemaInterface)
 
int reindex (const SchemaInterface &rSchemaInterface)
 
int reindex (const SchemaInterface &rSchemaInterface, int iActions)
 
int reindexObjIDIndexes (const SchemaInterface &rSchemaInterface)
 
int reindexObjStrIndexes (const SchemaInterface &rSchemaInterface)
 
virtual int removeFreeObjIDPos (const std::string &rsSchemaName, unsigned long ulClassID, std::streampos Pos)
 
int removeSchemaIndex (const std::string &rsSchemaName)
 
void setWatchNotifyManager (WatchNotifyManager *pWatchNotifyManager)
 
int writeIndexes (const SchemaInterface &rSchemaInterface)
 
int writeIndexes (const SchemaInterface &rSchemaInterface, int iActions)
 
int writeObjIDIndexes (const SchemaInterface &rSchemaInterface) const
 
int writeObjStrIndexes (const SchemaInterface &rSchemaInterface) const
 
- Öffentliche Methoden geerbt von 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)
 

Geschützte Methoden

int _createObjIDIndexFromTable (const SchemaInterface &rSchemaInterface, const ClassInfoAttribute &rClassInfoAttribute)
 
int _createObjStrIndexFromTables (const SchemaInterface &rSchemaInterface, const ClassInfoIndex &rClassInfoIndex)
 
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)
 
int _readObjIDIndexes (const SchemaInterface &rSchemaInterface)
 
int _readObjStrIndexes (const SchemaInterface &rSchemaInterface)
 
int _reindexObjIDIndexes (const SchemaInterface &rSchemaInterface)
 
int _reindexObjStrIndexes (const SchemaInterface &rSchemaInterface)
 
int _writeObjIDIndexes (const SchemaIndex &rSchemaIndex) const
 
int _writeObjIDIndexes (const SchemaInterface &rSchemaInterface) const
 
int _writeObjStrIndexes (const SchemaIndex &rSchemaIndex) const
 
int _writeObjStrIndexes (const SchemaInterface &rSchemaInterface) const
 
- Geschützte Methoden geerbt von 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)
 

Private Attribute

int m_iActions
 
WatchNotifyManagerm_pWatchNotifyManager
 

Weitere Geerbte Elemente

- Geschützte Attribute geerbt von glo::IndexPool
eut::CriticalSection m_LocalCriticalSection
 
std::map< std::string, SchemaIndex *, std::less< std::string > > m_SchemaIndexMap
 

Ausführliche Beschreibung

Der reale Index im Gegensatz zum TransactionIndexPool, welcher für jede Transaktion erstellt wird.

Autor
Helmut Jakoby

Beschreibung der Konstruktoren und Destruktoren

◆ RealIndexPool() [1/2]

glo::RealIndexPool::RealIndexPool ( )

Standard-Konstruktor.

◆ RealIndexPool() [2/2]

glo::RealIndexPool::RealIndexPool ( const RealIndexPool & rT)

Copy-Konstruktor.

Parameter
[in]rTVon diesem Objekt werden die Daten übernommen.

◆ ~RealIndexPool()

virtual glo::RealIndexPool::~RealIndexPool ( )
virtual

Destruktor.

Dokumentation der Elementfunktionen

◆ _createObjIDIndexFromTable()

int glo::RealIndexPool::_createObjIDIndexFromTable ( const SchemaInterface & rSchemaInterface,
const ClassInfoAttribute & rClassInfoAttribute )
protected

Generiert einen TableObjIdIndex aus den Daten einer Objekt-Tabelle.

Parameter
[in]rSchemaInterfaceFür Schemaname und der Pfad zu den Tabellen.
[in]rClassInfoAttributeFür Tabellenname und ClassID.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.

◆ _createObjStrIndexFromTables()

int glo::RealIndexPool::_createObjStrIndexFromTables ( const SchemaInterface & rSchemaInterface,
const ClassInfoIndex & rClassInfoIndex )
protected

Generiert einen ObjectStrIndex aus den Daten einer Objekt-Tabelle.

Parameter
[in]rSchemaInterfaceFür den Schemanamen und der Pfad zu den Tabellen.
[in]rClassInfoIndexFür die Tabellenbezeichnung und die Klassen-ID.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.

◆ _getIndexString()

int glo::RealIndexPool::_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 )
protected

Liefert die Index-Zeichenfolge aus übergebener Klassen-ID, Objekt-ID und ClassInfoIndex::IndexAttributeItem.
Die übergeben Klassen-ID übermittelt, in welcher Tabelle ein Datensatz mit übergebener ObjID zu finden ist.
Über die erste AttributeID in ClassInfoIndex::IndexAttributeItem wird das Datenfeld ermittelt. Wenn es eine zweite AttributeID in ClassInfoIndex::IndexAttributeItem gibt, muss das Datenfeld eine Objekt-ID beinhalten (ansonsten Fehler) und es wird selbige Methode rekursiv aufgerufen.
Ansonsten wird der Eintrag in dem Datenfeld als String in der übergebenen Länge und Form zurückgeliefert.

Parameter
[in,out]rsRetValIndexDer resultierende String.
[in]rLanguageKeysDie Sprachschlüssel in einem Vector.
[in]bCaseSensitiveWenn false, werden alle Zeichen im rsRetValIndex in Großbuchstaben umgewandelt.
[in]rSchemaInterfaceFür den Schemanamen und der Pfad zu den Tabellen.
[in]ulClassIDDie Klassen-ID gibt an, in welcher Tabelle gesucht werden soll.
[in]rObjIDDie ObjektID des Objektes.
[in]rIndexAttributeItemDie Information, welches Attribut genommen werden soll.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.

◆ _readObjIDIndexes()

int glo::RealIndexPool::_readObjIDIndexes ( const SchemaInterface & rSchemaInterface)
protected

Liest alle Objekte vom Typ TableObjIdIndex einer Datenbank aus dem Dateisystem (ODX- und FDX-Dateien) in den Speicher. Es werden die gelesenen Dateien gelöscht, damit festgestellt werden kann, ob nach einem Abstrurz der GlobalObjects-Anwendung der aktuelle Index geschrieben wurde.

Parameter
[in]rSchemaInterfaceDas SchemaInterface repräsentiert die Datenbank.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Achtung
Wenn eine nötige xDX-Datei nicht vorhanden, sollte ein IndexPool::reindexObjIDIndexes (...) initiiert werden.

◆ _readObjStrIndexes()

int glo::RealIndexPool::_readObjStrIndexes ( const SchemaInterface & rSchemaInterface)
protected

Liest alle Objekte vom Typ ObjectStrIndex einer Datenbank aus dem Dateisystem (SDX-Dateien) in den Speicher. Es werden die gelesenen Dateien gelöscht, damit festgestellt werden kann, ob nach einem Abstrurz der GlobalObjects-Anwendung der aktuelle Index geschrieben wurde.

Parameter
[in]rSchemaInterfaceDas SchemaInterface repräsentiert die Datenbank.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Achtung
Wenn eine nötige SDX-Datei nicht vorhanden, sollte ein IndexPool::reindexObjStrIndexes (...) initiiert werden.

◆ _reindexObjIDIndexes()

int glo::RealIndexPool::_reindexObjIDIndexes ( const SchemaInterface & rSchemaInterface)
protected

Reindiziert alle Objekte vom Typ TableObjIdIndex einer Datenbank in den Speicher.

Parameter
[in]rSchemaInterfaceDas SchemaInterface repräsentiert die Datenbank.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.

◆ _reindexObjStrIndexes()

int glo::RealIndexPool::_reindexObjStrIndexes ( const SchemaInterface & rSchemaInterface)
protected

Reindiziert alle Objekte vom Typ ObjectStrIndex einer Datenbank in den Speicher.

Parameter
[in]rSchemaInterfaceDas SchemaInterface repräsentiert die Datenbank.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.

◆ _writeObjIDIndexes() [1/2]

int glo::RealIndexPool::_writeObjIDIndexes ( const SchemaIndex & rSchemaIndex) const
protected

Schreibt alle Objekte vom Typ TableObjIdIndex eines SchemaIndex aus dem Speicher in das Dateisystem (ODX- und FDX-Dateien).

Parameter
[in]rSchemaIndexDer SchemaIndex, dessen TableObjIdIndex geschrieben werden sollen.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.

◆ _writeObjIDIndexes() [2/2]

int glo::RealIndexPool::_writeObjIDIndexes ( const SchemaInterface & rSchemaInterface) const
protected

Schreibt alle Objekte vom Typ TableObjIdIndex einer Datenbank aus dem Speicher in das Dateisystem (ODX- und FDX-Dateien).

Parameter
[in]rSchemaInterfaceDas SchemaInterface repräsentiert die Datenbank.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.

◆ _writeObjStrIndexes() [1/2]

int glo::RealIndexPool::_writeObjStrIndexes ( const SchemaIndex & rSchemaIndex) const
protected

Schreibt alle Objekte vom Typ ObjectStrIndex eines SchemaIndex aus dem Speicher in das Dateisystem (SDX-Dateien).

Parameter
[in]rSchemaIndexDer SchemaIndex, dessen ObjectStrIndex geschrieben werden sollen.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.

◆ _writeObjStrIndexes() [2/2]

int glo::RealIndexPool::_writeObjStrIndexes ( const SchemaInterface & rSchemaInterface) const
protected

Schreibt alle Objekte vom Typ ObjectStrIndex einer Datenbank aus dem Speicher in das Dateisystem (SDX-Dateien).

Parameter
[in]rSchemaInterfaceDas SchemaInterface repräsentiert die Datenbank.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.

◆ existsSchemaIndex()

virtual bool glo::RealIndexPool::existsSchemaIndex ( const std::string & rsSchemaName) const
virtual

Prüft, ob ein SchemaIndex mit der übergebenen Bezeichnung existiert.

Parameter
[in]rsSchemaNameDie Schemabezeichnung (z.B. "MyGloBase") des zu prüfenden SchemaIndex.
Rückgabe
Liefert true, wenn ein SchemaIndex mit der übergebenen Bezeichnung vorhanden ist.
Zu beachten
Diese Methode sperrt weitere Aufrufe von Methoden dieser Klasse, welche mit m_LocalCriticalSection abgesichert sind.

◆ getFreeObjIDPos()

virtual int glo::RealIndexPool::getFreeObjIDPos ( std::streampos & rPos,
const std::string & rsSchemaName,
unsigned long ulClassID ) const
virtual

Liefert eine freie Tabellen-Position in einem TableObjIdIndex mit übergebener Klassen-ID in einem SchemaIndex.

Parameter
[in,out]rPosDie freie Tabellen-Position, wenn eine vorhanden war.
[in]rsSchemaNameDie Schemabezeichnung (z.B. "MyGloBase") um den SchemaIndex zu identifizieren.
[in]ulClassIDDie Klassen-ID, um den TableObjIdIndex zu identifizieren.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Zu beachten
Diese Methode sperrt weitere Aufrufe von Methoden dieser Klasse, welche mit m_LocalCriticalSection abgesichert sind.

◆ getNumberOfClassInfos()

std::size_t glo::RealIndexPool::getNumberOfClassInfos ( const SchemaInterface & rSchemaInterface) const

Liefert die Anzahl der Klasseninformationen des übergebenen Schemas. Wird hier genutzt, um die Anzahl der ObjektID-Indizierungsaktionen zu ermitteln. Pro Klasseninformationen werden zwei ObjID-Indexe (Reale und Freigegebene) geführt.

Parameter
[in]rSchemaInterfaceDas SchemaInterface repräsentiert die Datenbank.
Rückgabe
Die Anzahl der Klasseninformationen des übergebenen Schemas.

◆ getNumberOfIndexes()

std::size_t glo::RealIndexPool::getNumberOfIndexes ( const SchemaInterface & rSchemaInterface) const

Liefert die Anzahl der String-Indexe aller Klassen des übergebenen Schemas, die indiziert werden köennen.

Parameter
[in]rSchemaInterfaceDas SchemaInterface repräsentiert die Datenbank.
Rückgabe
Die Anzahl der String-Indexe aller Klassen des übergebenen Schemas.

◆ insertFreeObjIDPos()

virtual int glo::RealIndexPool::insertFreeObjIDPos ( const std::string & rsSchemaName,
unsigned long ulClassID,
std::streampos Pos )
virtual

Registriert eine freie Tabellen-Position in einem TableObjIdIndex mit übergebener Klassen-ID in einem SchemaIndex.

Parameter
[in]rsSchemaNameDie Schemabezeichnung (z.B. "MyGloBase") um den SchemaIndex zu identifizieren.
[in]ulClassIDDie Klassen-ID, um den TableObjIdIndex zu identifizieren.
[in]PosDie als 'frei' zu registrierende Tabellen-Position.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Zu beachten
Diese Methode sperrt weitere Aufrufe von Methoden dieser Klasse, welche mit m_LocalCriticalSection abgesichert sind.

◆ notifyIndexReadWrite()

void glo::RealIndexPool::notifyIndexReadWrite ( TdWatchNotifyMode iMode,
const std::string & rsSchemaName,
const ObjID & rObjID,
int iFraction,
int iActions )

Generiert einen Benachrichtigungsauftrag und übergibt diesen dem referenzierten WatchNotifyManager in m_pWatchNotifyManager.

Parameter
[in]iModeDer Überwachungsmodus.
[in]rsSchemaNameDie Schemabezeichnung für die WatchNotifyManager::NotifyIndexReadWriteInfo::m_sSchemaName.
[in]rObjIDDie Objekt-ID für die WatchNotifyManager::NotifyIndexReadWriteInfo::m_ObjID.
[in]iFractionDer Fortschritt.
[in]iActionsDie zu erwartende Anzahl der Aktionen.

◆ operator=()

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

Zuweisungsoperator.

Parameter
[in]rTVon diesem Objekt werden die Daten übernommen.

◆ readIndexes()

int glo::RealIndexPool::readIndexes ( const SchemaInterface & rSchemaInterface)

Liest alle Indexe einer Datenbank aus den Index-Dateien ein.

Parameter
[in]rSchemaInterfaceDas SchemaInterface repräsentiert die Datenbank.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Zu beachten
Diese Methode sperrt weitere Aufrufe von Methoden dieser Klasse, welche mit m_LocalCriticalSection abgesichert sind.

◆ reindex() [1/2]

int glo::RealIndexPool::reindex ( const SchemaInterface & rSchemaInterface)

Reindiziert alle Indexe einer Datenbank in den Speicher.

Parameter
[in]rSchemaInterfaceDas SchemaInterface repräsentiert die Datenbank.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Zu beachten
Diese Methode sperrt weitere Aufrufe von Methoden dieser Klasse, welche mit m_LocalCriticalSection abgesichert sind.

◆ reindex() [2/2]

int glo::RealIndexPool::reindex ( const SchemaInterface & rSchemaInterface,
int iActions )

Reindiziert alle Indexe einer Datenbank in den Speicher.

Parameter
[in]rSchemaInterfaceDas SchemaInterface repräsentiert die Datenbank.
[in]iActionsWenn übergeben, wird dieser Wert als Gesamtaktionszahl für Notify verwendet.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Zu beachten
Diese Methode sperrt weitere Aufrufe von Methoden dieser Klasse, welche mit m_LocalCriticalSection abgesichert sind.

◆ reindexObjIDIndexes()

int glo::RealIndexPool::reindexObjIDIndexes ( const SchemaInterface & rSchemaInterface)

Reindiziert alle Objekte vom Typ TableObjIdIndex einer Datenbank in den Speicher.

Parameter
[in]rSchemaInterfaceDas SchemaInterface repräsentiert die Datenbank.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Zu beachten
Diese Methode sperrt weitere Aufrufe von Methoden dieser Klasse, welche mit m_LocalCriticalSection abgesichert sind.

◆ reindexObjStrIndexes()

int glo::RealIndexPool::reindexObjStrIndexes ( const SchemaInterface & rSchemaInterface)

Reindiziert alle Objekte vom Typ ObjectStrIndex einer Datenbank in den Speicher.

Parameter
[in]rSchemaInterfaceDas SchemaInterface repräsentiert die Datenbank.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Zu beachten
Diese Methode sperrt weitere Aufrufe von Methoden dieser Klasse, welche mit m_LocalCriticalSection abgesichert sind.

◆ removeFreeObjIDPos()

virtual int glo::RealIndexPool::removeFreeObjIDPos ( const std::string & rsSchemaName,
unsigned long ulClassID,
std::streampos Pos )
virtual

Entfernt eine freie Tabellen-Position in einem TableObjIdIndex mit übergebener Klassen-ID in einem SchemaIndex.

Parameter
[in]rsSchemaNameDie Schemabezeichnung (z.B. "MyGloBase") um den SchemaIndex zu identifizieren.
[in]ulClassIDDie Klassen-ID, um den TableObjIdIndex zu identifizieren.
[in]PosDie entfernte Tabellen-Position.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Zu beachten
Diese Methode sperrt weitere Aufrufe von Methoden dieser Klasse, welche mit m_LocalCriticalSection abgesichert sind.

◆ removeSchemaIndex()

int glo::RealIndexPool::removeSchemaIndex ( const std::string & rsSchemaName)

Entfernt einen SchemaIndex.

Parameter
[in]rsSchemaNameDie Schemabezeichnung (z.B. "MyGloBase") des zu entfernenden SchemaIndex.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Zu beachten
Diese Methode sperrt weitere Aufrufe von Methoden dieser Klasse, welche mit m_LocalCriticalSection abgesichert sind.

◆ setWatchNotifyManager()

void glo::RealIndexPool::setWatchNotifyManager ( WatchNotifyManager * pWatchNotifyManager)

Setzt den m_pWatchNotifyManager. Die aufrufende Instanz darf den übergebenen WatchNotifyManager nicht vor diesem Objekt löschen. Ggf. muss die aufrufende Instanz über diese Methode m_pWatchNotifyManager auf nullptr setzen.

Parameter
[in]pWatchNotifyManagerDer zu referenzierende WatchNotifyManager.

◆ writeIndexes() [1/2]

int glo::RealIndexPool::writeIndexes ( const SchemaInterface & rSchemaInterface)

Schreibt alle Indexe einer Datenbank aus dem Speicher in das Dateisystem (ODX-, FDX- und SDX-Dateien).

Parameter
[in]rSchemaInterfaceDas SchemaInterface repräsentiert die Datenbank.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Zu beachten
Diese Methode sperrt weitere Aufrufe von Methoden dieser Klasse, welche mit m_LocalCriticalSection abgesichert sind.

◆ writeIndexes() [2/2]

int glo::RealIndexPool::writeIndexes ( const SchemaInterface & rSchemaInterface,
int iActions )

Schreibt alle Indexe einer Datenbank aus dem Speicher in das Dateisystem (ODX-, FDX- und SDX-Dateien).

Parameter
[in]rSchemaInterfaceDas SchemaInterface repräsentiert die Datenbank.
[in]iActionsWenn übergeben, wird dieser Wert als Gesamtaktionszahl für Notify verwendet.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Zu beachten
Diese Methode sperrt weitere Aufrufe von Methoden dieser Klasse, welche mit m_LocalCriticalSection abgesichert sind.

◆ writeObjIDIndexes()

int glo::RealIndexPool::writeObjIDIndexes ( const SchemaInterface & rSchemaInterface) const

Schreibt alle Objekte vom Typ TableObjIdIndex einer Datenbank aus dem Speicher in das Dateisystem (ODX- und FDX-Dateien).

Parameter
[in]rSchemaInterfaceDas SchemaInterface repräsentiert die Datenbank.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Zu beachten
Diese Methode sperrt weitere Aufrufe von Methoden dieser Klasse, welche mit m_LocalCriticalSection abgesichert sind.

◆ writeObjStrIndexes()

int glo::RealIndexPool::writeObjStrIndexes ( const SchemaInterface & rSchemaInterface) const

Schreibt alle Objekte vom Typ ObjectStrIndex einer Datenbank aus dem Speicher in das Dateisystem (SDX-Dateien).

Parameter
[in]rSchemaInterfaceDas SchemaInterface repräsentiert die Datenbank.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Zu beachten
Diese Methode sperrt weitere Aufrufe von Methoden dieser Klasse, welche mit m_LocalCriticalSection abgesichert sind.

Dokumentation der Datenelemente

◆ m_iActions

int glo::RealIndexPool::m_iActions
private

Wenn eine vom m_pWatchNotifyManager zu notifizierende Aktion ausgeführt wird, sind hier die voraussichtlichen Gesamtaktionen eingetragen.

◆ m_pWatchNotifyManager

WatchNotifyManager* glo::RealIndexPool::m_pWatchNotifyManager
private

Wenn vorhanden, wird dieser genutzt um z.B. beim reindizieren etc. Clients benachrichtigen zu lassen. Wird von aufrufender Instanz verwaltet!


Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei: