GlobalObjects
Loading...
Searching...
No Matches
GloTableWriterInterface.h
Go to the documentation of this file.
1#ifndef INC_GLOTABLEWRITERINTERFACE_H
2#define INC_GLOTABLEWRITERINTERFACE_H
3//-----------------------------------------------------------------------------
43//-----------------------------------------------------------------------------
44#include "GloTableInterface.h"
45#include "GloTypes.h"
46#include <vector>
47//---------------------------------------------------------------------------
48/* Forwards */
49namespace eut
50{
51 class UnsignedMagicNumber;
52}
53//-----------------------------------------------------------------------------
54namespace glo
55{
56 //---------------------------------------------------------------------------
57 /* Forwards */
58 class TransactionIndexPool;
59 class Record;
60 class BaseRecordAttribute;
61 //---------------------------------------------------------------------------
77 {
78 private:
79 //============== Enums
80 //-----------------------------------------------------------------------
92 enum EnInUd
93 {
113 eUPDATE
114 };
115 //-----------------------------------------------------------------------
116
117 //============== Attribute
118 //-----------------------------------------------------------------------
138 std::vector<TransactionIndexPool *>* m_pTransactionIndexPoolVector;
139 //-----------------------------------------------------------------------
140
141 protected:
142 //============== Konstruktoren
143 //-----------------------------------------------------------------------
154 //-----------------------------------------------------------------------
155
156 public:
157 //============== De- und Konstruktoren
158 //-----------------------------------------------------------------------
176 RealIndexPool * pRealIndexPool);
177 //-----------------------------------------------------------------------
189 //-----------------------------------------------------------------------
190
191 private:
192 //============== Konstruktoren
193 //-----------------------------------------------------------------------
204 //-----------------------------------------------------------------------
205
206 public:
207 //============== Methoden
208 //-----------------------------------------------------------------------
223 virtual int openTable( const std::string & sTableName );
224 //-----------------------------------------------------------------------
250 int storeObjectData( Record * pRecord,
251 std::vector< TransactionIndexPool * > * pTransactionIndexPoolVector = 0 );
252 //-----------------------------------------------------------------------
277 int deleteObjectData( Record * pRecord,
278 std::vector< TransactionIndexPool * > * pTransactionIndexPoolVector = 0 );
279 //-----------------------------------------------------------------------
293 int getNewObjID( ObjID & rObjID );
294 //-----------------------------------------------------------------------
295
296 protected:
297 //============== Methoden
298 //-----------------------------------------------------------------------
299
318 ObjID ObjID );
319 //-----------------------------------------------------------------------
339 int updateInsert( Record * pInputUpdateRecord, EnInUd eInUd );
340 //-----------------------------------------------------------------------
358 int readLastObjCounter( unsigned long & rulObjCounter );
359 //-----------------------------------------------------------------------
381 int writeLastObjCounter( const unsigned long & rulObjCounter, bool bNew );
382 //-----------------------------------------------------------------------
404 void removeForbiddenCharacters (std::string & rsField) const;
405 //-----------------------------------------------------------------------
440 int writeInTable( const std::string & rsTableName,
441 const std::string & rsContents,
442 const std::streampos spFileIndexPosition );
443 //-----------------------------------------------------------------------
474 int appendOnTable( std::streampos & rspFileIndexPosition,
475 const std::string & rsTableName,
476 unsigned long ulClassID,
477 const std::string & rsDataRow );
478 //-----------------------------------------------------------------------
500 int updateExternFiles( BaseRecordAttribute * pRecordAttribute,
501 DATA_REFERENCE_INFO MethodInfo );
502 //-----------------------------------------------------------------------
525 int getFirstDeletedRecordItem( std::streampos & rspFileIndexPosition,
526 unsigned long ulClassID );
527 //-----------------------------------------------------------------------
545 int readLastUL( unsigned long & rulRetVal, const std::string & rsFileName );
546 //-----------------------------------------------------------------------
569 int writeLastUL( const unsigned long & rulVal,
570 const std::string & rsFileName,
571 bool bNew );
572 //-----------------------------------------------------------------------
592 const std::string & rsFileName );
593 //-----------------------------------------------------------------------
617 const std::string & rsFileName,
618 bool bNew );
619 //-----------------------------------------------------------------------
620
621 private:
622 //============== Operatoren
623 //-----------------------------------------------------------------------
633 TableInterface & operator= ( const TableInterface & );
634 //-----------------------------------------------------------------------
635 };
636 //---------------------------------------------------------------------------
637} // namespace glo
638#endif
Header for TableInterface and TableInterface::TableInterfaceTable
For each library, here 'GlobalObjects' there is a type file.
#define __glo_export_dll
Definition GloTypes.h:70
A UnsignedMagicNumber is an artificial number consisting of numbers and letters (similar to hex numbe...
Definition EuUnsignedMagicNumber.h:122
Base class for the individual attributes of a Record.
Definition GloBaseRecordAttribute.h:116
An object ID consists of the class ID, a database ID and the actual unique object number (all unsigne...
Definition GloObjID.h:84
The real index as opposed to the TransactionIndexPool, which is created for each transaction
Definition GloRealIndexPool.h:69
Objects of this class transport the data from the tables into the persistent object and from these ag...
Definition GloRecord.h:108
This class is the interface to a GlobalObjects schema. It contains all class information to store obj...
Definition GloSchemaInterface.h:91
An object of this class or subclass accesses tables and reads or writes data records (Record) and bin...
Definition GloTableInterface.h:94
An object of this class accesses tables and writes data records (Record) and binary files (eut::Blob)...
Definition GloTableWriterInterface.h:77
std::vector< TransactionIndexPool * > * m_pTransactionIndexPoolVector
Definition GloTableWriterInterface.h:138
TableWriterInterface(const SchemaInterface &rScheme, RealIndexPool *pRealIndexPool)
int updateExternFiles(BaseRecordAttribute *pRecordAttribute, DATA_REFERENCE_INFO MethodInfo)
int readLastMagicNumber(eut::UnsignedMagicNumber &rRetVal, const std::string &rsFileName)
int writeLastUL(const unsigned long &rulVal, const std::string &rsFileName, bool bNew)
int updateInsert(Record *pInputUpdateRecord, EnInUd eInUd)
int writeLastMagicNumber(const eut::UnsignedMagicNumber &rVal, const std::string &rsFileName, bool bNew)
void removeForbiddenCharacters(std::string &rsField) const
TableWriterInterface(const TableWriterInterface &)
int updateObjectDataAttribute(BaseRecordAttribute *pRecordAttribute, ObjID ObjID)
int deleteObjectData(Record *pRecord, std::vector< TransactionIndexPool * > *pTransactionIndexPoolVector=0)
int writeLastObjCounter(const unsigned long &rulObjCounter, bool bNew)
int getNewObjID(ObjID &rObjID)
int writeInTable(const std::string &rsTableName, const std::string &rsContents, const std::streampos spFileIndexPosition)
int readLastObjCounter(unsigned long &rulObjCounter)
int storeObjectData(Record *pRecord, std::vector< TransactionIndexPool * > *pTransactionIndexPoolVector=0)
int appendOnTable(std::streampos &rspFileIndexPosition, const std::string &rsTableName, unsigned long ulClassID, const std::string &rsDataRow)
int getFirstDeletedRecordItem(std::streampos &rspFileIndexPosition, unsigned long ulClassID)
virtual int openTable(const std::string &sTableName)
int readLastUL(unsigned long &rulRetVal, const std::string &rsFileName)
EnInUd
Definition GloTableWriterInterface.h:93
@ eINSERT
Definition GloTableWriterInterface.h:103
Definition IniFile.h:62
Definition GloAbstractBaseLot.h:49
unsigned long DATA_REFERENCE_INFO
Definition GloRecordAttributeTypes.h:774