26#ifndef TABLES_TABLEPARSEUPDATE_H 
   27#define TABLES_TABLEPARSEUPDATE_H 
   30#include <casacore/casa/aips.h> 
   31#include <casacore/tables/TaQL/ExprNode.h> 
   32#include <casacore/casa/BasicSL/String.h> 
   38  class TableExprNodeSet;
 
   39  class TableExprNodeIndex;
 
   43  template<
class T> 
class ArrayColumn;
 
  139    template<
typename TCOL, 
typename TNODE>
 
  145    template<
typename TCOL, 
typename TNODE>
 
  149    template<
typename TCOL, 
typename TNODE>
 
  154    template<
typename TCOL, 
typename TNODE>
 
  160    template<
typename TCOL, 
typename TNODE>
 
 
String: the storage and methods of handling collections of characters.
 
The index of an array element in a table select expression.
 
void adaptUnit(const Unit &)
Adapt the unit of the expression to the given unit (if not empty).
 
void checkMaskColumn(Bool hasMask, const ArrayColumn< Bool > &maskCol, const TableColumn &col)
 
const String & columnNameMask() const
Get the possible column name for the mask.
 
TableParseUpdate(const String &columnName, const String &columnNameMask, const TableExprNodeSet &indices, const TableExprNode &, const TaQLStyle &)
Construct from a column name, subscripts or mask, and expression.
 
void setNode(const TableExprNode &node)
Set the node expression (used by TableParseQuery::doInsert).
 
void adaptUnit(const Unit &columnUnit)
Adapt the possible unit of the expression to the possible unit of the column.
 
TableExprNode indexNode_p
 
void updateArray(rownr_t row, const TableExprId &rowid, const TableExprNode &node, const Array< TNODE > &res, ArrayColumn< TCOL > &col)
 
void check(const Table &origTable, const Table &updTable) const
Check if the update column and expression specifications match.
 
void updateColumn(TableColumn &col, ArrayColumn< Bool > &maskCol, rownr_t row, const TableExprId &rowid)
Update the values in the column with the values of the node_p expression.
 
TableParseUpdate(const String &columnName, const String &columnNameMask, const TableExprNode &, Bool checkAggr=True)
Construct from a column name and expression.
 
void updateSlice(rownr_t row, const TableExprId &rowid, const TableExprNode &node, const Array< TNODE > &res, const Slicer &slice, ArrayColumn< TCOL > &col)
 
void setColumnName(const String &name)
Set the column name.
 
Array< Bool > makeMaskSlice(const Array< Bool > &mask, const IPosition &shapeCol, const Slicer *slicerPtr)
 
void updateValue(rownr_t row, const TableExprId &rowid, Bool isScalarCol, const TableExprNode &node, const Array< Bool > &mask, TableColumn &col, const Slicer *slicerPtr, ArrayColumn< Bool > &maskCol)
Update the values in the columns (helpers of updateColumn).
 
TableExprNodeIndex * indexPtr_p
 
const String & columnName() const
Get the column name.
 
void updateScalar(rownr_t row, const TableExprId &rowid, const TableExprNode &node, TableColumn &col)
 
void handleIndices(const TableExprNodeSet &indices, const TaQLStyle &style)
Handle the subscripts or mask.
 
TableParseUpdate(const String &columnName, const String &columnNameMask, const TableExprNodeSet &indices1, const TableExprNodeSet &indices2, const TableExprNode &, const TaQLStyle &)
Construct from a column name, subscripts and mask, and expression.
 
void setColumnNameMask(const String &name)
Set the column name for the mask.
 
void copyMaskedValue(rownr_t row, ArrayColumn< TCOL > &acol, const Slicer *slicerPtr, const TNODE *val, size_t incr, const Array< Bool > &mask)
 
this file contains all the compiler specific defines
 
LatticeExprNode mask(const LatticeExprNode &expr)
This function returns the mask of the given expression.
 
bool Bool
Define the standard types used by Casacore.
 
uInt64 rownr_t
Define the type of a row number in a table.