NullTable.h

Classes

NullTable -- Class indicating a null Table object (full description)

class NullTable : public BaseTable

Interface

Public Members
NullTable()
virtual ~NullTable()
virtual Bool isNull() const
virtual void reopenRW()
virtual Bool asBigEndian() const
virtual Bool isMultiUsed (Bool checkSubTable) const
virtual const TableLock& lockOptions() const
virtual void mergeLock (const TableLock& lockOptions)
virtual Bool hasLock (FileLocker::LockType) const
virtual Bool lock (FileLocker::LockType, uInt nattempts)
virtual void unlock()
virtual void flush (Bool fsync, Bool recursive)
virtual void resync()
virtual uInt getModifyCounter() const
virtual Bool isWritable() const
virtual void deepCopy (const String& newName, const Record& dataManagerInfo, int tableOption, Bool valueCopy, int endianFormat, Bool noRows) const
virtual TableDesc actualTableDesc() const
virtual Record dataManagerInfo() const
virtual TableRecord& keywordSet()
virtual TableRecord& rwKeywordSet()
virtual BaseColumn* getColumn (uInt columnIndex) const
virtual BaseColumn* getColumn (const String& columnName) const
virtual Bool canAddRow() const
virtual void addRow (uInt nrrow, Bool initialize)
virtual Bool canRemoveRow() const
virtual void removeRow (uInt rownr)
virtual DataManager* findDataManager (const String& dataManagerName) const
virtual void addColumn (const ColumnDesc& columnDesc)
virtual void addColumn (const ColumnDesc& columnDesc, const String& dataManager, Bool byName)
virtual void addColumn (const ColumnDesc& columnDesc, const DataManager& dataManager)
virtual void addColumn (const TableDesc& tableDesc, const DataManager& dataManager)
virtual Bool canRemoveColumn (const Vector<String>& columnNames) const
virtual void removeColumn (const Vector<String>& columnNames)
virtual Bool canRenameColumn (const String& columnName) const
virtual void renameColumn (const String& newName, const String& oldName)
virtual Vector<uInt> rowNumbers() const
virtual BaseTable* root()
virtual Bool rowOrder() const
virtual Vector<uInt>* rowStorage()
virtual Bool adjustRownrs (uInt nrrow, Vector<uInt>& rownrs, Bool determineOrder) const
virtual BaseTable* doSort (PtrBlock<BaseColumn*>&, const PtrBlock<ObjCompareFunc*>&, const Block<Int>& sortOrder, int sortOption)
virtual void renameSubTables (const String& newName, const String& oldName)
Private Members
NullTable (const NullTable&)
NullTable& operator= (const NullTable&)
void throwError (const String& name) const

Description

Review Status

Reviewed By:
UNKNOWN
Date Reviewed:
before2004/08/25

Prerequisite

Etymology

NullTable represents a null table object, i.e. a Table object without an underlying table..

Synopsis

Nullable is used to represent a null table. The default Table constructor used to a create a null pointer which results in core dumps when the Table object is actually used. The NullTable object makes it possible to catch such cases and throw an appropriate exception.

Member Description

NullTable()

Default constructor.

virtual ~NullTable()

virtual Bool isNull() const

The table is a null table.

virtual void reopenRW()
virtual Bool asBigEndian() const
virtual Bool isMultiUsed (Bool checkSubTable) const
virtual const TableLock& lockOptions() const
virtual void mergeLock (const TableLock& lockOptions)
virtual Bool hasLock (FileLocker::LockType) const
virtual Bool lock (FileLocker::LockType, uInt nattempts)
virtual void unlock()
virtual void flush (Bool fsync, Bool recursive)
virtual void resync()
virtual uInt getModifyCounter() const
virtual Bool isWritable() const
virtual void deepCopy (const String& newName, const Record& dataManagerInfo, int tableOption, Bool valueCopy, int endianFormat, Bool noRows) const
virtual TableDesc actualTableDesc() const
virtual Record dataManagerInfo() const
virtual TableRecord& keywordSet()
virtual TableRecord& rwKeywordSet()
virtual BaseColumn* getColumn (uInt columnIndex) const
virtual BaseColumn* getColumn (const String& columnName) const
virtual Bool canAddRow() const
virtual void addRow (uInt nrrow, Bool initialize)
virtual Bool canRemoveRow() const
virtual void removeRow (uInt rownr)
virtual DataManager* findDataManager (const String& dataManagerName) const
virtual void addColumn (const ColumnDesc& columnDesc)
virtual void addColumn (const ColumnDesc& columnDesc, const String& dataManager, Bool byName)
virtual void addColumn (const ColumnDesc& columnDesc, const DataManager& dataManager)
virtual void addColumn (const TableDesc& tableDesc, const DataManager& dataManager)
virtual Bool canRemoveColumn (const Vector<String>& columnNames) const
virtual void removeColumn (const Vector<String>& columnNames)
virtual Bool canRenameColumn (const String& columnName) const
virtual void renameColumn (const String& newName, const String& oldName)
virtual Vector<uInt> rowNumbers() const
virtual BaseTable* root()
virtual Bool rowOrder() const
virtual Vector<uInt>* rowStorage()
virtual Bool adjustRownrs (uInt nrrow, Vector<uInt>& rownrs, Bool determineOrder) const
virtual BaseTable* doSort (PtrBlock<BaseColumn*>&, const PtrBlock<ObjCompareFunc*>&, const Block<Int>& sortOrder, int sortOption)
virtual void renameSubTables (const String& newName, const String& oldName)

All functions throw a "null table" exception.

NullTable (const NullTable&)

Copy constructor is forbidden, because copying a table requires some more knowledge (like table name of result). Declaring it private, makes it unusable.

NullTable& operator= (const NullTable&)

Assignment is forbidden, because copying a table requires some more knowledge (like table name of result). Declaring it private, makes it unusable.

void throwError (const String& name) const

Throw an exception with the name of the function.