| 
    casacore
    
   | 
 
Rowid in table select expression tree. More...
#include <ExprDerNode.h>
Public Member Functions | |
| TableExprNodeRowid (const TableExprInfo &) | |
| ~TableExprNodeRowid () override=default | |
| TableExprInfo | getTableInfo () const override | 
| Get the table info.   | |
| void | applySelection (const Vector< rownr_t > &rownrs) override | 
| Re-create the column object for a selection of rows.   | |
| Int64 | getInt (const TableExprId &id) override | 
  Public Member Functions inherited from casacore::TableExprNodeBinary | |
| 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 | 
  Public Member Functions inherited from casacore::TableExprNodeRep | |
| 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 void | disableApplySelection () | 
| Do not apply the selection.   | |
| 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 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< Int64 > | getArrayInt (const TableExprId &id) | 
| virtual MArray< Double > | getArrayDouble (const TableExprId &id) | 
| virtual MArray< DComplex > | getArrayDComplex (const TableExprId &id) | 
| 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) | 
| virtual Bool | contains (const TableExprId &id, Bool value) | 
| Does a set or array contain the value? The default implementation assumes the set is a single scalar, thus tests if it is equal to the given value.   | |
| virtual Bool | contains (const TableExprId &id, Int64 value) | 
| virtual Bool | contains (const TableExprId &id, Double value) | 
| virtual Bool | contains (const TableExprId &id, DComplex value) | 
| virtual Bool | contains (const TableExprId &id, String value) | 
| virtual Bool | contains (const TableExprId &id, MVTime value) | 
| virtual MArray< Bool > | contains (const TableExprId &id, const MArray< Bool > &value) | 
| virtual MArray< Bool > | contains (const TableExprId &id, const MArray< Int64 > &value) | 
| virtual MArray< Bool > | contains (const TableExprId &id, const MArray< Double > &value) | 
| virtual MArray< Bool > | contains (const TableExprId &id, const MArray< DComplex > &value) | 
| virtual MArray< Bool > | contains (const TableExprId &id, const MArray< String > &value) | 
| virtual MArray< Bool > | contains (const TableExprId &id, const MArray< MVTime > &value) | 
| rownr_t | nrow () | 
| Get the number of rows in the table associated with this expression.   | |
| virtual Bool | getColumnDataType (DataType &) const | 
| Get the data type of the column.   | |
| 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 Bool | isDefined (const TableExprId &id) | 
| Is the value in the given row defined? The default implementation returns True.   | |
| virtual void | adaptSetUnits (const Unit &) | 
| Let a set node convert itself to the given unit.   | |
Private Attributes | |
| TableExprInfo | tableInfo_p | 
| Vector< rownr_t > | rownrs_p | 
Additional Inherited Members | |
  Public Types inherited from casacore::TableExprNodeRep | |
| 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 Public Member Functions inherited from casacore::TableExprNodeBinary | |
| 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 Public Member Functions inherited from casacore::TableExprNodeRep | |
| 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.   | |
  Protected Member Functions inherited from casacore::TableExprNodeRep | |
| virtual const IPosition & | getShape (const TableExprId &id) | 
| Get the shape for the given row.   | |
| void | fillExprType (const TableExprNodeRep *node) | 
| Set expression type to Variable if node is Variable.   | |
  Static Protected Member Functions inherited from casacore::TableExprNodeBinary | |
| static const Unit & | makeEqualUnits (const TENShPtr &left, TENShPtr &right) | 
| Make the units equal.   | |
  Static Protected Member Functions inherited from casacore::TableExprNodeRep | |
| static TENShPtr | convertNode (const TENShPtr &thisNode, Bool convertConstType) | 
| If the node is constant, it is evaluated and replaced by the appropriate TableExprNodeConst object.   | |
  Protected Attributes inherited from casacore::TableExprNodeBinary | |
| TENShPtr | lnode_p | 
| TENShPtr | rnode_p | 
  Protected Attributes inherited from casacore::TableExprNodeRep | |
| 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 | 
Rowid in table select expression tree.
Internal
This class represents the rowid() function in a table select expression tree. It is meant to get the original row number in a GIVING clause, but, of course, it can also be used in the SELECT clause. The row number returned is 0-based.
Definition at line 405 of file ExprDerNode.h.
| casacore::TableExprNodeRowid::TableExprNodeRowid | ( | const TableExprInfo & | ) | 
      
  | 
  overridedefault | 
      
  | 
  overridevirtual | 
Re-create the column object for a selection of rows.
The default implementation does nothing.
Reimplemented from casacore::TableExprNodeRep.
      
  | 
  overridevirtual | 
Reimplemented from casacore::TableExprNodeRep.
      
  | 
  overridevirtual | 
Get the table info.
The default implementation returns an info object with a null table.
Reimplemented from casacore::TableExprNodeRep.
Definition at line 415 of file ExprDerNode.h.
      
  | 
  private | 
Definition at line 414 of file ExprDerNode.h.