GlobalObjects
|
Ein Objekt dieser Klasse greift auf Tabellen zu und liest Datensätze (Record) und Binärdateien (eut::Blob). Mehr ...
#include <GloTableReaderInterface.h>
Klassen | |
class | AllSetObjectStrIndexIteratorItem |
In der m_pAllSetObjectStrIndexIteratorMap werden Objekte dieses Typs verwaltet, um in der Methode TableReaderInterface::setTransactionIndexPool(TransactionIndexPool*) sicherstellen zu können, dass ein AllSet mit Index neu geöffnet werden kann. Mehr ... | |
Öffentliche Methoden | |
TableReaderInterface (const SchemaInterface &rScheme, RealIndexPool *pRealIndexPool) | |
virtual | ~TableReaderInterface () |
int | closeAllSet (NUM_PTR ipClientAllSetAddress) |
int | getAllObjIDs (std::list< ObjID > &rRetValList) |
void | getAllTransactionIndexPools (std::vector< TransactionIndexPool * > &rTransactionIndexPoolVector) const |
int | getIndexedObjIdListFromAllSet (std::vector< glo::ObjID > &rObjIDContainer, NUM_PTR ipClientAllSetAddress, const std::string &rsIndexSearchValue, EnComparisionOp eComparisionOp) const |
int | getIndexedObjIdListFromAllSet (std::vector< glo::ObjID > &rObjIDContainer, NUM_PTR ipClientAllSetAddress, const std::string &rsIndexSearchValue, EnQueryType eQuerryType) const |
int | getIndexedObjIdListFromAllSet (std::vector< glo::ObjID > &rObjIDContainer, NUM_PTR ipClientAllSetAddress, const std::string &rsRangeStartIndex, const std::string &rsRangeEndIndex) const |
int | getObjectData (Record *&prRetVal, const ObjID &rObjID, ReaderInfo *pReaderInfo) |
int | getObjIdFromAllSet (ObjID &rObjID, NUM_PTR ipClientAllSetAddress, EnSeekMode eMode) const |
int | getObjIDs (std::list< ObjID > &rRetValList, unsigned long ulClassID) |
int | getObjIDs (std::map< ObjID, ObjID, std::less< ObjID > > &rRetValMap, unsigned long ulClassID) |
RealIndexPool * | getRealIndexPool () const |
int | getRecord (Record *&prRetVal, const ObjID &rObjID, ReaderInfo *pReaderInfo) |
int | getSizeFromAllSet (std::size_t &rnSize, NUM_PTR ipClientAllSetAddress) const |
TransactionIndexPool * | getTransactionIndexPool (const TransactionOwner &rCommunicatorWithTreadID) const |
int | isAllSetOpen (NUM_PTR ipClientAllSetAddress) const |
int | objIDInAllSet (const ObjID &rObjID, NUM_PTR ipClientAllSetAddress) const |
int | openAllSet (const TransactionOwner &rCommunicatorWithTreadID, NUM_PTR ipClientAllSetAddress, unsigned long ulClassID, bool bWithSubClasses) |
int | openAllSet (const TransactionOwner &rCommunicatorWithTreadID, NUM_PTR ipClientAllSetAddress, unsigned long ulClassID, const std::string &rsIndexName) |
virtual int | openTable (const std::string &sTableName) |
void | refreshAllTables () |
int | removeFilterInAllSet (NUM_PTR ipClientAllSetAddress) const |
int | setCurrentObjectInAllSet (const ObjID &rObjID, NUM_PTR ipClientAllSetAddress) const |
int | setFilterInAllSet (NUM_PTR ipClientAllSetAddress, const std::string &rsIndexFilterValue) const |
int | setFilterInAllSet (NUM_PTR ipClientAllSetAddress, const std::string &rsIndexFilterValue, EnComparisionOp eComparisionOp) const |
int | setFilterInAllSet (NUM_PTR ipClientAllSetAddress, const std::string &rsRangeStartIndex, const std::string &rsRangeEndIndex) const |
int | setPositionInAllSet (std::size_t nPosition, NUM_PTR ipClientAllSetAddress) const |
int | setTransactionIndexPool (const TransactionOwner &rCommunicatorWithTreadID, TransactionIndexPool *pTransactionIndexPool) |
Öffentliche Methoden geerbt von glo::TableInterface | |
TableInterface (const SchemaInterface &rScheme, RealIndexPool *pRealIndexPool) | |
virtual | ~TableInterface () |
virtual int | closeTable (const std::string &sTable) |
std::string | getDataPath () const |
int | getObjIDRecordAttribute (ObjIDRecordAttribute *&prRetVal, const std::string &sTable, const ObjID &rObjID) |
SchemaInterface & | getSchemaInterface () |
std::string | getSchemaPath () const |
int | objIDInBase (bool &rPresent, const ObjID &rObjID) const |
Geschützte Methoden | |
TableReaderInterface () | |
int | generateRecord (Record *&prRetVal, const std::string &sDataRow, ClassInfo &rClassInfo, std::streampos StreamPosRow, bool bOnlyClassIDTable=false) |
int | generateRecord (Record *&prRetVal, const std::string &sFieldNameRow, const std::string &sDataRow, std::streampos StreamPosRow, const std::string &rsTable, bool bOnlyClassIDTable=false) |
int | getObjectData (Record *&prRetVal, const ObjID &rObjID, ReaderInfo *pReaderInfo, bool bInRecursion) |
int | getObjectDataFromDataRow (Record *&prRetVal, const ObjID &rObjID, unsigned long ulClassID, bool bOnlyClassIDTable=false) |
int | getObjectDataFromDataRow (std::shared_ptr< Record > &sprRetVal, const ObjID &rObjID, unsigned long ulClassID, bool bOnlyClassIDTable=false) |
int | getObjIDs (std::list< ObjID > *pRetValList, std::map< ObjID, ObjID, std::less< ObjID > > *pRetValMap, unsigned long ulClassID) |
int | getRecord (Record *&prRetVal, const ObjID &rObjID, ClassInfo &rClassInfo, bool bOnlyClassIDTable=false) |
int | getRecord (Record *&prRetVal, const std::string &sTableName, const ObjID &rObjID, unsigned long ulClassID, bool bOnlyClassIDTable=false) |
IndexPool::TableObjIdIndexIterator * | openAllSet (int &riErr, const TransactionOwner &rCommunicatorWithTreadID, NUM_PTR ipClientAllSetAddress, unsigned long ulClassID, bool bWithSubClasses=true) |
IndexPool::ObjectStrIndexIterator * | openAllSet (int &riErr, const TransactionOwner &rCommunicatorWithTreadID, NUM_PTR ipClientAllSetAddress, unsigned long ulClassID, const std::string &rsIndexName) |
Geschützte Methoden geerbt von glo::TableInterface | |
TableInterface () | |
int | openFile (std::fstream *&prFStream, const std::string &sFullFileName, std::ios_base::openmode OpenMode) |
Private Methoden | |
TableReaderInterface (const TableReaderInterface &) | |
void | deleteAllSetObjectStrIndexIteratorMap (std::unordered_map< NUM_PTR, AllSetObjectStrIndexIteratorItem * > *pMapToDelete) |
void | deleteAllSetTableObjIdIndexIteratorMap (std::unordered_map< NUM_PTR, IndexPool::TableObjIdIndexIterator * > *pMapToDelete) |
TableInterface & | operator= (const TableInterface &) |
Private Attribute | |
std::unordered_map< NUM_PTR, AllSetObjectStrIndexIteratorItem * > * | m_pAllSetObjectStrIndexIteratorMap |
std::unordered_map< NUM_PTR, IndexPool::TableObjIdIndexIterator * > * | m_pAllSetTableObjIdIndexIteratorMap |
std::unordered_map< TransactionOwner, TransactionIndexPool *, glo::TransactionOwner::HashFunction > | m_pTransactionIndexPools |
std::unordered_map< ObjID, Record *, glo::ObjID::HashFunction > | m_RecursionRecordMap |
Weitere Geerbte Elemente | |
Geschützte Attribute geerbt von glo::TableInterface | |
std::unordered_map< std::string, TableInterfaceTable * > | m_OpenTableMap |
RealIndexPool * | m_pRealIndexPool |
SchemaInterface * | m_pSchema |
Ein Objekt dieser Klasse greift auf Tabellen zu und liest Datensätze (Record) und Binärdateien (eut::Blob).
Es werden beim instanziieren alle Tabellen, welche dem Schema bekannt sind, geöffnet, und beim zerstören wieder geschlossen.
|
protected |
Der Standard-Konstruktor steht nicht zur Verfügung.
glo::TableReaderInterface::TableReaderInterface | ( | const SchemaInterface & | rScheme, |
RealIndexPool * | pRealIndexPool ) |
Konstruktor mit Parameterübergabe.
[in] | rScheme | Ohne Schema gehts nicht, wird kopiert. |
[in] | pRealIndexPool | Beschleunigt den Zugriff auf Datensätze. |
eut::ErrorNException | Bei einem Fehler wird eine Exception geworfen. |
|
virtual |
Destruktor, es werden alle geöffneten Tabellen-Dateien geschlossen und der Speicher aufgeräumt.
|
private |
Der Copy-Konstruktor steht nicht zur Verfügung.
int glo::TableReaderInterface::closeAllSet | ( | NUM_PTR | ipClientAllSetAddress | ) |
Schliesst einen AllSet mit der übergebenen Client-AllSet Adresse.
[in] | ipClientAllSetAddress | Die Client-AllSet Adresse. |
|
private |
Löscht die Objekte in übergebener AllSetObjectStrIndexIteratorMap und diese selbst auch.
[in] | pMapToDelete | Die zu löschende Map. |
|
private |
Löscht die Objekte in übergebener AllSetTableObjIdIndexIteratorMap und diese selbst auch.
[in] | pMapToDelete | Die zu löschende Map. |
|
protected |
Generiert einen Datensatz und überträgt alle Daten, ermittelt aus den Parametern, in die Datensatzattribute.
[in,out] | prRetVal | Der generierte Datensatz. |
[in] | sDataRow | Die Zeile mit den Tabellen-Daten (z.B. "13.0.2|1453983511|1455873934|") aus der Tabellen-Datei. |
[in] | rClassInfo | Die ClassInfo mit der Klassen-ID und dem Tabellennamen. |
[in] | StreamPosRow | Die Position der Tabellen-Datenzeile in der Tabellen-Datei. |
[in] | bOnlyClassIDTable | Wenn true, werden nur die Datensatz-Attribute aus der Tabelle gelesen und nicht z.B. die evtl. vorhandenen Blob- und Stringdateien. |
|
protected |
Generiert einen Datensatz und überträgt alle Daten, ermittelt aus den Parametern, in die Datensatzattribute.
[in,out] | prRetVal | Der generierte Datensatz. |
[in] | sFieldNameRow | Die Zeile mit den Tabellen-Feldbezeichnungen (z.B. "ObjID|CreateDate|LastChange|") aus der Tabellen-Datei. |
[in] | sDataRow | Die Zeile mit den Tabellen-Daten (z.B. "13.0.2|1453983511|1455873934|") aus der Tabellen-Datei. |
[in] | StreamPosRow | Die Position der Tabellen-Datenzeile in der Tabellen-Datei. |
[in] | rsTable | Die vollständige Tabellen-Dateibezeichnung. |
[in] | bOnlyClassIDTable | Wenn true, werden nur die Datensatz-Attribute aus der Tabelle gelesen und nicht z.B. die evtl. vorhandenen Blob- und Stringdateien. |
int glo::TableReaderInterface::getAllObjIDs | ( | std::list< ObjID > & | rRetValList | ) |
Liefert alle Objekt-IDs aus der Tabelle des Persistent (Klassen-ID == 1).
[in,out] | rRetValList | Gefundene Objekt-IDs kommen hier rein. Die Liste wird vorher geleert. |
void glo::TableReaderInterface::getAllTransactionIndexPools | ( | std::vector< TransactionIndexPool * > & | rTransactionIndexPoolVector | ) | const |
Liefert alle TransactionIndexPools aus m_pTransactionIndexPools.
[in] | rTransactionIndexPoolVector | Die TransactionIndexPools. |
int glo::TableReaderInterface::getIndexedObjIdListFromAllSet | ( | std::vector< glo::ObjID > & | rObjIDContainer, |
NUM_PTR | ipClientAllSetAddress, | ||
const std::string & | rsIndexSearchValue, | ||
EnComparisionOp | eComparisionOp ) const |
Liefert eine Liste von Objekt-IDs aus dem AllSet in Bezug auf die übergebene Parameter. Es können Ergebnisse mittels des Parameters eComparisionOp definiert werden. Wenn z.B. Parameter rsIndexSearchValue den Wert "123" und Parameter eComparisionOp den Wert LESS hat, werden alle Objekte mit dem Index kleiner "123" geliefert.
[in,out] | rObjIDContainer | In diese Liste werden die Objekt-IDs der gefundenen Objekt-IDs geliefert. |
[in] | ipClientAllSetAddress | Die eindeutige Client-AllSet Adresse. |
[in] | rsIndexSearchValue | Der Indexwert. |
[in] | eComparisionOp | Der Vergleichsoperator. |
int glo::TableReaderInterface::getIndexedObjIdListFromAllSet | ( | std::vector< glo::ObjID > & | rObjIDContainer, |
NUM_PTR | ipClientAllSetAddress, | ||
const std::string & | rsIndexSearchValue, | ||
EnQueryType | eQuerryType ) const |
Liefert eine Liste von Objekt-IDs aus einem AllSet in Bezug auf die übergebene Parameter.
[in,out] | rObjIDContainer | In diese Liste werden die Objekt-IDs der gefundenen Objekt-IDs geliefert. |
[in] | ipClientAllSetAddress | Die eindeutige Client-AllSet Adresse. |
[in] | rsIndexSearchValue | Der Indexausdruck kann die Platzhalter '*' und '?' enthalten, welche bei der Auswertung berücksichtigt werden oder wenn Parameter eQueryType == eOQL, wird der String als OQL-Ausdruck interpretiert. |
[in] | eQuerryType | Der Abfragetyp. |
int glo::TableReaderInterface::getIndexedObjIdListFromAllSet | ( | std::vector< glo::ObjID > & | rObjIDContainer, |
NUM_PTR | ipClientAllSetAddress, | ||
const std::string & | rsRangeStartIndex, | ||
const std::string & | rsRangeEndIndex ) const |
Liefert eine Liste von Objekt-IDs aus dem AllSet in Bezug auf die übergebene Parameter. Es können Ergebnisse mittesl Bereichsangabe definiert werden. Wenn z.B. Parameter rsRangeStartIndex den Wert "123" und Parameter rsRangeEndIndex den Wert "155" hat, werden alle Objekte mit dem Index grösser/gleich "123" und kleiner/gleich "155" geliefert.
[in,out] | rObjIDContainer | In diese Liste werden die Objekt-IDs der gefundenen Objekt-IDs geliefert. |
[in] | ipClientAllSetAddress | Die eindeutige Client-AllSet Adresse. |
[in] | rsRangeStartIndex | Der Start-Indexwert. |
[in] | rsRangeEndIndex | Der End-Indexwert. |
int glo::TableReaderInterface::getObjectData | ( | Record *& | prRetVal, |
const ObjID & | rObjID, | ||
ReaderInfo * | pReaderInfo ) |
Liefert alle Datensatz-Attribute in einem Datensatz des Objektes mit übergebener Objekt-ID.
[in,out] | prRetVal | Der generierte Datensatz. |
[in] | rObjID | Die angefragte Objekt-ID. |
[in] | pReaderInfo | Eine Info um z.B. über gesperrte Datensätze zu informieren, die dürfen natürliche nicht geliefert werden. |
|
protected |
Liefert alle Datensatz-Attribute in einem Datensatz des Objektes mit übergebener Objekt-ID. Wird von getObjectData(Record*&,const ObjID&,ReaderInfo*) genutzt.
[in,out] | prRetVal | Der generierte Datensatz. |
[in] | rObjID | Die angefragte Objekt-ID. |
[in] | pReaderInfo | Eine Info um z.B. über gesperrte Datensätze zu informieren, die dürfen natürliche nicht geliefert werden. |
[in] | bInRecursion | Wenn true, dann Aufruf in sich selbst. |
|
protected |
Liefert alle Datensatz-Attribute in einem Datensatz des Objektes mit der übergebenen Objekt-ID.
[in,out] | prRetVal | Der generierte Datensatz. |
[in] | rObjID | Die angefragte Objekt-ID. |
[in] | ulClassID | Die Klassen-ID. |
[in] | bOnlyClassIDTable | Wenn true, werden nur die Datensatz-Attribute aus der Tabelle gelesen und nicht z.B. die evtl. vorhandenen Blob- und Stringdateien. |
|
protected |
Liefert alle Datensatz-Attribute in einem Datensatz des Objektes mit der übergebenen Objekt-ID.
[in,out] | sprRetVal | Der generierte Datensatz. |
[in] | rObjID | Die angefragte Objekt-ID. |
[in] | ulClassID | Die Klassen-ID. |
[in] | bOnlyClassIDTable | Wenn true, werden nur die Datensatz-Attribute aus der Tabelle gelesen und nicht z.B. die evtl. vorhandenen Blob- und Stringdateien. |
int glo::TableReaderInterface::getObjIdFromAllSet | ( | ObjID & | rObjID, |
NUM_PTR | ipClientAllSetAddress, | ||
EnSeekMode | eMode ) const |
Liefert eine Objekt-ID aus einem AllSet.
[in,out] | rObjID | Hier wird eine gefundene Objekt-ID eingetragen. |
[in] | ipClientAllSetAddress | Die eindeutige Client-AllSet Adresse. |
[in] | eMode | Der Suchmodus |
Parameterbeispiele:
int glo::TableReaderInterface::getObjIDs | ( | std::list< ObjID > & | rRetValList, |
unsigned long | ulClassID ) |
Liefert alle Objekt-IDs aus der Tabelle der Klasse mit übergebener Klassen-ID.
[in,out] | rRetValList | Gefundene Objekt-IDs kommen hier rein. Die Liste wird vorher geleert. |
[in] | ulClassID | Die Klassen-ID. |
|
protected |
Liefert alle Objekt-IDs aus der Tabelle der Klasse mit übergebener Klassen-ID.
[in,out] | pRetValList | Gefundene Objekt-IDs kommen hier rein, wenn übergeben. Die Liste wird vorher geleert. |
[in,out] | pRetValMap | Gefundene Objekt-IDs, sortiert nach diesen, kommen hier rein, wenn übergeben. Die Map wird vorher geleert. |
[in] | ulClassID | Die Klassen-ID. |
int glo::TableReaderInterface::getObjIDs | ( | std::map< ObjID, ObjID, std::less< ObjID > > & | rRetValMap, |
unsigned long | ulClassID ) |
Liefert alle Objekt-IDs aus der Tabelle der Klasse mit übergebener Klassen-ID.
[in,out] | rRetValMap | Gefundene Objekt-IDs, sortiert nach diesen, kommen hier rein. Die Map wird vorher geleert. |
[in] | ulClassID | Die Klassen-ID. |
RealIndexPool * glo::TableReaderInterface::getRealIndexPool | ( | ) | const |
Liefert den m_pRealIndexPool bzw. nullptr wenn keiner vorhanden.
|
protected |
Liefert einen Datensatz des Objektes mit übergebener Objekt-ID aus einer Tabelle.
[in,out] | prRetVal | Der generierte Datensatz. |
[in] | rObjID | Die angefragte Objekt-ID. |
[in] | rClassInfo | Die ClassInfo mit der Klassen-ID und dem Tabellennamen. |
[in] | bOnlyClassIDTable | Wenn true, werden nur die Datensatz-Attribute aus der Tabelle des Objekts mit übergebener Klassen-ID gelesen. |
int glo::TableReaderInterface::getRecord | ( | Record *& | prRetVal, |
const ObjID & | rObjID, | ||
ReaderInfo * | pReaderInfo ) |
Liefert alle Datensatz-Attribute in einem Datensatz aus der Tabelle des Objektes mit übergebener Objekt-ID.
[in,out] | prRetVal | Der generierte Datensatz. |
[in] | rObjID | Die angefragte Objekt-ID. |
[in] | pReaderInfo | Eine Info um z.B. über gesperrte Datensätze zu informieren, die dürfen natürliche nicht geliefert werden. Zusätzlich ist die Klassen-ID gesetzt, aus dessen Tabelle gelesen wird. |
|
protected |
Liefert einen Datensatz des Objektes mit übergebener Objekt-ID aus einer Tabelle.
[in,out] | prRetVal | Der generierte Datensatz. |
[in] | sTableName | Die Tabellen-Dateibezeichnung. |
[in] | rObjID | Die angefragte Objekt-ID. |
[in] | ulClassID | Die Klassen-ID. |
[in] | bOnlyClassIDTable | Wenn true, werden nur die Datensatz-Attribute aus der Tabelle des Objekts mit übergebener Klassen-ID gelesen. |
int glo::TableReaderInterface::getSizeFromAllSet | ( | std::size_t & | rnSize, |
NUM_PTR | ipClientAllSetAddress ) const |
Liefert die Anzahl der Elemente eines AllSets.
[in,out] | rnSize | Die Anzahl der Elemente des AllSets. |
[in] | ipClientAllSetAddress | Die Client-AllSet Adresse. |
TransactionIndexPool * glo::TableReaderInterface::getTransactionIndexPool | ( | const TransactionOwner & | rCommunicatorWithTreadID | ) | const |
Liefert den TransactionIndexPool des übergebenen TransactionOwner bzw. nullptr wenn keiner vorhanden.
[in] | rCommunicatorWithTreadID | Der Kommunikator mit Thread-ID. |
int glo::TableReaderInterface::isAllSetOpen | ( | NUM_PTR | ipClientAllSetAddress | ) | const |
Prüft ob ein IndexPool::TableObjIdIndexIterator aus einem IndexPool im m_pAllSetTableObjIdIndexIteratorMap, oder ein IndexPool::ObjectStrIndexIterator aus einem IndexPool in m_pAllSetTableObjIdIndexIteratorMap von einem AllSet vorhanden ist; also der AllSet geöffnet ist.
[in] | ipClientAllSetAddress | Die eindeutige Client-AllSet Adresse. |
int glo::TableReaderInterface::objIDInAllSet | ( | const ObjID & | rObjID, |
NUM_PTR | ipClientAllSetAddress ) const |
Prüft, ob ein Objekt mit der übergebenen Objekt-ID im AllSet vorkommt.
[in] | rObjID | Die angefragte Objekt-ID. |
[in] | ipClientAllSetAddress | Die eindeutige Client-AllSet Adresse. |
int glo::TableReaderInterface::openAllSet | ( | const TransactionOwner & | rCommunicatorWithTreadID, |
NUM_PTR | ipClientAllSetAddress, | ||
unsigned long | ulClassID, | ||
bool | bWithSubClasses ) |
Öffnet einen AllSet. Das bedeutet, das ein IndexPool::TableObjIdIndexIterator aus einem IndexPool in m_pAllSetTableObjIdIndexIteratorMap eingefügt wird.
[in] | rCommunicatorWithTreadID | Der Kommunikator mit Thread-ID, für den der AllSet geöffnet wird. |
[in] | ipClientAllSetAddress | Die eindeutige Client-AllSet Adresse. |
[in] | ulClassID | Die Klassen-ID für die ein AllSet geöffnet werden soll. |
[in] | bWithSubClasses | Wenn true, wird der IndexIterator auch über die Objekte der Unterklassen der Klasse mit übergebener Klassen-ID iterieren, ansonsten wenn false, wird der IndexIterator nur über die Objekte der Klasse mit übergebener Klassen-ID iterieren. |
int glo::TableReaderInterface::openAllSet | ( | const TransactionOwner & | rCommunicatorWithTreadID, |
NUM_PTR | ipClientAllSetAddress, | ||
unsigned long | ulClassID, | ||
const std::string & | rsIndexName ) |
Öffnet einen AllSet mit einem String-Index. Das bedeutet, das ein IndexPool::ObjectStrIndexIterator aus einem IndexPool in m_pAllSetTableObjIdIndexIteratorMap eingefügt wird.
[in] | rCommunicatorWithTreadID | Der Kommunikator mit Thread-ID, für den der AllSet geöffnet wird. |
[in] | ipClientAllSetAddress | Die eindeutige Client-AllSet Adresse. |
[in] | ulClassID | Die Klassen-ID für die ein AllSet geöffnet werden soll. |
[in] | rsIndexName | Die Indexbezeichnung des Indexes über den iteriert wird. |
|
protected |
Öffnet einen AllSet. Das bedeutet, das ein IndexPool::TableObjIdIndexIterator aus einem IndexPool in m_pAllSetTableObjIdIndexIteratorMap eingefügt wird.
[in,out] | riErr | Ein Rückgabewert < 0 zeigt einen Fehler an. |
[in] | rCommunicatorWithTreadID | Der Kommunikator mit Thread-ID, für den der AllSet geöffnet wird. |
[in] | ipClientAllSetAddress | Die eindeutige Client-AllSet Adresse. |
[in] | ulClassID | Die Klassen-ID für die ein AllSet geöffnet werden soll. |
[in] | bWithSubClasses | Wenn true, wird der IndexIterator auch über die Objekte der Unterklassen der Klasse mit übergebener Klassen-ID iterieren, ansonsten wenn false, wird der IndexIterator nur über die Objekte der Klasse mit übergebener Klassen-ID iterieren |
|
protected |
Öffnet einen AllSet. Das bedeutet, das ein IndexPool::ObjectStrIndexIterator aus einem IndexPool in m_pAllSetObjectStrIndexIteratorMap eingefügt wird.
[in,out] | riErr | Ein Rückgabewert < 0 zeigt einen Fehler an. |
[in] | rCommunicatorWithTreadID | Der Kommunikator mit Thread-ID, für den der AllSet geöffnet wird. |
[in] | ipClientAllSetAddress | Die eindeutige Client-AllSet Adresse. |
[in] | ulClassID | Die Klassen-ID für die ein AllSet geöffnet werden soll. |
[in] | rsIndexName | Die Indexbezeichnung des Indexes über den iteriert wird. |
|
virtual |
Öffnet eine Tabellen-Datei zum lesen und fügt diese bei Erfolg in die Liste der geöffneten Tabellen-Dateien ein.
[in] | sTableName | Die Tabellen-Dateibezeichnung. |
Implementiert glo::TableInterface.
|
private |
Der Zuweisungsoperator steht nicht zur Verfügung.
void glo::TableReaderInterface::refreshAllTables | ( | ) |
Frischt die Inhalte der Tabellen-Dateien aus der Liste der geöffneten Tabellen-Dateien auf.
int glo::TableReaderInterface::removeFilterInAllSet | ( | NUM_PTR | ipClientAllSetAddress | ) | const |
Entfernt einen Filter in einem AllSet.
[in] | ipClientAllSetAddress | Die Client-AllSet Adresse. |
int glo::TableReaderInterface::setCurrentObjectInAllSet | ( | const ObjID & | rObjID, |
NUM_PTR | ipClientAllSetAddress ) const |
Setzt den IndexIterator eines AllSets auf die Position des Objektes mit übergebener Objekt-ID.
[in] | rObjID | Die Objekt-ID. |
[in] | ipClientAllSetAddress | Die eindeutige Client-AllSet Adresse. |
int glo::TableReaderInterface::setFilterInAllSet | ( | NUM_PTR | ipClientAllSetAddress, |
const std::string & | rsIndexFilterValue ) const |
Setzt einen Filter in einem AllSet in Bezug auf die übergebene Parameter.
[in] | ipClientAllSetAddress | Die eindeutige Client-AllSet Adresse. |
[in] | rsIndexFilterValue | Der Indexausdruck kann die Platzhalter '*' und '?' enthalten, welche bei der Auswertung berücksichtigt werden. |
int glo::TableReaderInterface::setFilterInAllSet | ( | NUM_PTR | ipClientAllSetAddress, |
const std::string & | rsIndexFilterValue, | ||
EnComparisionOp | eComparisionOp ) const |
Setzt einen Filter in einem AllSet in Bezug auf die übergebene Parameter. Es kann der Filter mittels des Parameters eComparisionOp näher definiert werden. Wenn z.B. Parameter rsIndexFilterValue den Wert "123" und Parameter eComparisionOp den Wert LESS hat, werden alle Objekte mit dem Index größer/gleich "123" beim Iterieren ausgefiltert.
[in] | ipClientAllSetAddress | Die eindeutige Client-AllSet Adresse. |
[in] | rsIndexFilterValue | Der Indexwert. |
[in] | eComparisionOp | Der Vergleichsoperator. |
int glo::TableReaderInterface::setFilterInAllSet | ( | NUM_PTR | ipClientAllSetAddress, |
const std::string & | rsRangeStartIndex, | ||
const std::string & | rsRangeEndIndex ) const |
Setzt einen Filter in einem AllSet in Bezug auf die übergebene Parameter. Es können Ergebnisse mittesl Bereichsangabe definiert werden. Wenn z.B. Parameter rsRangeStartIndex den Wert "123" und Parameter rsRangeEndIndex den Wert "155" hat, werden alle Objekte mit dem Index kleiner "123" und größer "155" beim Iterieren ausgefiltert.
[in] | ipClientAllSetAddress | Die eindeutige Client-AllSet Adresse. |
[in] | rsRangeStartIndex | Der Start-Indexwert. |
[in] | rsRangeEndIndex | Der End-Indexwert. |
int glo::TableReaderInterface::setPositionInAllSet | ( | std::size_t | nPosition, |
NUM_PTR | ipClientAllSetAddress ) const |
Setzt den IndexIterator eines AllSets auf auf die übergebene Position.
[in] | nPosition | Die gewünschte Iterator-Position. |
[in] | ipClientAllSetAddress | Die eindeutige Client-AllSet Adresse. |
int glo::TableReaderInterface::setTransactionIndexPool | ( | const TransactionOwner & | rCommunicatorWithTreadID, |
TransactionIndexPool * | pTransactionIndexPool ) |
Übernimmt übergebenen TransactionIndexPool, wenn noch keiner übernommen wurde.
Ein evtl. vorher referenzierter TransactionIndexPool des Kommunikator mit Thread-ID wird aus dem Speicher entfernt.
[in] | rCommunicatorWithTreadID | Der Kommunikator mit Thread-ID. |
[in] | pTransactionIndexPool | Der TransactionIndexPool. |
|
private |
Liste von Iteratoren auf einen IndexPool::ObjectStrIndex mit seiner Bezeichnung für einen AllSet (siehe auch: TAllSet und GenericAllSet).
Die Client-AllSet Adresse ist der Map-Index (da ein TableReaderInterface immer einem CommunicaterThread gehört, ist diese Adresse mit dem Client eindeutig).
|
private |
Liste von Iteratoren auf einen IndexPool::TableObjIdIndex für einen AllSet (siehe auch: TAllSet und GenericAllSet).
Die Client-AllSet Adresse ist der Map-Index (da ein TableReaderInterface immer einem CommunicaterThread gehört, ist diese Adresse mit dem Client eindeutig).
|
private |
Wenn ein TransactionIndexPool eines TransactionOwner vorhanden ist, dann werden z.B. die AllSet-Iteratoren auf diesen Index verbogen, weil jetzt alles für den TransactionOwner in einer Transaktion abläuft und z.B. in der Transaktion gemachte Änderungen nicht im realen Index sein sollen.
Im Transktionsindex hingegen werden die Änderungen für den TransactionOwner vorgenommen.
|
private |
Wenn Datensätze rekursiv gelesen werden, kommen die schon gelesene Datensätze hier rein.