1#ifndef INC_GLOTABLEREADERINTERFACE_H
2#define INC_GLOTABLEREADERINTERFACE_H
45#include <unordered_map>
59 class BaseRecordAttribute;
63 #pragma warning( disable : 4251 )
185 const std::string & m_sIndexName );
450 virtual int openTable(
const std::string & sTableName );
593 NUM_PTR ipClientAllSetAddress,
594 unsigned long ulClassID,
595 bool bWithSubClasses );
628 NUM_PTR ipClientAllSetAddress,
629 unsigned long ulClassID,
630 const std::string & rsIndexName );
706 NUM_PTR ipClientAllSetAddress,
739 NUM_PTR ipClientAllSetAddress,
740 const std::string & rsIndexSearchValue,
772 NUM_PTR ipClientAllSetAddress,
773 const std::string & rsIndexSearchValue,
806 NUM_PTR ipClientAllSetAddress,
807 const std::string & rsRangeStartIndex,
808 const std::string & rsRangeEndIndex )
const;
829 const std::string & rsIndexFilterValue )
const;
857 const std::string & rsIndexFilterValue,
886 const std::string & rsRangeStartIndex,
887 const std::string & rsRangeEndIndex )
const;
947 NUM_PTR ipClientAllSetAddress )
const;
969 NUM_PTR ipClientAllSetAddress )
const;
997 NUM_PTR ipClientAllSetAddress )
const;
1037 int getObjIDs( std::list<ObjID> & rRetValList,
unsigned long ulClassID );
1059 unsigned long ulClassID );
1089 const ObjID & rObjID,
1117 const ObjID & rObjID,
1158 const ObjID & rObjID,
1160 bool bInRecursion );
1207 NUM_PTR ipClientAllSetAddress,
1208 unsigned long ulClassID,
1209 bool bWithSubClasses =
true );
1251 NUM_PTR ipClientAllSetAddress,
1252 unsigned long ulClassID,
1253 const std::string & rsIndexName );
1276 std::map<
ObjID,
ObjID, std::less<ObjID> > * pRetValMap,
1277 unsigned long ulClassID );
1308 const std::string & sTableName,
1309 const ObjID & rObjID,
1310 unsigned long ulClassID,
1311 bool bOnlyClassIDTable =
false );
1340 const ObjID & rObjID,
1342 bool bOnlyClassIDTable =
false );
1384 const std::string & sFieldNameRow,
1385 const std::string & sDataRow,
1386 std::streampos StreamPosRow,
1387 const std::string & rsTable,
1388 bool bOnlyClassIDTable =
false );
1426 const std::string & sDataRow,
1428 std::streampos StreamPosRow,
1429 bool bOnlyClassIDTable =
false );
1460 const ObjID & rObjID,
1461 unsigned long ulClassID,
1462 bool bOnlyClassIDTable =
false );
1489 const ObjID & rObjID,
1490 unsigned long ulClassID,
1491 bool bOnlyClassIDTable =
false );
1550 #pragma warning( default : 4251 )
Header für TableInterface und TableInterface::TableInterfaceTable
Header für TransactionIndexPool
Header für TransactionOwner
Für jede Bibliothek, hier 'GlobalObjects' gibt es eine Typen-Datei.
#define __glo_export_dll
Definition GloTypes.h:70
Diese Klasse beinhaltet alle Informationen um Objekte einer Klasse in einer Datenbank speichern zu kö...
Definition GloClassInfo.h:86
Hat einen Zeiger auf einen ObjectStrIndex und ermöglicht das iterieren durch diesen Index....
Definition GloIndexPool.h:2637
Hat einen Zeiger auf einen TableObjIdIndex und ermöglicht das iterieren durch diesen Index....
Definition GloIndexPool.h:1430
Ein Objekt-ID besteht aus der Klassen-ID, einer Datenbank-ID und der eigentlichen eindeutigen ObjektZ...
Definition GloObjID.h:84
Der reale Index im Gegensatz zum TransactionIndexPool, welcher für jede Transaktion erstellt wird.
Definition GloRealIndexPool.h:69
Objekte dieser Klasse transportieren die Daten von den Tabellen ins persistente Objekt und von diesen...
Definition GloRecord.h:108
Diese Klasse ist die Schnittstelle zu einem GlobalObjects-Schema. Sie beinhaltet alle Klasseninformat...
Definition GloSchemaInterface.h:91
Ein Objekt dieser Klasse bzw. der Unterklasse greift auf Tabellen zu und liest bzw....
Definition GloTableInterface.h:94
In der m_pAllSetObjectStrIndexIteratorMap werden Objekte dieses Typs verwaltet, um in der Methode Tab...
Definition GloTableReaderInterface.h:109
AllSetObjectStrIndexIteratorItem(IndexPool::ObjectStrIndexIterator *pObjectStrIndexIterator, const std::string &m_sIndexName)
std::string m_sIndexName
Definition GloTableReaderInterface.h:133
std::size_t getObjectStrIndexSize() const
AllSetObjectStrIndexIteratorItem(const AllSetObjectStrIndexIteratorItem &)
int setCurrentObject(const ObjID &rObjID)
IndexPool::ObjectStrIndexIterator * m_pObjectStrIndexIterator
Definition GloTableReaderInterface.h:122
int setPosition(std::size_t nPosition)
bool inObjectStrIndex(const ObjID &rObjID)
AllSetObjectStrIndexIteratorItem()
~AllSetObjectStrIndexIteratorItem()
Ein Objekt dieser Klasse greift auf Tabellen zu und liest Datensätze (Record) und Binärdateien (eut::...
Definition GloTableReaderInterface.h:87
int setFilterInAllSet(NUM_PTR ipClientAllSetAddress, const std::string &rsRangeStartIndex, const std::string &rsRangeEndIndex) const
std::unordered_map< NUM_PTR, AllSetObjectStrIndexIteratorItem * > * m_pAllSetObjectStrIndexIteratorMap
Definition GloTableReaderInterface.h:345
int getObjIDs(std::map< ObjID, ObjID, std::less< ObjID > > &rRetValMap, unsigned long ulClassID)
int getObjectData(Record *&prRetVal, const ObjID &rObjID, ReaderInfo *pReaderInfo, bool bInRecursion)
int setTransactionIndexPool(const TransactionOwner &rCommunicatorWithTreadID, TransactionIndexPool *pTransactionIndexPool)
TableReaderInterface(const SchemaInterface &rScheme, RealIndexPool *pRealIndexPool)
int getSizeFromAllSet(std::size_t &rnSize, NUM_PTR ipClientAllSetAddress) const
int generateRecord(Record *&prRetVal, const std::string &sFieldNameRow, const std::string &sDataRow, std::streampos StreamPosRow, const std::string &rsTable, bool bOnlyClassIDTable=false)
int getIndexedObjIdListFromAllSet(std::vector< glo::ObjID > &rObjIDContainer, NUM_PTR ipClientAllSetAddress, const std::string &rsIndexSearchValue, EnComparisionOp eComparisionOp) const
int setFilterInAllSet(NUM_PTR ipClientAllSetAddress, const std::string &rsIndexFilterValue) const
int removeFilterInAllSet(NUM_PTR ipClientAllSetAddress) const
int getObjIdFromAllSet(ObjID &rObjID, NUM_PTR ipClientAllSetAddress, EnSeekMode eMode) const
int getRecord(Record *&prRetVal, const ObjID &rObjID, ClassInfo &rClassInfo, bool bOnlyClassIDTable=false)
int setFilterInAllSet(NUM_PTR ipClientAllSetAddress, const std::string &rsIndexFilterValue, EnComparisionOp eComparisionOp) const
std::unordered_map< TransactionOwner, TransactionIndexPool *, glo::TransactionOwner::HashFunction > m_pTransactionIndexPools
Definition GloTableReaderInterface.h:366
int isAllSetOpen(NUM_PTR ipClientAllSetAddress) const
int setCurrentObjectInAllSet(const ObjID &rObjID, NUM_PTR ipClientAllSetAddress) const
std::unordered_map< NUM_PTR, IndexPool::TableObjIdIndexIterator * > * m_pAllSetTableObjIdIndexIteratorMap
Definition GloTableReaderInterface.h:324
virtual ~TableReaderInterface()
void deleteAllSetTableObjIdIndexIteratorMap(std::unordered_map< NUM_PTR, IndexPool::TableObjIdIndexIterator * > *pMapToDelete)
int closeAllSet(NUM_PTR ipClientAllSetAddress)
int getObjectDataFromDataRow(Record *&prRetVal, 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)
RealIndexPool * getRealIndexPool() const
void getAllTransactionIndexPools(std::vector< TransactionIndexPool * > &rTransactionIndexPoolVector) const
int objIDInAllSet(const ObjID &rObjID, NUM_PTR ipClientAllSetAddress) const
int openAllSet(const TransactionOwner &rCommunicatorWithTreadID, NUM_PTR ipClientAllSetAddress, unsigned long ulClassID, bool bWithSubClasses)
int getAllObjIDs(std::list< ObjID > &rRetValList)
int setPositionInAllSet(std::size_t nPosition, NUM_PTR ipClientAllSetAddress) const
int getObjectDataFromDataRow(std::shared_ptr< Record > &sprRetVal, const ObjID &rObjID, unsigned long ulClassID, bool bOnlyClassIDTable=false)
int getIndexedObjIdListFromAllSet(std::vector< glo::ObjID > &rObjIDContainer, NUM_PTR ipClientAllSetAddress, const std::string &rsIndexSearchValue, EnQueryType eQuerryType) const
std::unordered_map< ObjID, Record *, glo::ObjID::HashFunction > m_RecursionRecordMap
Definition GloTableReaderInterface.h:303
virtual int openTable(const std::string &sTableName)
int getRecord(Record *&prRetVal, const std::string &sTableName, const ObjID &rObjID, unsigned long ulClassID, bool bOnlyClassIDTable=false)
IndexPool::ObjectStrIndexIterator * openAllSet(int &riErr, const TransactionOwner &rCommunicatorWithTreadID, NUM_PTR ipClientAllSetAddress, unsigned long ulClassID, const std::string &rsIndexName)
int getObjectData(Record *&prRetVal, const ObjID &rObjID, ReaderInfo *pReaderInfo)
IndexPool::TableObjIdIndexIterator * openAllSet(int &riErr, const TransactionOwner &rCommunicatorWithTreadID, NUM_PTR ipClientAllSetAddress, unsigned long ulClassID, bool bWithSubClasses=true)
int openAllSet(const TransactionOwner &rCommunicatorWithTreadID, NUM_PTR ipClientAllSetAddress, unsigned long ulClassID, const std::string &rsIndexName)
TableReaderInterface(const TableReaderInterface &)
int getIndexedObjIdListFromAllSet(std::vector< glo::ObjID > &rObjIDContainer, NUM_PTR ipClientAllSetAddress, const std::string &rsRangeStartIndex, const std::string &rsRangeEndIndex) const
TransactionIndexPool * getTransactionIndexPool(const TransactionOwner &rCommunicatorWithTreadID) const
int getObjIDs(std::list< ObjID > &rRetValList, unsigned long ulClassID)
int getRecord(Record *&prRetVal, const ObjID &rObjID, ReaderInfo *pReaderInfo)
int generateRecord(Record *&prRetVal, const std::string &sDataRow, ClassInfo &rClassInfo, std::streampos StreamPosRow, bool bOnlyClassIDTable=false)
void deleteAllSetObjectStrIndexIteratorMap(std::unordered_map< NUM_PTR, AllSetObjectStrIndexIteratorItem * > *pMapToDelete)
Dieser Index wird in jeder Transaktion generiert und die Änderungen wie speichern,...
Definition GloTransactionIndexPool.h:66
Um Transaktionen nicht nur einem glo::Communicator zur Verfügung zu stellen, sondern auch einzelnen T...
Definition GloTransactionOwner.h:81
Definition GloAbstractBaseLot.h:49
EnComparisionOp
Definition GloTypes.h:1567
EnSeekMode
Definition GloTypes.h:173
EnQueryType
Definition GloTypes.h:1164
Objekte dieser Struktur transportieren Daten zu Objekten des Typs TableReaderInterface.
Definition GloReaderWriterInfo.h:119