OOFILE
1.9
|
Base class for persistent tables. More...
#include <oof1.h>
Public Types | |
enum | { kFieldSep = '\t' } |
enum | { kRecSep = '\n' } |
enum | saveOptionsT { requireExplicit, autoOnContextChange, requireExplicitAndBuffer, bufferForever } |
enum | selSharingT { selNotShared, selShared, selCopyOnWrite, selNotSharedCacheCopied } |
enum | tableValidT { eInvalid =0, eValid, eClosed } |
Public Member Functions | |
void | addIndices (const char *newIDXname) |
void | addReceiver (oofReceiver *) |
Append receiver to end of list. More... | |
bool | askAllReturningAny (bool returnAny, OOFmsgT msg, unsigned long senderDefined=0, const oofReceiver *skipping=0) |
oofReceiver * | askAllStoppingAtFirst (bool stopOn, OOFmsgT msg, unsigned long senderDefined=0, const oofReceiver *skipping=0) |
void | attachfield (dbField *) |
void | broadcast (OOFmsgT msg, unsigned long senderDefined=0, const oofReceiver *skipping=0) |
Broadcast a message to all anonymous subscribers. More... | |
void | buildSchema () |
virtual bool | canSaveRecord () |
bool | changeShielded () const |
change shielding, so field changes don't mark the record as dirty. More... | |
void | changeShielded (bool setShielding=true) |
virtual dbTable * | cloneTable (selSharingT selSharing=selCopyOnWrite)=0 |
virtual dbTable * | cloneTableConst (selSharingT selSharing) const =0 |
pure virtual cloneTable is implemented by macro OOFILE_METHODS, in oofmacro.h, for each user subclass. More... | |
virtual dbTable * | cloneTableSharingSelection () const |
virtual dbTable * | cloneTableWithoutSelection () const |
virtual dbTable * | cloneTbleWithCachNoSelection () const |
void | close () |
void | createTableInConnection (const dbConnect *) |
oidT | currentOID () |
Absolute record address of current record. More... | |
dbTable (const char *name=0) | |
dbTable (const dbTable &) | |
dbTable (const dbTable &, OOF_tableBackend *) | |
virtual const char * | defaultName () const |
void | deleteStorage () |
void | describeInvariant (std::ostream &os) const |
bool | ensureRecordLoaded (bool autoCreateRelated=false, bool failureAborts=true) |
void | ensureSelectionLoaded () |
virtual void | generateTestData (unsigned long numRecords, bool generateRandom=true, unsigned long seedOrCount=0) |
oofWordParser * | getDefaultWordParser () |
dbGUI * | getGUI () |
bool | hidden () const |
void | hide (bool hideIt=true) |
bool | isBroadcasting () const |
bool | loadRelatedContextJoiningFromTo (const dbField *, const dbField *) |
Change table's current loaded selection and current record to satisfy a join. More... | |
virtual dbView * | makeView () |
virtual oofString | name () const |
unsigned int | numFiles () const |
unsigned int | numIndexes () const |
oidT | oidOfRecord (unsigned long) |
bool | openTableInConnection (const dbConnect *, const bool createIfMissing=false) |
void | pack () |
bool | pointsToBackend (const OOF_tableBackend *) const |
void | postCloneTableCleanup () |
dbTable * | prototype () const |
void | rebuild () |
void | relateAllDeletables () |
void | removeReceiver (const oofReceiver *) |
unsigned long | sequenceNumber () const |
void | setDefaultWordParser (oofWordParser *inParser) |
void | setFileExtensions (const char *dataExt, const char *indexExt) |
void | setName (const char *) |
void | setSaveOption (const saveOptionsT) |
void | setTableValid (bool isValid=true) |
Force current table state to valid. More... | |
void | stillCurrentlyConstructing () |
void | suppressIndices () |
virtual | ~dbTable () |
recordwise access | |
void | start () |
void | next () |
Next record in the selection becomes current. More... | |
void | first () |
First record in the selection becomes current. More... | |
void | prev () |
Previous record in the selection becomes current. More... | |
void | last () |
Last record in the selection becomes current. More... | |
bool | more () const |
When iterating a selection, are there any more records beyond current. More... | |
bool | atFirst () const |
bool | atLast () const |
bool | atRelative (unsigned long) const |
unsigned long | count () |
Count records in current selection. More... | |
unsigned long | countAll () const |
Count records in database regardless of current selection. More... | |
sorting | |
void | setSortOrder (const dbField &, bool shouldReverse=false) |
void | setSortOrder (const dbSorter &) |
void | setReverseSortOrder (const dbField &) |
dbSorter * | sorter () const |
void | sortNow () const |
void | unSorted () |
void | suspendSorting () |
void | resumeSorting () |
change record state | |
void | unloadRecord () |
bool | reloadRecord () |
void | markDirty () |
state enquiry | |
bool | isRecordLoaded () const |
bool | isEmpty () |
bool | isNewRecord () const |
bool | isTableValid () const |
tableValidT | validStatus () const |
int | validatingDepth () const |
bool | allSelected () const |
Does the current selection represent all records or just a subset. More... | |
bool | isDirty () const |
change duplicate handling, typically for wrapping import code | |
void | ignoreDuplicateRecords () |
void | noticeDuplicateRecords () |
recordNumber operations for temporary direct acccess | |
unsigned long | recordNumber () const |
Ordinal record number of current record in selection. More... | |
unsigned long | recordNumberOfOID (oidT inOID) |
Find ordinal position in ordered selection of record by OID. More... | |
unsigned long | recordNumber (const dbQueryClause *qClause, bool *outFoundIt=0) const |
unsigned long | recordNumber (const dbQueryClause &qClause, bool *outFoundIt=0) const |
bool | gotoRecord (unsigned long) |
keyword searches | |
dbQueryBinaryNofield | hasWord (const char *str) const |
dbQueryBinaryNofield | hasAnyWordsDelimited (const char *, char delimiter) |
dbQueryBinaryNofield | hasAllWordsDelimited (const char *, char delimiter) |
dbQueryBinaryNofield | hasAnyWordsOf (const char **schStrs, unsigned long count) |
dbQueryBinaryNofield | hasAllWordsOf (const char **schStrs, unsigned long count) |
dbQueryBinaryNofield | hasAnyWordsOf (oofWordParser *) |
dbQueryBinaryNofield | hasAllWordsOf (oofWordParser *) |
dbQueryBinaryNofield | hasWordStartsWith (const char *str) const |
dbQueryBinaryNofield | hasAnyWordsStartsWithDelimited (const char *, char delimiter) |
dbQueryBinaryNofield | hasAllWordsStartsWithDelimited (const char *, char delimiter) |
dbQueryBinaryNofield | hasAnyWordsStartsWithOf (const char **schStrs, unsigned long count) |
dbQueryBinaryNofield | hasAllWordsStartsWithOf (const char **schStrs, unsigned long count) |
dbQueryBinaryNofield | hasAnyWordsStartsWithOf (oofWordParser *) |
dbQueryBinaryNofield | hasAllWordsStartsWithOf (oofWordParser *) |
public search functions | |
bool | search (const dbQueryClause &query) |
bool | searchSelection (const dbQueryClause &query) |
bool | search (const dbQueryClause *query) |
bool | searchSelection (const dbQueryClause *query) |
bool | searchSelContainsAnyDelimited (const dbField &schField, const char *schStr, char delim) |
bool | searchSelContainsAnyOf (const dbField &schField, const char **schStrs, unsigned long count) |
bool | searchSelContainsAnyOf (const dbField &schField, oofWordParser *) |
bool | searchSelContainsAllDelimited (const dbField &schField, const char *schStr, char delim) |
bool | searchSelContainsAllOf (const dbField &schField, const char **schStrs, unsigned long count) |
bool | searchSelContainsAllOf (const dbField &schField, oofWordParser *) |
set operations | |
void | difference_with (dbTable &) |
void | difference_with (dbTable *) |
void | difference_with (const dbSelection &) |
void | operator-= (dbTable &) |
Operator performing difference_with set operation. More... | |
void | operator-= (dbTable *) |
Operator performing difference_with set operation. More... | |
void | operator-= (const dbSelection &) |
Operator performing difference_with set operation. More... | |
void | operator%= (dbTable &) |
Operator performing difference_with set operation. More... | |
void | operator%= (dbTable *) |
Operator performing difference_with set operation. More... | |
void | operator%= (const dbSelection &) |
Operator performing difference_with set operation. More... | |
void | intersection_with (dbTable &) |
void | intersection_with (dbTable *) |
void | intersection_with (const dbSelection &) |
void | operator&= (dbTable &) |
Operator performing intersection_with set operation. More... | |
void | operator&= (dbTable *) |
Operator performing intersection_with set operation. More... | |
void | operator&= (const dbSelection &) |
Operator performing intersection_with set operation. More... | |
void | union_with (dbTable &) |
void | union_with (dbTable *) |
void | union_with (const dbSelection &) |
void | union_with_no_overlap (dbTable &) |
void | union_with_no_overlap (dbTable *) |
void | union_with_no_overlap (const dbSelection &) |
void | operator+= (dbTable &) |
Operator performing union_with set operation. More... | |
void | operator+= (dbTable *) |
Operator performing union_with set operation. More... | |
void | operator+= (const dbSelection &) |
Operator performing union_with set operation. More... | |
void | operator|= (dbTable &) |
Operator performing union_with set operation. More... | |
void | operator|= (dbTable *) |
Operator performing union_with set operation. More... | |
void | operator|= (const dbSelection &) |
Operator performing union_with set operation. More... | |
void | invert () |
void | operator~ () |
Operator performing invert set operation. More... | |
void | operator! () |
Operator performing invert set operation. More... | |
bool | operator+= (oidT) |
Operator performing addOIDtoSelection set operation like union_with. More... | |
bool | addOIDtoSelection (oidT) |
bool | contains (oidT) |
Check if current selection contains an OID. More... | |
void | dropRecordFromSelection (unsigned long) |
getting & saving selections as lightweight objects | |
dbSelection | currentSelection () |
dbSelection | makeEmptySelection () const |
void | setSelection (const dbSelection &) |
void | setSelection (const OOF_Selection *) |
const dbSelection & | operator= (const dbSelection &rhs) |
selection changes that broadcast, eg: to update MN relationship links | |
void | appendSelection (const dbSelection &) |
void | removeSelection (const dbSelection &) |
void | clearSelection () |
selection of specific contexts | |
void | selectAll () |
Change the current selection to all records. More... | |
void | selectNone () |
Change the current selection to no records. More... | |
bool | selectJustOID (oidT) |
Try to change the current selection to just the matching record. More... | |
void | selectJustCurrent () |
Change the current selection to just the current record. More... | |
bool | relateSelectionFrom (dbTable *) |
bool | selectAllRelated (bool broadcastChange=true) |
data access | |
virtual void | newRecord () |
virtual void | cloneRecord () |
virtual void | postCloneRecordCleanup () |
virtual void | saveRecord () |
virtual void | revertRecord () |
virtual void | deleteRecord () |
void | deleteSelection () |
void | deleteAll () |
void | copyAllFrom (dbTable *) |
dbTableAssigner | operator<< (const char *) |
Create dbTableAssigner as fast way to create and set entire record. More... | |
void | copyRecFrom (const dbTable *rhs, fieldNumT numFields=0) |
dbTable & | operator= (const dbTable &) |
virtual void | extract (std::ostream &) |
virtual unsigned long | insert (std::istream &) |
virtual void | import (const char *ansiFileName) |
bool | allowsShortImports () const |
void | setShortImports (bool) |
reflective schema operators | |
const oofString & | tableName () const |
virtual oofString | tableSingularName () const |
tableNumT | tableNumber () const |
bool | tableCachesDirtyRecords () const |
saveOptionsT | tableSaveOption () const |
virtual void | describe (std::ostream &) const |
Provide human-readable information about object. More... | |
virtual void | describeState (std::ostream &) const |
virtual void | stats (std::ostream &) |
bool | isCopyCompatibleWith (const dbTable *) const |
fieldNumT | numFields () const |
dbField * | field (fieldNumT) const |
dbField * | field (const oofString &) |
bool | isOpen () const |
bool | inDeclarativePhase () const |
Has database been opened or are we still potentially declaring tables. More... | |
info about relationships | |
bool | isRelatedClone () const |
dbRelRefBase * | controllingRelationship () const |
dbTable * | lhsTableInRelationshipSpec () const |
dbTable * | baseTableOfRelationChain () |
locking | |
void | lockRecord () |
void | unlockRecord () |
bool | lockedCurrentRecord () const |
transactions | |
void | beginTransaction (short tMode=0) |
Start a transaction if not already in one. More... | |
void | abortTransaction (short rMode=0) |
Forward request to backend to abort transaction, if mInTransaction. More... | |
void | commitTransaction (short rMode=0) |
bool | transactionDirty () |
Protected Member Functions | |
void | BroadcastShutdown () |
Protected Attributes | |
bool | mAllowShortImports |
OOF_tableBackend * | mBackend |
fieldNumT | mFieldCount |
OOF_Dictionary | mFields |
dbGUI * | mGUI |
bool | mHidden |
bool | mLostReceiversWhileBroadcasting |
simple flag that removeReceiver was called during nested broadcast More... | |
unsigned long | mNestedBroadcastingDepth |
aid to debugging and removeReceiver More... | |
OOF_ExpandableLongArray * | mReceivers |
owned More... | |
saveOptionsT | mSaveOption |
oofString | mTableName |
tableNumT | mTableNumber |
tableValidT | mTableValid |
int | mValidatingDepth |
Static Protected Attributes | |
static dbTable * | sCurrentlyConstructing |
Friends | |
class | dbConnect |
class | dbConnect_ram |
class | dbConnect_ramp |
class | dbField |
class | dbRelHalf |
class | dbRelRefBase |
void | dbSelection::difference_with (dbTable &) |
class | OOF_tableBackend |
class | oofE_Table |
Base class for persistent tables.
Must be used in association with a dbConnect subclass to provide persistence. Contains one or more dbField members either by declaration or attachField().
dbTable::dbTable | ( | const char * | name = 0 | ) |
Definition at line 958 of file oof1.cpp.
References dbConnect::attachTable(), dbConnect::currentlyConstructing(), dbConnect::raise(), and tableName().
dbTable::dbTable | ( | const dbTable & | rhs | ) |
Definition at line 1009 of file oof1.cpp.
References dbConnect::attachTable(), OOF_tableBackend::clone(), dbConnect::currentlyConstructing(), eValid, OOF_mixRefCount::incRefs(), mBackend, mGUI, mTableValid, OOF_dbTableStatics::sCloning, OOF_dbTableStatics::sCloningInDifferentConnection, OOF_dbTableStatics::sCloningSelSharing, sCurrentlyConstructing, selCopyOnWrite, and selShared.
dbTable::dbTable | ( | const dbTable & | rhs, |
OOF_tableBackend * | inBackend | ||
) |
Definition at line 1058 of file oof1.cpp.
References OOF_mixRefCount::incRefs(), and sCurrentlyConstructing.
|
virtual |
Definition at line 998 of file oof1.cpp.
References dbConnect::close(), OOF_mixRefCount::decRefs(), mBackend, prototype(), requireExplicit, and setSaveOption().
void dbTable::abortTransaction | ( | short | rMode = 0 | ) |
Forward request to backend to abort transaction, if mInTransaction.
Definition at line 2264 of file oof1.cpp.
References OOF_tableBackend::abortTransaction(), and mBackend.
Referenced by dbGUI::leaveRecord().
void dbTable::addIndices | ( | const char * | newIDXname | ) |
Definition at line 1166 of file oof1.cpp.
References OOF_tableBackend::addIndices(), and mBackend.
bool dbTable::addOIDtoSelection | ( | oidT | inOID | ) |
Definition at line 2166 of file oof1.cpp.
References OOF_tableBackend::addOIDtoSelection(), oofBroadcaster::broadcast(), describeState(), isTableValid(), mBackend, and OOFmsg_ChangeSelection.
|
inherited |
Append receiver to end of list.
Includes assertion to check if already in list.
Definition at line 181 of file oofmsg.cpp.
References OOF_ExpandableLongArray::append(), OOF_ExpandableLongArray::find(), and oofBroadcaster::mReceivers.
Referenced by oofSingleListener::oofSingleListener(), oofReceiver::subscribeTo(), and oofSingleListener::subscribeTo().
bool dbTable::allowsShortImports | ( | ) | const |
Definition at line 1525 of file oof1.cpp.
References mAllowShortImports.
|
inline |
Does the current selection represent all records or just a subset.
Definition at line 1906 of file oof1.h.
Referenced by appendSelection().
void dbTable::appendSelection | ( | const dbSelection & | inSel | ) |
Definition at line 1300 of file oof1.cpp.
References allSelected(), oofBroadcaster::broadcast(), currentSelection(), dbSelection::difference_with(), dbSelection::isAllRecs(), OOFmsg_AppendSelection, selectAll(), setSelection(), and dbSelection::union_with_no_overlap().
Referenced by dbBrowseHelper::appendSelection().
|
inherited |
Definition at line 145 of file oofmsg.cpp.
References OOF_ExpandableLongArray::count(), oofBroadcaster::mReceivers, oofReceiver::receiveMsg(), and OOF_ExpandableLongArray::value().
|
inherited |
Definition at line 114 of file oofmsg.cpp.
References OOF_ExpandableLongArray::count(), oofBroadcaster::mReceivers, oofReceiver::receiveMsg(), and OOF_ExpandableLongArray::value().
Referenced by dbGUI::GetDisplayTableHandler(), dbGUI::leaveRecord(), and dbGUI::saveRecord().
|
inline |
Definition at line 1913 of file oof1.h.
Referenced by dbGUI::goFirstRecord(), dbGUI::goPrevRecord(), and oofRepWindow::UpdateMovementButtons().
|
inline |
Definition at line 1920 of file oof1.h.
Referenced by dbGUI::goLastRecord(), dbGUI::goNextRecord(), and oofRepWindow::UpdateMovementButtons().
void dbTable::attachfield | ( | dbField * | theField | ) |
Definition at line 1468 of file oof1.cpp.
References OOF_Dictionary::append(), and mFields.
Referenced by dbField::dbField().
dbTable * dbTable::baseTableOfRelationChain | ( | ) |
Definition at line 1984 of file oof1.cpp.
References baseTableOfRelationChain(), and dbRelRefBase::relatedTable().
Referenced by baseTableOfRelationChain(), oofRepViewEditLink::enterLink(), OOF_mixOutlineItem::GetDrawContentsFromView(), getGUI(), dbQueryField::getSearchTables(), dbAbstractEditHelper::linkPickAdapter(), and oofRepViewEditLink::oofRepViewEditLink().
void dbTable::beginTransaction | ( | short | tMode = 0 | ) |
Start a transaction if not already in one.
Definition at line 2238 of file oof1.cpp.
References OOF_tableBackend::beginTransaction(), and mBackend.
Referenced by generateTestData(), and dbGUI::newRecord().
|
inherited |
Broadcast a message to all anonymous subscribers.
msg | constant value indicating the action or event that has occurred. |
senderDefined | additional param for caller to pass through |
skipping | a receiver to be skipped when broadcasting, to avoid circular messages |
Definition at line 82 of file oofmsg.cpp.
References OOF_ExpandableLongArray::count(), OOF_ExpandableLongArray::deleteAllMatching(), oofBroadcaster::mLostReceiversWhileBroadcasting, oofBroadcaster::mNestedBroadcastingDepth, oofBroadcaster::mReceivers, oofReceiver::receiveMsg(), and OOF_ExpandableLongArray::value().
Referenced by addOIDtoSelection(), appendSelection(), oofBroadcaster::BroadcastShutdown(), clearSelection(), oofGraphSettingsCompleter::completePromises(), oofRepTextStyleCompleter::completePromises(), deleteRecord(), difference_with(), dropRecordFromSelection(), insert(), intersection_with(), invert(), dbGUI::leaveRecord(), dbAbstractEditHelper::LoadData(), loadRelatedContextJoiningFromTo(), dbGUI::newRecord(), dbRelRefBase::relateFromRecord(), dbRelRefBase::relateRecord(), removeSelection(), resumeSorting(), dbGUI::revertRecord(), revertRecord(), dbGUI::saveRecord(), saveRecord(), search(), searchSelection(), dbRelRefBase::selectAllRelated(), selectJustOID(), setSelection(), suspendSorting(), union_with(), union_with_no_overlap(), and unloadRecord().
|
protectedinherited |
Definition at line 62 of file oofmsg.cpp.
References oofBroadcaster::broadcast(), oofBroadcaster::mReceivers, and OOFmsg_BroadcasterClosing.
Referenced by oofBroadcaster::~oofBroadcaster().
void dbTable::buildSchema | ( | ) |
Definition at line 1215 of file oof1.cpp.
References OOF_tableBackend::buildSchema(), defaultName(), oofString::isEmpty(), mBackend, and mTableName.
Referenced by dbConnect_ctree::BuildConnectionSchemas(), and dbConnect_ram::SetupConnection().
|
inline |
change shielding, so field changes don't mark the record as dirty.
(default is false) Used when we don't want operations to propagate, eg: if updating a field and need to finish some local op before related data updates.
Definition at line 2492 of file oof1.h.
Referenced by stChangeShielded::stChangeShielded(), and stChangeShielded::~stChangeShielded().
|
inline |
void dbTable::clearSelection | ( | ) |
Definition at line 1350 of file oof1.cpp.
References oofBroadcaster::broadcast(), OOFmsg_ClearSelection, and selectNone().
Referenced by dbBrowseHelper::clearSelection().
|
virtual |
Definition at line 1657 of file oof1.cpp.
References cloneTable(), copyRecFrom(), newRecord(), postCloneRecordCleanup(), and selectJustCurrent().
Referenced by dbGUI::cloneRecord().
|
pure virtual |
Referenced by cloneRecord(), dbView::cloneTable(), and dbView::dbView().
|
pure virtual |
pure virtual cloneTable is implemented by macro OOFILE_METHODS, in oofmacro.h, for each user subclass.
It is abstract to avoid bugs from people missing their OOFILE_METHODS in table declarations
Referenced by cloneTableSharingSelection(), cloneTableWithoutSelection(), and cloneTbleWithCachNoSelection().
|
virtual |
Definition at line 1433 of file oof1.cpp.
References cloneTableConst(), and selShared.
Referenced by dbView::cloneTable(), dbView::dbView(), and OOF_simpleRecordBackend::recordNumberMatching().
|
virtual |
Definition at line 1423 of file oof1.cpp.
References cloneTableConst(), and selNotShared.
Referenced by dbRelRefBase::BuildRelatedTable(), dbFieldPickLink::InitLookup(), OOF_recordSelection::invert(), dbRelRef::setRelatedRecordMatching(), OOF_simpleRecordBackend::SortSelectionInverseNow(), OOF_simpleRecordBackend::sortSelectionNow(), and OOF_simpleRecordBackend::SortSelectionNow().
|
virtual |
Definition at line 1443 of file oof1.cpp.
References cloneTableConst(), and selNotSharedCacheCopied.
void dbTable::close | ( | ) |
Definition at line 1180 of file oof1.cpp.
References OOF_tableBackend::close(), eClosed, isOpen(), mBackend, and mTableValid.
Referenced by dbConnect_dbase::close(), and OOF_ctreeKeywordIndex::close().
void dbTable::commitTransaction | ( | short | rMode = 0 | ) |
Definition at line 2249 of file oof1.cpp.
References OOF_tableBackend::commitTransaction(), and mBackend.
Referenced by generateTestData(), and dbGUI::leaveRecord().
|
inline |
|
inline |
Definition at line 1816 of file oof1.h.
Referenced by dbBrowseHelper::browseViewWithTable(), dbField::equivalentFieldFromTable(), and dbRelRefBase::isRelBackToParent().
void dbTable::copyAllFrom | ( | dbTable * | rhs | ) |
Definition at line 1874 of file oof1.cpp.
References copyRecFrom(), count(), isCopyCompatibleWith(), newRecord(), next(), dbConnect::raise(), resumeSorting(), saveRecord(), start(), suspendSorting(), and tableName().
Referenced by dbConnect::copyAllFrom().
Definition at line 1939 of file oof1.cpp.
References dbField::copyValueFrom(), field(), dbField::fieldIsVirtual(), and mFieldCount.
Referenced by cloneRecord(), copyAllFrom(), and operator=().
|
inline |
Count records in current selection.
Includes current record even if new (ie: it has not had a record pointer saved to disk).
Definition at line 2017 of file oof1.h.
Referenced by OOF_RelMN::appendSelection(), dbBrowseHelper::browseViewWithListBox(), dbBrowseHelper::browseViewWithTable(), copyAllFrom(), dbFieldPickLink::copyFieldToLink(), dbRelRefBase::countAllRelated(), dbRelRefBase::CountAllRelatedIn(), oofRepWindow::CreatePreviewContent(), deleteSelection(), dbView::extract(), extract(), dbViewAsTableStorage::GetStorageSize(), dbBrowseHelper::highlightedOID(), dbBrowseHelper::highlightedSelection(), dbHierBrowseHelper::insertItemsBelow(), isEmpty(), oofRepViewBand::lastRow(), dbListBoxDisplay::loadData(), oofRepViewEditLink::oofRepViewEditLink(), oofRepWindow::ReflowReport(), dbTableViewDisplay::refresh(), OOF_RelMN::removeSelection(), dbRelRefBase::selectAllRelated(), OOF_repXMLschemaVisitor::UniquifyTables(), oofRepWindow::UpdateMovementButtons(), dbFieldPickLink::validToLeaveForm(), and oofXMLDBWriter::writeDatabase().
|
inline |
Count records in database regardless of current selection.
Definition at line 2029 of file oof1.h.
Referenced by dbSelection::count(), deleteAll(), and stats().
void dbTable::createTableInConnection | ( | const dbConnect * | theDB | ) |
Definition at line 1107 of file oof1.cpp.
References OOF_tableBackend::createTableInConnection(), mBackend, and setTableValid().
Referenced by dbConnect_ctree::FinishNewConnection().
|
inline |
Absolute record address of current record.
Persistent value can be used between application runs.
Definition at line 1938 of file oof1.h.
Referenced by dbRelRefBase::changeRelationshipTo(), dbFieldPickLink::copyFieldToLink(), dbRelRefBase::extract(), oofE_RecordLocked::extract(), extract(), OOF_mixOutlineItem::findOIDforData(), dbHierBrowseHelper::insertItemsBelow(), dbRelRefBase::receiveMsg(), dbRelRefBase::relateFromRecord(), saveRecord(), dbRelRef::setRelatedRecord(), dbRelRef::setRelatedRecordMatching(), dbRelRefBase::updateRelValue(), and OOF_ctreeKeywordIndex::updateWords().
dbSelection dbTable::currentSelection | ( | ) |
Definition at line 2674 of file oof1.cpp.
References OOF_tableBackend::currentSelection(), isTableValid(), and mBackend.
Referenced by appendSelection(), dbRelRefBase::countAllRelated(), dbRelRefBase::CountAllRelatedIn(), dbBrowseHelper::currentSelection(), dbAbstractBrowseHelper::deleteSelection(), dbSelection::difference_with(), oofRepData::InitRepData(), dbHierBrowseHelper::insertItemsBelow(), dbSelection::intersection_with(), OOF_recordSelection::invert(), oofRepViewEditLink::oofRepViewEditLink(), dbSelection::operator=(), OOF_RelMN::removeSelection(), removeSelection(), OOF_ctreeKeywordIndex::searchFieldAllWords(), OOF_ctreeKeywordIndex::searchFieldAnyWords(), OOF_ctreeKeywordIndex::searchTableAllWords(), OOF_ctreeKeywordIndex::searchTableAnyWords(), dbRelRefBase::selectAllRelated(), dbSelection::union_with(), and dbSelection::union_with_no_overlap().
|
inlinevirtual |
Definition at line 467 of file oof1.h.
Referenced by buildSchema(), and dbRelRefBase::relatesTo().
void dbTable::deleteAll | ( | ) |
Definition at line 1780 of file oof1.cpp.
References countAll(), deleteRecord(), resumeSorting(), selectAll(), start(), and suspendSorting().
Referenced by dbConnect::deleteAll(), import(), oofRepWindow::ReflowReport(), and dbConnect_ramp::revert().
|
virtual |
Definition at line 1749 of file oof1.cpp.
References dbRelRefBase::breakRelLink(), oofBroadcaster::broadcast(), OOF_tableBackend::deleteRecord(), isRecordLoaded(), mBackend, OOFmsg_DeleteRecord, and relateAllDeletables().
Referenced by deleteAll(), dbGUI::deleteRecord(), and deleteSelection().
void dbTable::deleteSelection | ( | ) |
Definition at line 1765 of file oof1.cpp.
References count(), deleteRecord(), selectNone(), and start().
Referenced by OOF_RelMN::clearSelection(), dbAbstractBrowseHelper::deleteSelection(), OOF_ctreeKeywordIndex::deleteWords(), dbRelRefBase::receiveMsg(), and OOF_RelMN::removeSelection().
void dbTable::deleteStorage | ( | ) |
Definition at line 1198 of file oof1.cpp.
References OOF_tableBackend::deleteStorage(), and mBackend.
Referenced by OOF_ctreeKeywordIndex::deleteStorage(), and dbConnect::deleteStorage().
|
virtual |
Provide human-readable information about object.
Overriden to provide much more detail particularly for dbTable::describe() which provides full schema.
Reimplemented from OOF_PublicBase.
Definition at line 1812 of file oof1.cpp.
References OOF_Dictionary::describe(), oofString::isEmpty(), mFields, and mTableName.
|
inline |
|
virtual |
Definition at line 1824 of file oof1.cpp.
References OOF_tableBackend::describeState(), eInvalid, eValid, oofString::isEmpty(), lhsTableInRelationshipSpec(), mBackend, mTableName, mTableValid, and tableName().
Referenced by addOIDtoSelection(), dbBrowseHelper::appendSelection(), dbBrowseHelper::clearSelection(), gotoRecord(), relateSelectionFrom(), dbBrowseHelper::removeSelection(), selectJustOID(), and setSortOrder().
void dbTable::difference_with | ( | dbTable & | rhs | ) |
Definition at line 2572 of file oof1.cpp.
References oofBroadcaster::broadcast(), OOF_tableBackend::difference_with(), isCopyCompatibleWith(), isTableValid(), mBackend, and OOFmsg_ChangeSelection.
void dbTable::difference_with | ( | const dbSelection & | rhs | ) |
Definition at line 2585 of file oof1.cpp.
References oofBroadcaster::broadcast(), OOF_tableBackend::difference_with(), isTableValid(), mBackend, and OOFmsg_ChangeSelection.
void dbTable::dropRecordFromSelection | ( | unsigned long | inRecNum | ) |
Definition at line 2185 of file oof1.cpp.
References oofBroadcaster::broadcast(), OOF_tableBackend::dropRecordFromSelection(), isTableValid(), mBackend, and OOFmsg_ChangeSelection.
Referenced by dbBrowseHelper::receiveMsg().
bool dbTable::ensureRecordLoaded | ( | bool | autoCreateRelated = false , |
bool | failureAborts = true |
||
) |
Definition at line 1228 of file oof1.cpp.
References isEmpty(), isRecordLoaded(), isTableValid(), newRecord(), RAISE_EXCEPTION, dbRelRefBase::relateFromRecord(), reloadRecord(), and tableName().
Referenced by dbBLOB::append(), dbBLOB::bodyAddress(), dbFieldLink::copyFieldToLink(), dbBoolLink::copyFieldToLink(), OOF_simpleRecordBackend::currentOID(), OOF_simpleRecordBackend::fieldDataLen(), OOF_simpleRecordBackend::GetFieldReadFrom(), OOF_simpleRecordBackend::GetFieldWriteDest(), dbWin3RGB::operator=(), OOF_simpleRecordBackend::setBlobLength(), dbBLOB::setBytes(), and dbText::setChars().
|
virtual |
Definition at line 1475 of file oof1.cpp.
References count(), currentOID(), field(), OOF_Dictionary::iter(), mFieldCount, mFields, OOF_Dictionary::moreVisible(), next(), OOF_Dictionary::nextVisible(), numFields(), start(), and OOF_Dictionary::startVisible().
Referenced by dbConnect::dumpData(), and operator<<().
Definition at line 2355 of file oof1.h.
Referenced by dbCharStripperCalculator::cloneOwned(), dbQueryField::cloneReplacingTable(), copyRecFrom(), dbTableOwningFields::dbTableOwningFields(), dbView::defaultFindField(), dbRelRefBase::describe(), dbField::equivalentFieldFromTable(), oofE_CtreeBlobError::extract(), extract(), dbCompoundField::field(), dbField::fieldIsJoinKey(), generateTestData(), insert(), dbRelRefBase::inverse(), isCopyCompatibleWith(), loadRelatedContextJoiningFromTo(), makeView(), postCloneRecordCleanup(), dbRelRefBase::postCloneTableCleanup(), postCloneTableCleanup(), OOF_simpleRecordBackend::recordNumberMatching(), relateAllDeletables(), OOF_UnresolvedRelationship::resolve(), dbTableAssigner::setNextFieldString(), dbRelRef::setRelatedRecordMatching(), OOF_simpleRecordBackend::SortSelectionInverseNow(), OOF_simpleRecordBackend::sortSelectionNow(), OOF_simpleRecordBackend::SortSelectionNow(), oofXMLdataParser::startElement(), and OOF_ctreeKeywordIndex::updateWords().
|
inline |
First record in the selection becomes current.
If no records in selection will not have a current record but no error returned.
Definition at line 1986 of file oof1.h.
Referenced by dbGUI::goFirstRecord(), and oofRepWindow::ListenToMessage().
|
virtual |
Definition at line 2035 of file oof1.cpp.
References beginTransaction(), commitTransaction(), field(), dbField::fieldType(), dbField::generateTestData(), mFieldCount, newRecord(), relationshipField, and saveRecord().
Referenced by dbConnect::generateTestData().
oofWordParser * dbTable::getDefaultWordParser | ( | ) |
Definition at line 1132 of file oof1.cpp.
References dbConnect::getDefaultWordParser().
Referenced by OOF_mixKeywordableField::indexWords(), and OOF_mixKeywordableField::wordParser().
dbGUI * dbTable::getGUI | ( | ) |
Definition at line 2557 of file oof1.cpp.
References baseTableOfRelationChain(), getGUI(), dbGUIFactory::makeGUI(), and mGUI.
Referenced by dbHierBrowseHelper::appendLevel(), dbBrowseHelper::appendSelection(), dbBrowseHelper::clearSelection(), getGUI(), dbFieldLink::readOnly(), dbAbstractBrowseHelper::receiveMsg(), dbBrowseHelper::removeSelection(), and dbFieldLink::tellGUIcareAboutLocking().
bool dbTable::gotoRecord | ( | unsigned long | relativeNum | ) |
Definition at line 2213 of file oof1.cpp.
References describeState(), OOF_tableBackend::gotoRecord(), isTableValid(), and mBackend.
Referenced by dbFieldPickLink::copyFieldToLink(), dbFieldPickLink::copyLinkToField(), oofRepViewEditLink::enterLink(), dbViewAsTableStorage::GetCellData(), oofRepViewEditLink::getCellText(), dbBrowseHelper::gotoHighlightedRecord(), oofRepWindow::ReflowReport(), and oofRepViewEditLink::setCellText().
dbQueryBinaryNofield dbTable::hasAllWordsDelimited | ( | const char * | str, |
char | delimiter | ||
) |
Definition at line 366 of file oofwords.cpp.
References dbQueryClause::hasAllWords.
dbQueryBinaryNofield dbTable::hasAllWordsOf | ( | const char ** | schStrs, |
unsigned long | count | ||
) |
Definition at line 380 of file oofwords.cpp.
References dbQueryClause::hasAllWords.
Referenced by hasAllWordsOf().
dbQueryBinaryNofield dbTable::hasAllWordsOf | ( | oofWordParser * | inParser | ) |
Definition at line 395 of file oofwords.cpp.
References oofWordParser::generatedCount(), oofWordParser::generatedStrings(), oofWordParser::generateSearchArray(), and hasAllWordsOf().
dbQueryBinaryNofield dbTable::hasAllWordsStartsWithDelimited | ( | const char * | str, |
char | delimiter | ||
) |
Definition at line 410 of file oofwords.cpp.
References dbQueryClause::hasAllWordsStartsWith.
dbQueryBinaryNofield dbTable::hasAllWordsStartsWithOf | ( | const char ** | schStrs, |
unsigned long | count | ||
) |
Definition at line 424 of file oofwords.cpp.
References dbQueryClause::hasAllWordsStartsWith.
Referenced by hasAllWordsStartsWithOf().
dbQueryBinaryNofield dbTable::hasAllWordsStartsWithOf | ( | oofWordParser * | inParser | ) |
Definition at line 431 of file oofwords.cpp.
References oofWordParser::generatedCount(), oofWordParser::generatedStrings(), oofWordParser::generateSearchArray(), and hasAllWordsStartsWithOf().
dbQueryBinaryNofield dbTable::hasAnyWordsDelimited | ( | const char * | str, |
char | delimiter | ||
) |
Definition at line 359 of file oofwords.cpp.
References dbQueryClause::hasAnyWord.
dbQueryBinaryNofield dbTable::hasAnyWordsOf | ( | const char ** | schStrs, |
unsigned long | count | ||
) |
Definition at line 373 of file oofwords.cpp.
References dbQueryClause::hasAnyWord.
Referenced by hasAnyWordsOf().
dbQueryBinaryNofield dbTable::hasAnyWordsOf | ( | oofWordParser * | inParser | ) |
Definition at line 387 of file oofwords.cpp.
References oofWordParser::generatedCount(), oofWordParser::generatedStrings(), oofWordParser::generateSearchArray(), and hasAnyWordsOf().
dbQueryBinaryNofield dbTable::hasAnyWordsStartsWithDelimited | ( | const char * | str, |
char | delimiter | ||
) |
Definition at line 403 of file oofwords.cpp.
References dbQueryClause::hasAnyWordStartsWith.
dbQueryBinaryNofield dbTable::hasAnyWordsStartsWithOf | ( | const char ** | schStrs, |
unsigned long | count | ||
) |
Definition at line 417 of file oofwords.cpp.
References dbQueryClause::hasAnyWordStartsWith.
Referenced by hasAnyWordsStartsWithOf().
dbQueryBinaryNofield dbTable::hasAnyWordsStartsWithOf | ( | oofWordParser * | inParser | ) |
Definition at line 439 of file oofwords.cpp.
References oofWordParser::generatedCount(), oofWordParser::generatedStrings(), oofWordParser::generateSearchArray(), and hasAnyWordsStartsWithOf().
dbQueryBinaryNofield dbTable::hasWord | ( | const char * | str | ) | const |
Definition at line 345 of file oofwords.cpp.
References dbQueryClause::hasWord.
dbQueryBinaryNofield dbTable::hasWordStartsWith | ( | const char * | str | ) | const |
Definition at line 352 of file oofwords.cpp.
References dbQueryClause::hasWordStartsWith.
|
inlineinherited |
Definition at line 51 of file oof1.h.
Referenced by OOF_Dictionary::EntryMatchesVisibility().
|
inlineinherited |
|
inline |
Definition at line 1837 of file oof1.h.
Referenced by stIgnoreDuplicateRecords::stIgnoreDuplicateRecords().
|
virtual |
Definition at line 1539 of file oof1.cpp.
References deleteAll(), and insert().
|
inline |
|
virtual |
Definition at line 1551 of file oof1.cpp.
References oofBroadcaster::broadcast(), field(), dbField::fieldIsVirtual(), dbField::insert(), kFieldSep, kRecSep, mAllowShortImports, mFieldCount, newRecord(), numFields(), OOFmsg_ChangeSelection, dbConnect::raise(), resumeSorting(), saveRecord(), selectAll(), suspendSorting(), tableName(), and unloadRecord().
Referenced by import(), and operator>>().
void dbTable::intersection_with | ( | dbTable & | rhs | ) |
Definition at line 2651 of file oof1.cpp.
References oofBroadcaster::broadcast(), OOF_tableBackend::intersection_with(), isCopyCompatibleWith(), isTableValid(), mBackend, and OOFmsg_ChangeSelection.
void dbTable::intersection_with | ( | const dbSelection & | rhs | ) |
Definition at line 2664 of file oof1.cpp.
References oofBroadcaster::broadcast(), OOF_tableBackend::intersection_with(), isTableValid(), mBackend, and OOFmsg_ChangeSelection.
void dbTable::invert | ( | ) |
Definition at line 2595 of file oof1.cpp.
References oofBroadcaster::broadcast(), OOF_tableBackend::invert(), isTableValid(), mBackend, and OOFmsg_ChangeSelection.
Referenced by OOF_recordSelection::invert().
|
inlineinherited |
Definition at line 160 of file oofmsg.h.
References oofBroadcaster::mNestedBroadcastingDepth.
bool dbTable::isCopyCompatibleWith | ( | const dbTable * | rhsTable | ) | const |
Definition at line 1994 of file oof1.cpp.
References field(), dbField::fieldIsSameTypeAs(), dbField::fieldIsVirtual(), and mFieldCount.
Referenced by copyAllFrom(), difference_with(), dbRelRefBase::fieldIsSameTypeAs(), intersection_with(), union_with(), and union_with_no_overlap().
|
inline |
Definition at line 2334 of file oof1.h.
Referenced by dbAbstractEditHelper::isDirty(), dbGUI::leaveRecord(), dbRelRefBase::receiveMsg(), and saveRecord().
bool dbTable::isEmpty | ( | ) |
Definition at line 2107 of file oof1.cpp.
References count(), and isRecordLoaded().
Referenced by dbAbstractBrowseHelper::deleteSelection(), ensureRecordLoaded(), dbGUI::gotoCurrentOrNewRec(), relateSelectionFrom(), dbRelRefBase::selectAllRelated(), and dbRelRef::setRelatedRecord().
|
inline |
Definition at line 2341 of file oof1.h.
Referenced by dbRelRefBase::changeRelationshipTo(), dbTableAssigner::dbTableAssigner(), oofXMLdataParser::endElement(), dbField::saveDefaultCalculatedValue(), saveRecord(), dbAbstractEditHelper::updateDerivedFieldDisplays(), dbField::usingCalculator(), and dbTableAssigner::~dbTableAssigner().
|
inline |
|
inline |
Definition at line 1823 of file oof1.h.
Referenced by deleteRecord(), ensureRecordLoaded(), dbGUI::gotoCurrentOrNewRec(), isEmpty(), and dbRelRefBase::receiveMsg().
|
inline |
Definition at line 2348 of file oof1.h.
Referenced by dbView::dbView(), OOF_repEditSetupVisitor::VisitIterableBandBody(), and OOF_repBufferSettingVisitor::VisitView().
|
inline |
Definition at line 1795 of file oof1.h.
Referenced by addOIDtoSelection(), currentSelection(), difference_with(), dropRecordFromSelection(), ensureRecordLoaded(), gotoRecord(), intersection_with(), invert(), newRecord(), dbRelRefBase::receiveMsg(), reloadRecord(), search(), searchSelContainsAllDelimited(), searchSelContainsAllOf(), searchSelContainsAnyDelimited(), searchSelContainsAnyOf(), searchSelection(), setSelection(), start(), union_with(), and union_with_no_overlap().
void dbTable::last | ( | ) |
Last record in the selection becomes current.
Doesn't call gotoRecord if there is nothing in the selection.
Definition at line 2199 of file oof1.cpp.
References OOF_tableBackend::count(), OOF_tableBackend::gotoRecord(), and mBackend.
Referenced by dbGUI::goLastRecord(), oofRepWindow::ListenToMessage(), and oofRepWindow::ReflowReport().
dbTable * dbTable::lhsTableInRelationshipSpec | ( | ) | const |
Definition at line 1974 of file oof1.cpp.
References dbRelRefBase::relatedTable().
Referenced by describeState(), dbQueryField::getSearchTables(), and markDirty().
Change table's current loaded selection and current record to satisfy a join.
How the join is performed depends on each backend. Bit of redirection here - as a destination table, almost certainly in a relation, the field to passed in is probably a "real" field pointing back to the original table not the cloned destination of a relation. To make sure no side effects can change the original table, retrieve our copy of the field via the ordinal field number.
Definition at line 2284 of file oof1.cpp.
References oofBroadcaster::broadcast(), field(), dbField::fieldNumber(), OOF_tableBackend::loadRelatedContextJoiningFromTo(), mBackend, and OOFmsg_UnloadRecord.
|
inline |
Definition at line 2470 of file oof1.h.
Referenced by dbAbstractEditHelper::readOnly(), and dbGUI::recordAvailable().
dbSelection dbTable::makeEmptySelection | ( | ) | const |
Definition at line 2683 of file oof1.cpp.
References OOF_tableBackend::makeEmptySelection(), and mBackend.
Referenced by dbBrowseHelper::highlightedSelection().
|
virtual |
Definition at line 1505 of file oof1.cpp.
References field(), dbField::fieldType(), OOF_Dictionary::iter(), mFieldCount, mFields, OOF_Dictionary::moreVisible(), OOF_Dictionary::nextVisible(), numFields(), relationshipField, and OOF_Dictionary::startVisible().
void dbTable::markDirty | ( | ) |
Definition at line 1358 of file oof1.cpp.
References lhsTableInRelationshipSpec(), markDirty(), OOF_tableBackend::markDirty(), mBackend, and tableCachesDirtyRecords().
Referenced by dbBLOB::append(), dbFixedBinary::clear(), markDirty(), dbFixedBinary::setByte(), dbBLOB::setBytes(), dbText::setChars(), dbFixedBinary::setValue(), OOF_simpleRecordBackend::writeBool(), OOF_simpleRecordBackend::writeBytes(), OOF_simpleRecordBackend::writeChars(), OOF_simpleRecordBackend::writeDouble(), OOF_simpleRecordBackend::writeLong(), and OOF_simpleRecordBackend::writeShort().
|
inline |
When iterating a selection, are there any more records beyond current.
Definition at line 1896 of file oof1.h.
Referenced by oofRepGraphBand_CSVRender::draw(), oofRepGraphBand_TSVRender::draw(), dbRepChar::drawColumnar(), dbRepChar::drawPageWise(), dbRep::extract(), oofColumnGraph::finishConstruction(), oofPointGraph::finishConstruction(), oofLineGraph::finishConstruction(), oofXYGraph::finishConstruction(), oofBarGraph::finishConstruction(), oofStackedBarGraph::finishConstruction(), oofOrdinalStackedBarGraph::finishConstruction(), oofPieGraph::finishConstruction(), oofRepViewBand::more(), oofRepWindow::PrintAsPreviewed(), OOF_simpleRecordBackend::recordNumberMatching(), and dbGUIAdaptLPopupButton::setValueList().
|
virtual |
Reimplemented from OOF_PublicBase.
Definition at line 1125 of file oof1.cpp.
References tableName().
|
virtual |
Definition at line 2090 of file oof1.cpp.
References isTableValid(), mBackend, and OOF_tableBackend::newRecord().
Referenced by OOF_ctreeKeywordIndex::addRecordForOID(), OOF_RelMN::appendSelection(), cloneRecord(), copyAllFrom(), dbTableAssigner::dbTableAssigner(), ensureRecordLoaded(), generateTestData(), dbGUI::gotoCurrentOrNewRec(), insert(), dbGUI::newRecord(), and oofXMLdataParser::startElement().
|
inline |
Next record in the selection becomes current.
Definition at line 1970 of file oof1.h.
Referenced by copyAllFrom(), dbRelRefBase::countAllRelated(), dbRelRefBase::CountAllRelatedIn(), oofRepGraphBand_CSVRender::draw(), oofRepGraphBand_TSVRender::draw(), dbRepChar::drawColumnar(), dbRepChar::drawPageWise(), dbView::extract(), dbRep::extract(), extract(), oofColumnGraph::finishConstruction(), oofPointGraph::finishConstruction(), oofLineGraph::finishConstruction(), oofXYGraph::finishConstruction(), oofBarGraph::finishConstruction(), oofStackedBarGraph::finishConstruction(), oofOrdinalStackedBarGraph::finishConstruction(), oofPieGraph::finishConstruction(), dbGUI::goNextRecord(), dbHierBrowseHelper::insertItemsBelow(), oofRepWindow::ListenToMessage(), dbListBoxDisplay::loadData(), oofRepViewBand::next(), oofRepWindow::PrintAsPreviewed(), OOF_simpleRecordBackend::recordNumberMatching(), dbRelRefBase::selectAllRelated(), dbGUIAdaptLPopupButton::setValueList(), and oofXMLDBWriter::writeDatabase().
|
inline |
Definition at line 1830 of file oof1.h.
Referenced by stIgnoreDuplicateRecords::~stIgnoreDuplicateRecords().
|
inline |
Definition at line 1864 of file oof1.h.
Referenced by dbTableOwningFields::dbTableOwningFields(), extract(), dbField::fieldIsJoinKey(), insert(), makeView(), oofXMLdataParser::oofXMLdataParser(), postCloneRecordCleanup(), postCloneTableCleanup(), relateAllDeletables(), and oofXMLdataParser::startElement().
|
inline |
Definition at line 1857 of file oof1.h.
Referenced by dbConnect_ctree::BuildConnectionSchemas().
|
inline |
Definition at line 1850 of file oof1.h.
Referenced by dbConnect_ctree::BuildConnectionSchemas().
|
inline |
Definition at line 1960 of file oof1.h.
Referenced by dbBrowseHelper::highlightedOID(), and dbBrowseHelper::highlightedSelection().
bool dbTable::openTableInConnection | ( | const dbConnect * | theDB, |
const bool | createIfMissing = false |
||
) |
Definition at line 1114 of file oof1.cpp.
References mBackend, OOF_tableBackend::openTableInConnection(), sCurrentlyConstructing, and setTableValid().
Referenced by dbConnect_ctree::FinishOpenConnection(), and dbConnect_ctree::FinishOpenOrCreateConnection().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Create dbTableAssigner as fast way to create and set entire record.
Allows you to pass in all fields as text strings, eg:
const dbSelection & dbTable::operator= | ( | const dbSelection & | rhs | ) |
Definition at line 2744 of file oof1.cpp.
References setSelection().
Definition at line 1647 of file oof1.cpp.
References copyRecFrom().
|
inline |
|
inline |
|
inline |
|
inline |
bool dbTable::pointsToBackend | ( | const OOF_tableBackend * | rhsBackend | ) | const |
|
virtual |
Definition at line 1673 of file oof1.cpp.
References dbField::clear(), field(), dbField::fieldType(), mFieldCount, numFields(), and relationshipField.
Referenced by cloneRecord().
void dbTable::postCloneTableCleanup | ( | ) |
Definition at line 1454 of file oof1.cpp.
References field(), mFieldCount, numFields(), dbField::postCloneTableCleanup(), OOF_dbTableStatics::sCloning, sCurrentlyConstructing, and setTableValid().
Referenced by dbCloneCleanup::receiveMsg().
|
inline |
Previous record in the selection becomes current.
Definition at line 1997 of file oof1.h.
Referenced by dbGUI::goPrevRecord(), and oofRepWindow::ListenToMessage().
|
inline |
Definition at line 2477 of file oof1.h.
Referenced by OOF_simpleRecordBackend::makeEmptySelection(), OOF_ctreeKeywordIndex::searchFieldAnyWords(), OOF_ctreeKeywordIndex::searchTableAnyWords(), and ~dbTable().
void dbTable::rebuild | ( | ) |
Definition at line 1173 of file oof1.cpp.
References mBackend, and OOF_tableBackend::rebuild().
Referenced by OOF_ctreeKeywordIndex::rebuild().
|
inline |
Ordinal record number of current record in selection.
zero-based, will change if selection sorted differently. currentOID() returns absolute record address.
Definition at line 2041 of file oof1.h.
Referenced by dbBrowseHelper::browseViewWithListBox(), dbBrowseHelper::browseViewWithTable(), oofE_RecordLocked::extract(), dbViewAsTableStorage::FindCellData(), oofRepViewEditLink::oofRepViewEditLink(), oofRepMacGUIPreviewPP::previewPageOrdinal(), dbAbstractBrowseHelper::receiveMsg(), dbView::recordNumber(), OOF_simpleRecordBackend::recordNumberMatching(), and dbBrowseHelper::updateBrowserSelection().
|
inline |
|
inline |
|
inline |
Find ordinal position in ordered selection of record by OID.
inOID | identifier (commonly record address) of desired record |
Definition at line 2056 of file oof1.h.
Referenced by dbFieldPickLink::copyFieldToLink().
void dbTable::relateAllDeletables | ( | ) |
Definition at line 2294 of file oof1.cpp.
References field(), dbField::fieldType(), mFieldCount, numFields(), dbRelRefBase::propagatesDeletes(), dbRelRefBase::relatedTable(), and relationshipField.
Referenced by deleteRecord().
bool dbTable::relateSelectionFrom | ( | dbTable * | lhs | ) |
Definition at line 1900 of file oof1.cpp.
References describeState(), isEmpty(), dbRelRefBase::relatedTable(), relateSelectionFrom(), dbRelRefBase::selectAllRelated(), selectNone(), and tableName().
Referenced by relateSelectionFrom(), OOF_simpleRecordBackend::search(), and OOF_simpleRecordBackend::searchSelection().
bool dbTable::reloadRecord | ( | ) |
Definition at line 2075 of file oof1.cpp.
References isTableValid(), mBackend, and OOF_tableBackend::reloadRecord().
Referenced by ensureRecordLoaded(), and dbAbstractEditHelper::receiveMsg().
|
inherited |
Definition at line 194 of file oofmsg.cpp.
References OOF_ExpandableLongArray::deleteFirstMatching(), OOF_ExpandableLongArray::find(), OOF_ExpandableLongArray::item(), oofBroadcaster::mLostReceiversWhileBroadcasting, oofBroadcaster::mNestedBroadcastingDepth, oofBroadcaster::mReceivers, and dbConnect::raise().
Referenced by oofReceiver::unsubscribe().
void dbTable::removeSelection | ( | const dbSelection & | inSel | ) |
Definition at line 1325 of file oof1.cpp.
References oofBroadcaster::broadcast(), currentSelection(), dbSelection::difference_with(), dbSelection::intersection_with(), dbSelection::isAllRecs(), OOFmsg_RemoveSelection, selectNone(), and setSelection().
Referenced by dbBrowseHelper::removeSelection().
void dbTable::resumeSorting | ( | ) |
Definition at line 2508 of file oof1.cpp.
References oofBroadcaster::broadcast(), OOFmsg_ResumeSorting, dbSorter::resumeSorting(), and sorter().
Referenced by copyAllFrom(), deleteAll(), insert(), dbRelRefBase::receiveMsg(), dbConnect::resumeSorting(), search(), searchSelection(), stSaveSelectionAndSuspendSort::~stSaveSelectionAndSuspendSort(), and stSuspendSort::~stSuspendSort().
|
virtual |
Definition at line 2524 of file oof1.cpp.
References oofBroadcaster::broadcast(), mBackend, OOFmsg_ChangeContext, and OOF_tableBackend::revertRecord().
Referenced by dbGUI::revertRecord().
|
virtual |
Definition at line 1689 of file oof1.cpp.
References oofBroadcaster::broadcast(), currentOID(), isDirty(), isNewRecord(), mBackend, OOFmsg_SaveRecord, OOF_tableBackend::saveRecord(), and dbRelRefBase::updateRelValue().
Referenced by OOF_ctreeKeywordIndex::addRecordForOID(), dbRelRefBase::changeRelationshipTo(), copyAllFrom(), oofXMLdataParser::endElement(), generateTestData(), insert(), dbGUI::leaveRecord(), dbRelRefBase::receiveMsg(), dbGUI::saveRecord(), and dbTableAssigner::~dbTableAssigner().
bool dbTable::search | ( | const dbQueryClause & | query | ) |
Definition at line 2348 of file oof1.cpp.
References oofBroadcaster::broadcast(), eValid, isTableValid(), mBackend, mTableValid, OOFmsg_ChangeSelection, resumeSorting(), OOF_tableBackend::search(), and suspendSorting().
Referenced by OOF_ctreeKeywordIndex::deleteWords(), OOF_mixOutlineItem::findOIDforData(), OOF_simpleRecordBackend::search(), search(), OOF_ctreeKeywordIndex::searchField(), OOF_ctreeKeywordIndex::searchFieldAnyWords(), OOF_simpleRecordBackend::searchSelection(), OOF_ctreeKeywordIndex::searchTable(), OOF_ctreeKeywordIndex::searchTableAnyWords(), and dbRelRef::setRelatedRecordMatching().
bool dbTable::search | ( | const dbQueryClause * | query | ) |
bool dbTable::searchSelContainsAllDelimited | ( | const dbField & | schField, |
const char * | schStr, | ||
char | delim | ||
) |
Definition at line 2413 of file oof1.cpp.
References isTableValid(), mBackend, and OOF_tableBackend::searchSelContainsAllDelimited().
bool dbTable::searchSelContainsAllOf | ( | const dbField & | schField, |
const char ** | schStrs, | ||
unsigned long | count | ||
) |
Definition at line 2422 of file oof1.cpp.
References isTableValid(), mBackend, and OOF_tableBackend::searchSelContainsAllOf().
Referenced by searchSelContainsAllOf().
bool dbTable::searchSelContainsAllOf | ( | const dbField & | schField, |
oofWordParser * | inParser | ||
) |
Definition at line 2431 of file oof1.cpp.
References oofWordParser::generatedCount(), oofWordParser::generatedStrings(), oofWordParser::generateSearchArray(), and searchSelContainsAllOf().
bool dbTable::searchSelContainsAnyDelimited | ( | const dbField & | schField, |
const char * | schStr, | ||
char | delim | ||
) |
Definition at line 2387 of file oof1.cpp.
References isTableValid(), mBackend, and OOF_tableBackend::searchSelContainsAnyDelimited().
bool dbTable::searchSelContainsAnyOf | ( | const dbField & | schField, |
const char ** | schStrs, | ||
unsigned long | count | ||
) |
Definition at line 2396 of file oof1.cpp.
References isTableValid(), mBackend, and OOF_tableBackend::searchSelContainsAnyOf().
Referenced by searchSelContainsAnyOf().
bool dbTable::searchSelContainsAnyOf | ( | const dbField & | schField, |
oofWordParser * | inParser | ||
) |
Definition at line 2405 of file oof1.cpp.
References oofWordParser::generatedCount(), oofWordParser::generatedStrings(), oofWordParser::generateSearchArray(), and searchSelContainsAnyOf().
bool dbTable::searchSelection | ( | const dbQueryClause & | query | ) |
Definition at line 2370 of file oof1.cpp.
References oofBroadcaster::broadcast(), isTableValid(), mBackend, OOFmsg_ChangeSelection, resumeSorting(), OOF_tableBackend::searchSelection(), and suspendSorting().
Referenced by searchSelection().
bool dbTable::searchSelection | ( | const dbQueryClause * | query | ) |
Definition at line 2337 of file oof1.cpp.
References searchSelection().
|
inline |
Change the current selection to all records.
This state is explicitly tracked as it allows backends to maintain an optimal representation, eg: not needing to retain a list of record pointers.
Definition at line 2304 of file oof1.h.
References OOFmsg_ChangeSelection.
Referenced by appendSelection(), deleteAll(), dbAbstractBrowseHelper::deleteSelection(), dbConnect::dumpData(), dbFieldPickLink::InitLookup(), and insert().
bool dbTable::selectAllRelated | ( | bool | broadcastChange = true | ) |
Definition at line 1928 of file oof1.cpp.
References dbRelRefBase::selectAllRelated().
|
inline |
Change the current selection to just the current record.
This makes a selection behave like a single object.
Definition at line 2427 of file oof1.h.
References OOFmsg_ChangeSelection.
Referenced by cloneRecord().
bool dbTable::selectJustOID | ( | oidT | inOID | ) |
Try to change the current selection to just the matching record.
This makes a selection behave like a single object.
inOID | is a unique record address. Zero input is allowed but causes selectNone(). If it fails, behaviour is like selectNone(). |
Definition at line 2705 of file oof1.cpp.
References oofBroadcaster::broadcast(), describeState(), mBackend, OOFmsg_ChangeSelection, OOF_tableBackend::selectJustOID(), and selectNone().
Referenced by OOF_RelMN::appendSelection(), OOF_mixOutlineItem::GetDrawContentsFromView(), OOF_RelMN::removeSelection(), OOF_mixOutlineItem::selectItemRecord(), OOF_simpleRecordBackend::SortSelectionInverseNow(), OOF_simpleRecordBackend::sortSelectionNow(), and OOF_simpleRecordBackend::SortSelectionNow().
|
inline |
Change the current selection to no records.
This empty set is what would be returned by an unsuccessful search().
Definition at line 2321 of file oof1.h.
References OOFmsg_ChangeSelection.
Referenced by clearSelection(), dbAbstractBrowseHelper::deleteSelection(), deleteSelection(), relateSelectionFrom(), removeSelection(), dbRelRefBase::selectAllRelated(), and selectJustOID().
void dbTable::setDefaultWordParser | ( | oofWordParser * | inParser | ) |
|
inline |
|
inline |
Definition at line 2401 of file oof1.h.
Referenced by OOF_repXMLschemaVisitor::UniquifyTables().
void dbTable::setReverseSortOrder | ( | const dbField & | theField | ) |
Definition at line 2472 of file oof1.cpp.
References setSortOrder().
void dbTable::setSaveOption | ( | const saveOptionsT | inOpt | ) |
Definition at line 2752 of file oof1.cpp.
References bufferForever, mBackend, mSaveOption, and OOF_tableBackend::unloadCache().
Referenced by dbRelRefBase::BuildRelatedTable(), OOF_repEditSetupVisitor::VisitIterableBandBody(), OOF_repBufferSettingVisitor::VisitView(), and ~dbTable().
void dbTable::setSelection | ( | const dbSelection & | rhs | ) |
Definition at line 2725 of file oof1.cpp.
References dbSelection::internalSelection().
Referenced by appendSelection(), dbAbstractBrowseHelper::deleteSelection(), oofRepViewEditLink::enterLink(), dbHierBrowseHelper::insertItemsBelow(), OOF_recordSelection::invert(), operator=(), OOF_RelMN::removeSelection(), removeSelection(), OOF_ctreeKeywordIndex::searchFieldAllWords(), OOF_ctreeKeywordIndex::searchTableAllWords(), dbRelRefBase::selectAllRelated(), and stSaveSelection::~stSaveSelection().
void dbTable::setSelection | ( | const OOF_Selection * | rhs | ) |
Definition at line 2732 of file oof1.cpp.
References oofBroadcaster::broadcast(), bufferForever, OOF_tableBackend::isDirty(), isTableValid(), mBackend, mSaveOption, OOFmsg_ChangeSelection, OOF_tableBackend::setSelection(), and start().
void dbTable::setShortImports | ( | bool | allowShorties | ) |
Definition at line 1532 of file oof1.cpp.
References mAllowShortImports.
void dbTable::setSortOrder | ( | const dbField & | theField, |
bool | shouldReverse = false |
||
) |
Definition at line 2450 of file oof1.cpp.
References dbField::describe(), describeState(), dbField::fieldNumber(), mBackend, OOF_tableBackend::setSortOrder(), sorter(), and dbSorter::sortsBySingleField().
Referenced by setReverseSortOrder().
void dbTable::setSortOrder | ( | const dbSorter & | srt | ) |
Definition at line 1150 of file oof1.cpp.
References dbSorter::describe(), describeState(), mBackend, OOF_tableBackend::setSortOrder(), and sorter().
|
inline |
Force current table state to valid.
Definition at line 1875 of file oof1.h.
Referenced by dbRelRefBase::BuildRelatedTable(), createTableInConnection(), dbConnect::MakeAllTablesValid(), openTableInConnection(), postCloneTableCleanup(), dbRelRefBase::receiveMsg(), dbRelRefBase::relateFromRecord(), dbRelRefBase::selectAllRelated(), and dbRelRef::setRelatedRecord().
|
inline |
Definition at line 2415 of file oof1.h.
Referenced by dbView::defaultFindField(), resumeSorting(), setSortOrder(), sortNow(), and suspendSorting().
void dbTable::sortNow | ( | ) | const |
Definition at line 2479 of file oof1.cpp.
References mBackend, sorter(), and dbSorter::sortNow().
void dbTable::start | ( | ) |
Definition at line 2057 of file oof1.cpp.
References isTableValid(), mBackend, and OOF_tableBackend::start().
Referenced by copyAllFrom(), dbRelRefBase::countAllRelated(), dbRelRefBase::CountAllRelatedIn(), oofRepWindow::CreatePreviewContent(), deleteAll(), deleteSelection(), oofRepGraphBand_CSVRender::draw(), oofRepGraphBand_TSVRender::draw(), dbRepChar::drawColumnar(), dbRepChar::drawPageWise(), dbView::extract(), dbRep::extract(), extract(), OOF_mixOutlineItem::findOIDforData(), oofColumnGraph::finishConstruction(), oofPointGraph::finishConstruction(), oofLineGraph::finishConstruction(), oofXYGraph::finishConstruction(), oofBarGraph::finishConstruction(), oofStackedBarGraph::finishConstruction(), oofOrdinalStackedBarGraph::finishConstruction(), oofPieGraph::finishConstruction(), dbGUI::gotoCurrentOrNewRec(), dbHierBrowseHelper::insertItemsBelow(), dbListBoxDisplay::loadData(), oofRepWindow::PrintAsPreviewed(), OOF_simpleRecordBackend::recordNumberMatching(), dbRelRefBase::selectAllRelated(), dbRelRef::setRelatedRecordMatching(), setSelection(), dbGUIAdaptLPopupButton::setValueList(), oofRepViewBand::start(), and oofXMLDBWriter::writeDatabase().
|
virtual |
Definition at line 1797 of file oof1.cpp.
References countAll(), oofString::isEmpty(), and mTableName.
Referenced by dbConnect::stats().
void dbTable::stillCurrentlyConstructing | ( | ) |
Definition at line 1093 of file oof1.cpp.
References dbConnect::currentlyConstructing(), and sCurrentlyConstructing.
Referenced by oofXMLschemaParser::endElement().
void dbTable::suppressIndices | ( | ) |
Definition at line 1208 of file oof1.cpp.
References mBackend, and OOF_tableBackend::suppressIndices().
Referenced by OOF_ctreeKeywordIndex::suppressIndices().
void dbTable::suspendSorting | ( | ) |
Definition at line 2492 of file oof1.cpp.
References oofBroadcaster::broadcast(), OOFmsg_SuspendSorting, sorter(), and dbSorter::suspendSorting().
Referenced by copyAllFrom(), deleteAll(), insert(), dbRelRefBase::receiveMsg(), search(), searchSelection(), stSaveSelectionAndSuspendSort::stSaveSelectionAndSuspendSort(), stSuspendSort::stSuspendSort(), and dbConnect::suspendSorting().
|
inline |
Definition at line 2383 of file oof1.h.
References bufferForever, and requireExplicitAndBuffer.
Referenced by markDirty().
|
inline |
Definition at line 2369 of file oof1.h.
Referenced by OOF_ctreeKeywordIndex::buildSchema(), copyAllFrom(), OOF_dbaseBackend::createTableInConnection(), OOF_ctreeBackend::createTableInConnection(), dbTable(), OOF_dbaseBackend::deleteRecord(), OOF_ramBackend::deleteRecord(), OOF_ctreeBackend::deleteRecord(), OOF_dbaseBackend::deleteStorage(), OOF_ctreeBackend::deleteStorage(), dbQueryField::describe(), describeState(), dbConnect::dumpData(), ensureRecordLoaded(), dbRelRefBase::extract(), oofE_DuplicateRecord::extract(), oofE_RecordLocked::extract(), dbRelRefBase::fieldIsSameTypeAs(), dbRelRefBase::fieldName(), OOF_RelationshipsToInstantiate::findMatch(), dbQueryField::getSearchTables(), insert(), dbRelationship::linkMNvia(), dbView::name(), name(), OOF_dbaseBackend::openTableInConnection(), OOF_ctreeBackend::openTableInConnection(), dbRelRefBase::propagateRelatedDeletes(), dbRelRefBase::relateFromRecord(), relateSelectionFrom(), OOF_RelationshipsToInstantiate::resolveRelationships(), OOF_simpleRecordBackend::revertRecord(), dbSorter::sortNow(), dbFieldSorter::sortNow(), oofXMLschemaParser::startElement(), dbField::tableName(), and OOF_repXMLschemaVisitor::UniquifyTables().
|
inline |
Definition at line 2376 of file oof1.h.
Referenced by dbView::append(), dbQueryField::cloneReplacingTable(), dbView::dbView(), oofXMLdataParser::EnterNestedData(), dbField::equivalentFieldFromTable(), dbQueryField::getSearchTables(), dbRelRefBase::relatedTableNumber(), and dbRelRef::setRelatedRecord().
|
inline |
Definition at line 2394 of file oof1.h.
Referenced by dbAbstractEditHelper::LeaveRecord(), OOF_simpleRecordBackend::unloadCache(), and OOF_simpleRecordBackend::unloadRecord().
|
virtual |
Definition at line 2690 of file oof1.cpp.
References mTableName, and oofString::singular().
|
inline |
Definition at line 2456 of file oof1.h.
Referenced by dbGUI::leaveRecord().
void dbTable::union_with | ( | dbTable & | rhs | ) |
Definition at line 2605 of file oof1.cpp.
References oofBroadcaster::broadcast(), isCopyCompatibleWith(), isTableValid(), mBackend, OOFmsg_ChangeSelection, and OOF_tableBackend::union_with().
void dbTable::union_with | ( | const dbSelection & | rhs | ) |
Definition at line 2618 of file oof1.cpp.
References oofBroadcaster::broadcast(), isTableValid(), mBackend, OOFmsg_ChangeSelection, and OOF_tableBackend::union_with().
void dbTable::union_with_no_overlap | ( | dbTable & | rhs | ) |
Definition at line 2628 of file oof1.cpp.
References oofBroadcaster::broadcast(), isCopyCompatibleWith(), isTableValid(), mBackend, OOFmsg_ChangeSelection, and OOF_tableBackend::union_with_no_overlap().
void dbTable::union_with_no_overlap | ( | const dbSelection & | rhs | ) |
Definition at line 2641 of file oof1.cpp.
References oofBroadcaster::broadcast(), isTableValid(), mBackend, OOFmsg_ChangeSelection, and OOF_tableBackend::union_with_no_overlap().
void dbTable::unloadRecord | ( | ) |
Definition at line 2536 of file oof1.cpp.
References oofBroadcaster::broadcast(), mBackend, OOFmsg_UnloadRecord, and OOF_tableBackend::unloadRecord().
Referenced by insert(), dbAbstractEditHelper::LeaveRecord(), dbRelRefBase::receiveMsg(), and dbAbstractEditHelper::receiveMsg().
|
inline |
Definition at line 2447 of file oof1.h.
Referenced by dbGUI::leaveRecord().
void dbTable::unSorted | ( | ) |
Definition at line 2439 of file oof1.cpp.
References mBackend, and OOF_tableBackend::setSortOrder().
|
inline |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
protected |
Definition at line 794 of file oof1.h.
Referenced by allowsShortImports(), insert(), and setShortImports().
|
protected |
Definition at line 788 of file oof1.h.
Referenced by abortTransaction(), addIndices(), addOIDtoSelection(), dbConnect::attachTable(), beginTransaction(), buildSchema(), close(), commitTransaction(), createTableInConnection(), currentSelection(), dbTable(), deleteRecord(), deleteStorage(), describeState(), difference_with(), dropRecordFromSelection(), gotoRecord(), intersection_with(), invert(), last(), loadRelatedContextJoiningFromTo(), makeEmptySelection(), markDirty(), newRecord(), openTableInConnection(), pointsToBackend(), rebuild(), dbRelRefBase::receiveMsg(), reloadRecord(), revertRecord(), saveRecord(), search(), searchSelContainsAllDelimited(), searchSelContainsAllOf(), searchSelContainsAnyDelimited(), searchSelContainsAnyOf(), searchSelection(), selectJustOID(), setSaveOption(), setSelection(), setSortOrder(), sortNow(), start(), suppressIndices(), union_with(), union_with_no_overlap(), unloadRecord(), unSorted(), and ~dbTable().
|
protected |
Definition at line 792 of file oof1.h.
Referenced by copyRecFrom(), extract(), generateTestData(), insert(), isCopyCompatibleWith(), makeView(), postCloneRecordCleanup(), postCloneTableCleanup(), and relateAllDeletables().
|
protected |
Definition at line 789 of file oof1.h.
Referenced by attachfield(), describe(), extract(), and makeView().
|
protected |
|
protectedinherited |
simple flag that removeReceiver was called during nested broadcast
Definition at line 98 of file oofmsg.h.
Referenced by oofBroadcaster::broadcast(), and oofBroadcaster::removeReceiver().
|
protectedinherited |
aid to debugging and removeReceiver
Definition at line 97 of file oofmsg.h.
Referenced by oofBroadcaster::broadcast(), oofBroadcaster::isBroadcasting(), and oofBroadcaster::removeReceiver().
|
protectedinherited |
owned
Definition at line 96 of file oofmsg.h.
Referenced by oofBroadcaster::addReceiver(), oofBroadcaster::askAllReturningAny(), oofBroadcaster::askAllStoppingAtFirst(), oofBroadcaster::broadcast(), oofBroadcaster::BroadcastShutdown(), and oofBroadcaster::removeReceiver().
|
protected |
Definition at line 793 of file oof1.h.
Referenced by setSaveOption(), and setSelection().
|
protected |
Definition at line 790 of file oof1.h.
Referenced by buildSchema(), describe(), describeState(), stats(), and tableSingularName().
|
protected |
Definition at line 791 of file oof1.h.
Referenced by dbConnect::attachTable().
|
protected |
|
staticprotected |
Definition at line 816 of file oof1.h.
Referenced by dbField::dbField(), dbTable(), openTableInConnection(), postCloneTableCleanup(), and stillCurrentlyConstructing().