GlobalObjects
Lade ...
Suche ...
Keine Treffer
glo::IndexPool::SchemaIndex Klassenreferenz

Ist die Indexverwalterklasse für ein Schema bzw. eine Datenbank. Mehr ...

#include <GloIndexPool.h>

Öffentliche Methoden

 SchemaIndex (const SchemaIndex &rT)
 
 SchemaIndex (const std::string &rstrName)
 
 ~SchemaIndex ()
 
int getFreeObjIDPos (std::streampos &rPos, unsigned long ulClassID) const
 
int getObjectStrIndex (ObjectStrIndex *&prRetVal, unsigned long ulClassID, const std::string &rsIndexName)
 
int getObjectStrIndexIterator (ObjectStrIndexIterator *&prObjectStrIndexIterators, unsigned long ulClassID, const std::string &rsIndexName) const
 
const std::multimap< unsigned long, IndexPool::ObjectStrIndex *, std::less< unsigned long > > & getObjectStrIndexMapRef () const
 
int getObjIdPosTuple (ObjIdPosTuple *&prRetVal, unsigned long ulClassID, const ObjID &rObjID) const
 
std::string getSchemaName () const
 
int getTableObjIdIndex (TableObjIdIndex *&prRetVal, unsigned long ulClassID) const
 
int getTableObjIdIndexIterator (TableObjIdIndexIterator *&prTableIterators, unsigned long ulClassID) const
 
const std::map< unsigned long, IndexPool::TableObjIdIndex *, std::less< unsigned long > > & getTableObjIdIndexMapRef () const
 
int insertDeletedObjID (const ObjID &rDeletedObjId)
 
int insertFreeObjIDPos (unsigned long ulClassID, std::streampos Pos)
 
int insertObjIdPosTuple (unsigned long ulClassID, const ObjIdPosTuple &rIndexTuple)
 
int insertObjStrIdTuple (unsigned long ulClassID, const std::string &rsIndexName, const ObjStrIdTuple &rIndexTuple)
 
int insertTransactionDeletedObjID (const ObjID &rDeletedObjId)
 
int isIndexFree (unsigned long ulClassID, const ObjID &rObjID, const std::string &rsIndexName, const std::string &rsIndex) const
 
bool isObjIdDeleted (const ObjID &rObjID) const
 
int isObjIdFree (unsigned long ulClassID, const ObjID &rObjID) const
 
int makeObjectStrIndex (const std::string &rsPathName, unsigned long ulClassID, const std::string &rsIndexName, bool bUnique)
 
int makeTableObjIdIndex (const std::string &rsPathName, unsigned long ulClassID)
 
IndexPool::SchemaIndexoperator= (const SchemaIndex &rT)
 
int releaseObjStrIdTuple (unsigned long ulClassID, const std::string &rsIndexName, const NUM_PTR ipReservingComunicatorTrx)
 
int removeFreeObjIDPos (unsigned long ulClassID, std::streampos Pos)
 
int removeObjectStrIndex (unsigned long ulClassID, const std::string &rsIndexName)
 
int removeObjId (unsigned long ulClassID, const ObjID &rObjID)
 
int removeObjStrIdTuple (unsigned long ulClassID, const std::string &rsIndexName, const ObjID &rObjID, NUM_PTR ipReservingComunicatorTrx=0)
 
int removeTableObjIdIndex (unsigned long ulClassID)
 
int removeTransactionDeletedObjID (const ObjID &rDeletedObjId)
 
int reserveObjStrIdTuple (unsigned long ulClassID, const std::string &rsIndexName, const ObjStrIdTuple &rIndexTuple)
 

Geschützte Methoden

 SchemaIndex ()
 
void copyMapsFrom (const SchemaIndex &rT)
 
void deleteAllTableIndexValues ()
 

Private Attribute

std::map< ObjID, ObjID *, std::less< ObjID > > m_DeletedObjIdMap
 
std::multimap< unsigned long, ObjectStrIndex *, std::less< unsigned long > > m_ObjectStrIndexMap
 
std::string m_sSchemaName
 
std::map< unsigned long, TableObjIdIndex *, std::less< unsigned long > > m_TableObjIdIndexMap
 
std::map< ObjID, DeletedObjIdTuple *, std::less< ObjID > > m_TransactionDeletedObjIdMap
 

Ausführliche Beschreibung

Ist die Indexverwalterklasse für ein Schema bzw. eine Datenbank.

Autor
Helmut Jakoby

Beschreibung der Konstruktoren und Destruktoren

◆ SchemaIndex() [1/3]

glo::IndexPool::SchemaIndex::SchemaIndex ( )
protected

Der Standard-Konstruktor steht nicht zur Verfügung.

◆ SchemaIndex() [2/3]

glo::IndexPool::SchemaIndex::SchemaIndex ( const std::string & rstrName)

Konstruktor mit Parameterübergabe.

Parameter
[in]rstrNameDie Schemabezeichnung (z.B. "MyGloBase").

◆ SchemaIndex() [3/3]

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

Copy-Konstruktor.

Parameter
[in]rTVon diesem Objekt werden die Daten übernommen.
Ausnahmebehandlung
eut::ErrorNExceptionBei einem Fehler wird eine Exception geworfen.

◆ ~SchemaIndex()

glo::IndexPool::SchemaIndex::~SchemaIndex ( )

Destruktor.

Dokumentation der Elementfunktionen

◆ copyMapsFrom()

void glo::IndexPool::SchemaIndex::copyMapsFrom ( const SchemaIndex & rT)
protected

Entfernt alle Elemente aus seinen Maps. Dann werden alle Elemente der gleichen Maps des übergebenen SchemaIndex kopiert.

Parameter
[in]rTDer SchemaIndex, dessen Elemente aus den Maps kopiert werden sollen.

◆ deleteAllTableIndexValues()

void glo::IndexPool::SchemaIndex::deleteAllTableIndexValues ( )
protected

Entfernt alle Elemente aus seinen Maps und aus dem Speicher.

◆ getFreeObjIDPos()

int glo::IndexPool::SchemaIndex::getFreeObjIDPos ( std::streampos & rPos,
unsigned long ulClassID ) const

Liefert eine freie Tabellen-Position in einer Tabelle.

Parameter
[in,out]rPosDie freie Tabellen-Position, wenn eine vorhanden ist.
[in]ulClassIDDie Klassen-ID, um den TableObjIdIndex zu identifizieren.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.

◆ getObjectStrIndex()

int glo::IndexPool::SchemaIndex::getObjectStrIndex ( ObjectStrIndex *& prRetVal,
unsigned long ulClassID,
const std::string & rsIndexName )

Liefert einen ObjectStrIndex einer bestimmten Klasse mit einer bestimmten Bezeichnung.

Parameter
[in,out]prRetValDer ObjectStrIndex, wenn vorhanden.
[in]ulClassIDDie Klassen-ID.
[in]rsIndexNameDie Indexbezeichnung. Wenn z.B. im Schema "[MyClassName.Index.IDX_MyIndexName]", dann "IDX_MyIndexName".
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Achtung
Die aufrufende Instanz darf das gelieferte Objekt NICHT aus dem Speicher entfernen. Es lebt nur so lange wie dieses Objekt.

◆ getObjectStrIndexIterator()

int glo::IndexPool::SchemaIndex::getObjectStrIndexIterator ( ObjectStrIndexIterator *& prObjectStrIndexIterators,
unsigned long ulClassID,
const std::string & rsIndexName ) const

Liefert einen Iterator auf einen TableObjIdIndex einer bestimmten Klasse.

Parameter
[in,out]prObjectStrIndexIteratorsDer Iterator.
[in]ulClassIDDie Klassen-ID.
[in]rsIndexNameDie Indexbezeichnung. Wenn z.B. im Schema "[MyClassName.Index.IDX_MyIndexName]", dann "IDX_MyIndexName". indiziert ist.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Achtung
Die aufrufende Instanz muss das gelieferte Objekt aus dem Speicher entfernen (ist eine Kopie).

◆ getObjectStrIndexMapRef()

const std::multimap< unsigned long, IndexPool::ObjectStrIndex *, std::less< unsigned long > > & glo::IndexPool::SchemaIndex::getObjectStrIndexMapRef ( ) const

Liefert eine Referenz auf m_ObjectStrIndexMap.

Rückgabe
Referenz auf m_ObjectStrIndexMap.

◆ getObjIdPosTuple()

int glo::IndexPool::SchemaIndex::getObjIdPosTuple ( ObjIdPosTuple *& prRetVal,
unsigned long ulClassID,
const ObjID & rObjID ) const

Liefert ein ObjIdPosTuple mit der übergebenen Objekt-ID.

Parameter
[in,out]prRetValWenn vorhanden, ein Zeiger auf eine Kopie der Objekt-ID mit der Tabellen-Position.
[in]ulClassIDDie Klassen-ID, um den TableObjIdIndex zu identifizieren.
[in]rObjIDDie Objekt-ID des zu liefernden Eintrags.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Achtung
Die aufrufende Instanz muss das gelieferte Objekt aus dem Speicher entfernen.

◆ getSchemaName()

std::string glo::IndexPool::SchemaIndex::getSchemaName ( ) const

Liefert die Schemabezeichnung.

Rückgabe
Die Schemabezeichnung (z.B. "MyGloBase").

◆ getTableObjIdIndex()

int glo::IndexPool::SchemaIndex::getTableObjIdIndex ( TableObjIdIndex *& prRetVal,
unsigned long ulClassID ) const

Liefert einen TableObjIdIndex einer bestimmten Klasse.

Parameter
[in,out]prRetValDer TableObjIdIndex, wenn vorhanden.
[in]ulClassIDDie Klassen-ID.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Achtung
Die aufrufende Instanz darf das gelieferte Objekt NICHT aus dem Speicher entfernen. Es lebt maximal so lange wie dieses Objekt.

◆ getTableObjIdIndexIterator()

int glo::IndexPool::SchemaIndex::getTableObjIdIndexIterator ( TableObjIdIndexIterator *& prTableIterators,
unsigned long ulClassID ) const

Liefert einen Iterator auf einen TableObjIdIndex einer bestimmten Klasse.

Parameter
[in,out]prTableIteratorsDer Iterator.
[in]ulClassIDDie Klassen-ID.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Achtung
Die aufrufende Instanz muss das gelieferte Objekt aus dem Speicher entfernen (ist eine Kopie).

◆ getTableObjIdIndexMapRef()

const std::map< unsigned long, IndexPool::TableObjIdIndex *, std::less< unsigned long > > & glo::IndexPool::SchemaIndex::getTableObjIdIndexMapRef ( ) const

Liefert eine Referenz auf m_TableObjIdIndexMap.

Rückgabe
Referenz auf m_TableObjIdIndexMap.

◆ insertDeletedObjID()

int glo::IndexPool::SchemaIndex::insertDeletedObjID ( const ObjID & rDeletedObjId)

Registriert übergeben Objekt-ID für diese Datenbank als gelöscht.

Parameter
[in]rDeletedObjIdDie als gelöscht zu registrierende Objekt-ID.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.

◆ insertFreeObjIDPos()

int glo::IndexPool::SchemaIndex::insertFreeObjIDPos ( unsigned long ulClassID,
std::streampos Pos )

Registriert eine freie Tabellen-Position in einer Tabelle.

Parameter
[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.

◆ insertObjIdPosTuple()

int glo::IndexPool::SchemaIndex::insertObjIdPosTuple ( unsigned long ulClassID,
const ObjIdPosTuple & rIndexTuple )

Fügt eine Objekt-ID mit der Tabellen-Position,wo der korrespondierende Datensatzes gespeichert ist, in den TableObjIdIndex mit übergebener Klassen-ID ein.

Parameter
[in]ulClassIDDie Klassen-ID, um den TableObjIdIndex zu identifizieren.
[in]rIndexTupleDie einzufügende Objekt-ID mit der Tabellen-Position.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.

◆ insertObjStrIdTuple()

int glo::IndexPool::SchemaIndex::insertObjStrIdTuple ( unsigned long ulClassID,
const std::string & rsIndexName,
const ObjStrIdTuple & rIndexTuple )

Fügt einen StringIndex in einen ObjectStrIndex ein.

Parameter
[in]ulClassIDDie Klassen-ID, um den ObjectStrIndex zu identifizieren.
[in]rsIndexNameDie Bezeichnung des ObjectStrIndex. Wenn z.B. im Schema "[MyClassName.Index.IDX_MyIndexName]", dann "IDX_MyIndexName".
[in]rIndexTupleDer einzufügende StringIndex.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Siehe auch
ObjectStrIndex::insertObjStrIdTuple(const ObjStrIdTuple & rIndexTuple)

◆ insertTransactionDeletedObjID()

int glo::IndexPool::SchemaIndex::insertTransactionDeletedObjID ( const ObjID & rDeletedObjId)

Registriert übergeben Objekt-ID für die aktuelle Transaktion als gelöscht (inkrementiert den Löschzähler, siehe auch DeletedObjIdTuple::m_iDelCounter).

Parameter
[in]rDeletedObjIdDie als gelöscht zu registrierende Objekt-ID.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Siehe auch
SchemaIndex::removeTransactionDeletedObjID(const ObjID&)

◆ isIndexFree()

int glo::IndexPool::SchemaIndex::isIndexFree ( unsigned long ulClassID,
const ObjID & rObjID,
const std::string & rsIndexName,
const std::string & rsIndex ) const

Prüft ob ein IndexString noch frei ist.

Parameter
[in]ulClassIDDie Klassen-ID, um den ObjectStrIndex zu identifizieren.
[in]rObjIDDie Objekt-ID, um den Eintrag zu identifizieren.
[in]rsIndexNameDie Bezeichnung des zu prüfenden Index. Wenn z.B. im Schema "[MyClassName.Index.IDX_MyIndexName]", dann "IDX_MyIndexName".
[in]rsIndexDer zu überprüfende Index.
Rückgabe
Liefert 1 wenn der Index noch frei ist, oder 0 wenn er schon vergeben ist.
Ein Rückgabwert < 0 zeigt einen Fehler an.

◆ isObjIdDeleted()

bool glo::IndexPool::SchemaIndex::isObjIdDeleted ( const ObjID & rObjID) const

Prüft ob eine Objekt-ID als gelöscht geführt wird. Schaut nicht nur in der m_DeletedObjIdMap nach, sonder auch in der m_TransactionDeletedObjIdMap.

Parameter
[in]rObjIDDie zu prüfende Objekt-ID.
Rückgabe
Liefert true, wenn die übergebene Objekt-ID als gelöscht geführt wird, ansonsten false.

◆ isObjIdFree()

int glo::IndexPool::SchemaIndex::isObjIdFree ( unsigned long ulClassID,
const ObjID & rObjID ) const

Prüft eine Objekt-ID, ob diese schon verwaltet wird.

Parameter
[in]ulClassIDDie Klassen-ID, um den TableObjIdIndex zu identifizieren.
[in]rObjIDDie zu prüfende Objekt-ID.
Rückgabe
Liefert 1, wenn rObjID nicht verwaltet wird, ansonsten 0.
Ein Rückgabwert < 0 zeigt einen Fehler an.

◆ makeObjectStrIndex()

int glo::IndexPool::SchemaIndex::makeObjectStrIndex ( const std::string & rsPathName,
unsigned long ulClassID,
const std::string & rsIndexName,
bool bUnique )

Fügt einen neuen ObjectStrIndex in seine m_ObjectStrIndexMap ein.

Parameter
[in]rsPathNameDie vollständige Verzeichnisbezeichnung, in dem die Tabellen zu finden sind wie z.B. "C:/Pfad/Data/".
[in]ulClassIDDie Klassen-ID der verwalteten Indexe.
[in]rsIndexNameDie Indexbezeichnung. Wenn z.B. im Schema "[MyClassName.Index.IDX_MyIndexName]", dann "IDX_MyIndexName".
[in]bUniqueWenn true, dann handelt es sich um einen eindeutigen Index (jeder Eintrag kann nur einmal vorhanden sein), ansonsten sind mehrere gleiche Einträge möglich.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.

◆ makeTableObjIdIndex()

int glo::IndexPool::SchemaIndex::makeTableObjIdIndex ( const std::string & rsPathName,
unsigned long ulClassID )

Fügt einen neuen TableObjIdIndex in seine m_TableObjIdIndexMap ein.

Parameter
[in]rsPathNameDie vollständige Verzeichnisbezeichnung, in dem die Tabellen zu finden sind wie z.B. "C:/Pfad/Data/".
[in]ulClassIDDie Klassen-ID der verwalteten Indexe.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.

◆ operator=()

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

Zuweisungsoperator.

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

◆ releaseObjStrIdTuple()

int glo::IndexPool::SchemaIndex::releaseObjStrIdTuple ( unsigned long ulClassID,
const std::string & rsIndexName,
const NUM_PTR ipReservingComunicatorTrx )

Gibt einen StringIndex in einen ObjectStrIndex, wenn dieser ein Unique-Index ist, wieder frei.

Parameter
[in]ulClassIDDie Klassen-ID, um den ObjectStrIndex zu identifizieren.
[in]rsIndexNameDie Bezeichnung des ObjectStrIndex. Wenn z.B. im Schema "[MyClassName.Index.IDX_MyIndexName]", dann "IDX_MyIndexName".
[in]ipReservingComunicatorTrxDer Transaktionsschritt, für den die Reservierung angefordert wurde.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Ausnahmebehandlung
eut::ErrorNExceptionWenn ulReservingComunicatorTrx == 0 ist, wird eine Exception geworfen.
Siehe auch
SchemaIndex::reserveObjStrIdTuple (...)

◆ removeFreeObjIDPos()

int glo::IndexPool::SchemaIndex::removeFreeObjIDPos ( unsigned long ulClassID,
std::streampos Pos )

Entfernt eine freie Tabellen-Position aus dem, mit der übergebenen Klassen-ID korrespondierenden TableObjIdIndex.

Parameter
[in]ulClassIDDie Klassen-ID, um den TableObjIdIndex zu identifizieren.
[in]PosDie zu entfernendde Tabellen-Position.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.

◆ removeObjectStrIndex()

int glo::IndexPool::SchemaIndex::removeObjectStrIndex ( unsigned long ulClassID,
const std::string & rsIndexName )

Löscht den ObjectStrIndex mit übergebenen ClassID und der übergebenen Bezeichnung, wenn vorhanden aus m_ObjectStrIndexMap und aus dem Speicher.

Parameter
[in]ulClassIDDie Klassen-ID des zu entfernenden Index.
[in]rsIndexNameDie Bezeichnung des zu entfernenden Index. Wenn z.B. im Schema "[MyClassName.Index.IDX_MyIndexName]", dann "IDX_MyIndexName".
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.

◆ removeObjId()

int glo::IndexPool::SchemaIndex::removeObjId ( unsigned long ulClassID,
const ObjID & rObjID )

Entfernt den Eintrag mit übergebener Objekt-ID aus der Map, welche die gespeicherten Objekt-IDs und die Tabellen-Position verwalteten, aus dem TableObjIdIndex mit übergebener Klassen-ID.

Parameter
[in]ulClassIDDie Klassen-ID, um den TableObjIdIndex zu identifizieren.
[in]rObjIDDie zu entfernende Objekt-ID.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.

◆ removeObjStrIdTuple()

int glo::IndexPool::SchemaIndex::removeObjStrIdTuple ( unsigned long ulClassID,
const std::string & rsIndexName,
const ObjID & rObjID,
NUM_PTR ipReservingComunicatorTrx = 0 )

Entfernt den String-Index aus der Map bzw. MultiMap der Indiezes eines ObjectStrIndex.

Parameter
[in]ulClassIDDie Klassen-ID, um den ObjectStrIndex zu identifizieren.
[in]rsIndexNameDie Bezeichnung des ObjectStrIndex. Wenn z.B. im Schema "[MyClassName.Index.IDX_MyIndexName]", dann "IDX_MyIndexName".
[in]rObjIDDie Objekt-ID des zu entfernenden Indexes.
[in]ipReservingComunicatorTrxDie auf NUM_PTR gecastete Adresse eines Communicator's, in dessen Transaktion der Index ggf. reserviert wurde. Wenn diese gesetzt, wird nur ein reservierter Index gelöscht.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.

◆ removeTableObjIdIndex()

int glo::IndexPool::SchemaIndex::removeTableObjIdIndex ( unsigned long ulClassID)

Löscht den TableObjIdIndex mit übergebenen ClassID, wenn vorhanden aus seiner m_TableObjIdIndexMap und aus dem Speicher.

Parameter
[in]ulClassIDDie Klassen-ID des zu entfernenden Indexes.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.

◆ removeTransactionDeletedObjID()

int glo::IndexPool::SchemaIndex::removeTransactionDeletedObjID ( const ObjID & rDeletedObjId)

Deregistriert übergebene Objekt-ID für die aktuelle Transaktion als gelöscht. Es wird die gelöschte Objekt-ID mit höchsten Löschzähler gesucht und entfernt (dekrementiert den Löschzähler, siehe auch: DeletedObjIdTuple::m_iDelCounter).

Parameter
[in]rDeletedObjIdDie als gelöscht zu deregistrierende Objekt-ID.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Siehe auch
SchemaIndex::insertTransactionDeletedObjID(const ObjID&)

◆ reserveObjStrIdTuple()

int glo::IndexPool::SchemaIndex::reserveObjStrIdTuple ( unsigned long ulClassID,
const std::string & rsIndexName,
const ObjStrIdTuple & rIndexTuple )

Reserviert einen StringIndex in einen ObjectStrIndex, wenn dieser ein Unique-Index ist.

Parameter
[in]ulClassIDDie Klassen-ID, um den ObjectStrIndex zu identifizieren.
[in]rsIndexNameDie Bezeichnung des ObjectStrIndex. Wenn z.B. im Schema "[MyClassName.Index.IDX_MyIndexName]", dann "IDX_MyIndexName".
[in]rIndexTupleDer zu reservierende Index.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Ausnahmebehandlung
eut::ErrorNExceptionWenn ObjStrIdTuple::m_ipReservingComunicatorTrx im Parameter rIndexTuple nicht gesetzt ist, wird eine Exception geworfen.
Siehe auch
SchemaIndex::releaseObjStrIdTuple (...)

Dokumentation der Datenelemente

◆ m_DeletedObjIdMap

std::map< ObjID, ObjID * , std::less< ObjID > > glo::IndexPool::SchemaIndex::m_DeletedObjIdMap
private

Die einzelnen Objekt-IDs der Objekte, welche seit dem letzten Laden der Indexe gelöscht wurden. Diese Objekt-IDs dürfen nicht mehr gespeichert werden.

◆ m_ObjectStrIndexMap

std::multimap< unsigned long, ObjectStrIndex * , std::less< unsigned long > > glo::IndexPool::SchemaIndex::m_ObjectStrIndexMap
private

Die einzelnen Objekte vom Typ ObjectStrIndex für die Klassen dieses Schemas bzw. dieser Datenbank.
Index ist die Klassen-ID.

◆ m_sSchemaName

std::string glo::IndexPool::SchemaIndex::m_sSchemaName
private

Die Schemabezeichnung (z.B. "MyGloBase").

◆ m_TableObjIdIndexMap

std::map< unsigned long, TableObjIdIndex * , std::less< unsigned long > > glo::IndexPool::SchemaIndex::m_TableObjIdIndexMap
private

Die einzelnen Objekte vom Typ TableObjIdIndex für jede Klassen dieses Schemas bzw. dieser Datenbank.
Index ist die Klassen-ID.

◆ m_TransactionDeletedObjIdMap

std::map< ObjID, DeletedObjIdTuple * , std::less< ObjID > > glo::IndexPool::SchemaIndex::m_TransactionDeletedObjIdMap
private

Die einzelnen Objekt-IDs der Objekte, welche in einer Transaktion gelöscht wurden. Es werden die Objekt-IDs mit einem Löschzähler geführt.
Das ist notwendig, weil das mehrfache Löschen eines Objektes aus der Datenbank kein Fehler darstellt und wenn in einer Transaktion verschachtelt ein Objekt mehrfach gelöscht wird und einzelne Unter-Transaktionen abgebrochen werden, muss gewährleistet sein, das der aktuelle Löschstatus durch den Löschzähler bekannt ist.


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