casacore
|
uInt array column in table select expression More...
#include <ExprNodeArray.h>
Public Member Functions | |
TableExprNodeArrayColumnuInt (const TableColumn &, const TableExprInfo &) | |
~TableExprNodeArrayColumnuInt () override=default | |
void | applySelection (const Vector< rownr_t > &rownrs) override |
Re-create the column object for a selection of rows. | |
Int64 | getElemInt (const TableExprId &id, const Slicer &index) override |
MArray< Int64 > | getArrayInt (const TableExprId &id) override |
MArray< Int64 > | getSliceInt (const TableExprId &id, const Slicer &) override |
Array< uInt > | getElemColumnuInt (const Vector< rownr_t > &rownrs, const Slicer &) override |
![]() | |
TableExprNodeArrayColumn (const TableColumn &tablecol, const TableExprInfo &) | |
Create the object for the given column and table. | |
~TableExprNodeArrayColumn () override=default | |
TableExprInfo | getTableInfo () const override |
Get the table info for this column. | |
void | disableApplySelection () override |
Do not apply the selection. | |
const TableColumn & | getColumn () const |
Get the TableColumn object. | |
const IPosition & | getShape (const TableExprId &id) override |
Get the shape of the array in the given row. | |
Bool | isDefined (const TableExprId &id) override |
Is the value in the given row defined? | |
Bool | getColumnDataType (DataType &) const override |
Get the data type of this column. | |
![]() | |
TableExprNodeArray (NodeDataType, OperType) | |
Create the object. | |
TableExprNodeArray (const TableExprNodeRep &node, NodeDataType, OperType) | |
TableExprNodeArray (NodeDataType, OperType, const IPosition &shape) | |
~TableExprNodeArray () override=default | |
virtual TENShPtr | makeConstantScalar () |
Turn a constant array with one element into a scalar. | |
IPosition | validateIndex (const IPosition &index, const ArrayBase &arr) const |
Validate the given index against the array's shape. | |
MArray< Double > | getArrayDouble (const TableExprId &id) override |
The default implementation of getArrayDouble does getArrayInt and converts the result. | |
MArray< DComplex > | getArrayDComplex (const TableExprId &id) override |
The default implementation of getArrayDComplex does getArrayDouble and converts the result. | |
Bool | contains (const TableExprId &id, Bool value) override |
Does a value occur in the set? | |
Bool | contains (const TableExprId &id, Int64 value) override |
Bool | contains (const TableExprId &id, Double value) override |
Bool | contains (const TableExprId &id, DComplex value) override |
Bool | contains (const TableExprId &id, String value) override |
Bool | contains (const TableExprId &id, MVTime value) override |
MArray< Bool > | contains (const TableExprId &id, const MArray< Bool > &value) override |
MArray< Bool > | contains (const TableExprId &id, const MArray< Int64 > &value) override |
MArray< Bool > | contains (const TableExprId &id, const MArray< Double > &value) override |
MArray< Bool > | contains (const TableExprId &id, const MArray< DComplex > &value) override |
MArray< Bool > | contains (const TableExprId &id, const MArray< String > &value) override |
MArray< Bool > | contains (const TableExprId &id, const MArray< MVTime > &value) override |
virtual Bool | getElemBool (const TableExprId &id, const Slicer &index) |
Get a single element from the array in the given row. | |
virtual Double | getElemDouble (const TableExprId &id, const Slicer &index) |
virtual DComplex | getElemDComplex (const TableExprId &id, const Slicer &index) |
virtual String | getElemString (const TableExprId &id, const Slicer &index) |
virtual MVTime | getElemDate (const TableExprId &id, const Slicer &index) |
virtual MArray< Bool > | getSliceBool (const TableExprId &id, const Slicer &) |
Get a slice of the array in the given row. | |
virtual MArray< Double > | getSliceDouble (const TableExprId &id, const Slicer &) |
virtual MArray< DComplex > | getSliceDComplex (const TableExprId &id, const Slicer &) |
virtual MArray< String > | getSliceString (const TableExprId &id, const Slicer &) |
virtual MArray< MVTime > | getSliceDate (const TableExprId &id, const Slicer &) |
virtual Array< Bool > | getElemColumnBool (const Vector< rownr_t > &rownrs, const Slicer &) |
Get a single element for the entire column (used by sort). | |
virtual Array< uChar > | getElemColumnuChar (const Vector< rownr_t > &rownrs, const Slicer &) |
virtual Array< Short > | getElemColumnShort (const Vector< rownr_t > &rownrs, const Slicer &) |
virtual Array< uShort > | getElemColumnuShort (const Vector< rownr_t > &rownrs, const Slicer &) |
virtual Array< Int > | getElemColumnInt (const Vector< rownr_t > &rownrs, const Slicer &) |
virtual Array< Int64 > | getElemColumnInt64 (const Vector< rownr_t > &rownrs, const Slicer &) |
virtual Array< Float > | getElemColumnFloat (const Vector< rownr_t > &rownrs, const Slicer &) |
virtual Array< Double > | getElemColumnDouble (const Vector< rownr_t > &rownrs, const Slicer &) |
virtual Array< Complex > | getElemColumnComplex (const Vector< rownr_t > &rownrs, const Slicer &) |
virtual Array< DComplex > | getElemColumnDComplex (const Vector< rownr_t > &rownrs, const Slicer &) |
virtual Array< String > | getElemColumnString (const Vector< rownr_t > &rownrs, const Slicer &) |
![]() | |
TableExprNodeBinary (NodeDataType, ValueType, OperType, ExprType) | |
Constructor. | |
TableExprNodeBinary (NodeDataType, const TableExprNodeRep &, OperType) | |
~TableExprNodeBinary () override=default | |
Destructor. | |
void | show (ostream &, uInt indent) const override |
Show the expression tree. | |
void | flattenTree (std::vector< TableExprNodeRep * > &) override |
Flatten the node tree by adding the node and its children to the vector. | |
void | setChildren (const TENShPtr &left, const TENShPtr &right, Bool adapt=True) |
Set the children. | |
virtual void | handleUnits () |
Handle the units of the children and possibly set the parent's unit. | |
void | adaptDataTypes () |
If one of the children is a constant, convert its data type to that of the other operand. | |
const TENShPtr & | getLeftChild () const |
Get the child nodes. | |
const TENShPtr & | getRightChild () const |
![]() | |
TableExprNodeRep (NodeDataType, ValueType, OperType, ArgType, ExprType, Int ndim, const IPosition &shape) | |
Construct a node. | |
TableExprNodeRep (NodeDataType, ValueType, OperType, ExprType) | |
This constructor is called from the derived TableExprNodeRep. | |
TableExprNodeRep (const TableExprNodeRep &)=default | |
Copy constructor. | |
TableExprNodeRep & | operator= (const TableExprNodeRep &)=delete |
Assign to a TableExprNodeRep cannot be done. | |
virtual | ~TableExprNodeRep ()=default |
The destructor deletes all the underlying TableExprNode objects. | |
virtual Bool | isAggregate () const |
Is the node an aggegation node. | |
virtual void | optimize () |
Try to optimize the node (meant for the right hand of the IN operator). | |
virtual Double | getUnitFactor () const |
Get the unit conversion factor. | |
virtual std::shared_ptr< TableExprGroupFuncBase > | makeGroupAggrFunc () |
Create the correct immediate aggregate function object. | |
virtual Bool | isLazyAggregate () const |
Is the aggregate function a lazy or an immediate one? The default implementation returns True (because all UDF aggregate functions have to be lazy). | |
virtual Bool | getBool (const TableExprId &id) |
Get a scalar value for this node in the given row. | |
virtual Int64 | getInt (const TableExprId &id) |
virtual Double | getDouble (const TableExprId &id) |
virtual DComplex | getDComplex (const TableExprId &id) |
virtual String | getString (const TableExprId &id) |
virtual TaqlRegex | getRegex (const TableExprId &id) |
virtual MVTime | getDate (const TableExprId &id) |
virtual MArray< Bool > | getArrayBool (const TableExprId &id) |
Get an array value for this node in the given row. | |
virtual MArray< String > | getArrayString (const TableExprId &id) |
virtual MArray< MVTime > | getArrayDate (const TableExprId &id) |
void | get (const TableExprId &id, Bool &value) |
General get functions for template purposes. | |
void | get (const TableExprId &id, Int64 &value) |
void | get (const TableExprId &id, Double &value) |
void | get (const TableExprId &id, DComplex &value) |
void | get (const TableExprId &id, MVTime &value) |
void | get (const TableExprId &id, String &value) |
void | get (const TableExprId &id, MArray< Bool > &value) |
void | get (const TableExprId &id, MArray< Int64 > &value) |
void | get (const TableExprId &id, MArray< Double > &value) |
void | get (const TableExprId &id, MArray< DComplex > &value) |
void | get (const TableExprId &id, MArray< MVTime > &value) |
void | get (const TableExprId &id, MArray< String > &value) |
MArray< Bool > | getBoolAS (const TableExprId &id) |
Get a value as an array, even it it is a scalar. | |
MArray< Int64 > | getIntAS (const TableExprId &id) |
MArray< Double > | getDoubleAS (const TableExprId &id) |
MArray< DComplex > | getDComplexAS (const TableExprId &id) |
MArray< String > | getStringAS (const TableExprId &id) |
MArray< MVTime > | getDateAS (const TableExprId &id) |
rownr_t | nrow () |
Get the number of rows in the table associated with this expression. | |
virtual Array< Bool > | getColumnBool (const Vector< rownr_t > &rownrs) |
Get the value of the expression evaluated for the entire column. | |
virtual Array< uChar > | getColumnuChar (const Vector< rownr_t > &rownrs) |
virtual Array< Short > | getColumnShort (const Vector< rownr_t > &rownrs) |
virtual Array< uShort > | getColumnuShort (const Vector< rownr_t > &rownrs) |
virtual Array< Int > | getColumnInt (const Vector< rownr_t > &rownrs) |
virtual Array< uInt > | getColumnuInt (const Vector< rownr_t > &rownrs) |
virtual Array< Int64 > | getColumnInt64 (const Vector< rownr_t > &rownrs) |
virtual Array< Float > | getColumnFloat (const Vector< rownr_t > &rownrs) |
virtual Array< Double > | getColumnDouble (const Vector< rownr_t > &rownrs) |
virtual Array< Complex > | getColumnComplex (const Vector< rownr_t > &rownrs) |
virtual Array< DComplex > | getColumnDComplex (const Vector< rownr_t > &rownrs) |
virtual Array< String > | getColumnString (const Vector< rownr_t > &rownrs) |
virtual void | ranges (Block< TableExprRange > &) |
Convert the tree to a number of range vectors which at least select the same things. | |
NodeDataType | dataType () const |
Get the data type of the derived TableExprNode object. | |
Bool | isReal () const |
Is the data type real (i.e., integer or double)? | |
ValueType | valueType () const |
Get the value type. | |
void | setValueType (ValueType vtype) |
Set the value type. | |
OperType | operType () const |
Get the operator type. | |
ExprType | exprType () const |
Get the expression type. | |
Bool | isConstant () const |
Is the expression a constant? | |
const Unit & | unit () const |
Get the unit. | |
void | setUnit (const Unit &unit) |
Set the unit. | |
const Record & | attributes () const |
Get the attributes. | |
void | setAttributes (const Record &) |
Set the attributes. | |
Int | ndim () const |
Get the fixed dimensionality (same for all rows). | |
const IPosition & | shape () const |
Get the fixed shape (same for all rows). | |
const IPosition & | shape (const TableExprId &id) |
Get the shape for the given row. | |
virtual void | adaptSetUnits (const Unit &) |
Let a set node convert itself to the given unit. | |
Protected Attributes | |
ArrayColumn< uInt > | col_p |
![]() | |
TableExprInfo | tableInfo_p |
TableColumn | tabCol_p |
Bool | applySelection_p |
![]() | |
IPosition | varShape_p |
![]() | |
TENShPtr | lnode_p |
TENShPtr | rnode_p |
![]() | |
NodeDataType | dtype_p |
ValueType | vtype_p |
OperType | optype_p |
ArgType | argtype_p |
ExprType | exprtype_p |
Int | ndim_p |
IPosition | shape_p |
Unit | unit_p |
Record | attributes_p |
Additional Inherited Members | |
![]() | |
enum | NodeDataType { NTBool , NTInt , NTDouble , NTComplex , NTString , NTRegex , NTDate , NTReal , NTDouCom , NTNumeric , NTAny } |
Define the data types of a node. More... | |
enum | ValueType { VTScalar , VTArray , VTRecord , VTSetElem , VTSet , VTIndex } |
Define the value types. More... | |
enum | OperType { OtPlus , OtMinus , OtTimes , OtDivide , OtModulo , OtBitAnd , OtBitOr , OtBitXor , OtBitNegate , OtEQ , OtGE , OtGT , OtNE , OtIN , OtAND , OtOR , OtNOT , OtMIN , OtColumn , OtField , OtLiteral , OtFunc , OtSlice , OtUndef , OtRownr , OtRandom } |
Define the operator types. More... | |
enum | ArgType { NoArr , ArrArr , ArrSca , ScaArr } |
Define the value types of the 2 arguments when arrays are involved. More... | |
enum | ExprType { Constant , Variable } |
Define (sub-)expression type. More... | |
![]() | |
static MArray< Int64 > | makeArray (const IPosition &shape, Int64 value) |
Make an array with the given shape and fill it with the value. | |
static MArray< Double > | makeArray (const IPosition &shape, Double value) |
static MArray< DComplex > | makeArray (const IPosition &shape, const DComplex &value) |
![]() | |
static NodeDataType | getDT (NodeDataType leftDtype, NodeDataType rightDype, OperType operType) |
Check the data types and get the common one. | |
static TableExprNodeRep | getCommonTypes (const TENShPtr &left, const TENShPtr &right, OperType operType) |
Check the data and value types and get the common one. | |
![]() | |
static TENShPtr | replaceConstNode (const TENShPtr &node) |
Replace a node with a constant expression by node with its value. | |
static void | createRange (Block< TableExprRange > &, TableExprNodeColumn *, Double start, Double end) |
Create a range object from a column and an interval. | |
static void | createRange (Block< TableExprRange > &) |
Create a empty range object. | |
static String | typeString (NodeDataType) |
Convert a NodeDataType to a string. | |
static String | typeString (ValueType) |
Convert a ValueType to a string. | |
![]() | |
void | fillExprType (const TableExprNodeRep *node) |
Set expression type to Variable if node is Variable. | |
![]() | |
static const Unit & | makeEqualUnits (const TENShPtr &left, TENShPtr &right) |
Make the units equal. | |
![]() | |
static TENShPtr | convertNode (const TENShPtr &thisNode, Bool convertConstType) |
If the node is constant, it is evaluated and replaced by the appropriate TableExprNodeConst object. | |
uInt array column in table select expression
Internal
These classes store an array column of type X.
Definition at line 461 of file ExprNodeArray.h.
casacore::TableExprNodeArrayColumnuInt::TableExprNodeArrayColumnuInt | ( | const TableColumn & | , |
const TableExprInfo & | |||
) |
|
overridedefault |
|
overridevirtual |
Re-create the column object for a selection of rows.
Reimplemented from casacore::TableExprNodeArrayColumn.
|
overridevirtual |
Reimplemented from casacore::TableExprNodeRep.
|
overridevirtual |
Reimplemented from casacore::TableExprNodeArray.
|
overridevirtual |
Reimplemented from casacore::TableExprNodeArray.
|
overridevirtual |
Reimplemented from casacore::TableExprNodeArray.
|
protected |
Definition at line 478 of file ExprNodeArray.h.