Class representing a scalar UDF in select expression. More...
#include <ExprUDFNode.h>
Public Member Functions | |
TableExprUDFNode (UDFBase *udf, const Table &, const TableExprNodeSet &source) | |
Constructor. | |
virtual | ~TableExprUDFNode () |
Destructor. | |
Bool | isAggregate () const |
Is the UDF an aggregate function? | |
virtual void | getAggrNodes (vector< TableExprNodeRep * > &aggr) |
Get the nodes representing an aggregate function. | |
virtual void | getColumnNodes (vector< TableExprNodeRep * > &cols) |
Get the nodes representing a table column. | |
virtual void | disableApplySelection () |
Do not apply the selection. | |
virtual void | applySelection (const Vector< uInt > &rownrs) |
If needed, let the UDF re-create column objects for a selection of rows. | |
CountedPtr < TableExprGroupFuncBase > | makeGroupAggrFunc () |
UDFs do not need a TableExprGroupFuncBase, so TableExprGroupNull is returned. | |
virtual Bool | getBool (const TableExprId &id) |
Functions to get the desired result of a function. | |
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) |
Private Attributes | |
UDFBase * | itsUDF |
Class representing a scalar UDF in select expression.
Internal
This class represents a function in a table select tree. The rownumber
function is represented by class TableExprNodeRownr . The rowid
function is represented by class TableExprNodeRowid . The rand
function is represented by class TableExprNodeRandom .
When one wants to add a function to the table selection grammar, the following has to be done:
Definition at line 75 of file ExprUDFNode.h.
casacore::TableExprUDFNode::TableExprUDFNode | ( | UDFBase * | udf, | |
const Table & | , | |||
const TableExprNodeSet & | source | |||
) |
Constructor.
virtual casacore::TableExprUDFNode::~TableExprUDFNode | ( | ) | [virtual] |
Destructor.
If needed, let the UDF re-create column objects for a selection of rows.
It calls the function recreateColumnObjects.
Reimplemented from casacore::TableExprNodeRep.
virtual void casacore::TableExprUDFNode::disableApplySelection | ( | ) | [virtual] |
Do not apply the selection.
Reimplemented from casacore::TableExprNodeRep.
virtual void casacore::TableExprUDFNode::getAggrNodes | ( | vector< TableExprNodeRep * > & | aggr | ) | [virtual] |
Get the nodes representing an aggregate function.
Reimplemented from casacore::TableExprNodeMulti.
virtual Bool casacore::TableExprUDFNode::getBool | ( | const TableExprId & | id | ) | [virtual] |
Functions to get the desired result of a function.
Reimplemented from casacore::TableExprNodeRep.
virtual void casacore::TableExprUDFNode::getColumnNodes | ( | vector< TableExprNodeRep * > & | cols | ) | [virtual] |
Get the nodes representing a table column.
Reimplemented from casacore::TableExprNodeMulti.
virtual MVTime casacore::TableExprUDFNode::getDate | ( | const TableExprId & | id | ) | [virtual] |
Reimplemented from casacore::TableExprNodeRep.
virtual DComplex casacore::TableExprUDFNode::getDComplex | ( | const TableExprId & | id | ) | [virtual] |
Reimplemented from casacore::TableExprNodeRep.
virtual Double casacore::TableExprUDFNode::getDouble | ( | const TableExprId & | id | ) | [virtual] |
Reimplemented from casacore::TableExprNodeRep.
virtual Int64 casacore::TableExprUDFNode::getInt | ( | const TableExprId & | id | ) | [virtual] |
Reimplemented from casacore::TableExprNodeRep.
virtual TaqlRegex casacore::TableExprUDFNode::getRegex | ( | const TableExprId & | id | ) | [virtual] |
Reimplemented from casacore::TableExprNodeRep.
virtual String casacore::TableExprUDFNode::getString | ( | const TableExprId & | id | ) | [virtual] |
Reimplemented from casacore::TableExprNodeRep.
Bool casacore::TableExprUDFNode::isAggregate | ( | ) | const [inline] |
Is the UDF an aggregate function?
Definition at line 87 of file ExprUDFNode.h.
References casacore::UDFBase::isAggregate(), and itsUDF.
CountedPtr<TableExprGroupFuncBase> casacore::TableExprUDFNode::makeGroupAggrFunc | ( | ) | [virtual] |
UDFs do not need a TableExprGroupFuncBase, so TableExprGroupNull is returned.
Reimplemented from casacore::TableExprNodeRep.
UDFBase* casacore::TableExprUDFNode::itsUDF [private] |
Definition at line 119 of file ExprUDFNode.h.
Referenced by isAggregate().