28 #ifndef TABLES_CONCATTABLE_H
29 #define TABLES_CONCATTABLE_H
134 const String& subDirName);
230 int tableOption,
Bool,
int endianFormat,
296 Bool byColumn)
const;
Block< String > subTableNames_p
void checkAddColumn(const String &name, Bool addToParent)
Check if the column can be added, thus does not exist yet.
const ConcatRows & rows() const
Get the rows object.
A 1-D Specialization of the Array class.
virtual const TableLock & lockOptions() const
Get the locking info.
virtual void addColumn(const ColumnDesc &columnDesc, Bool addToParent)
Add one or more columns to the table.
int tableOption() const
Get the table option.
void addInfo()
Add lines containing the concatenated tables to the info.
Class holding the row numbers in a ConcatTable.
Main interface class to a read/write table.
virtual Bool lock(FileLocker::LockType, uInt nattempts)
Try to lock the table for read or write access.
AipsIO is the object persistency mechanism of Casacore.
virtual void deepCopy(const String &newName, const Record &dataManagerInfo, const StorageOption &, int tableOption, Bool, int endianFormat, Bool noRows) const
Copy the table and all its subtables.
Envelope class for the description of a table column.
std::map< String, ConcatColumn * > colMap_p
void setup(BaseTable *btp, const Vector< String > &columnNames)
Setup the main parts of the object.
virtual int tableType() const
It returns the type of the parent table.
virtual void removeRow(rownr_t rownr)
Remove the given row.
virtual DataManager * findDataManager(const String &name, Bool byColumn) const
Find the data manager with the given name or for the given column.
void makeConcatCol()
Create the ConcatColumn objects for all columns in the description.
virtual void copy(const String &newName, int tableOption) const
This is doing a shallow copy.
virtual Bool canRemoveColumn(const Vector< String > &columnNames) const
Test if columns can be removed (no).
virtual void unlock()
Unlock the table.
void showStructureExtra(std::ostream &) const
Show the extra table structure info (names of used tables).
Options defining how table files are organized.
ConcatTable(const Block< Table > &tables, const Block< String > &subTables, const String &subDirName)
Create a virtual table as the concatenation of the given tables.
ConcatTable & operator=(const ConcatTable &)
Assignment is forbidden, because copying a table requires some more knowledge (like table name of res...
virtual Bool hasLock(FileLocker::LockType) const
Has this process the read or write lock, thus can the table be read or written safely?
Abstract base class for tables.
virtual ~ConcatTable()
The destructor flushes (i.e.
virtual void renameColumn(const String &newName, const String &oldName)
Rename a column.
virtual const StorageOption & storageOption() const
Get the storage option used for the table.
virtual Bool asBigEndian() const
Is the table stored in big or little endian format? It returns the endianness of the first underlying...
void writeConcatTable(Bool fsync)
Write a reference table.
virtual TableDesc actualTableDesc() const
Get the actual table description.
virtual TableRecord & keywordSet()
Get readonly access to the table keyword set.
void openTables(const Block< String > &tableNames, int option, const TableLock &lockOptions, const TSMOption &tsmOption)
Open all tables in the required way.
virtual void renameHypercolumn(const String &newName, const String &oldName)
Rename a hypercolumn.
Options for the Tiled Storage Manager Access.
virtual Bool canRenameColumn(const String &columnName) const
Test if a column can be renamed (no).
A hierarchical collection of named fields of various types.
bool Bool
Define the standard types used by Casacore.
virtual Bool canRemoveRow() const
Test if it is possible to remove a row from this table (no).
virtual void removeColumn(const Vector< String > &columnNames)
Remove a column.
virtual uInt getModifyCounter() const
Get the modify counter.
virtual void flush(Bool fsync, Bool recursive)
Flush the table, i.e.
virtual Record dataManagerInfo() const
Get the data manager info (of the first underlying table).
static void getLayout(TableDesc &desc, AipsIO &ios)
Return the layout of a table (i.e.
virtual TableRecord & rwKeywordSet()
Get read/write access to the table keyword set.
Class to hold table lock options.
void addConcatCol(const ColumnDesc &cd)
Add a column, with internal bookeeping (columns map).
A hierarchical collection of named fields of various types.
Block< BaseColumn * > getRefColumns(const String &columnName)
Get the column objects in the referenced tables.
virtual BaseColumn * getColumn(uInt columnIndex) const
Get a column object using its index.
uInt64 rownr_t
Define the type of a row number in a table.
virtual void getPartNames(Block< String > &names, Bool recursive) const
Get the names of the tables this table consists of.
virtual void reopenRW()
Try to reopen the table (the underlying ones) for read/write access.
Abstract base class for a data manager.
virtual Bool isMultiUsed(Bool checkSubTable) const
Is the table in use (i.e.
virtual Bool isWritable() const
Test if all underlying tables are opened as writable.
void getConcat(AipsIO &, int option, const TableLock &lockOptions, const TSMOption &tsmOption)
Read a concat table from a file.
String: the storage and methods of handling collections of characters.
virtual void mergeLock(const TableLock &lockOptions)
Merge the given lock info with the existing one.
Table asTable()
Create a (temporary) Table object from it.
void handleSubTables()
Handle the subtales that have to be concatenated.
Define the structure of a Casacore table.
virtual void resync()
Resync the Table object with the table files.
LockType
Define the possible lock types.
const TableDesc & tableDesc() const
Get the table description.
Class to view a concatenation of tables as a single table.
void initialize()
Initialize.
Abstract base class for a table column.