Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

OOF_tableBackend Class Reference
[OOFILE Database package]

#include <oof1.h>

Inheritance diagram for OOF_tableBackend:

Inheritance graph
[legend]
Collaboration diagram for OOF_tableBackend:

Collaboration graph
[legend]
List of all members.

Detailed Description

Abstract interface to database backend.


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.

virtual oofString readString (const dbField *) const=0
 Copy field data into a string.

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

Public Member Functions

virtual void addIndices (const char *newIDXname)=0
virtual void suppressIndices ()=0
virtual void rebuild ()=0
virtual void close ()=0
virtual void deleteStorage ()
virtual void buildSchema (bool rebuilding=false)=0
virtual void createTableInConnection (const dbConnect *)=0
virtual bool openTableInConnection (const dbConnect *, const bool createIfMissing=false)=0
virtual void setFileExtensions (const char *dataExt, const char *indexExt)=0
virtual OOF_tableBackendclone (dbTable::selSharingT, dbTable *) const=0
virtual void describeState (std::ostream &) const=0
virtual void describeInvariant (std::ostream &) const=0
virtual void start ()=0
virtual void next ()=0
virtual void prev ()=0
virtual bool more () const=0
virtual bool atFirst () const=0
virtual bool atLast () const=0
virtual bool atRelative (unsigned long) const=0
virtual unsigned long count () const=0
virtual unsigned long countAll () const=0

Protected Member Functions

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

Protected Attributes

OOF_Dictionary mFields
dbTablemTable
bool mDirty
bool mHasDefaultCalculators
bool mHasStoredCalculators

Friends

class dbTable


Constructor & Destructor Documentation

OOF_tableBackend::OOF_tableBackend dbTable  )  [protected]
 

OOF_tableBackend::OOF_tableBackend const OOF_tableBackend ,
dbTable
[protected]
 

OOF_tableBackend::~OOF_tableBackend  )  [protected, virtual]
 


Member Function Documentation

virtual void OOF_tableBackend::abortTransaction short  rMode = 0  )  [pure virtual]
 

Implemented in OOF_simpleRecordBackend.

virtual void OOF_tableBackend::addIndices const char *  newIDXname  )  [pure virtual]
 

Implemented in OOF_ctreeBackend, OOF_dbaseBackend, OOF_FServBackend, and OOF_ramBackend.

virtual bool OOF_tableBackend::addOIDtoSelection oidT   )  [pure virtual]
 

Implemented in OOF_simpleRecordBackend.

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.

virtual unsigned long OOF_tableBackend::blobPointerReferenceSize  )  const [pure virtual]
 

Implemented in OOF_simpleRecordBackend.

virtual void OOF_tableBackend::buildSchema bool  rebuilding = false  )  [pure virtual]
 

Implemented in OOF_ctreeBackend, OOF_FServBackend, and OOF_simpleRecordBackend.

virtual void OOF_tableBackend::CachingContextChange  )  [protected, pure virtual]
 

Implemented in OOF_simpleRecordBackend.

virtual bool OOF_tableBackend::checkDuplicate const dbQueryClause  )  [pure virtual]
 

Implemented in OOF_ctreeBackend, OOF_FServBackend, and OOF_simpleRecordBackend.

virtual OOF_tableBackend* OOF_tableBackend::clone dbTable::selSharingT  ,
dbTable
const [pure virtual]
 

Implemented in OOF_ctreeBackend, OOF_dbaseBackend, OOF_FServBackend, OOF_rampBackend, OOF_ramBackend, and OOF_simpleRecordBackend.

virtual void OOF_tableBackend::close  )  [pure virtual]
 

Implemented in OOF_ctreeBackend, OOF_dbaseBackend, OOF_FServBackend, OOF_rampBackend, and OOF_ramBackend.

virtual void OOF_tableBackend::commitTransaction short  rMode = 0  )  [pure virtual]
 

Implemented in OOF_simpleRecordBackend.

virtual bool OOF_tableBackend::contains oidT   )  const [pure virtual]
 

Implemented in OOF_simpleRecordBackend.

virtual void OOF_tableBackend::ContextChange  )  [protected, pure virtual]
 

Implemented in OOF_simpleRecordBackend.

virtual unsigned long OOF_tableBackend::count  )  const [pure virtual]
 

Implemented in OOF_simpleRecordBackend.

virtual unsigned long OOF_tableBackend::countAll  )  const [pure virtual]
 

Implemented in OOF_ctreeBackend, OOF_dbaseBackend, OOF_FServBackend, and OOF_ramBackend.

virtual void OOF_tableBackend::createTableInConnection const dbConnect  )  [pure virtual]
 

Implemented in OOF_ctreeBackend, OOF_dbaseBackend, OOF_FServBackend, and OOF_ramBackend.

virtual oidT OOF_tableBackend::currentOID  )  [pure virtual]
 

Implemented in OOF_simpleRecordBackend.

virtual dbSelection OOF_tableBackend::currentSelection  )  const [pure virtual]
 

Implemented in OOF_simpleRecordBackend.

virtual void OOF_tableBackend::deleteRecord  )  [pure virtual]
 

Implemented in OOF_ctreeBackend, OOF_dbaseBackend, OOF_FServBackend, and OOF_ramBackend.

void OOF_tableBackend::deleteStorage  )  [virtual]
 

Reimplemented in OOF_ctreeBackend, OOF_dbaseBackend, and OOF_FServBackend.

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.

virtual void OOF_tableBackend::difference_with const dbSelection  )  [pure virtual]
 

Implemented in OOF_simpleRecordBackend.

virtual void OOF_tableBackend::difference_with const OOF_tableBackend  )  [pure virtual]
 

Implemented in OOF_simpleRecordBackend.

virtual void OOF_tableBackend::dropRecordFromSelection unsigned  long  )  [pure virtual]
 

Implemented in OOF_simpleRecordBackend.

dbField * OOF_tableBackend::field fieldNumT   )  const [inline]
 

virtual unsigned long OOF_tableBackend::fieldDataLen const dbField  )  const [pure virtual]
 

Implemented in OOF_simpleRecordBackend.

void OOF_tableBackend::fieldHasDefaultCalculator dbField  )  [inline]
 

void OOF_tableBackend::fieldHasStoredCalculator dbField  )  [inline]
 

virtual bool OOF_tableBackend::fieldIsDirty fieldNumT   )  const [pure virtual]
 

Implemented in OOF_simpleRecordBackend.

virtual char* OOF_tableBackend::getByteWriteAddress unsigned  long,
const dbField
[pure virtual]
 

Implemented in OOF_simpleRecordBackend.

virtual bool OOF_tableBackend::gotoRecord unsigned long  relativeNum  )  [pure virtual]
 

Implemented in OOF_ctreeBackend, OOF_dbaseBackend, OOF_FServBackend, and OOF_ramBackend.

virtual void OOF_tableBackend::ignoreDuplicateRecords  )  [pure virtual]
 

Implemented in OOF_simpleRecordBackend.

virtual void OOF_tableBackend::intersection_with const dbSelection  )  [pure virtual]
 

Implemented in OOF_simpleRecordBackend.

virtual void OOF_tableBackend::intersection_with const OOF_tableBackend  )  [pure virtual]
 

Implemented in OOF_simpleRecordBackend.

virtual void OOF_tableBackend::invert  )  [pure virtual]
 

Implemented in OOF_ctreeBackend, OOF_FServBackend, and OOF_simpleRecordBackend.

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]
 

Implemented in OOF_ctreeBackend, OOF_dbaseBackend, OOF_FServBackend, and OOF_ramBackend.

virtual bool OOF_tableBackend::loadRelatedContextJoiningFromTo const dbField ,
const dbField
[pure virtual]
 

Implemented in OOF_simpleRecordBackend.

virtual void OOF_tableBackend::lockRecord  )  [pure virtual]
 

Implemented in OOF_ctreeBackend, OOF_FServBackend, and OOF_simpleRecordBackend.

virtual dbSelection OOF_tableBackend::makeEmptySelection  )  const [pure virtual]
 

Implemented in OOF_simpleRecordBackend.

void OOF_tableBackend::markDirty  )  [inline]
 

virtual bool OOF_tableBackend::more  )  const [pure virtual]
 

Implemented in OOF_simpleRecordBackend.

virtual void OOF_tableBackend::newRecord  )  [pure virtual]
 

Implemented in OOF_ctreeBackend, OOF_FServBackend, and OOF_simpleRecordBackend.

virtual void OOF_tableBackend::next  )  [pure virtual]
 

Implemented in OOF_ctreeBackend, OOF_dbaseBackend, OOF_FServBackend, and OOF_ramBackend.

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]
 

Implemented in OOF_ctreeBackend, OOF_dbaseBackend, OOF_FServBackend, OOF_rampBackend, and OOF_ramBackend.

virtual void OOF_tableBackend::pack  )  [pure virtual]
 

Implemented in OOF_dbaseBackend, and OOF_simpleRecordBackend.

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.

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]
 

Implemented in OOF_ctreeBackend, OOF_dbaseBackend, OOF_FServBackend, and OOF_ramBackend.

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]
 

Implemented in OOF_ctreeBackend, OOF_FServBackend, and OOF_simpleRecordBackend.

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.

virtual void OOF_tableBackend::revertRecord  )  [pure virtual]
 

Implemented in OOF_simpleRecordBackend.

virtual void OOF_tableBackend::saveRecord  )  [pure virtual]
 

Implemented in OOF_ctreeBackend, OOF_FServBackend, and OOF_simpleRecordBackend.

virtual bool OOF_tableBackend::search const dbQueryClause  )  [pure virtual]
 

Implemented in OOF_ctreeBackend, OOF_FServBackend, and OOF_simpleRecordBackend.

virtual bool OOF_tableBackend::searchEqual const dbField ,
const void * 
[pure virtual]
 

Implemented in OOF_simpleRecordBackend.

virtual bool OOF_tableBackend::searchEqual const dbField ,
const char *  ,
bool  matchEntireKey = true
[pure virtual]
 

Implemented in OOF_ctreeBackend, OOF_FServBackend, and OOF_simpleRecordBackend.

virtual bool OOF_tableBackend::searchSelContainsAllDelimited const dbField schField,
const char *  schStr,
char  delim
[pure virtual]
 

Implemented in OOF_simpleRecordBackend.

virtual bool OOF_tableBackend::searchSelContainsAllOf const dbField schField,
const char **  schStrs,
unsigned long  count
[pure virtual]
 

Implemented in OOF_simpleRecordBackend.

virtual bool OOF_tableBackend::searchSelContainsAnyDelimited const dbField schField,
const char *  schStr,
char  delim
[pure virtual]
 

Implemented in OOF_simpleRecordBackend.

virtual bool OOF_tableBackend::searchSelContainsAnyOf const dbField schField,
const char **  schStrs,
unsigned long  count
[pure virtual]
 

Implemented in OOF_simpleRecordBackend.

virtual bool OOF_tableBackend::searchSelection const dbQueryClause  )  [pure virtual]
 

Implemented in OOF_ctreeBackend, OOF_FServBackend, and OOF_simpleRecordBackend.

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]
 

Implemented in OOF_simpleRecordBackend.