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> 40 #include <casacore/casa/Containers/SimOrdMap.h> 134 const String& subDirName);
229 int tableOption,
Bool,
int endianFormat,
295 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.
virtual Bool hasLock(FileLocker::LockType) const
Has this process the read or write lock, thus can the table be read or written safely?
A 1-D Specialization of the Array class.
virtual void addColumn(const ColumnDesc &columnDesc, Bool addToParent)
Add one or more columns to the table.
SimpleOrderedMap< String, ConcatColumn * > colMap_p
const TableDesc & tableDesc() const
Get the table description.
void addInfo()
Add lines containing the concatenated tables to the info.
Class holding the row numbers in a ConcatTable.
virtual const StorageOption & storageOption() const
Get the storage option used for the table.
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 const TableLock & lockOptions() const
Get the locking info.
Envelope class for the description of a table column.
void setup(BaseTable *btp, const Vector< String > &columnNames)
Setup the main parts of the object.
virtual Bool asBigEndian() const
Is the table stored in big or little endian format? It returns the endianness of the first underlying...
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.
void showStructureExtra(std::ostream &) const
Show the extra table structure info (names of used tables).
int tableOption() const
Get the table option.
virtual void getPartNames(Block< String > &names, Bool recursive) const
Get the names of the tables this table consists of.
virtual void unlock()
Unlock the table.
virtual Bool canRenameColumn(const String &columnName) const
Test if a column can be renamed (no).
Options defining how table files are organized.
virtual Bool canRemoveColumn(const Vector< String > &columnNames) const
Test if columns can be removed (no).
ConcatTable & operator=(const ConcatTable &)
Assignment is forbidden, because copying a table requires some more knowledge (like table name of res...
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.
Simple map with keys ordered.
Abstract base class for tables.
virtual ~ConcatTable()
The destructor flushes (i.e.
ConcatTable(const Block< BaseTable *> &tables, const Block< String > &subTables, const String &subDirName)
Create a virtual table as the concatenation of the given tables.
virtual int tableType() const
It returns the type of the parent table.
virtual void copy(const String &newName, int tableOption) const
This is doing a shallow copy.
virtual void renameColumn(const String &newName, const String &oldName)
Rename a column.
void writeConcatTable(Bool fsync)
Write a reference table.
virtual TableRecord & keywordSet()
Get readonly access to the table keyword set.
virtual void deepCopy(const String &newName, const Record &dataManagerInfo, 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 void renameHypercolumn(const String &newName, const String &oldName)
Rename a hypercolumn.
virtual uInt getModifyCounter() const
Get the modify counter.
Options for the Tiled Storage Manager Access.
virtual BaseColumn * getColumn(uInt columnIndex) const
Get a column object using its index.
virtual void removeRow(uInt rownr)
Remove the given row.
A hierarchical collection of named fields of various types.
bool Bool
Define the standard types used by Casacore.
virtual void removeColumn(const Vector< String > &columnNames)
Remove a column.
virtual void flush(Bool fsync, Bool recursive)
Flush the table, i.e.
Block< BaseTable * > baseTabPtr_p
virtual Bool canRemoveRow() const
Test if it is possible to remove a row from this table (no).
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.
A hierarchical collection of named fields of various types.
Block< BaseColumn * > getRefColumns(const String &columnName)
Get the column objects in the referenced tables.
virtual void reopenRW()
Try to reopen the table (the underlying ones) for read/write access.
Abstract base class for a data manager.
virtual TableDesc actualTableDesc() const
Get the actual table description.
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.
const ConcatRows & rows() const
Get the rows object.
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.
Class to view a concatenation of tables as a single table.
this file contains all the compiler specific defines
virtual Record dataManagerInfo() const
Get the data manager info (of the first underlying table).
void initialize()
Initialize.
Abstract base class for a table column.