28 #ifndef TABLES_MSMBASE_H
29 #define TABLES_MSMBASE_H
33 #include <casacore/casa/aips.h>
34 #include <casacore/tables/DataMan/DataManager.h>
35 #include <casacore/casa/Containers/Block.h>
162 const String& dataTypeID);
165 const String& dataTypeID);
168 const String& dataTypeID);
Abstract base class for a data manager.
virtual void prepare()
Let the data manager initialize itself further.
virtual rownr_t open64(rownr_t nrrow, AipsIO &)
Open the storage manager file for an existing table.
virtual void deleteManager()
The data manager will be deleted (because all its columns are requested to be deleted).
virtual DataManagerColumn * reallocateColumn(DataManagerColumn *column)
Reallocate the column object if it is part of this data manager.
virtual DataManagerColumn * makeIndArrColumn(const String &name, int dataType, const String &dataTypeID)
Create an indirect array column.
virtual Bool canRemoveColumn() const
Does the storage manager allow to delete columns? (yes)
rownr_t nrow() const
Get the nr of rows in this storage manager.
MSMBase()
Create a memory storage manager.
static DataManager * makeObject(const String &dataManagerType, const Record &spec)
Make the object from the string.
virtual String dataManagerType() const
Get the type name of the data manager (i.e.
virtual Bool flush(AipsIO &, Bool fsync)
Flush and optionally fsync the data.
Bool hasPut_p
Has anything been put since the last flush?
virtual void create64(rownr_t nrrow)
Let the storage manager create the nr of rows needed.
MSMBase(const String &storageManagerName, const Record &)
virtual void removeRow64(rownr_t rownr)
Delete a row from all columns.
PtrBlock< MSMColumn * > colSet_p
The assembly of all columns.
virtual Bool canReallocateColumns() const
The MemoryStMan wants to do reallocateColumn.
virtual void removeColumn(DataManagerColumn *)
Delete a column.
virtual Bool canRemoveRow() const
Does the storage manager allow to delete rows? (yes)
virtual Bool canAddRow() const
Does the storage manager allow to add rows? (yes)
MSMBase(const String &storageManagerName)
Create a memory storage manager with the given name.
void setHasPut()
Set the hasPut_p flag.
virtual DataManager * clone() const
Clone this object.
virtual DataManagerColumn * makeDirArrColumn(const String &name, int dataType, const String &dataTypeID)
Create a direct array column.
rownr_t nrrowCreate_p
The number of rows in create().
virtual DataManagerColumn * makeScalarColumn(const String &name, int dataType, const String &dataTypeID)
Create a column in the storage manager on behalf of a table column.
virtual void addRow64(rownr_t nrrow)
Add rows to all columns.
virtual rownr_t resync64(rownr_t nrrow)
Resync the storage manager with the new file contents.
String stmanName_p
Name given by user to this storage manager.
virtual void addColumn(DataManagerColumn *)
Add a column.
virtual Bool canAddColumn() const
Does the storage manager allow to add columns? (yes)
virtual String dataManagerName() const
Get the name given to this storage manager.
rownr_t nrrow_p
The number of rows in the columns.
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.