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

Wenn etwas mit einer GlobalObjects-Datenbank nicht stimmt oder diese ansonsten behandelt werden soll, ist das Objekt dieser Klasse die richtige Anlaufstelle.
Hier kann repariert und umkopiert werden. Mehr ...

#include <GloBaseFitter.h>

Öffentliche Methoden

 BaseFitter (const BaseFitter &rT)
 
 BaseFitter (Manager &rGloManager)
 
virtual ~BaseFitter ()
 
int checkAttributeDirectorys (std::vector< AttributeID > &rMissingAttributeDirectorieVector, const SchemaInterface &rSchemaInterface, int iActions)
 
int checkTables (std::vector< std::tuple< unsigned long, unsigned int, std::string > > &rMissingTableClassIDVector, const SchemaInterface &rSchemaInterface, int iActions)
 
int compressBase (const SchemaInterface &rSchemaInterface, int iActions)
 
BaseFitteroperator= (const BaseFitter &rT)
 
int reindexBase (const SchemaInterface &rSchemaInterface, int iActions)
 
int repairAttributeDirectorys (const SchemaInterface &rSchemaInterface, int iActions, std::ofstream &rLogFileStream)
 
int repairTables (const SchemaInterface &rSchemaInterface, int iActions, std::ofstream &rLogFileStream)
 

Geschützte Methoden

 BaseFitter ()
 
int checkTable (std::vector< std::tuple< unsigned long, unsigned int, std::string > > &rMissingTableClassIDVector, const SchemaInterface &rSchemaInterface, ClassInfo &rClassInfo)
 
int compressTable (std::string sTableName, int iActions)
 

Private Attribute

Managerm_pGloManager
 

Ausführliche Beschreibung

Wenn etwas mit einer GlobalObjects-Datenbank nicht stimmt oder diese ansonsten behandelt werden soll, ist das Objekt dieser Klasse die richtige Anlaufstelle.
Hier kann repariert und umkopiert werden.

Achtung
Objekte dieser Klasse sind NUR für den Manager bestimmt.
Autor
Helmut Jakoby

Beschreibung der Konstruktoren und Destruktoren

◆ BaseFitter() [1/3]

glo::BaseFitter::BaseFitter ( )
protected

Der Standard-Konstruktor steht nicht zur Verfügung.

◆ BaseFitter() [2/3]

glo::BaseFitter::BaseFitter ( Manager & rGloManager)

Konstruktor mit Parameterübergabe.

Parameter
[in]rGloManagerKann benachrichtigt werden (WatchNotify).
Achtung
Der übergebene Manager darf nicht vor einem Objekt dieser Klasse aus dem Speicher entfernt werden!

◆ BaseFitter() [3/3]

glo::BaseFitter::BaseFitter ( const BaseFitter & rT)

Copy-Konstruktor.

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

◆ ~BaseFitter()

virtual glo::BaseFitter::~BaseFitter ( )
virtual

Destruktor.

Dokumentation der Elementfunktionen

◆ checkAttributeDirectorys()

int glo::BaseFitter::checkAttributeDirectorys ( std::vector< AttributeID > & rMissingAttributeDirectorieVector,
const SchemaInterface & rSchemaInterface,
int iActions )

Es wird geprüft, ob die Unterverzeichnisse der Attribute (die dort untergebracht werden) aller Klassen aus übergebenen SchemaInterface vorhanden sind.

Parameter
[in,out]rMissingAttributeDirectorieVectorVector mit Objekten vom Typ AttributeID, deren Attributverzeichnisse nicht vorhanden sind.
[in]rSchemaInterfaceDas SchemaInterface repräsentiert die Datenbank und liefert den Pfad zu den Tabellen.
[in]iActionsWenn >= 0 übergeben, wird dieser Wert als Gesamtaktionszahl für Notify verwendet. Wenn < 0, wird in dieser Methode der Wert auf "Anzahl aller Klassen" gesetzt.
Rückgabe
Ein Rückgabewert < 0 zeigt eine Fehler an.
Achtung
Das gewünschte wird nur gelingen, wenn die Datenbank von keiner Instanz geöffnet ist.
Ohne vorheriges Verbinden (siehe auch Base::connect() ) scheitert die Methode.

◆ checkTable()

int glo::BaseFitter::checkTable ( std::vector< std::tuple< unsigned long, unsigned int, std::string > > & rMissingTableClassIDVector,
const SchemaInterface & rSchemaInterface,
ClassInfo & rClassInfo )
protected

Es wird geprüft, ob die Tabelle der übergebenen ClassInfo aus übergebenen SchemaInterface vorhanden ist und alle Felder enthalten sind.

Parameter
[in,out]rMissingTableClassIDVectorVector mit ClassIDs (unsigned long), deren Tabellen nicht in Ordnung ist und einem Integer (unsigned int), der bei 0 bedeutet, dass die Tabelle nicht vorhanden ist oder 1, wenn die Tabelle nicht die erwarteten Attribute aufweist. Wenn 2. Wert == 1, dann sind im 3. Wert (std::string) die aktuellen, nicht erwarteten Attribute getrennt durch g_cTableColumnDelimiter.
[in]rSchemaInterfaceDas SchemaInterface repräsentiert die Datenbank und liefert den Pfad zu den Tabellen.
[in]rClassInfoDie Klasseninformation mit ihren Attributinformationen.
Rückgabe
Ein Rückgabewert < 0 zeigt eine Fehler an.
Achtung
Ohne vorheriges Verbinden (siehe auch Base::connect() ) scheitert die Methode.

◆ checkTables()

int glo::BaseFitter::checkTables ( std::vector< std::tuple< unsigned long, unsigned int, std::string > > & rMissingTableClassIDVector,
const SchemaInterface & rSchemaInterface,
int iActions )

Es wird geprüft, ob die Tabellen aller Klassen aus übergebenen SchemaInterface vorhanden sind und alle Felder enthalten sind.

Parameter
[in,out]rMissingTableClassIDVectorVector mit ClassIDs (unsigned long), deren Tabellen nicht in Ordnung ist und einem Integer (unsigned int), der bei 0 bedeutet, dass die Tabelle nicht vorhanden ist oder 1, wenn die Tabelle nicht die erwarteten Attribute aufweist. Wenn 2. Wert == 1, dann sind im 3. Wert (std::string) die aktuellen, nicht erwarteten Attribute getrennt durch g_cTableColumnDelimiter.
[in]rSchemaInterfaceDas SchemaInterface repräsentiert die Datenbank und liefert den Pfad zu den Tabellen.
[in]iActionsWenn >= 0 übergeben, wird dieser Wert als Gesamtaktionszahl für Notify verwendet. Wenn < 0 wird in dieser Methode der Wert auf "Anzahl aller Klassen" gesetzt.
Rückgabe
Ein Rückgabewert < 0 zeigt eine Fehler an.
Achtung
Das gewünschte wird nur gelingen, wenn die Datenbank von keiner Instanz geöffnet ist.
Ohne vorheriges Verbinden (siehe auch Base::connect() ) scheitert die Methode.

◆ compressBase()

int glo::BaseFitter::compressBase ( const SchemaInterface & rSchemaInterface,
int iActions )

Es wird die Datenbank, repräsentiert durch das übergeben SchemaInterface, komprimiert.

Parameter
[in]rSchemaInterfaceDas SchemaInterface repräsentiert die Datenbank und liefert den Pfad zu den Tabellen.
[in]iActionsWenn >= 0 übergeben, wird dieser Wert als Gesamtaktionszahl für Notify verwendet. Wenn < 0 wird in dieser Methode der Wert auf "Anzahl aller Klassen" gesetzt.
Rückgabe
Ein Rückgabewert < 0 zeigt eine Fehler an.
Achtung
Es wird die Datenbank NICHT neu indiziert bzw. die vorhandenen Index sind korupt. Es muss nachträglich reindexBase (...) ausgeführt werden.
Das gewünschte wird nur gelingen, wenn die Datenbank von keiner Instanz geöffnet ist.
Ohne vorheriges Verbinden (siehe auch Base::connect() ) scheitert die Methode.

◆ compressTable()

int glo::BaseFitter::compressTable ( std::string sTableName,
int iActions )
protected

Es wird die Tabelle mit der übergebenen Bezeichnung komprimiert.

Parameter
[in]sTableNameDie vollständige Bezeichnung der Tabelle, welche komprimiert werden sollen (z.B. "D:/Bases/MyFirstBase").
[in]iActionsWenn > 0, wird dieser Wert als Gesamtaktionszahl für Notify verwendet.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Zu beachten
Diese Methode arbeitet ohne Index. Wenn ohne Fehler beendet, ist der Index NICHT angepasst.

◆ operator=()

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

Zuweisungsoperator.

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

◆ reindexBase()

int glo::BaseFitter::reindexBase ( const SchemaInterface & rSchemaInterface,
int iActions )

Es wird die Datenbank, repräsentiert durch das übergeben SchemaInterface, reindizieren.

Parameter
[in]rSchemaInterfaceDas SchemaInterface repräsentiert die Datenbank und liefert den Pfad zu den Tabellen.
[in]iActionsWenn >= 0 übergeben, wird dieser Wert als Gesamtaktionszahl für Notify verwendet. Wenn < 0 wird in dieser Methode der Wert auf folgenden Wert gesetzt:
  • Alle Einträge jeder Tabelle werden gelesen und in die Fdx- bzw. Odx-indexe im Speicher erstellt -> Anzahl der Klassen im Schema.
  • Es werden alle String-Indexe ermittelt und im Speicher erstellt -> Anzahl der Sdx-Indexe aller Klasse im Schema.
  • Es werden die Fdx- und Odx-Dateien einzeln geschrieben -> Anzahl der Klassen im Schema * 2.
  • Es werden die String-Indexdateien geschrieben -> Anzahl der Sdx-Indexe aller Klasse im Schema.
Rückgabe
Ein Rückgabewert < 0 zeigt eine Fehler an.
Achtung
Das gewünschte wird nur gelingen, wenn die Datenbank von keiner Instanz geöffnet ist.
Ohne vorheriges Verbinden (siehe auch Base::connect() ) scheitert die Methode.
Siehe auch
OrderMsg::eREINDEX_BASE

◆ repairAttributeDirectorys()

int glo::BaseFitter::repairAttributeDirectorys ( const SchemaInterface & rSchemaInterface,
int iActions,
std::ofstream & rLogFileStream )

Es werden die Unterverzeichnisse der Attribute, die dort untergebracht sind, aller Klassen aus übergebenen SchemaInterface erstellt, wenn nicht schon vorhanden.

Parameter
[in]rSchemaInterfaceDas SchemaInterface repräsentiert die Datenbank und liefert den Pfad zu den Tabellen.
[in]iActionsWenn >= 0 übergeben, wird dieser Wert als Gesamtaktionszahl für Notify verwendet. Wenn < 0 wird in dieser Methode der Wert auf "Anzahl aller Klassen" gesetzt.
[in]rLogFileStreamWenn ein Verzeichniss neu erstellt wird, wird in dieses Logfile geschrieben.
Rückgabe
Ein Rückgabewert < 0 zeigt eine Fehler an.
Achtung
Das gewünschte wird nur gelingen, wenn die Datenbank von keiner Instanz geöffnet ist.
Ohne vorheriges Verbinden (siehe auch Base::connect() ) scheitert die Methode.

◆ repairTables()

int glo::BaseFitter::repairTables ( const SchemaInterface & rSchemaInterface,
int iActions,
std::ofstream & rLogFileStream )

Es werden die Tabellen aller Klassen aus übergebenen SchemaInterface erstellt, wenn nicht schon vorhanden. Wenn vorhanden, wird geprüft, ob in den Tabellen die Felder konsistent sind und ggf. angepasst; das betrifft nur die Tabellenspalte (1. Zeile) und nicht ggf. vorhandene Objekteinträge.

Parameter
[in]rSchemaInterfaceDas SchemaInterface repräsentiert die Datenbank und liefert den Pfad zu den Tabellen.
[in]iActionsWenn >= 0 übergeben, wird dieser Wert als Gesamtaktionszahl für Notify verwendet. Wenn < 0 wird in dieser Methode der Wert auf "Anzahl aller Klassen" gesetzt.
[in]rLogFileStreamWenn eine Tabelle neu erstellt bzw. angepasst wird, wird dieses in dem Logfile dokumentiert.
Rückgabe
Ein Rückgabewert < 0 zeigt eine Fehler an.
Achtung
Das gewünschte wird nur gelingen, wenn die Datenbank von keiner Instanz geöffnet ist.
Ohne vorheriges Verbinden (siehe auch Base::connect() ) scheitert die Methode.

Dokumentation der Datenelemente

◆ m_pGloManager

Manager* glo::BaseFitter::m_pGloManager
private

Fürs Benachrichtigen ist der Manager notwendig.


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