TableCopy.h
Classes
- TableCopy -- Class with static functions for copying a table. (full description)
Interface
- Public Members
- static Table makeEmptyTable (const String& newName, const Record& dataManagerInfo, const Table& tab, Table::TableOption option, Bool replaceTSM = True, Bool noRows = False)
- static Table makeEmptyMemoryTable (const String& newName, const Table& tab, Bool noRows = False)
- static void copyRows (Table& out, const Table& in)
- static void copyRows (Table& out, const Table& in, uInt startout, uInt startin, uInt nrrow)
- static void copyInfo (Table& out, const Table& in)
- static void copySubTables (Table& out, const Table& in)
- static void copySubTables (TableRecord& outKeys, const TableRecord& inKeys, const String& outName, Table::TableType outType, const Table& in)
- static void adjustTSM (TableDesc& tabDesc, Record& dminfo)
Prerequisite
Synopsis
TableCopy is a class for making a deep copy of a table.
The table can be a PlainTable or a RefTable.
It contains the following static functions:
- makeEmptyTable creates a new table using the
description and storage managers of the input table.
By default TiledDataStMan (which is more or less obsolete) will
be replaced by TiledShapeStMan.
By default the new table contains the same number of rows as the
existing table.
- copyRows copies the data of one to another table.
It is possible to specify where to start in the input and output.
- CopyInfo copies the table info data.
- copySubTables copies all the subtables in table and
column keywords. It is done recursively.
Member Description
static Table makeEmptyTable (const String& newName, const Record& dataManagerInfo, const Table& tab, Table::TableOption option, Bool replaceTSM = True, Bool noRows = False)
Make an (empty) table with the same layout as the input one.
It has the same keywords, columns, and data managers as the
input one.
By default, the TiledDataStMan will be replaced by the TiledShapeStMan.
By default, the new table has the same nr of rows as the input table.
If noRows=True is given, it does not contain any row.
Make an (empty) memory table with the same layout as the input one.
It has the same keywords and columns as the input one.
By default, the new table has the same nr of rows as the input table.
If noRows=True is given, it does not contain any row.
static void copyRows (Table& out, const Table& in)
static void copyRows (Table& out, const Table& in, uInt startout, uInt startin, uInt nrrow)
Copy rows from the input to the output.
By default all rows will be copied starting at row 0 of the output.
Rows will be added to the output table as needed.
Copy the table info block from input to output table.
Copy all subtables (in table and column keywords) from input to
output table.
Copy the subtables in the given keywordset to the output keywordset
in the table with the given name.
Replace TiledDataStMan by TiledShapeStMan in the DataManagerInfo record.
Since TiledShapeStMan does not support ID columns, they are
adjusted as well in tabDesc and dminfo.