| 
    GlobalObjects
    
   | 
 
Der reale Index im Gegensatz zum TransactionIndexPool, welcher für jede Transaktion erstellt wird. Mehr ...
#include <GloRealIndexPool.h>

Ö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) | 
| RealIndexPool & | operator= (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 | 
| IndexPool & | operator= (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 | 
| WatchNotifyManager * | m_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 | 
Der reale Index im Gegensatz zum TransactionIndexPool, welcher für jede Transaktion erstellt wird.
| glo::RealIndexPool::RealIndexPool | ( | ) | 
Standard-Konstruktor.
Wird benutzt von RealIndexPool() und operator=().
| glo::RealIndexPool::RealIndexPool | ( | const RealIndexPool & | rT | ) | 
Copy-Konstruktor.
| [in] | rT | Von diesem Objekt werden die Daten übernommen. | 
Benutzt RealIndexPool().
      
  | 
  virtual | 
Destruktor.
      
  | 
  protected | 
Generiert einen TableObjIdIndex aus den Daten einer Objekt-Tabelle.
| [in] | rSchemaInterface | Für Schemaname und der Pfad zu den Tabellen. | 
| [in] | rClassInfoAttribute | Für Tabellenname und ClassID. | 
      
  | 
  protected | 
Generiert einen ObjectStrIndex aus den Daten einer Objekt-Tabelle.
| [in] | rSchemaInterface | Für den Schemanamen und der Pfad zu den Tabellen. | 
| [in] | rClassInfoIndex | Für die Tabellenbezeichnung und die Klassen-ID. | 
      
  | 
  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. 
| [in,out] | rsRetValIndex | Der resultierende String. | 
| [in] | rLanguageKeys | Die Sprachschlüssel in einem Vector. | 
| [in] | bCaseSensitive | Wenn false, werden alle Zeichen im rsRetValIndex in Großbuchstaben umgewandelt. | 
| [in] | rSchemaInterface | Für den Schemanamen und der Pfad zu den Tabellen. | 
| [in] | ulClassID | Die Klassen-ID gibt an, in welcher Tabelle gesucht werden soll. | 
| [in] | rObjID | Die ObjektID des Objektes. | 
| [in] | rIndexAttributeItem | Die Information, welches Attribut genommen werden soll. | 
      
  | 
  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.
| [in] | rSchemaInterface | Das SchemaInterface repräsentiert die Datenbank. | 
      
  | 
  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.
| [in] | rSchemaInterface | Das SchemaInterface repräsentiert die Datenbank. | 
      
  | 
  protected | 
Reindiziert alle Objekte vom Typ TableObjIdIndex einer Datenbank in den Speicher.
| [in] | rSchemaInterface | Das SchemaInterface repräsentiert die Datenbank. | 
      
  | 
  protected | 
Reindiziert alle Objekte vom Typ ObjectStrIndex einer Datenbank in den Speicher.
| [in] | rSchemaInterface | Das SchemaInterface repräsentiert die Datenbank. | 
      
  | 
  protected | 
Schreibt alle Objekte vom Typ TableObjIdIndex eines SchemaIndex aus dem Speicher in das Dateisystem (ODX- und FDX-Dateien).
| [in] | rSchemaIndex | Der SchemaIndex, dessen TableObjIdIndex geschrieben werden sollen. | 
      
  | 
  protected | 
Schreibt alle Objekte vom Typ TableObjIdIndex einer Datenbank aus dem Speicher in das Dateisystem (ODX- und FDX-Dateien).
| [in] | rSchemaInterface | Das SchemaInterface repräsentiert die Datenbank. | 
      
  | 
  protected | 
Schreibt alle Objekte vom Typ ObjectStrIndex eines SchemaIndex aus dem Speicher in das Dateisystem (SDX-Dateien).
| [in] | rSchemaIndex | Der SchemaIndex, dessen ObjectStrIndex geschrieben werden sollen. | 
      
  | 
  protected | 
Schreibt alle Objekte vom Typ ObjectStrIndex einer Datenbank aus dem Speicher in das Dateisystem (SDX-Dateien).
| [in] | rSchemaInterface | Das SchemaInterface repräsentiert die Datenbank. | 
      
  | 
  virtual | 
Prüft, ob ein SchemaIndex mit der übergebenen Bezeichnung existiert.
| [in] | rsSchemaName | Die Schemabezeichnung (z.B. "MyGloBase") des zu prüfenden SchemaIndex. | 
      
  | 
  virtual | 
Liefert eine freie Tabellen-Position in einem TableObjIdIndex mit übergebener Klassen-ID in einem SchemaIndex.
| [in,out] | rPos | Die freie Tabellen-Position, wenn eine vorhanden war. | 
| [in] | rsSchemaName | Die Schemabezeichnung (z.B. "MyGloBase") um den SchemaIndex zu identifizieren. | 
| [in] | ulClassID | Die Klassen-ID, um den TableObjIdIndex zu identifizieren. | 
| 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.
| [in] | rSchemaInterface | Das SchemaInterface repräsentiert die Datenbank. | 
| 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.
| [in] | rSchemaInterface | Das SchemaInterface repräsentiert die Datenbank. | 
      
  | 
  virtual | 
Registriert eine freie Tabellen-Position in einem TableObjIdIndex mit übergebener Klassen-ID in einem SchemaIndex.
| [in] | rsSchemaName | Die Schemabezeichnung (z.B. "MyGloBase") um den SchemaIndex zu identifizieren. | 
| [in] | ulClassID | Die Klassen-ID, um den TableObjIdIndex zu identifizieren. | 
| [in] | Pos | Die als 'frei' zu registrierende Tabellen-Position. | 
| 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.
| [in] | iMode | Der Überwachungsmodus. | 
| [in] | rsSchemaName | Die Schemabezeichnung für die WatchNotifyManager::NotifyIndexReadWriteInfo::m_sSchemaName. | 
| [in] | rObjID | Die Objekt-ID für die WatchNotifyManager::NotifyIndexReadWriteInfo::m_ObjID. | 
| [in] | iFraction | Der Fortschritt. | 
| [in] | iActions | Die zu erwartende Anzahl der Aktionen. | 
| RealIndexPool & glo::RealIndexPool::operator= | ( | const RealIndexPool & | rT | ) | 
Zuweisungsoperator.
| [in] | rT | Von diesem Objekt werden die Daten übernommen. | 
Benutzt RealIndexPool().
| int glo::RealIndexPool::readIndexes | ( | const SchemaInterface & | rSchemaInterface | ) | 
Liest alle Indexe einer Datenbank aus den Index-Dateien ein.
| [in] | rSchemaInterface | Das SchemaInterface repräsentiert die Datenbank. | 
| int glo::RealIndexPool::reindex | ( | const SchemaInterface & | rSchemaInterface | ) | 
Reindiziert alle Indexe einer Datenbank in den Speicher.
| [in] | rSchemaInterface | Das SchemaInterface repräsentiert die Datenbank. | 
| int glo::RealIndexPool::reindex | ( | const SchemaInterface & | rSchemaInterface, | 
| int | iActions ) | 
Reindiziert alle Indexe einer Datenbank in den Speicher.
| [in] | rSchemaInterface | Das SchemaInterface repräsentiert die Datenbank. | 
| [in] | iActions | Wenn übergeben, wird dieser Wert als Gesamtaktionszahl für Notify verwendet. | 
| int glo::RealIndexPool::reindexObjIDIndexes | ( | const SchemaInterface & | rSchemaInterface | ) | 
Reindiziert alle Objekte vom Typ TableObjIdIndex einer Datenbank in den Speicher.
| [in] | rSchemaInterface | Das SchemaInterface repräsentiert die Datenbank. | 
| int glo::RealIndexPool::reindexObjStrIndexes | ( | const SchemaInterface & | rSchemaInterface | ) | 
Reindiziert alle Objekte vom Typ ObjectStrIndex einer Datenbank in den Speicher.
| [in] | rSchemaInterface | Das SchemaInterface repräsentiert die Datenbank. | 
      
  | 
  virtual | 
Entfernt eine freie Tabellen-Position in einem TableObjIdIndex mit übergebener Klassen-ID in einem SchemaIndex.
| [in] | rsSchemaName | Die Schemabezeichnung (z.B. "MyGloBase") um den SchemaIndex zu identifizieren. | 
| [in] | ulClassID | Die Klassen-ID, um den TableObjIdIndex zu identifizieren. | 
| [in] | Pos | Die entfernte Tabellen-Position. | 
| int glo::RealIndexPool::removeSchemaIndex | ( | const std::string & | rsSchemaName | ) | 
Entfernt einen SchemaIndex.
| [in] | rsSchemaName | Die Schemabezeichnung (z.B. "MyGloBase") des zu entfernenden SchemaIndex. | 
| 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.
| [in] | pWatchNotifyManager | Der zu referenzierende WatchNotifyManager. | 
| int glo::RealIndexPool::writeIndexes | ( | const SchemaInterface & | rSchemaInterface | ) | 
Schreibt alle Indexe einer Datenbank aus dem Speicher in das Dateisystem (ODX-, FDX- und SDX-Dateien).
| [in] | rSchemaInterface | Das SchemaInterface repräsentiert die Datenbank. | 
| 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).
| [in] | rSchemaInterface | Das SchemaInterface repräsentiert die Datenbank. | 
| [in] | iActions | Wenn übergeben, wird dieser Wert als Gesamtaktionszahl für Notify verwendet. | 
| 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).
| [in] | rSchemaInterface | Das SchemaInterface repräsentiert die Datenbank. | 
| int glo::RealIndexPool::writeObjStrIndexes | ( | const SchemaInterface & | rSchemaInterface | ) | const | 
Schreibt alle Objekte vom Typ ObjectStrIndex einer Datenbank aus dem Speicher in das Dateisystem (SDX-Dateien).
| [in] | rSchemaInterface | Das SchemaInterface repräsentiert die Datenbank. | 
      
  | 
  private | 
Wenn eine vom m_pWatchNotifyManager zu notifizierende Aktion ausgeführt wird, sind hier die voraussichtlichen Gesamtaktionen eingetragen.
      
  | 
  private | 
Wenn vorhanden, wird dieser genutzt um z.B. beim reindizieren etc. Clients benachrichtigen zu lassen. Wird von aufrufender Instanz verwaltet!