OOFILE  1.9
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members

Database backend for a single dBase-compatible file. More...

#include <oofdbasx.h>

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

Public Types

enum  ERecordState { eNew, eLoaded, eUnloaded }
 

Public Member Functions

virtual void addIndices (const char *newIDXname)
 
virtual bool addOIDtoSelection (oidT)
 
char * buffer () const
 
virtual void buildSchema (bool rebuilding=false)
 
virtual OOF_tableBackendclone (dbTable::selSharingT, dbTable *) const
 
virtual void close ()
 
void copyFrom (const OOF_recordBufferedContext *)
 
virtual void copyFrom (const OOF_recordBufferedContext &)
 
virtual unsigned long countAll () const
 
virtual void createTableInConnection (const dbConnect *)
 
unsigned long currentOffset () const
 
virtual void deleteRecord ()
 
virtual void deleteStorage ()
 
void describeInvariant (std::ostream &) const
 debugging More...
 
virtual void describeState (std::ostream &) const
 
virtual void dropRecordFromSelection (unsigned long)
 
virtual bool gotoRecord (unsigned long relativeNum)
 
virtual void ignoreDuplicateRecords ()
 
bool isNew () const
 
virtual bool isRecordLoaded () const
 
virtual void loadBlob (const dbBLOB *)
 
virtual void next ()
 
virtual void noticeDuplicateRecords ()
 
virtual bool openTableInConnection (const dbConnect *, const bool=false)
 
 operator unsigned long () const
 
bool operator== (unsigned long) const
 
bool operator== (const OOF_recordBufferedContext &) const
 
virtual void pack ()
 
virtual void rebuild ()
 
virtual bool reloadRecord ()
 
virtual unsigned long sequenceNumber () const
 
virtual void setBlobLength (fieldNumT, unsigned long len)
 
virtual void setFileExtensions (const char *, const char *)
 
virtual void start ()
 
virtual void suppressIndices ()
 
OID generation
virtual oidT currentOID ()
 
virtual oidT oidOfRecord (unsigned long)
 
selection manipulation
virtual unsigned long recordNumber () const
 
virtual unsigned long recordNumberOfOID (oidT inOID)
 Implement dbTable::recordNumberOfOID. More...
 
virtual void selectAll ()
 
virtual void selectNone ()
 
virtual void invert ()
 
virtual void difference_with (const OOF_tableBackend *)
 
virtual void difference_with (const dbSelection &)
 
virtual void intersection_with (const OOF_tableBackend *)
 
virtual void intersection_with (const dbSelection &)
 
virtual void union_with (const OOF_tableBackend *)
 
virtual void union_with (const dbSelection &)
 
virtual void union_with_no_overlap (const OOF_tableBackend *)
 
virtual void union_with_no_overlap (const dbSelection &)
 
public search functions
virtual bool search (const dbQueryClause *qClause)
 
virtual unsigned long recordNumberMatching (const dbQueryClause *qClause, bool *outFoundIt=0) const
 
virtual bool checkDuplicate (const dbQueryClause *)
 
virtual bool searchSelection (const dbQueryClause *)
 
virtual bool searchEqual (const dbField *, const char *, bool matchEntireKey=true)
 
virtual bool searchEqual (const dbField *, const void *)
 
virtual bool searchSelContainsAnyDelimited (const dbField *schField, const char *schStr, char delim)
 
virtual bool searchSelContainsAnyOf (const dbField *schField, const char **schStrs, unsigned long count)
 
virtual bool searchSelContainsAllDelimited (const dbField *schField, const char *schStr, char delim)
 
virtual bool searchSelContainsAllOf (const dbField *schField, const char **schStrs, unsigned long count)
 
virtual bool loadRelatedContextJoiningFromTo (const dbField *, const dbField *)
 Implements relationships via searching. More...
 
field-level data access
virtual bool readBool (const dbField *) const
 Assumes bools stored as unsigned short, 0==false. More...
 
virtual short readShort (const dbField *) const
 
virtual long readLong (const dbField *) const
 
virtual double readDouble (const dbField *) const
 
virtual const char * readChars (const dbField *) const
 
virtual oofString readString (const dbField *) const
 Copy field data into a string. More...
 
virtual void writeBool (bool, const dbField *)
 Encode bool as short to be decoded by readBool. More...
 
virtual void writeShort (short, const dbField *)
 
virtual void writeLong (long, const dbField *)
 
virtual void writeDouble (double, const dbField *)
 
virtual void writeChars (const char *, long numChars, long maxLen, const dbField *, long startIndex=0)
 
virtual void writeBytes (const char *inBuf, long inLen, const dbField *inField)
 
virtual char * getByteWriteAddress (unsigned long, const dbField *)
 
recordwise access
virtual bool atFirst () const
 
virtual bool atLast () const
 
virtual bool atRelative (unsigned long) const
 
virtual void prev ()
 
virtual bool more () const
 
virtual unsigned long count () const
 
void gotoBOF ()
 
record-level data access
virtual void newRecord ()
 Sets up a new record ready to enter data On exit the state is: Selection state is aboutToDirty Selection Set record state to New Set dirty to false Clear buffer Append new record to selection. More...
 
virtual void saveRecord ()
 Save current main record and any cached dirty records. More...
 
virtual void unloadRecord ()
 
virtual void unloadCache ()
 
virtual void revertRecord ()
 
sorting public interface
virtual void setSortOrder (dbSorter *adoptSorter)
 
virtual dbSortersorter () const
 
virtual void sortSelectionNow (fieldNumT)
 
virtual void sortSelectionNow (const dbSorter *)
 
virtual void sortSelectionInverseNow (fieldNumT)
 
reflective operators
virtual unsigned long fieldDataLen (const dbField *) const
 
virtual bool fieldIsDirty (fieldNumT) const
 
virtual bool isNewRecord () const
 
virtual unsigned int numIndexes () const
 
virtual unsigned int numFiles () const
 
virtual unsigned long blobPointerReferenceSize () const
 
virtual bool allSelected () const
 
virtual bool contains (oidT) const
 
getting & saving selections as lightweight objects
virtual dbSelection currentSelection () const
 
virtual dbSelection makeEmptySelection () const
 
virtual void setSelection (const dbSelection &)
 
virtual void setSelection (const OOF_Selection *)
 
selection of specific contexts
virtual bool selectJustOID (oidT)
 
virtual void selectJustCurrent ()
 
locking
virtual void lockRecord ()
 
virtual void unlockRecord ()
 
transactions
virtual void beginTransaction (short tMode)
 
virtual void abortTransaction (short rMode)
 
virtual void commitTransaction (short rMode)
 
record-level data access
bool isDirty () const
 
void markDirty ()
 
reflective operators
void fieldHasDefaultCalculator (dbField *)
 
void fieldHasStoredCalculator (dbField *)
 
dbTabletable () const
 
dbFieldfield (fieldNumT) const
 

Protected Types

Ken's wildcard header bits
enum  OOF_wctype {
  prefix, single, multiple, singlefinal,
  multiplefinal
}
 

Protected Member Functions

void AdoptBuffer (OOF_recordBufferedContext *)
 
void AllocBuffer ()
 
unsigned long BlobLenFromBuffer (const dbField *, const char *theirBuffer) const
 
unsigned long BlobLenFromBuffer (fieldNumT, const char *theirBuffer) const
 
unsigned long BlobPosFromBuffer (const dbField *fld, const char *theirBuffer) const
 
unsigned long BlobPosFromBuffer (fieldNumT, const char *theirBuffer) const
 
virtual void BuildBackendtables (bool rebuilding)
 backend construction More...
 
void CacheDirtyCurrentRecord ()
 
virtual void CachingContextChange ()
 
virtual bool CanUseIndex (const dbField *, dbQueryClause::BinaryQueryOps=dbQueryClause::equals) const
 
bool CommonSimpleDelete ()
 
virtual void ContextChange ()
 
void DonateBlobBodiesTo (OOF_recordBufferedContext *)
 
unsigned int FieldAlignsTo (const dbField *) const
 
void * GetFieldReadFrom (fieldNumT) const
 
void * GetFieldWriteDest (const dbField *)
 
bool GotoRecordForAllUnindexed (unsigned long relativeNum)
 
bool IgnoringDuplicateRecords () const
 
bool Invariant (const char *optionalComment=0) const
 Check combination of member variables defining Invariant state. More...
 
oofString InvariantDescription () const
 
bool MaybeLoadRecordFromCache (unsigned long offset)
 
 OOF_dbaseBackend (dbTable *, dbConnect_dbase *, bool)
 
 OOF_dbaseBackend (const OOF_dbaseBackend &, dbTable::selSharingT, dbTable *)
 
unsigned long PadFieldWidthForAlignment (const dbField *fld) const
 
void ResetBlobs ()
 
void SetBlobLenInBuffer (fieldNumT, unsigned long len, const char *theirBuffer) const
 
void SetBlobPosInBuffer (fieldNumT, unsigned long pos, const char *theirBuffer) const
 
unsigned long state () const
 
bool tableCachesDirtyRecords () const
 
virtual ~OOF_dbaseBackend ()
 
high-level search redirectors
virtual bool SearchBinaryFieldToLiteral (const dbQueryBinary *)
 
virtual bool SearchTrinaryFieldToLiterals (const dbQueryTrinary *)
 
virtual bool SearchCombineSubclauses (const dbQueryBinaryCombo *, bool searchSel)
 
virtual bool SearchSelectionBinaryFieldToLiteral (const dbQueryBinary *)
 
Non-Indexed searches
bool SearchEqualNonIndexed (const dbField *, const char *, bool matchEntireKey=true)
 
bool SearchEqualNonIndexed (const dbField *, const void *)
 
bool SearchWordNonIndexed (const dbField *, const char *, bool startsWith=false)
 
bool SearchNotEqualNonIndexed (const dbField *, const char *, bool matchEntireKey=true)
 
bool SearchNotEqualNonIndexed (const dbField *, const void *)
 
bool SearchBetweenNonIndexed (const dbField *, const char *, const char *)
 
bool SearchBetweenNonIndexed (const dbField *, const void *, const void *)
 
bool SearchOutsideNonIndexed (const dbField *, const char *, const char *)
 
bool SearchOutsideNonIndexed (const dbField *, const void *, const void *)
 
bool SearchComparativeNonIndexed (const dbField *, const char *, dbQueryClause::BinaryQueryOps)
 
bool SearchComparativeNonIndexed (const dbField *, const void *, dbQueryClause::BinaryQueryOps)
 
bool SearchSelectionTrinaryFieldToLiterals (const dbQueryTrinary *)
 
Non-Indexed wildcard Searches
bool SearchEqualNonIndexedWildcard (const dbField *schField, const char *schStr, bool matchEntireKey=true)
 
bool SearchNotEqualNonIndexedWildcard (const dbField *schField, const char *schStr, bool matchEntireKey=true)
 
Sort implementations
void SortSelectionNow (const dbUlong *theFld)
 
void SortSelectionNow (const dbLong *theFld)
 
void SortSelectionNow (const dbUshort *theFld)
 
void SortSelectionNow (const dbShort *theFld)
 
void SortSelectionNow (const dbReal *theFld)
 
void SortSelectionNow (const dbChar *theFld)
 
void SortSelectionNow (const dbText *theFld)
 
void SortSelectionNow (const dbField *theFld, unsigned long fixedBinaryLength)
 
void SortSelectionInverseNow (const dbUlong *theFld)
 
void SortSelectionInverseNow (const dbLong *theFld)
 
void SortSelectionInverseNow (const dbUshort *theFld)
 
void SortSelectionInverseNow (const dbShort *theFld)
 
void SortSelectionInverseNow (const dbReal *theFld)
 
void SortSelectionInverseNow (const dbChar *theFld)
 
void SortSelectionInverseNow (const dbText *theFld)
 
void SortSelectionInverseNow (const dbField *theFld, unsigned long fixedBinaryLength)
 
void SubSort (const dbSorter *theSorter, const unsigned long level, unsigned long *theData, const unsigned long count)
 Now we're sorting at the recursive level of partitioning in a nested sort ! More...
 

Protected Attributes

OOF_ExpandableLongArraymBlobFieldBodies
 
OOF_ExpandableLongArraymBlobFieldNums
 
char * mBuffer
 
unsigned long mCurrLoadedRecOffset
 
bool mDirty
 
OOF_dirtyFieldMap mDirtyMap
 
OOF_recordCachemDirtyRecordCache
 
OOF_recordFieldEntrymFieldBufMap
 
unsigned int * mFieldBufMapRefCount
 
OOF_Dictionary mFields
 
bool mHasDefaultCalculators
 
bool mHasStoredCalculators
 
bool mIgnoreDuplicateRecords
 
unsigned short mNumFiles
 
unsigned short mNumIndexes
 
unsigned short mOverheadLeadingBytes
 
unsigned long mRecBufLen
 
ERecordState mRecordState
 
OOF_recordSelection mSelection
 
dbTablemTable
 

Friends

OOF_tableBackenddbConnect_dbase::MakeTableBackend (dbTable *)
 

Detailed Description

Database backend for a single dBase-compatible file.

See also
dbConnect_dbase

Definition at line 20 of file oofdbasx.h.

Constructor & Destructor Documentation

OOF_dbaseBackend::OOF_dbaseBackend ( dbTable inTable,
dbConnect_dbase inConnection,
bool  UseDbase3Memos 
)
protected

Definition at line 272 of file oofdbase.cpp.

Referenced by clone().

OOF_dbaseBackend::OOF_dbaseBackend ( const OOF_dbaseBackend rhs,
dbTable::selSharingT  selSharing,
dbTable inTable 
)
protected
OOF_dbaseBackend::~OOF_dbaseBackend ( )
protectedvirtual

Definition at line 330 of file oofdbase.cpp.

References OOF_Dictionary::count(), and OOF_tableBackend::mFields.

Member Function Documentation

void OOF_simpleRecordBackend::abortTransaction ( short  rMode)
virtualinherited

Implements OOF_tableBackend.

Definition at line 1822 of file oofrec3.cpp.

void OOF_dbaseBackend::addIndices ( const char *  newIDXname)
inlinevirtual

Implements OOF_tableBackend.

Definition at line 107 of file oofdbasx.h.

bool OOF_simpleRecordBackend::addOIDtoSelection ( oidT  inOID)
virtualinherited
void OOF_simpleRecordBackend::AdoptBuffer ( OOF_recordBufferedContext buf)
protectedinherited
void OOF_recordBufferedContext::AllocBuffer ( )
protectedinherited
bool OOF_simpleRecordBackend::allSelected ( ) const
virtualinherited
bool OOF_simpleRecordBackend::atFirst ( ) const
virtualinherited
bool OOF_simpleRecordBackend::atLast ( ) const
virtualinherited
bool OOF_simpleRecordBackend::atRelative ( unsigned long  rel) const
virtualinherited
void OOF_simpleRecordBackend::beginTransaction ( short  tMode)
virtualinherited

Implements OOF_tableBackend.

Definition at line 1808 of file oofrec3.cpp.

unsigned long OOF_simpleRecordBackend::BlobLenFromBuffer ( const dbField fld,
const char *  theirBuffer 
) const
inlineprotectedinherited
unsigned long OOF_simpleRecordBackend::BlobLenFromBuffer ( fieldNumT  fldNum,
const char *  theirBuffer 
) const
protectedinherited

Definition at line 239 of file oofrec1.cpp.

References OOF_simpleRecordBackend::mFieldBufMap.

unsigned long OOF_simpleRecordBackend::blobPointerReferenceSize ( ) const
virtualinherited

Implements OOF_tableBackend.

Definition at line 1408 of file oofrec1.cpp.

unsigned long OOF_simpleRecordBackend::BlobPosFromBuffer ( const dbField fld,
const char *  theirBuffer 
) const
inlineprotectedinherited
unsigned long OOF_simpleRecordBackend::BlobPosFromBuffer ( fieldNumT  fldNum,
const char *  theirBuffer 
) const
protectedinherited

Definition at line 247 of file oofrec1.cpp.

References OOF_simpleRecordBackend::mFieldBufMap.

char * OOF_recordBufferedContext::buffer ( ) const
inlineinherited

Definition at line 732 of file oofrecs.h.

References OOF_recordBufferedContext::mBuffer.

Referenced by OOF_ramBackend::~OOF_ramBackend().

void OOF_dbaseBackend::BuildBackendtables ( bool  rebuilding)
protectedvirtual
void OOF_simpleRecordBackend::buildSchema ( bool  rebuilding = false)
virtualinherited
void OOF_simpleRecordBackend::CacheDirtyCurrentRecord ( )
protectedinherited
void OOF_simpleRecordBackend::CachingContextChange ( )
protectedvirtualinherited
bool OOF_simpleRecordBackend::CanUseIndex ( const dbField ,
dbQueryClause::BinaryQueryOps  = dbQueryClause::equals 
) const
protectedvirtualinherited

Reimplemented in OOF_ctreeBackend, and OOF_FServBackend.

Definition at line 1401 of file oofrec1.cpp.

bool OOF_simpleRecordBackend::checkDuplicate ( const dbQueryClause )
virtualinherited

Implements OOF_tableBackend.

Reimplemented in OOF_ctreeBackend, and OOF_FServBackend.

Definition at line 110 of file oofrec3.cpp.

OOF_tableBackend * OOF_dbaseBackend::clone ( dbTable::selSharingT  selSharing,
dbTable theTable 
) const
virtual

Implements OOF_simpleRecordBackend.

Definition at line 1094 of file oofdbase.cpp.

References OOF_dbaseBackend().

void OOF_dbaseBackend::close ( )
virtual

Implements OOF_tableBackend.

Definition at line 1102 of file oofdbase.cpp.

void OOF_simpleRecordBackend::commitTransaction ( short  rMode)
virtualinherited

Implements OOF_tableBackend.

Definition at line 1815 of file oofrec3.cpp.

bool OOF_simpleRecordBackend::CommonSimpleDelete ( )
protectedinherited
bool OOF_simpleRecordBackend::contains ( oidT  inOID) const
virtualinherited
void OOF_simpleRecordBackend::ContextChange ( )
protectedvirtualinherited
void OOF_recordBufferedContext::copyFrom ( const OOF_recordBufferedContext rhs)
inlineinherited
void OOF_recordBufferedContext::copyFrom ( const OOF_recordBufferedContext rhs)
virtualinherited
unsigned long OOF_simpleRecordBackend::count ( ) const
virtualinherited
unsigned long OOF_dbaseBackend::countAll ( ) const
virtual
void OOF_dbaseBackend::createTableInConnection ( const dbConnect )
virtual
unsigned long OOF_recordBufferedContext::currentOffset ( ) const
inlineinherited
oidT OOF_simpleRecordBackend::currentOID ( )
virtualinherited
dbSelection OOF_simpleRecordBackend::currentSelection ( ) const
virtualinherited
void OOF_dbaseBackend::deleteRecord ( )
virtual
void OOF_dbaseBackend::deleteStorage ( )
virtual
void OOF_simpleRecordBackend::describeInvariant ( std::ostream &  ) const
virtualinherited

debugging

Implements OOF_tableBackend.

Definition at line 2025 of file oofrec3.cpp.

void OOF_simpleRecordBackend::describeState ( std::ostream &  ) const
virtualinherited
void OOF_simpleRecordBackend::difference_with ( const OOF_tableBackend rhs)
virtualinherited
void OOF_simpleRecordBackend::difference_with ( const dbSelection rhs)
virtualinherited

Implements OOF_tableBackend.

Definition at line 1753 of file oofrec2.cpp.

References dbSelection::internalSelection().

void OOF_simpleRecordBackend::DonateBlobBodiesTo ( OOF_recordBufferedContext rhs)
protectedinherited
void OOF_simpleRecordBackend::dropRecordFromSelection ( unsigned long  inRecNum)
virtualinherited
dbField * OOF_tableBackend::field ( fieldNumT  fieldNum) const
inlineinherited

Definition at line 1733 of file oof1.h.

unsigned int OOF_simpleRecordBackend::FieldAlignsTo ( const dbField fld) const
protectedinherited
unsigned long OOF_simpleRecordBackend::fieldDataLen ( const dbField fld) const
virtualinherited
void OOF_tableBackend::fieldHasDefaultCalculator ( dbField )
inlineinherited

Definition at line 1740 of file oof1.h.

Referenced by dbField::CalculateWith().

void OOF_tableBackend::fieldHasStoredCalculator ( dbField )
inlineinherited

Definition at line 1747 of file oof1.h.

Referenced by OOF_ctreeBackend::BuildBackendtables().

bool OOF_simpleRecordBackend::fieldIsDirty ( fieldNumT  fldNum) const
virtualinherited

Implements OOF_tableBackend.

Definition at line 511 of file oofrec1.cpp.

References OOF_dirtyFieldMap::isDirty(), and OOF_recordBufferedContext::mDirtyMap.

char * OOF_simpleRecordBackend::getByteWriteAddress ( unsigned long  byteIndex,
const dbField inField 
)
virtualinherited

Implements OOF_tableBackend.

Definition at line 740 of file oofrec1.cpp.

References OOF_simpleRecordBackend::GetFieldWriteDest().

void * OOF_simpleRecordBackend::GetFieldReadFrom ( fieldNumT  fldNum) const
protectedinherited
void * OOF_simpleRecordBackend::GetFieldWriteDest ( const dbField inField)
protectedinherited
void OOF_simpleRecordBackend::gotoBOF ( )
inlineinherited

Definition at line 756 of file oofrecs.h.

References OOF_recordBufferedContext::mCurrLoadedRecOffset.

bool OOF_dbaseBackend::gotoRecord ( unsigned long  relativeNum)
virtual
bool OOF_simpleRecordBackend::GotoRecordForAllUnindexed ( unsigned long  relativeNum)
protectedinherited
void OOF_simpleRecordBackend::ignoreDuplicateRecords ( )
virtualinherited

Implements OOF_tableBackend.

Definition at line 312 of file oofrec1.cpp.

References OOF_simpleRecordBackend::mIgnoreDuplicateRecords.

bool OOF_simpleRecordBackend::IgnoringDuplicateRecords ( ) const
inlineprotectedinherited

Definition at line 763 of file oofrecs.h.

References OOF_simpleRecordBackend::mIgnoreDuplicateRecords.

void OOF_simpleRecordBackend::intersection_with ( const OOF_tableBackend rhs)
virtualinherited
void OOF_simpleRecordBackend::intersection_with ( const dbSelection rhs)
virtualinherited

Implements OOF_tableBackend.

Definition at line 1779 of file oofrec2.cpp.

References dbSelection::internalSelection().

bool OOF_simpleRecordBackend::Invariant ( const char *  optionalComment = 0) const
protectedinherited

Check combination of member variables defining Invariant state.

Used to guard against changes to code allowing backend to enter illegal states.

Note
If you define a filename OOF_INVARIANT_DUMP_NAME this will dump a very comprehensive log of all OOFILE execution, as Invariant is called on entry and exit from most backend methods that affect the database.
Todo:
change code checking for some states to work on Intel byte order

Definition at line 1837 of file oofrec3.cpp.

References dbSorter::state().

Referenced by OOF_simpleRecordBackend::addOIDtoSelection(), OOF_simpleRecordBackend::AdoptBuffer(), OOF_ramBackend::BuildBackendtables(), BuildBackendtables(), OOF_ctreeBackend::BuildBackendtables(), OOF_ctreeBackend::buildSchema(), OOF_simpleRecordBackend::buildSchema(), OOF_simpleRecordBackend::CacheDirtyCurrentRecord(), OOF_simpleRecordBackend::CachingContextChange(), OOF_ctreeBackend::close(), OOF_simpleRecordBackend::CommonSimpleDelete(), OOF_simpleRecordBackend::ContextChange(), createTableInConnection(), OOF_ctreeBackend::createTableInConnection(), OOF_simpleRecordBackend::currentSelection(), OOF_ramBackend::DeleteBlobBodies(), deleteRecord(), OOF_ramBackend::deleteRecord(), OOF_ctreeBackend::deleteRecord(), OOF_ctreeBackend::deleteStorage(), OOF_simpleRecordBackend::dropRecordFromSelection(), OOF_simpleRecordBackend::GetFieldWriteDest(), OOF_ramBackend::gotoRecord(), gotoRecord(), OOF_ramBackend::loadBlob(), loadBlob(), OOF_ctreeBackend::loadBlob(), OOF_ramBackend::LoadRecordAtOffset(), OOF_simpleRecordBackend::MaybeLoadRecordFromCache(), OOF_ctreeBackend::newRecord(), OOF_simpleRecordBackend::newRecord(), next(), OOF_ramBackend::next(), OOF_rampBackend::openTableInConnection(), openTableInConnection(), OOF_ctreeBackend::openTableInConnection(), OOF_ctreeBackend::rebuild(), OOF_simpleRecordBackend::recordNumberMatching(), OOF_simpleRecordBackend::reloadRecord(), OOF_simpleRecordBackend::revertRecord(), OOF_rampBackend::save(), OOF_ramBackend::SaveContext(), OOF_ctreeBackend::saveRecord(), OOF_simpleRecordBackend::selectAll(), OOF_simpleRecordBackend::selectJustCurrent(), OOF_simpleRecordBackend::selectJustOID(), OOF_simpleRecordBackend::selectNone(), OOF_simpleRecordBackend::setSelection(), OOF_simpleRecordBackend::setSortOrder(), start(), OOF_ramBackend::start(), OOF_simpleRecordBackend::unloadCache(), OOF_ctreeBackend::unloadRecord(), and OOF_simpleRecordBackend::unloadRecord().

oofString OOF_simpleRecordBackend::InvariantDescription ( ) const
protectedinherited
void OOF_simpleRecordBackend::invert ( )
virtualinherited
bool OOF_tableBackend::isDirty ( ) const
inlineinherited
bool OOF_recordBufferedContext::isNew ( ) const
inlineinherited
bool OOF_simpleRecordBackend::isNewRecord ( ) const
virtualinherited
bool OOF_simpleRecordBackend::isRecordLoaded ( ) const
virtualinherited
void OOF_dbaseBackend::loadBlob ( const dbBLOB blob)
virtual
bool OOF_simpleRecordBackend::loadRelatedContextJoiningFromTo ( const dbField fldFrom,
const dbField fldTo 
)
virtualinherited

Implements relationships via searching.

Changes the current selection

Parameters
fldFromsupplies the value to be searched for.
fldTois a field probably on the current table, which is the target of the search
Returns
true if finds any records Always changes the current selection, like search().

Implements OOF_tableBackend.

Definition at line 1470 of file oofrec3.cpp.

References OOF_recordCache::append(), dbQueryLiteral::binaryContents(), charField, OOF_recordCache::count(), OOF_recordCache::countOccupied(), OOF_recordBufferedContext::currentOffset(), dbField::fieldType(), OOF_recordBufferedContext::isNew(), OOF_recordCache::item(), textField, and dbField::valueAsQueryLiteral().

void OOF_simpleRecordBackend::lockRecord ( )
virtualinherited

Implements OOF_tableBackend.

Reimplemented in OOF_ctreeBackend, and OOF_FServBackend.

Definition at line 1795 of file oofrec3.cpp.

dbSelection OOF_simpleRecordBackend::makeEmptySelection ( ) const
virtualinherited

Implements OOF_tableBackend.

Definition at line 1319 of file oofrec1.cpp.

References OOF_tableBackend::mTable, and dbTable::prototype().

void OOF_tableBackend::markDirty ( )
inlineinherited

Definition at line 1712 of file oof1.h.

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

bool OOF_simpleRecordBackend::MaybeLoadRecordFromCache ( unsigned long  offset)
protectedinherited
bool OOF_simpleRecordBackend::more ( ) const
virtualinherited
void OOF_simpleRecordBackend::newRecord ( )
virtualinherited

Sets up a new record ready to enter data On exit the state is: Selection state is aboutToDirty Selection Set record state to New Set dirty to false Clear buffer Append new record to selection.

Set current loaded record offset to point to new appended record.

Implements OOF_tableBackend.

Reimplemented in OOF_ctreeBackend, and OOF_FServBackend.

Definition at line 965 of file oofrec1.cpp.

References OOF_recordSelection::aboutToDirtySelection(), OOF_recordSelection::appendNewRecord(), OOF_recordBufferedContext::eNew, OOF_simpleRecordBackend::Invariant(), OOF_recordBufferedContext::mBuffer, OOF_recordBufferedContext::mCurrLoadedRecOffset, OOF_tableBackend::mDirty, OOF_recordBufferedContext::mRecBufLen, OOF_recordBufferedContext::mRecordState, OOF_simpleRecordBackend::mSelection, and OOF_tableBackend::tableCachesDirtyRecords().

Referenced by OOF_ctreeBackend::newRecord().

void OOF_dbaseBackend::next ( )
virtual
void OOF_simpleRecordBackend::noticeDuplicateRecords ( )
virtualinherited

Implements OOF_tableBackend.

Definition at line 319 of file oofrec1.cpp.

References OOF_simpleRecordBackend::mIgnoreDuplicateRecords.

unsigned int OOF_simpleRecordBackend::numFiles ( ) const
virtualinherited

Implements OOF_tableBackend.

Definition at line 1394 of file oofrec1.cpp.

References OOF_simpleRecordBackend::mNumFiles.

unsigned int OOF_simpleRecordBackend::numIndexes ( ) const
virtualinherited

Implements OOF_tableBackend.

Definition at line 1387 of file oofrec1.cpp.

References OOF_simpleRecordBackend::mNumIndexes.

oidT OOF_simpleRecordBackend::oidOfRecord ( unsigned long  recno)
virtualinherited
bool OOF_dbaseBackend::openTableInConnection ( const dbConnect theConnect,
const bool  createIfMissing = false 
)
virtual
Returns
true if open, false if create
Todo:
throw oofE_TableError if !createIfMissing and fail to open

Implements OOF_tableBackend.

Definition at line 674 of file oofdbase.cpp.

References createTableInConnection(), OOF_simpleRecordBackend::Invariant(), OOF_tableBackend::mTable, dbConnect::raise(), and dbTable::tableName().

OOF_recordBufferedContext::operator unsigned long ( ) const
inlineinherited

Definition at line 711 of file oofrecs.h.

bool OOF_recordBufferedContext::operator== ( unsigned long  inOffset) const
inlineinherited

Definition at line 725 of file oofrecs.h.

References OOF_recordBufferedContext::mCurrLoadedRecOffset.

bool OOF_recordBufferedContext::operator== ( const OOF_recordBufferedContext rhs) const
inherited

Definition at line 93 of file oofrec4.cpp.

References OOF_recordBufferedContext::mCurrLoadedRecOffset.

void OOF_dbaseBackend::pack ( )
virtual

Reimplemented from OOF_simpleRecordBackend.

Definition at line 2333 of file oofdbase.cpp.

unsigned long OOF_simpleRecordBackend::PadFieldWidthForAlignment ( const dbField fld) const
protectedinherited
void OOF_simpleRecordBackend::prev ( )
virtualinherited
bool OOF_simpleRecordBackend::readBool ( const dbField inField) const
virtualinherited

Assumes bools stored as unsigned short, 0==false.

Warning
relies on backend returning fields aligned to processor-legal boundaries
Todo:
add assertion testing return address is legally aligned

Implements OOF_tableBackend.

Definition at line 544 of file oofrec1.cpp.

References dbField::fieldIsStandalone(), dbField::fieldNumber(), and OOF_simpleRecordBackend::GetFieldReadFrom().

const char * OOF_simpleRecordBackend::readChars ( const dbField inField) const
virtualinherited
Returns
pointer to area expected to remain allocated, maybe null.

Implements OOF_tableBackend.

Definition at line 619 of file oofrec1.cpp.

References dbField::fieldNumber(), and OOF_simpleRecordBackend::GetFieldReadFrom().

double OOF_simpleRecordBackend::readDouble ( const dbField inField) const
virtualinherited
Warning
relies on backend returning fields aligned to processor-legal boundaries
Todo:
add assertion testing return address is legally aligned

Implements OOF_tableBackend.

Definition at line 601 of file oofrec1.cpp.

References dbField::fieldIsStandalone(), dbField::fieldNumber(), and OOF_simpleRecordBackend::GetFieldReadFrom().

long OOF_simpleRecordBackend::readLong ( const dbField inField) const
virtualinherited
Warning
relies on backend returning fields aligned to processor-legal boundaries
Todo:
add assertion testing return address is legally aligned

Implements OOF_tableBackend.

Definition at line 582 of file oofrec1.cpp.

References dbField::fieldIsStandalone(), dbField::fieldNumber(), and OOF_simpleRecordBackend::GetFieldReadFrom().

short OOF_simpleRecordBackend::readShort ( const dbField inField) const
virtualinherited
Warning
relies on backend returning fields aligned to processor-legal boundaries
Todo:
add assertion testing return address is legally aligned

Implements OOF_tableBackend.

Definition at line 563 of file oofrec1.cpp.

References dbField::fieldIsStandalone(), dbField::fieldNumber(), and OOF_simpleRecordBackend::GetFieldReadFrom().

oofString OOF_simpleRecordBackend::readString ( const dbField ) const
virtualinherited

Copy field data into a string.

Implements OOF_tableBackend.

Definition at line 627 of file oofrec1.cpp.

References dbField::fieldNumber(), and OOF_simpleRecordBackend::GetFieldReadFrom().

void OOF_dbaseBackend::rebuild ( )
inlinevirtual

Implements OOF_tableBackend.

Definition at line 109 of file oofdbasx.h.

unsigned long OOF_simpleRecordBackend::recordNumber ( ) const
virtualinherited
unsigned long OOF_simpleRecordBackend::recordNumberMatching ( const dbQueryClause qClause,
bool *  outFoundIt = 0 
) const
virtualinherited
unsigned long OOF_simpleRecordBackend::recordNumberOfOID ( oidT  inOID)
virtualinherited
bool OOF_simpleRecordBackend::reloadRecord ( )
virtualinherited
void OOF_simpleRecordBackend::ResetBlobs ( )
protectedinherited
void OOF_simpleRecordBackend::revertRecord ( )
virtualinherited
void OOF_simpleRecordBackend::saveRecord ( )
virtualinherited
bool OOF_simpleRecordBackend::search ( const dbQueryClause qClause)
virtualinherited
bool OOF_simpleRecordBackend::SearchBetweenNonIndexed ( const dbField schField,
const char *  strFrom,
const char *  strTo 
)
protectedinherited

Definition at line 783 of file oofrec3.cpp.

References dbField::asChars(), and OOF_stricmp().

bool OOF_simpleRecordBackend::SearchBetweenNonIndexed ( const dbField schField,
const void *  addressFrom,
const void *  addressTo 
)
protectedinherited
bool OOF_simpleRecordBackend::SearchBinaryFieldToLiteral ( const dbQueryBinary qClause)
protectedvirtualinherited
bool OOF_simpleRecordBackend::SearchCombineSubclauses ( const dbQueryBinaryCombo qClause,
bool  searchSel 
)
protectedvirtualinherited
bool OOF_simpleRecordBackend::SearchComparativeNonIndexed ( const dbField schField,
const char *  schStr,
dbQueryClause::BinaryQueryOps  theOp 
)
protectedinherited
bool OOF_simpleRecordBackend::SearchComparativeNonIndexed ( const dbField schField,
const void *  schAddress,
dbQueryClause::BinaryQueryOps  theOp 
)
protectedinherited
bool OOF_simpleRecordBackend::searchEqual ( const dbField schField,
const char *  schStr,
bool  matchEntireKey = true 
)
virtualinherited

Implements OOF_tableBackend.

Reimplemented in OOF_ctreeBackend, and OOF_FServBackend.

Definition at line 186 of file oofrec3.cpp.

bool OOF_simpleRecordBackend::searchEqual ( const dbField schField,
const void *  schAddress 
)
virtualinherited

Implements OOF_tableBackend.

Definition at line 176 of file oofrec3.cpp.

bool OOF_simpleRecordBackend::SearchEqualNonIndexed ( const dbField schField,
const char *  schStr,
bool  matchEntireKey = true 
)
protectedinherited
bool OOF_simpleRecordBackend::SearchEqualNonIndexed ( const dbField schField,
const void *  schAddress 
)
protectedinherited

Definition at line 668 of file oofrec3.cpp.

References dbField::fieldStorageLen(), and dbConnect::raise().

bool OOF_simpleRecordBackend::SearchEqualNonIndexedWildcard ( const dbField schField,
const char *  schStr,
bool  matchEntireKey = true 
)
protectedinherited
bool OOF_simpleRecordBackend::SearchNotEqualNonIndexed ( const dbField schField,
const char *  schStr,
bool  matchEntireKey = true 
)
protectedinherited
bool OOF_simpleRecordBackend::SearchNotEqualNonIndexed ( const dbField schField,
const void *  schAddress 
)
protectedinherited

Definition at line 727 of file oofrec3.cpp.

References dbField::fieldStorageLen(), and dbConnect::raise().

bool OOF_simpleRecordBackend::SearchNotEqualNonIndexedWildcard ( const dbField schField,
const char *  schStr,
bool  matchEntireKey = true 
)
protectedinherited
bool OOF_simpleRecordBackend::SearchOutsideNonIndexed ( const dbField schField,
const char *  strFrom,
const char *  strTo 
)
protectedinherited

Definition at line 813 of file oofrec3.cpp.

References dbField::asChars(), and OOF_stricmp().

bool OOF_simpleRecordBackend::SearchOutsideNonIndexed ( const dbField schField,
const void *  addressFrom,
const void *  addressTo 
)
protectedinherited
bool OOF_simpleRecordBackend::searchSelContainsAllDelimited ( const dbField schField,
const char *  schStr,
char  delim 
)
virtualinherited

Implements OOF_tableBackend.

Definition at line 1422 of file oofrec3.cpp.

bool OOF_simpleRecordBackend::searchSelContainsAllOf ( const dbField schField,
const char **  schStrs,
unsigned long  count 
)
virtualinherited

Implements OOF_tableBackend.

Definition at line 1390 of file oofrec3.cpp.

References dbField::copyString(), and OOF_strnicmp().

bool OOF_simpleRecordBackend::searchSelContainsAnyDelimited ( const dbField schField,
const char *  schStr,
char  delim 
)
virtualinherited

Implements OOF_tableBackend.

Definition at line 1350 of file oofrec3.cpp.

bool OOF_simpleRecordBackend::searchSelContainsAnyOf ( const dbField schField,
const char **  schStrs,
unsigned long  count 
)
virtualinherited

Implements OOF_tableBackend.

Definition at line 1317 of file oofrec3.cpp.

References dbField::copyString(), and OOF_strnicmp().

bool OOF_simpleRecordBackend::searchSelection ( const dbQueryClause qClause)
virtualinherited
bool OOF_simpleRecordBackend::SearchSelectionBinaryFieldToLiteral ( const dbQueryBinary qClause)
protectedvirtualinherited
bool OOF_simpleRecordBackend::SearchSelectionTrinaryFieldToLiterals ( const dbQueryTrinary qClause)
protectedinherited
bool OOF_simpleRecordBackend::SearchTrinaryFieldToLiterals ( const dbQueryTrinary qClause)
protectedvirtualinherited
bool OOF_simpleRecordBackend::SearchWordNonIndexed ( const dbField schField,
const char *  schStr,
bool  startsWith = false 
)
protectedinherited
void OOF_simpleRecordBackend::selectAll ( )
virtualinherited
void OOF_simpleRecordBackend::selectJustCurrent ( )
virtualinherited
bool OOF_simpleRecordBackend::selectJustOID ( oidT  inOID)
virtualinherited
Parameters
inOIDrecord address, zero is accepted but causes selectNone() dbTable::selectJustOID will react similarly to zero oidT.
Todo:
validate that inOID is valid existing record

Implements OOF_tableBackend.

Definition at line 1246 of file oofrec1.cpp.

References OOF_simpleRecordBackend::Invariant(), OOF_simpleRecordBackend::mSelection, dbConnect::raise(), OOF_simpleRecordBackend::selectNone(), OOF_recordSelection::selectOneRec(), and OOF_tableBackend::start().

Referenced by OOF_simpleRecordBackend::selectJustCurrent().

void OOF_simpleRecordBackend::selectNone ( )
virtualinherited
unsigned long OOF_dbaseBackend::sequenceNumber ( ) const
virtual

Implements OOF_tableBackend.

Definition at line 1450 of file oofdbase.cpp.

void OOF_simpleRecordBackend::setBlobLength ( fieldNumT  fldNum,
unsigned long  len 
)
virtualinherited
void OOF_simpleRecordBackend::SetBlobLenInBuffer ( fieldNumT  fldNum,
unsigned long  len,
const char *  theirBuffer 
) const
protectedinherited

Definition at line 254 of file oofrec1.cpp.

References OOF_simpleRecordBackend::mFieldBufMap.

void OOF_simpleRecordBackend::SetBlobPosInBuffer ( fieldNumT  fldNum,
unsigned long  pos,
const char *  theirBuffer 
) const
protectedinherited
virtual void OOF_simpleRecordBackend::setFileExtensions ( const char *  ,
const char *   
)
inlinevirtualinherited

Implements OOF_tableBackend.

Reimplemented in OOF_ctreeBackend, and OOF_FServBackend.

Definition at line 322 of file oofrecs.h.

void OOF_simpleRecordBackend::setSelection ( const dbSelection rhs)
virtualinherited

Implements OOF_tableBackend.

Definition at line 1326 of file oofrec1.cpp.

References dbSelection::internalSelection().

void OOF_simpleRecordBackend::setSelection ( const OOF_Selection rhs)
virtualinherited
void OOF_simpleRecordBackend::setSortOrder ( dbSorter adoptSorter)
virtualinherited
dbSorter * OOF_simpleRecordBackend::sorter ( ) const
virtualinherited
void OOF_simpleRecordBackend::sortSelectionInverseNow ( fieldNumT  sortFieldNo)
virtualinherited
void OOF_simpleRecordBackend::SortSelectionInverseNow ( const dbUlong theFld)
protectedinherited
void OOF_simpleRecordBackend::SortSelectionInverseNow ( const dbLong theFld)
protectedinherited
void OOF_simpleRecordBackend::SortSelectionInverseNow ( const dbUshort theFld)
protectedinherited
void OOF_simpleRecordBackend::SortSelectionInverseNow ( const dbShort theFld)
protectedinherited
void OOF_simpleRecordBackend::SortSelectionInverseNow ( const dbReal theFld)
protectedinherited
void OOF_simpleRecordBackend::SortSelectionInverseNow ( const dbChar theFld)
protectedinherited
void OOF_simpleRecordBackend::SortSelectionInverseNow ( const dbText theFld)
protectedinherited
void OOF_simpleRecordBackend::SortSelectionInverseNow ( const dbField theFld,
unsigned long  fixedBinaryLength 
)
protectedinherited
void OOF_simpleRecordBackend::sortSelectionNow ( fieldNumT  sortFieldNo)
virtualinherited
void OOF_simpleRecordBackend::sortSelectionNow ( const dbSorter theSorter)
virtualinherited
Ken's comments on how the sort works
start by sorting and partitioning the base field

This could use som heuristics if the field in indexed, since ctree does some of this good stuff for us - for now, we just use a non-indexed case..

At least we could get ctree to put the fields in the correct order for us ! But later - let's get it working for now !

Warning
Don't shortcut the process by using direct copyBlah accessors on these fields. Although it seems less efficient to be using the (dbUlong*)theField instead of readLong(theField) there is one important difference in that the field-level method also allows for calculated or non-persistent fields.

Implements OOF_tableBackend.

Definition at line 93 of file oofrec2.cpp.

References charField, dbTable::cloneTableWithoutSelection(), compoundField, OOF_FieldSegOwner::countSegments(), dateField, dateTimeField, OOF_ULPSorter::exchange(), dbTable::field(), dbField::fieldNumber(), OOF_FieldSegOwner::fieldNumberOfSegment(), dbField::fieldTable(), dbField::fieldType(), OOF_ListBase::isEmpty(), OOF_Segment::isReversed(), OOF_ULPSorter::lastEqual(), longField, OOF_ULPSorterElement::mData, OOF_ULPSorterElement::mNext, OOF_ULPSorterElement::mPart, OOF_LPSorterElement::mPart, OOF_DPSorterElement::mPart, OOF_copyFirstFour(), OOF_stricmp(), dbConnect::raise(), RAISE_EXCEPTION, realField, OOF_ULPSorter::remove(), OOF_LPSorter::remove(), OOF_DPSorter::remove(), OOF_FieldSegOwner::segment(), dbTable::selectJustOID(), shortField, OOF_ULPSorter::sortedInsert(), OOF_LPSorter::sortedInsert(), OOF_DPSorter::sortedInsert(), OOF_ULPSorter::sortedInsertReverse(), OOF_LPSorter::sortedInsertReverse(), OOF_DPSorter::sortedInsertReverse(), textField, OOF_ULPSorter::theEqual(), OOF_ULPSorter::theFirst(), OOF_LPSorter::theFirst(), OOF_DPSorter::theFirst(), timeField, uLongField, and uShortField.

void OOF_simpleRecordBackend::SortSelectionNow ( const dbUlong theFld)
protectedinherited
void OOF_simpleRecordBackend::SortSelectionNow ( const dbLong theFld)
protectedinherited
void OOF_simpleRecordBackend::SortSelectionNow ( const dbUshort theFld)
protectedinherited
void OOF_simpleRecordBackend::SortSelectionNow ( const dbShort theFld)
protectedinherited
void OOF_simpleRecordBackend::SortSelectionNow ( const dbReal theFld)
protectedinherited
void OOF_simpleRecordBackend::SortSelectionNow ( const dbChar theFld)
protectedinherited
void OOF_simpleRecordBackend::SortSelectionNow ( const dbText theFld)
protectedinherited
void OOF_simpleRecordBackend::SortSelectionNow ( const dbField theFld,
unsigned long  fixedBinaryLength 
)
protectedinherited
Bug:
Needs implementing by copying bytes or generating a comparison object. Alternatives considered: 1) backend is Abstract Factory for byte copier and field comparer 2) need a readBytes interface for dbFixedBinary, and rewrite this sort for dbFixedBinary alone
Todo:
reimplement fixedBinary SortSelectionNow without binaryContents()

Definition at line 1428 of file oofrec2.cpp.

References OOF_recordSelection::append(), dbTable::cloneTableWithoutSelection(), OOF_ULSorter::exchange(), dbTable::field(), dbField::fieldNumber(), dbField::fieldTable(), OOF_ListBase::isEmpty(), OOF_ULSorter::lastEqual(), OOF_ULSorterElement::mData, OOF_ULSorterElement::mNext, OOF_copyFirstFour(), OOF_ULSorter::remove(), dbTable::selectJustOID(), OOF_ULSorter::sortedInsert(), and OOF_ULSorter::theEqual().

void OOF_dbaseBackend::start ( )
virtual
unsigned long OOF_simpleRecordBackend::state ( ) const
protectedinherited
void OOF_simpleRecordBackend::SubSort ( const dbSorter theSorter,
const unsigned long  level,
unsigned long *  theData,
const unsigned long  count 
)
protectedinherited
void OOF_dbaseBackend::suppressIndices ( )
inlinevirtual

Implements OOF_tableBackend.

Definition at line 108 of file oofdbasx.h.

dbTable * OOF_tableBackend::table ( ) const
inlineinherited

Definition at line 1726 of file oof1.h.

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

bool OOF_tableBackend::tableCachesDirtyRecords ( ) const
inlineprotectedinherited
void OOF_simpleRecordBackend::union_with ( const OOF_tableBackend rhs)
virtualinherited
void OOF_simpleRecordBackend::union_with ( const dbSelection rhs)
virtualinherited

Implements OOF_tableBackend.

Definition at line 1804 of file oofrec2.cpp.

References dbSelection::internalSelection().

void OOF_simpleRecordBackend::union_with_no_overlap ( const OOF_tableBackend rhs)
virtualinherited
void OOF_simpleRecordBackend::union_with_no_overlap ( const dbSelection rhs)
virtualinherited

Implements OOF_tableBackend.

Definition at line 1829 of file oofrec2.cpp.

References dbSelection::internalSelection().

void OOF_simpleRecordBackend::unloadCache ( )
virtualinherited
void OOF_simpleRecordBackend::unloadRecord ( )
virtualinherited
void OOF_simpleRecordBackend::unlockRecord ( )
virtualinherited

Implements OOF_tableBackend.

Reimplemented in OOF_ctreeBackend, and OOF_FServBackend.

Definition at line 1802 of file oofrec3.cpp.

void OOF_simpleRecordBackend::writeBool ( bool  inNum,
const dbField inField 
)
virtualinherited

Encode bool as short to be decoded by readBool.

Warning
relies on backend returning fields aligned to processor-legal boundaries
Todo:
add assertion testing return address is legally aligned

Implements OOF_tableBackend.

Definition at line 640 of file oofrec1.cpp.

References OOF_simpleRecordBackend::GetFieldWriteDest(), dbTable::markDirty(), and OOF_tableBackend::mTable.

void OOF_simpleRecordBackend::writeBytes ( const char *  inBuf,
long  inLen,
const dbField inField 
)
virtualinherited
void OOF_simpleRecordBackend::writeChars ( const char *  inStr,
long  numChars,
long  maxLen,
const dbField inField,
long  startIndex = 0 
)
virtualinherited
void OOF_simpleRecordBackend::writeDouble ( double  inNum,
const dbField inField 
)
virtualinherited
Warning
relies on backend returning fields aligned to processor-legal boundaries
Todo:
add assertion testing return address is legally aligned

Implements OOF_tableBackend.

Definition at line 688 of file oofrec1.cpp.

References OOF_simpleRecordBackend::GetFieldWriteDest(), dbTable::markDirty(), and OOF_tableBackend::mTable.

void OOF_simpleRecordBackend::writeLong ( long  inNum,
const dbField inField 
)
virtualinherited
Warning
relies on backend returning fields aligned to processor-legal boundaries
Todo:
add assertion testing return address is legally aligned

Implements OOF_tableBackend.

Definition at line 673 of file oofrec1.cpp.

References OOF_simpleRecordBackend::GetFieldWriteDest(), dbTable::markDirty(), and OOF_tableBackend::mTable.

void OOF_simpleRecordBackend::writeShort ( short  inNum,
const dbField inField 
)
virtualinherited
Warning
relies on backend returning fields aligned to processor-legal boundaries
Todo:
add assertion testing return address is legally aligned

Implements OOF_tableBackend.

Definition at line 658 of file oofrec1.cpp.

References OOF_simpleRecordBackend::GetFieldWriteDest(), dbTable::markDirty(), and OOF_tableBackend::mTable.

Friends And Related Function Documentation

OOF_tableBackend* dbConnect_dbase::MakeTableBackend ( dbTable )
friend

Member Data Documentation

OOF_ExpandableLongArray* OOF_recordBufferedContext::mBlobFieldBodies
protectedinherited
OOF_ExpandableLongArray* OOF_simpleRecordBackend::mBlobFieldNums
protectedinherited
char* OOF_recordBufferedContext::mBuffer
protectedinherited
unsigned long OOF_recordBufferedContext::mCurrLoadedRecOffset
protectedinherited
bool OOF_tableBackend::mDirty
protectedinherited
OOF_dirtyFieldMap OOF_recordBufferedContext::mDirtyMap
protectedinherited
OOF_recordCache* OOF_simpleRecordBackend::mDirtyRecordCache
protectedinherited
OOF_recordFieldEntry* OOF_simpleRecordBackend::mFieldBufMap
protectedinherited
unsigned int* OOF_simpleRecordBackend::mFieldBufMapRefCount
protectedinherited
OOF_Dictionary OOF_tableBackend::mFields
protectedinherited
bool OOF_tableBackend::mHasDefaultCalculators
protectedinherited

Definition at line 1236 of file oof1.h.

Referenced by OOF_simpleRecordBackend::saveRecord().

bool OOF_tableBackend::mHasStoredCalculators
protectedinherited

Definition at line 1236 of file oof1.h.

Referenced by OOF_simpleRecordBackend::saveRecord().

bool OOF_simpleRecordBackend::mIgnoreDuplicateRecords
protectedinherited
unsigned short OOF_simpleRecordBackend::mNumFiles
protectedinherited

Definition at line 563 of file oofrecs.h.

Referenced by OOF_ctreeBackend::buildSchema(), and OOF_simpleRecordBackend::numFiles().

unsigned short OOF_simpleRecordBackend::mNumIndexes
protectedinherited
unsigned short OOF_simpleRecordBackend::mOverheadLeadingBytes
protectedinherited

Definition at line 563 of file oofrecs.h.

unsigned long OOF_recordBufferedContext::mRecBufLen
protectedinherited
ERecordState OOF_recordBufferedContext::mRecordState
protectedinherited
OOF_recordSelection OOF_simpleRecordBackend::mSelection
protectedinherited

Definition at line 560 of file oofrecs.h.

Referenced by OOF_simpleRecordBackend::addOIDtoSelection(), OOF_simpleRecordBackend::AdoptBuffer(), OOF_simpleRecordBackend::allSelected(), OOF_simpleRecordBackend::atFirst(), OOF_simpleRecordBackend::atLast(), OOF_simpleRecordBackend::atRelative(), OOF_simpleRecordBackend::CommonSimpleDelete(), OOF_simpleRecordBackend::contains(), OOF_simpleRecordBackend::count(), OOF_simpleRecordBackend::currentOID(), OOF_simpleRecordBackend::currentSelection(), OOF_ramBackend::deleteRecord(), deleteRecord(), OOF_ctreeBackend::deleteRecord(), OOF_simpleRecordBackend::describeState(), OOF_simpleRecordBackend::difference_with(), OOF_simpleRecordBackend::dropRecordFromSelection(), OOF_ramBackend::gotoRecord(), gotoRecord(), OOF_simpleRecordBackend::GotoRecordForAllUnindexed(), OOF_simpleRecordBackend::intersection_with(), OOF_simpleRecordBackend::more(), OOF_simpleRecordBackend::newRecord(), next(), OOF_ramBackend::next(), OOF_simpleRecordBackend::oidOfRecord(), OOF_simpleRecordBackend::OOF_simpleRecordBackend(), OOF_simpleRecordBackend::prev(), OOF_simpleRecordBackend::recordNumber(), OOF_simpleRecordBackend::recordNumberOfOID(), OOF_rampBackend::save(), OOF_ramBackend::SaveContext(), OOF_simpleRecordBackend::selectAll(), OOF_simpleRecordBackend::selectJustOID(), OOF_simpleRecordBackend::selectNone(), OOF_simpleRecordBackend::setSelection(), OOF_simpleRecordBackend::setSortOrder(), OOF_simpleRecordBackend::sorter(), start(), OOF_ramBackend::start(), OOF_simpleRecordBackend::union_with(), OOF_simpleRecordBackend::union_with_no_overlap(), and OOF_simpleRecordBackend::unloadRecord().

dbTable* OOF_tableBackend::mTable
protectedinherited

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