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.
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
bool Bool
Define the standard types used by Casacore.
uInt64 rownr_t
Define the type of a row number in a table.