26#ifndef TABLES_NULLTABLE_H
27#define TABLES_NULLTABLE_H
31#include <casacore/casa/aips.h>
32#include <casacore/tables/Tables/BaseTable.h>
33#include <casacore/tables/Tables/TableError.h>
104 Bool noRows)
const override;
116 Bool byColumn)
const override;
120 Bool addToParent)
override;
130 const String& oldName)
override;
136 Bool determineOrder)
const override;
138 const Block<std::shared_ptr<BaseCompare>>&,
144 const String& oldName)
override;
const TableDesc & tableDesc() const
Get the table description.
BaseTable(const String &tableName, int tableOption, rownr_t nrrow)
Initialize the object.
int tableOption() const
Get the table option.
Abstract base class for a data manager.
LockType
Define the possible lock types.
virtual TableRecord & rwKeywordSet() override
Get read/write access to the table keyword set.
virtual std::shared_ptr< BaseTable > doSort(PtrBlock< BaseColumn * > &, const Block< std::shared_ptr< BaseCompare > > &, const Block< Int > &, int, std::shared_ptr< Vector< rownr_t > >, std::shared_ptr< Vector< size_t > >) override
Do the actual sort.
virtual void deepCopy(const String &newName, const Record &dataManagerInfo, const StorageOption &, int tableOption, Bool valueCopy, int endianFormat, Bool noRows) const override
virtual Record dataManagerInfo() const override
Get the data manager info.
virtual BaseColumn * getColumn(uInt columnIndex) const override
Get a column object using its index.
virtual TableDesc actualTableDesc() const override
Get the actual table description.
virtual void addColumn(const ColumnDesc &columnDesc, const DataManager &dataManager, Bool addToParent) override
virtual uInt getModifyCounter() const override
Get the modify counter.
virtual void unlock() override
Unlock the table.
virtual Bool canRemoveColumn(const Vector< String > &columnNames) const override
Test if columns can be removed.
virtual Bool canRenameColumn(const String &columnName) const override
Test if a column can be renamed.
virtual Vector< rownr_t > & rowStorage() override
By the default the table cannot return the storage of rownrs.
virtual const TableLock & lockOptions() const override
Get the locking info.
NullTable()
Default constructor.
virtual TableRecord & keywordSet() override
Get readonly access to the table keyword set.
virtual Bool isNull() const override
The table is a null table.
virtual Vector< rownr_t > rowNumbers() const override
Get a vector of row numbers.
virtual void renameSubTables(const String &newName, const String &oldName) override
Rename the subtables (used by rename function).
virtual void mergeLock(const TableLock &lockOptions) override
Merge the given lock info with the existing one.
virtual void addColumn(const ColumnDesc &columnDesc, const String &dataManager, Bool byName, Bool addToParent) override
virtual BaseColumn * getColumn(const String &columnName) const override
Get a column object using its name.
virtual void addColumn(const ColumnDesc &columnDesc, Bool addToParent) override
Add one or more columns to the table.
virtual Bool adjustRownrs(rownr_t nrrow, Vector< rownr_t > &rownrs, Bool determineOrder) const override
Adjust the row numbers to be the actual row numbers in the root table.
NullTable & operator=(const NullTable &)=delete
Assignment is forbidden.
virtual Bool isWritable() const override
Test if this table is writable.
virtual void renameColumn(const String &newName, const String &oldName) override
Rename a column.
virtual void removeColumn(const Vector< String > &columnNames) override
Remove columns.
virtual void flush(Bool fsync, Bool recursive) override
Flush the table, i.e.
virtual Bool canAddRow() const override
Test if it is possible to add a row to this table.
virtual void addRow(rownr_t nrrow, Bool initialize) override
Add one or more rows and possibly initialize them.
virtual Bool hasLock(FileLocker::LockType) const override
Has this process the read or write lock, thus can the table be read or written safely?
virtual void removeRow(rownr_t rownr) override
Remove rows.
virtual Bool isMultiUsed(Bool checkSubTable) const override
Is the table in use (i.e.
virtual Bool lock(FileLocker::LockType, uInt nattempts) override
Try to lock the table for read or write access.
virtual void renameHypercolumn(const String &newName, const String &oldName) override
Rename a hypercolumn.
virtual void addColumn(const TableDesc &tableDesc, const DataManager &dataManager, Bool addToParent) override
virtual void resync() override
Resync the Table object with the table file.
virtual Bool rowOrder() const override
Tell if the table is in row order.
virtual DataManager * findDataManager(const String &name, Bool byColumn) const override
Find the data manager with the given name or for the given column.
virtual void reopenRW() override
All functions throw a "null table" exception.
NullTable(const NullTable &)=delete
Copy constructor is forbidden.
virtual const StorageOption & storageOption() const override
Get the storage option used for the table.
virtual Bool asBigEndian() const override
Is the table stored in big or little endian format?
TableError makeError(const String &name) const
Make an exception message with the name of the function.
virtual Bool canRemoveRow() const override
Test if it is possible to remove a row from this table.
virtual BaseTable * root() override
Get pointer to root table (i.e.
A drop-in replacement for Block<T*>.
String: the storage and methods of handling collections of characters.
this file contains all the compiler specific defines
String name() const
Return the name of the field.
bool Bool
Define the standard types used by Casacore.
uInt64 rownr_t
Define the type of a row number in a table.