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