OOFILE  1.9
Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
OOF_tableBackend Class Referenceabstract

Abstract interface to database backend. More...

#include <oof1.h>

Inheritance diagram for OOF_tableBackend:
Inheritance graph
[legend]
Collaboration diagram for OOF_tableBackend:
Collaboration graph
[legend]

Public Member Functions

virtual void addIndices (const char *newIDXname)=0
 
virtual bool atFirst () const =0
 
virtual bool atLast () const =0
 
virtual bool atRelative (unsigned long) const =0
 
virtual void buildSchema (bool rebuilding=false)=0
 
virtual OOF_tableBackendclone (dbTable::selSharingT, dbTable *) const =0
 
virtual void close ()=0
 
virtual unsigned long count () const =0
 
virtual unsigned long countAll () const =0
 
virtual void createTableInConnection (const dbConnect *)=0
 
virtual void deleteStorage ()
 
virtual void describeInvariant (std::ostream &) const =0
 
virtual void describeState (std::ostream &) const =0
 
virtual bool more () const =0
 
virtual void next ()=0
 
virtual bool openTableInConnection (const dbConnect *, const bool createIfMissing=false)=0
 
virtual void prev ()=0
 
virtual void rebuild ()=0
 
virtual void setFileExtensions (const char *dataExt, const char *indexExt)=0
 
virtual void start ()=0
 
virtual void suppressIndices ()=0
 
OID access & generation
virtual oidT currentOID ()=0
 
virtual oidT oidOfRecord (unsigned long)=0
 
sorting
virtual void setSortOrder (dbSorter *adoptSorter)=0
 
virtual dbSortersorter () const =0
 
virtual void sortSelectionNow (fieldNumT)=0
 
virtual void sortSelectionInverseNow (fieldNumT)=0
 
virtual void sortSelectionNow (const dbSorter *)=0
 
field-level data access
virtual bool readBool (const dbField *) const =0
 
virtual short readShort (const dbField *) const =0
 
virtual long readLong (const dbField *) const =0
 
virtual double readDouble (const dbField *) const =0
 
virtual const char * readChars (const dbField *) const =0
 Gets pointer to character data. More...
 
virtual oofString readString (const dbField *) const =0
 Copy field data into a string. More...
 
virtual void writeBool (bool, const dbField *)=0
 
virtual void writeShort (short, const dbField *)=0
 
virtual void writeLong (long, const dbField *)=0
 
virtual void writeDouble (double, const dbField *)=0
 
virtual void writeChars (const char *, long numChars, long maxLen, const dbField *, long startIndex=0)=0
 
virtual void writeBytes (const char *inBuf, long inLen, const dbField *inField)=0
 
virtual char * getByteWriteAddress (unsigned long, const dbField *)=0
 
record-level data access
virtual void newRecord ()=0
 
virtual void deleteRecord ()=0
 
virtual void saveRecord ()=0
 
virtual void revertRecord ()=0
 
virtual void unloadRecord ()=0
 
virtual void unloadCache ()=0
 
virtual bool reloadRecord ()=0
 
virtual bool isRecordLoaded () const =0
 
virtual void setBlobLength (fieldNumT, unsigned long len)=0
 
virtual void loadBlob (const dbBLOB *)=0
 
bool isDirty () const
 
virtual bool isNewRecord () const =0
 
void markDirty ()
 
virtual void pack ()=0
 
reflective operators
void fieldHasDefaultCalculator (dbField *)
 
void fieldHasStoredCalculator (dbField *)
 
virtual unsigned int numIndexes () const =0
 
virtual unsigned int numFiles () const =0
 
virtual unsigned long fieldDataLen (const dbField *) const =0
 
virtual unsigned long blobPointerReferenceSize () const =0
 
virtual unsigned long sequenceNumber () const =0
 
virtual bool allSelected () const =0
 
virtual bool fieldIsDirty (fieldNumT) const =0
 
dbTabletable () const
 
dbFieldfield (fieldNumT) const
 
virtual void ignoreDuplicateRecords ()=0
 
virtual void noticeDuplicateRecords ()=0
 
public search functions
virtual unsigned long recordNumber () const =0
 
virtual unsigned long recordNumberOfOID (oidT inOID)=0
 
virtual bool gotoRecord (unsigned long relativeNum)=0
 
virtual void selectAll ()=0
 
virtual void selectNone ()=0
 
virtual bool search (const dbQueryClause *)=0
 
virtual unsigned long recordNumberMatching (const dbQueryClause *qClause, bool *outFoundIt=0) const =0
 
virtual bool checkDuplicate (const dbQueryClause *)=0
 
virtual bool searchSelection (const dbQueryClause *)=0
 
virtual bool searchEqual (const dbField *, const char *, bool matchEntireKey=true)=0
 
virtual bool searchEqual (const dbField *, const void *)=0
 
virtual bool searchSelContainsAnyDelimited (const dbField *schField, const char *schStr, char delim)=0
 
virtual bool searchSelContainsAnyOf (const dbField *schField, const char **schStrs, unsigned long count)=0
 
virtual bool searchSelContainsAllDelimited (const dbField *schField, const char *schStr, char delim)=0
 
virtual bool searchSelContainsAllOf (const dbField *schField, const char **schStrs, unsigned long count)=0
 
virtual bool loadRelatedContextJoiningFromTo (const dbField *, const dbField *)=0
 
virtual bool addOIDtoSelection (oidT)=0
 
virtual bool contains (oidT) const =0
 
virtual void dropRecordFromSelection (unsigned long)=0
 
virtual void invert ()=0
 
virtual void difference_with (const OOF_tableBackend *)=0
 
virtual void intersection_with (const OOF_tableBackend *)=0
 
virtual void union_with (const OOF_tableBackend *)=0
 
virtual void union_with_no_overlap (const OOF_tableBackend *)=0
 
virtual void difference_with (const dbSelection &)=0
 
virtual void intersection_with (const dbSelection &)=0
 
virtual void union_with (const dbSelection &)=0
 
virtual void union_with_no_overlap (const dbSelection &)=0
 
getting & saving selections as lightweight objects
virtual dbSelection currentSelection () const =0
 
virtual dbSelection makeEmptySelection () const =0
 
virtual void setSelection (const dbSelection &)=0
 
virtual void setSelection (const OOF_Selection *)=0
 
selection of specific contexts
virtual bool selectJustOID (oidT)=0
 
virtual void selectJustCurrent ()=0
 
locking
virtual void lockRecord ()=0
 
virtual void unlockRecord ()=0
 
transactions
virtual void beginTransaction (short tMode=0)=0
 
virtual void abortTransaction (short rMode=0)=0
 
virtual void commitTransaction (short rMode=0)=0
 

Protected Member Functions

virtual void CachingContextChange ()=0
 
virtual void ContextChange ()=0
 
 OOF_tableBackend (dbTable *)
 
 OOF_tableBackend (const OOF_tableBackend &, dbTable *)
 
bool tableCachesDirtyRecords () const
 
virtual ~OOF_tableBackend ()
 

Protected Attributes

bool mDirty
 
OOF_Dictionary mFields
 
bool mHasDefaultCalculators
 
bool mHasStoredCalculators
 
dbTablemTable
 

Friends

class dbTable
 

Detailed Description

Abstract interface to database backend.

Definition at line 1047 of file oof1.h.

Constructor & Destructor Documentation

OOF_tableBackend::OOF_tableBackend ( dbTable theTable)
protected

Definition at line 131 of file oof2.cpp.

OOF_tableBackend::OOF_tableBackend ( const OOF_tableBackend rhs,
dbTable newTable 
)
protected

Definition at line 141 of file oof2.cpp.

OOF_tableBackend::~OOF_tableBackend ( )
protectedvirtual

Definition at line 150 of file oof2.cpp.

References mTable.

Member Function Documentation

virtual void OOF_tableBackend::abortTransaction ( short  rMode = 0)
pure virtual

Implemented in OOF_simpleRecordBackend.

Referenced by dbTable::abortTransaction().

virtual void OOF_tableBackend::addIndices ( const char *  newIDXname)
pure virtual
virtual bool OOF_tableBackend::addOIDtoSelection ( oidT  )
pure virtual

Implemented in OOF_simpleRecordBackend.

Referenced by dbTable::addOIDtoSelection().

virtual bool OOF_tableBackend::allSelected ( ) const
pure virtual

Implemented in OOF_simpleRecordBackend.

virtual bool OOF_tableBackend::atFirst ( ) const
pure virtual

Implemented in OOF_simpleRecordBackend.

virtual bool OOF_tableBackend::atLast ( ) const
pure virtual

Implemented in OOF_simpleRecordBackend.

virtual bool OOF_tableBackend::atRelative ( unsigned  long) const
pure virtual

Implemented in OOF_simpleRecordBackend.

virtual void OOF_tableBackend::beginTransaction ( short  tMode = 0)
pure virtual

Implemented in OOF_simpleRecordBackend.

Referenced by dbTable::beginTransaction().

virtual unsigned long OOF_tableBackend::blobPointerReferenceSize ( ) const
pure virtual

Implemented in OOF_simpleRecordBackend.

Referenced by dbBLOB::fieldStorageLen().

virtual void OOF_tableBackend::buildSchema ( bool  rebuilding = false)
pure virtual
virtual void OOF_tableBackend::CachingContextChange ( )
protectedpure virtual

Implemented in OOF_simpleRecordBackend.

virtual bool OOF_tableBackend::checkDuplicate ( const dbQueryClause )
pure virtual
virtual OOF_tableBackend* OOF_tableBackend::clone ( dbTable::selSharingT  ,
dbTable  
) const
pure virtual
virtual void OOF_tableBackend::close ( )
pure virtual
virtual void OOF_tableBackend::commitTransaction ( short  rMode = 0)
pure virtual

Implemented in OOF_simpleRecordBackend.

Referenced by dbTable::commitTransaction().

virtual bool OOF_tableBackend::contains ( oidT  ) const
pure virtual

Implemented in OOF_simpleRecordBackend.

virtual void OOF_tableBackend::ContextChange ( )
protectedpure virtual

Implemented in OOF_simpleRecordBackend.

virtual unsigned long OOF_tableBackend::count ( ) const
pure virtual

Implemented in OOF_simpleRecordBackend.

Referenced by dbTable::last().

virtual unsigned long OOF_tableBackend::countAll ( ) const
pure virtual
virtual void OOF_tableBackend::createTableInConnection ( const dbConnect )
pure virtual
virtual oidT OOF_tableBackend::currentOID ( )
pure virtual

Implemented in OOF_simpleRecordBackend.

virtual dbSelection OOF_tableBackend::currentSelection ( ) const
pure virtual

Implemented in OOF_simpleRecordBackend.

Referenced by dbTable::currentSelection().

virtual void OOF_tableBackend::deleteRecord ( )
pure virtual
void OOF_tableBackend::deleteStorage ( )
virtual

Reimplemented in OOF_ctreeBackend, OOF_FServBackend, and OOF_dbaseBackend.

Definition at line 158 of file oof2.cpp.

Referenced by dbTable::deleteStorage().

virtual void OOF_tableBackend::describeInvariant ( std::ostream &  ) const
pure virtual

Implemented in OOF_simpleRecordBackend.

virtual void OOF_tableBackend::describeState ( std::ostream &  ) const
pure virtual

Implemented in OOF_simpleRecordBackend.

Referenced by dbTable::describeState().

virtual void OOF_tableBackend::difference_with ( const OOF_tableBackend )
pure virtual
virtual void OOF_tableBackend::difference_with ( const dbSelection )
pure virtual

Implemented in OOF_simpleRecordBackend.

virtual void OOF_tableBackend::dropRecordFromSelection ( unsigned  long)
pure virtual
dbField * OOF_tableBackend::field ( fieldNumT  fieldNum) const
inline

Definition at line 1733 of file oof1.h.

virtual unsigned long OOF_tableBackend::fieldDataLen ( const dbField ) const
pure virtual

Implemented in OOF_simpleRecordBackend.

Referenced by dbField::fieldDataLen().

void OOF_tableBackend::fieldHasDefaultCalculator ( dbField )
inline

Definition at line 1740 of file oof1.h.

Referenced by dbField::CalculateWith().

void OOF_tableBackend::fieldHasStoredCalculator ( dbField )
inline

Definition at line 1747 of file oof1.h.

Referenced by OOF_ctreeBackend::BuildBackendtables().

virtual bool OOF_tableBackend::fieldIsDirty ( fieldNumT  ) const
pure virtual

Implemented in OOF_simpleRecordBackend.

Referenced by dbField::isDirty().

virtual char* OOF_tableBackend::getByteWriteAddress ( unsigned  long,
const dbField  
)
pure virtual

Implemented in OOF_simpleRecordBackend.

Referenced by dbFixedBinary::setByte().

virtual bool OOF_tableBackend::gotoRecord ( unsigned long  relativeNum)
pure virtual
virtual void OOF_tableBackend::ignoreDuplicateRecords ( )
pure virtual

Implemented in OOF_simpleRecordBackend.

virtual void OOF_tableBackend::intersection_with ( const OOF_tableBackend )
pure virtual
virtual void OOF_tableBackend::intersection_with ( const dbSelection )
pure virtual

Implemented in OOF_simpleRecordBackend.

virtual void OOF_tableBackend::invert ( )
pure virtual
bool OOF_tableBackend::isDirty ( ) const
inline
virtual bool OOF_tableBackend::isNewRecord ( ) const
pure virtual

Implemented in OOF_simpleRecordBackend.

virtual bool OOF_tableBackend::isRecordLoaded ( ) const
pure virtual

Implemented in OOF_simpleRecordBackend.

virtual void OOF_tableBackend::loadBlob ( const dbBLOB )
pure virtual
virtual bool OOF_tableBackend::loadRelatedContextJoiningFromTo ( const dbField ,
const dbField  
)
pure virtual
virtual void OOF_tableBackend::lockRecord ( )
pure virtual
virtual dbSelection OOF_tableBackend::makeEmptySelection ( ) const
pure virtual
void OOF_tableBackend::markDirty ( )
inline

Definition at line 1712 of file oof1.h.

Referenced by dbTable::markDirty(), and dbWin3RGB::operator=().

virtual bool OOF_tableBackend::more ( ) const
pure virtual

Implemented in OOF_simpleRecordBackend.

virtual void OOF_tableBackend::newRecord ( )
pure virtual
virtual void OOF_tableBackend::next ( )
pure virtual
virtual void OOF_tableBackend::noticeDuplicateRecords ( )
pure virtual

Implemented in OOF_simpleRecordBackend.

virtual unsigned int OOF_tableBackend::numFiles ( ) const
pure virtual

Implemented in OOF_simpleRecordBackend.

virtual unsigned int OOF_tableBackend::numIndexes ( ) const
pure virtual

Implemented in OOF_simpleRecordBackend.

virtual oidT OOF_tableBackend::oidOfRecord ( unsigned  long)
pure virtual

Implemented in OOF_simpleRecordBackend.

virtual bool OOF_tableBackend::openTableInConnection ( const dbConnect ,
const bool  createIfMissing = false 
)
pure virtual
virtual void OOF_tableBackend::pack ( )
pure virtual
virtual void OOF_tableBackend::prev ( )
pure virtual

Implemented in OOF_simpleRecordBackend.

virtual bool OOF_tableBackend::readBool ( const dbField ) const
pure virtual

Implemented in OOF_simpleRecordBackend.

virtual const char* OOF_tableBackend::readChars ( const dbField ) const
pure virtual

Gets pointer to character data.

Returns
null if no data.

Implemented in OOF_simpleRecordBackend.

virtual double OOF_tableBackend::readDouble ( const dbField ) const
pure virtual

Implemented in OOF_simpleRecordBackend.

virtual long OOF_tableBackend::readLong ( const dbField ) const
pure virtual

Implemented in OOF_simpleRecordBackend.

Referenced by dbRelRefBase::OID().

virtual short OOF_tableBackend::readShort ( const dbField ) const
pure virtual

Implemented in OOF_simpleRecordBackend.

virtual oofString OOF_tableBackend::readString ( const dbField ) const
pure virtual

Copy field data into a string.

Implemented in OOF_simpleRecordBackend.

virtual void OOF_tableBackend::rebuild ( )
pure virtual
virtual unsigned long OOF_tableBackend::recordNumber ( ) const
pure virtual

Implemented in OOF_simpleRecordBackend.

virtual unsigned long OOF_tableBackend::recordNumberMatching ( const dbQueryClause qClause,
bool *  outFoundIt = 0 
) const
pure virtual
virtual unsigned long OOF_tableBackend::recordNumberOfOID ( oidT  inOID)
pure virtual

Implemented in OOF_simpleRecordBackend.

virtual bool OOF_tableBackend::reloadRecord ( )
pure virtual

Implemented in OOF_simpleRecordBackend.

Referenced by dbTable::reloadRecord().

virtual void OOF_tableBackend::revertRecord ( )
pure virtual

Implemented in OOF_simpleRecordBackend.

Referenced by dbTable::revertRecord().

virtual void OOF_tableBackend::saveRecord ( )
pure virtual
virtual bool OOF_tableBackend::search ( const dbQueryClause )
pure virtual
virtual bool OOF_tableBackend::searchEqual ( const dbField ,
const char *  ,
bool  matchEntireKey = true 
)
pure virtual
virtual bool OOF_tableBackend::searchEqual ( const dbField ,
const void *   
)
pure virtual

Implemented in OOF_simpleRecordBackend.

virtual bool OOF_tableBackend::searchSelContainsAllDelimited ( const dbField schField,
const char *  schStr,
char  delim 
)
pure virtual
virtual bool OOF_tableBackend::searchSelContainsAllOf ( const dbField schField,
const char **  schStrs,
unsigned long  count 
)
pure virtual
virtual bool OOF_tableBackend::searchSelContainsAnyDelimited ( const dbField schField,
const char *  schStr,
char  delim 
)
pure virtual
virtual bool OOF_tableBackend::searchSelContainsAnyOf ( const dbField schField,
const char **  schStrs,
unsigned long  count 
)
pure virtual
virtual bool OOF_tableBackend::searchSelection ( const dbQueryClause )
pure virtual
virtual void OOF_tableBackend::selectAll ( )
pure virtual

Implemented in OOF_simpleRecordBackend.

virtual void OOF_tableBackend::selectJustCurrent ( )
pure virtual

Implemented in OOF_simpleRecordBackend.

virtual bool OOF_tableBackend::selectJustOID ( oidT  )
pure virtual
virtual void OOF_tableBackend::selectNone ( )
pure virtual
virtual unsigned long OOF_tableBackend::sequenceNumber ( ) const
pure virtual
virtual void OOF_tableBackend::setBlobLength ( fieldNumT  ,
unsigned long  len 
)
pure virtual

Implemented in OOF_simpleRecordBackend.

Referenced by dbBLOB::SetLength().

virtual void OOF_tableBackend::setFileExtensions ( const char *  dataExt,
const char *  indexExt 
)
pure virtual
virtual void OOF_tableBackend::setSelection ( const dbSelection )
pure virtual

Implemented in OOF_simpleRecordBackend.

Referenced by dbTable::setSelection().

virtual void OOF_tableBackend::setSelection ( const OOF_Selection )
pure virtual

Implemented in OOF_simpleRecordBackend.

virtual void OOF_tableBackend::setSortOrder ( dbSorter adoptSorter)
pure virtual
virtual dbSorter* OOF_tableBackend::sorter ( ) const
pure virtual

Implemented in OOF_simpleRecordBackend.

virtual void OOF_tableBackend::sortSelectionInverseNow ( fieldNumT  )
pure virtual

Implemented in OOF_simpleRecordBackend.

Referenced by dbFieldSorter::sortNow().

virtual void OOF_tableBackend::sortSelectionNow ( fieldNumT  )
pure virtual
virtual void OOF_tableBackend::sortSelectionNow ( const dbSorter )
pure virtual

Implemented in OOF_simpleRecordBackend.

virtual void OOF_tableBackend::start ( )
pure virtual
virtual void OOF_tableBackend::suppressIndices ( )
pure virtual
dbTable * OOF_tableBackend::table ( ) const
inline

Definition at line 1726 of file oof1.h.

Referenced by dbSorter::sortNow(), and dbFieldSorter::sortNow().

bool OOF_tableBackend::tableCachesDirtyRecords ( ) const
inlineprotected
virtual void OOF_tableBackend::union_with ( const OOF_tableBackend )
pure virtual
virtual void OOF_tableBackend::union_with ( const dbSelection )
pure virtual

Implemented in OOF_simpleRecordBackend.

virtual void OOF_tableBackend::union_with_no_overlap ( const OOF_tableBackend )
pure virtual
virtual void OOF_tableBackend::union_with_no_overlap ( const dbSelection )
pure virtual

Implemented in OOF_simpleRecordBackend.

virtual void OOF_tableBackend::unloadCache ( )
pure virtual
virtual void OOF_tableBackend::unloadRecord ( )
pure virtual
virtual void OOF_tableBackend::unlockRecord ( )
pure virtual
virtual void OOF_tableBackend::writeBool ( bool  ,
const dbField  
)
pure virtual

Implemented in OOF_simpleRecordBackend.

Referenced by dbBool::operator=().

virtual void OOF_tableBackend::writeBytes ( const char *  inBuf,
long  inLen,
const dbField inField 
)
pure virtual

Implemented in OOF_simpleRecordBackend.

Referenced by dbFixedBinary::setValue().

virtual void OOF_tableBackend::writeChars ( const char *  ,
long  numChars,
long  maxLen,
const dbField ,
long  startIndex = 0 
)
pure virtual
virtual void OOF_tableBackend::writeDouble ( double  ,
const dbField  
)
pure virtual

Implemented in OOF_simpleRecordBackend.

Referenced by dbReal::operator=().

virtual void OOF_tableBackend::writeLong ( long  ,
const dbField  
)
pure virtual
virtual void OOF_tableBackend::writeShort ( short  ,
const dbField  
)
pure virtual

Friends And Related Function Documentation

friend class dbTable
friend

Definition at line 1238 of file oof1.h.

Member Data Documentation

bool OOF_tableBackend::mDirty
protected
OOF_Dictionary OOF_tableBackend::mFields
protected
bool OOF_tableBackend::mHasDefaultCalculators
protected

Definition at line 1236 of file oof1.h.

Referenced by OOF_simpleRecordBackend::saveRecord().

bool OOF_tableBackend::mHasStoredCalculators
protected

Definition at line 1236 of file oof1.h.

Referenced by OOF_simpleRecordBackend::saveRecord().

dbTable* OOF_tableBackend::mTable
protected

Definition at line 1234 of file oof1.h.

Referenced by OOF_ctreeBackend::abortTransaction(), OOF_ctreeBackend::addIndices(), OOF_ctreeBackend::beginTransaction(), OOF_ctreeBackend::buildSchema(), OOF_ctreeBackend::close(), OOF_ctreeBackend::commitTransaction(), OOF_dbaseBackend::createTableInConnection(), OOF_ctreeBackend::createTableInConnection(), OOF_simpleRecordBackend::currentOID(), OOF_dbaseBackend::deleteRecord(), OOF_ramBackend::deleteRecord(), OOF_ctreeBackend::deleteRecord(), OOF_dbaseBackend::deleteStorage(), OOF_ctreeBackend::deleteStorage(), OOF_simpleRecordBackend::fieldDataLen(), OOF_simpleRecordBackend::GetFieldReadFrom(), OOF_simpleRecordBackend::GetFieldWriteDest(), OOF_ctreeBackend::loadBlob(), OOF_ctreeBackend::lockRecord(), OOF_simpleRecordBackend::makeEmptySelection(), OOF_ctreeBackend::open(), OOF_rampBackend::openTableInConnection(), OOF_dbaseBackend::openTableInConnection(), OOF_ctreeBackend::openTableInConnection(), OOF_ctreeBackend::rebuild(), OOF_simpleRecordBackend::revertRecord(), OOF_rampBackend::save(), OOF_simpleRecordBackend::saveRecord(), OOF_simpleRecordBackend::setBlobLength(), OOF_ctreeBackend::suppressIndices(), OOF_simpleRecordBackend::unloadCache(), OOF_simpleRecordBackend::unloadRecord(), OOF_ctreeBackend::unlockRecord(), OOF_simpleRecordBackend::writeBool(), OOF_simpleRecordBackend::writeBytes(), OOF_simpleRecordBackend::writeChars(), OOF_simpleRecordBackend::writeDouble(), OOF_simpleRecordBackend::writeLong(), OOF_simpleRecordBackend::writeShort(), and ~OOF_tableBackend().


The documentation for this class was generated from the following files: