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>
|
| 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) |
|
BaseFitter & | operator= (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) |
|
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
- Copyright
- © 2010 Helmut Jakoby
◆ 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] | rGloManager | Kann 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] | rT | Von diesem Objekt werden die Daten übernommen. |
◆ ~BaseFitter()
virtual glo::BaseFitter::~BaseFitter |
( |
| ) |
|
|
virtual |
◆ 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] | rMissingAttributeDirectorieVector | Vector mit Objekten vom Typ AttributeID, deren Attributverzeichnisse nicht vorhanden sind. |
[in] | rSchemaInterface | Das SchemaInterface repräsentiert die Datenbank und liefert den Pfad zu den Tabellen. |
[in] | iActions | Wenn >= 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] | rMissingTableClassIDVector | Vector 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] | rSchemaInterface | Das SchemaInterface repräsentiert die Datenbank und liefert den Pfad zu den Tabellen. |
[in] | rClassInfo | Die 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] | rMissingTableClassIDVector | Vector 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] | rSchemaInterface | Das SchemaInterface repräsentiert die Datenbank und liefert den Pfad zu den Tabellen. |
[in] | iActions | Wenn >= 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] | rSchemaInterface | Das SchemaInterface repräsentiert die Datenbank und liefert den Pfad zu den Tabellen. |
[in] | iActions | Wenn >= 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] | sTableName | Die vollständige Bezeichnung der Tabelle, welche komprimiert werden sollen (z.B. "D:/Bases/MyFirstBase"). |
[in] | iActions | Wenn > 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=()
Zuweisungsoperator.
- Parameter
-
[in] | rT | Von 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] | rSchemaInterface | Das SchemaInterface repräsentiert die Datenbank und liefert den Pfad zu den Tabellen. |
[in] | iActions | Wenn >= 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] | rSchemaInterface | Das SchemaInterface repräsentiert die Datenbank und liefert den Pfad zu den Tabellen. |
[in] | iActions | Wenn >= 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] | rLogFileStream | Wenn 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] | rSchemaInterface | Das SchemaInterface repräsentiert die Datenbank und liefert den Pfad zu den Tabellen. |
[in] | iActions | Wenn >= 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] | rLogFileStream | Wenn 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.
◆ 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: