Getting Started Documentation Glish Learn More Programming Contact Us
Version 1.9 Build 1556
News FAQ
Search Home


next up previous contents index
Next: table.copyrows - Function Up: table - Tool Previous: table.close - Function


table.copy - Function



Package utility
Module table
Tool table


copy a table


Synopsis
copy(newtablename, deep, valuecopy, dminfo, endian, memorytable, returnobject, copynorows)


Description
Copy the table. All subtables are also copied. References to another table are preserved.

The argument deep determines how a reference table (i.e. the result of a query) is copied. By default a file copy is made, thus the resulting table still contains references and no actual data. If, however, deep=T is given, a deep copy is made which means that the actual data are copied. Also all subtables are copied.
Normally a plain table is copied by copying the files. However, if deep=T and valuecopy=T are given, a plain table is copied by copying all its values and subtables. This is useful to reorganize the tables, i.e. to regain file space that is wasted by frequent updates to a table.
The argument dminfo can be used to specify explicit data manager info for the columns in the new plain table. It can be used to change, for example, a storage manager from IncrStMan to StandardStMan. The dminfo is a record as returned by the getdminfo If dminfo is a non-empty record, it forces valuecopy=T.

By default all data are copied when a table and its subtables are copied. However, by giving copynorows=T the rows are not copied, thus only the table structure and keywords are copied.

The standard operation is make the copy to a plain table. It is, however, possible to copy to a memory table by giving memorytable=T.

The endian format for the newly created table can be specified. This is only meaningful if a deep copy is made to a plain table. The possible values are:
- big: big endian format (as used on e.g. SUN)
- little: little endian format (as used on e.g. PC)
- local: use the endian format of the machine being used
- aipsrc: use the endian format specified in aipsrc variable table.endianformat (which defaults to big).
The default is aipsrc.

Normally the copy function only copies the table and does not create a new table tool object. The user can do that by opening the newly created table in the standard way. However, it is possible to get an object back by using returnobject=T. An object is always returned if the copy is made to a memory table.



Arguments

newtablename in Name of newtable on disk
    Allowed: String
deep in Make a deep copy of a reference table?
    Allowed: Bool
    Default: F
valuecopy in Make a deep copy of any table?
    Allowed: Bool
    Default: F
dminfo in Data manager info for new table
    Allowed: Record
    Default: [=]
endian in Endian format of new table
    Allowed: String
    Default: aipsrc
memorytable in Hold new table in memory?
    Allowed: Bool
    Default: F
returnobject in Return a tool object for the new table
    Allowed: Bool
    Default: F
copynorows in Make no copy of the rows?
    Allowed: Bool
    Default: F


Returns
Bool




next up previous contents index
Next: table.copyrows - Function Up: table - Tool Previous: table.close - Function   Contents   Index
Please send questions or comments about AIPS++ to aips2-request@nrao.edu.
Copyright © 1995-2000 Associated Universities Inc., Washington, D.C.

Return to AIPS++ Home Page
2006-10-15