OOFILE  1.9
Modules | Classes | Typedefs | Enumerations
OOFILE Database package
Collaboration diagram for OOFILE Database package:

Modules

 Local variables compatible with database fields.
 
 OOFILE Database backend for Faircom's ctree-Plus ISAM engine.
 The main component of the commercial OOFILE Professional version.
 
 OOFILE Database backend for dBase III+ and IV-compatible data.
 The main component of the commercial OOFILE Personal version.
 
 OOFILE Database backend for Faircom Server.
 The main component of the commercial OOFILE Professional Server Edition, which includes OOFILE Professional and adds support for the Faircom client-server version of c-tree Plus.
 
 OOFILE Database Query
 Classes that allow you to build queries either:
 
 OOFILE Database backend for simple streamable RAM databases.
 Included in the Open Source OOFILE.
 
 OOFILE Database backend for persistent RAM-resident databases.
 use \ingroup oofDatabase_ramp to include items in this group
 

Classes

class  dbBLOB
 Persistent field used to store an arbitrary binary object. More...
 
class  dbBLOBstorage
 Temporary cache field used to store dbBlob contents. More...
 
class  dbBool
 Persistent field used to store a boolean. More...
 
class  dbBoolCalculator
 Calculator attached to a dbBool field. More...
 
class  dbCalculator
 Base class for a calculator attached to a dbField. More...
 
class  dbChar
 Persistent field used to store a fixed-length string. More...
 
class  dbCharStripperCalculator
 Calculator to strip all embedded characters. More...
 
class  dbCloneCleanup
 Cleanup after cloning a dbTable to get separate iterator. More...
 
class  dbCompoundField
 Persistent field used to store a set of segments referring to other fields. More...
 
class  dbConnect
 Abstract interface for database. More...
 
class  dbContext
 abstract base for handling record contexts More...
 
class  dbDate
 Persistent field used to store a date. More...
 
class  dbDateCalculator
 Calculator attached to a dbDate field. More...
 
class  dbDateTime
 Persistent field used to store a date and time. More...
 
class  dbDateTimeCalculator
 Calculator attached to a dbDateTime field. More...
 
class  dbField
 Base class for persistent fields in dbTable's. More...
 
class  dbFieldCopier
 Utility class establishing copy dependency between fields. More...
 
class  dbFieldSorter
 dbSorter subclass used when sorting by a single field. More...
 
class  dbFixedBinary
 Persistent field used to store a fixed-length binary object. More...
 
class  dbLong
 Persistent field used to store a long. More...
 
class  dbLongCalculator
 Calculator attached to a dbLong field. More...
 
class  dbNumericField
 Persistent base for fields which can be represented as numbers. More...
 
class  dbReal
 Persistent field used to store a double. More...
 
class  dbRealCalculator
 Calculator attached to a dbReal field. More...
 
class  dbRelationship
 Object used to specify relationship between two dbTable instances. More...
 
class  dbRelMaintainer
 listener for an MN link that adds and deletes records. More...
 
class  dbRelRef
 Relationship field to 1 or 0 instances. More...
 
class  dbRelRefBase
 Parent for any field that is a relationship to another table. More...
 
class  dbRelSet
 Relationship field to set of 0..N instances. More...
 
class  dbSelection
 Envelope class to contain an abstract selection apart from its dbTable. More...
 
class  dbShort
 Persistent field used to store a short. More...
 
class  dbShortCalculator
 Calculator attached to a dbShort field. More...
 
class  dbSorter
 Specify sort order by one more fields. More...
 
class  dbTable
 Base class for persistent tables. More...
 
class  dbTableAssigner
 Helper class for dbTable to easily assign field values; Provides idiom of People << "Andy" << "Dent" << "37"; instead of People.newRecord(); People.FirstName = "Andy"; People.LastName = "Dent"; People.Age = 37; People.saveRecord();. More...
 
class  dbTableOwningFields
 Table used when don't declare with class structure but dynamically create. More...
 
class  dbText
 Persistent field used to store a variable length string. More...
 
class  dbTextCalculator
 Calculator attached to a dbText field. More...
 
class  dbTime
 Persistent field used to store a time without date. More...
 
class  dbTimeCalculator
 Calculator attached to a dbTime field. More...
 
class  dbUlong
 Persistent field used to store an unsigned long. More...
 
class  dbUlongCalculator
 Calculator attached to a dbUlong field. More...
 
class  dbUser
 Specify a user for databases that require logging in. More...
 
class  dbUshort
 Persistent field used to store an unsigned short. More...
 
class  dbUshortCalculator
 Calculator attached to a dbUshort field. More...
 
class  OOF_dbTableStatics
 Separate out statics from dbTable. More...
 
class  OOF_FieldSegOwner
 Mixin for classes allowing you to declare segments based on fields. More...
 
class  OOF_mixKeywordableField
 Mixin class for fields that are keyword-indexed. More...
 
class  OOF_PublicBase
 Base class used to refer to main OOFILE classes and provide base reflective API. More...
 
class  OOF_Segment
 Internal class used to specify segments for dbCompoundField and dbSorter. More...
 
class  OOF_tableBackend
 Abstract interface to database backend. More...
 
class  oofE_dbUser
 Base class for exceptions from login. More...
 
class  oofE_DuplicateRecord
 Exception for database table operation resulting in duplicate record error. More...
 
class  oofE_Field
 Base exception for database field operations. More...
 
class  oofE_FieldError
 Exception for database field operations with descriptive error numbers. More...
 
class  oofE_MacOSErr
 Base class for exceptions returning MacOS error numbers. More...
 
class  oofE_RampError
 Base class for exceptions returning MacOS error numbers. More...
 
class  oofE_RangeError
 Exception for database field operation violating field data numeric range. More...
 
class  oofE_RecordLocked
 Exception for database table operation failure due to locking conflict. More...
 
class  oofE_Selection
 Exception for database selections. More...
 
class  oofE_Table
 Base exception for database table operations. More...
 
class  oofE_TableError
 Base exception for table operations that can report more details. More...
 
class  reversed
 simple specification class used to declare sort orders. More...
 
class  stChangeShielded
 Stack class to enable Change Shielding, so listeners not informed database changed. More...
 
class  stIgnoreDuplicateRecords
 Save and restore state of ignoring duplicates. More...
 
class  stLockRecord
 Stack class to temporarily lock a record. More...
 
class  stSaveSelection
 Save & restore current database selection on the stack. More...
 
class  stSaveSelectionAndSuspendSort
 Stack class to combine stSuspendSort and stSaveSelection. More...
 
class  stSuspendSort
 Stack class to temporarily suspend sorting. More...
 

Typedefs

typedef unsigned long oidT
 type we pass around pretending we have a real OID. More...
 

Enumerations

enum  { dbTable::kFieldSep = '\t' }
 
enum  { dbTable::kRecSep = '\n' }
 
enum  { dbField::kKeyLengthAutoCalculated = USHRT_MAX }
 
enum  { dbDate::NUMDATETOKENS = 35 }
 
enum  { dbDateTime::NUMDATETIMETOKENS = 42 }
 
enum  dbConnect::connectionFileStateT {
  dbConnect::eIdle =0, dbConnect::eStart =1, dbConnect::eOpenedFile =2, dbConnect::eCreatedFile =4,
  dbConnect::eInvalidlyOpenInCreation = 8, dbConnect::eInvalidlyCreationInOpen = 16
}
 
enum  dbDate::dateFieldOrder { dbDate::orderYMD, dbDate::orderDMY, dbDate::orderMDY }
 
enum  dbField::FieldIsStandaloneT { dbField::eFieldIsStandalone }
 
enum  OOF_IndexOptions {
  kNotIndexed =0, kIndexed =1, kIndexNoDups =2, kIndexCaseSensitive =4,
  kIndexCompressLeading =8, kIndexCompressPadding =16, kIndexNoNulls =32, kIndexCompress = kIndexCompressLeading + kIndexCompressPadding,
  kIndexNoDupsNoNulls = kIndexNoDups + kIndexNoNulls, kIndexCompressNoDups = kIndexCompress + kIndexNoDups, kIndexCompressNoNulls = kIndexCompress + kIndexNoNulls, kIndexCompressNoDupsNoNulls = kIndexCompress + kIndexNoDups + kIndexNoNulls,
  kIndexCompressLeadingNoDups = kIndexCompressLeading + kIndexNoDups, kIndexCompressLeadingNoDupsNoNulls = kIndexCompressLeadingNoDups + kIndexNoNulls, kIndexCompressPaddingNoDups = kIndexCompressPadding + kIndexNoDups, kIndexCompressPaddingNoDupsNoNulls = kIndexCompressPaddingNoDups + kIndexNoNulls
}
 type used to specify index options for dbField's. More...
 
enum  dbTable::saveOptionsT { dbTable::requireExplicit, dbTable::autoOnContextChange, dbTable::requireExplicitAndBuffer, dbTable::bufferForever }
 
enum  dbTable::selSharingT { dbTable::selNotShared, dbTable::selShared, dbTable::selCopyOnWrite, dbTable::selNotSharedCacheCopied }
 
enum  dbTable::tableValidT { dbTable::eInvalid =0, dbTable::eValid, dbTable::eClosed }
 
enum  dbUser::userError {
  dbUser::eIDToLong, dbUser::ePasWDToLong, dbUser::BadID, dbUser::badServerName,
  dbUser::badPassword
}
 

Detailed Description

The complete database API. Included in the Open Source OOFILE.

Macros DECLARE_REF, DECLARE_SET and OOFILE_METHODS are the most important used to declare persistent databases.

use \ingroup oofDatabase to include items in this group

Typedef Documentation

typedef unsigned long oidT

type we pass around pretending we have a real OID.

When we move to supporting HUGE Faircom files with 8-byte pointers, may become a real class

Definition at line 229 of file oof1.h.

Enumeration Type Documentation

anonymous enum
Enumerator
kFieldSep 

Definition at line 461 of file oof1.h.

anonymous enum
Enumerator
kRecSep 

Definition at line 462 of file oof1.h.

anonymous enum
Enumerator
kKeyLengthAutoCalculated 

Definition at line 66 of file oof3.h.

anonymous enum
Enumerator
NUMDATETOKENS 

Definition at line 580 of file oof4.h.

anonymous enum
Enumerator
NUMDATETIMETOKENS 

Definition at line 931 of file oof4.h.

Enumerator
eIdle 
eStart 
eOpenedFile 
eCreatedFile 
eInvalidlyOpenInCreation 
eInvalidlyCreationInOpen 

Definition at line 1000 of file oof1.h.

Enumerator
orderYMD 
orderDMY 
orderMDY 

Definition at line 579 of file oof4.h.

Enumerator
eFieldIsStandalone 

Definition at line 65 of file oof3.h.

type used to specify index options for dbField's.

Enumerator
kNotIndexed 
kIndexed 
kIndexNoDups 
kIndexCaseSensitive 
kIndexCompressLeading 
kIndexCompressPadding 
kIndexNoNulls 
kIndexCompress 
kIndexNoDupsNoNulls 
kIndexCompressNoDups 
kIndexCompressNoNulls 
kIndexCompressNoDupsNoNulls 
kIndexCompressLeadingNoDups 
kIndexCompressLeadingNoDupsNoNulls 
kIndexCompressPaddingNoDups 
kIndexCompressPaddingNoDupsNoNulls 

Definition at line 236 of file oof1.h.

Enumerator
requireExplicit 
autoOnContextChange 
requireExplicitAndBuffer 
bufferForever 

Definition at line 464 of file oof1.h.

Enumerator
selNotShared 
selShared 
selCopyOnWrite 
selNotSharedCacheCopied 

Definition at line 463 of file oof1.h.

Enumerator
eInvalid 
eValid 
eClosed 

Definition at line 465 of file oof1.h.

Enumerator
eIDToLong 
ePasWDToLong 
BadID 
badServerName 
badPassword 

Definition at line 17 of file dbUser.h.