<casaxml xsi:schemaLocation="http://casa.nrao.edu/schema/casa.xsd file:///opt/casa/code/tools/xml/casa.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://casa.nrao.edu/schema/psetTypes.html">
<tool module="table" name="table">
<shortdescription>Access tables from casapy</shortdescription>
<include>table_forward.h</include>
<include>table_private.h</include>
table is the tool that contains all the functions relevant for
<method name="table" type="constructor">
<shortdescription>Construct table tool</shortdescription>
Use this constructor to construct a table tool inside casapy from
the name of a disk file containing a \casa\ Table. A
new table may also be created from a table descriptor
(see <link anchor="table:tablecreatedesc.function">tablecreatedesc</link>).
When creating a new table, detailed data manager information can be
given using the \texttt{dminfo} argument. This is a record as
returned by the <link anchor="table:table.getdminfo.function">getdminfo</link>
Most of the arguments are rarely used: most of the time, you'll
just need to use the tablename, and perhaps nomodify.
A table can be shared by multiple processes by using the appropriate
locking options. The possible options are:
\\- auto: let the system take care of locking. At regular time
intervals these autolocks are released to give other processes the
opportunity to access the table. The aipsrc variable
\\\texttt{table.relinquish.reqautolocks.interval} defines the number
of seconds between releasing autolocks on tables needed in another process.
\\\texttt{table.relinquish.allautolocks.interval} defines the number
of seconds between releasing all autolocks.
\\- autonoread: as auto, but no read locking is needed. This must be
used with care, because it means that reading can be done while
the table tool is not synchronized with the table file (as is
normally done when a lock is acquired). The function \texttt{resync}
can be used to explicitly synchronize the table tool
\\- user: the user takes care by explicit calls to lock and unlock
\\- usernoread: as user and the no readlocking behaviour of autonoread.
\\- permanent: use a permanent lock; the constructor fails when the table is
already in use in another process
\\- permanentwait: as above, but wait until the other process
\\- default: this is the default option.