1#ifndef CASACORE_UVW_STORAGE_MANAGER_H_
2#define CASACORE_UVW_STORAGE_MANAGER_H_
4#include <casacore/tables/DataMan/DataManager.h>
6#include <casacore/casa/Containers/Record.h>
56 throw std::runtime_error(
57 "makeScalarColumn() called on a UvwStMan. UvwStMan can only make array "
62 const String &dataTypeID)
final;
66 throw std::runtime_error(
67 "makeIndArrColumn() called on a UvwStMan. UvwStMan can only make "
DataManager()
Default constructor.
String: the storage and methods of handling collections of characters.
Stores values of a UVW column in a compressed way.
UvwStMan(const UvwStMan &source)
The columns are not copied: the new manager will be empty.
DataManagerColumn * makeScalarColumn(const String &, int, const String &) final
Create a column in the data manager on behalf of a table column.
void prepare() final
Prepare is called after create/open has been called for all columns.
void create64(rownr_t nRow) final
Let the data manager initialize itself for a new table.
rownr_t open64(rownr_t nRow, AipsIO &) final
Let the data manager initialize itself for an existing table.
String dataManagerType() const final
Return the type name of the data manager (in fact its class name).
rownr_t resync64(rownr_t nRow) final
Resync the data by rereading cached data from the file.
void removeColumn(DataManagerColumn *) final
Remove a column from the data file.
std::unique_ptr< UvwStManColumn > column_
static DataManager * makeObject(const String &name, const Record &spec)
void reopenRW() final
Reopen the storage manager files for read/write.
Bool flush(AipsIO &, Bool) final
Flush and optionally fsync the data.
void deleteManager() final
The data manager will be deleted (because all its columns are requested to be deleted).
Record dataManagerSpec() const final
Return a record containing data manager specifications.
DataManager * clone() const final
Make a clone of the derived object.
void removeRow64(rownr_t row_nr) final
Delete a row from all columns.
void addColumn(DataManagerColumn *) final
Do the final addition of a column.
DataManagerColumn * makeDirArrColumn(const String &name, int dataType, const String &dataTypeID) final
Create a direct array column.
UvwStMan(const String &, const Record &)
void addRow64(rownr_t nrrow) final
Add rows to the storage manager.
DataManagerColumn * makeIndArrColumn(const String &, int, const String &) final
Create an indirect array column.
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.
DataType dataType(const RecordFieldId &) const