|
| | TableExprConeNode (FunctionType, NodeDataType, const TableExprNodeSet &source, uInt origin) |
| | Constructor. More...
|
| |
| | ~TableExprConeNode () |
| | Destructor. More...
|
| |
| Bool | getBool (const TableExprId &id) |
| | 'get' Functions to get the desired result of a function. More...
|
| |
| Int64 | getInt (const TableExprId &id) |
| |
| | TableExprFuncNode (FunctionType, NodeDataType, ValueType, const TableExprNodeSet &source, const Table &=Table()) |
| | Constructor. More...
|
| |
| | ~TableExprFuncNode () |
| | Destructor. More...
|
| |
| Bool | getBool (const TableExprId &id) |
| | 'get' Functions to get the desired result of a function More...
|
| |
| Int64 | getInt (const TableExprId &id) |
| |
| Double | getDouble (const TableExprId &id) |
| |
| DComplex | getDComplex (const TableExprId &id) |
| |
| String | getString (const TableExprId &id) |
| |
| TaqlRegex | getRegex (const TableExprId &id) |
| |
| MVTime | getDate (const TableExprId &id) |
| |
| void | setScale (Double scale) |
| | Set unit scale factor (needed for sqrt). More...
|
| |
| Double | getScale () const |
| | Get possible unit scale factor (needed for sqrt). More...
|
| |
| const PtrBlock< TableExprNodeRep * > & | operands () const |
| | Some functions to be used by TableExprNodeFuncArray. More...
|
| |
| PtrBlock< TableExprNodeRep * > & | rwOperands () |
| |
| FunctionType | funcType () const |
| |
| NodeDataType | argDataType () const |
| |
| | TableExprNodeMulti (NodeDataType, ValueType, OperType, const TableExprNodeRep &source) |
| | Constructor. More...
|
| |
| virtual | ~TableExprNodeMulti () |
| | Destructor. More...
|
| |
| virtual void | show (ostream &, uInt indent) const |
| | Show the expression tree. More...
|
| |
| virtual void | getAggrNodes (vector< TableExprNodeRep *> &aggr) |
| | Get the nodes representing an aggregate function. More...
|
| |
| virtual void | getColumnNodes (vector< TableExprNodeRep *> &cols) |
| | Get the nodes representing a table column. More...
|
| |
| const PtrBlock< TableExprNodeRep * > & | getChildren () const |
| | Get the child nodes. More...
|
| |
| | TableExprNodeRep (NodeDataType, ValueType, OperType, ArgType, ExprType, Int ndim, const IPosition &shape, const Table &table) |
| | Construct a node. More...
|
| |
| | TableExprNodeRep (NodeDataType, ValueType, OperType, const Table &) |
| | This constructor is called from the derived TableExprNodeRep. More...
|
| |
| | TableExprNodeRep (const TableExprNodeRep &) |
| | Copy constructor. More...
|
| |
| virtual | ~TableExprNodeRep () |
| | The destructor deletes all the underlying TableExprNode objects. More...
|
| |
| TableExprNodeRep * | link () |
| | Link to this object, i.e. More...
|
| |
| virtual void | disableApplySelection () |
| | Do not apply the selection. More...
|
| |
| virtual void | applySelection (const Vector< uInt > &rownrs) |
| | Re-create the column object for a selection of rows. More...
|
| |
| virtual Double | getUnitFactor () const |
| | Get the unit conversion factor. More...
|
| |
| virtual CountedPtr< TableExprGroupFuncBase > | makeGroupAggrFunc () |
| | Create the correct immediate aggregate function object. More...
|
| |
| 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). More...
|
| |
| virtual MArray< Bool > | getArrayBool (const TableExprId &id) |
| | Get an array value for this node in the given row. More...
|
| |
| 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. More...
|
| |
| 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. More...
|
| |
| 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 | hasBool (const TableExprId &id, Bool value) |
| | Does a value occur in an array or set? The default implementation tests if it is in an array. More...
|
| |
| virtual Bool | hasInt (const TableExprId &id, Int64 value) |
| |
| virtual Bool | hasDouble (const TableExprId &id, Double value) |
| |
| virtual Bool | hasDComplex (const TableExprId &id, const DComplex &value) |
| |
| virtual Bool | hasString (const TableExprId &id, const String &value) |
| |
| virtual Bool | hasDate (const TableExprId &id, const MVTime &value) |
| |
| virtual MArray< Bool > | hasArrayBool (const TableExprId &id, const MArray< Bool > &value) |
| |
| virtual MArray< Bool > | hasArrayInt (const TableExprId &id, const MArray< Int64 > &value) |
| |
| virtual MArray< Bool > | hasArrayDouble (const TableExprId &id, const MArray< Double > &value) |
| |
| virtual MArray< Bool > | hasArrayDComplex (const TableExprId &id, const MArray< DComplex > &value) |
| |
| virtual MArray< Bool > | hasArrayString (const TableExprId &id, const MArray< String > &value) |
| |
| virtual MArray< Bool > | hasArrayDate (const TableExprId &id, const MArray< MVTime > &value) |
| |
| uInt | nrow () const |
| | Get the number of rows in the table associated with this expression. More...
|
| |
| virtual Bool | getColumnDataType (DataType &) const |
| | Get the data type of the column. More...
|
| |
| virtual Array< Bool > | getColumnBool (const Vector< uInt > &rownrs) |
| | Get the value of the expression evaluated for the entire column. More...
|
| |
| virtual Array< uChar > | getColumnuChar (const Vector< uInt > &rownrs) |
| |
| virtual Array< Short > | getColumnShort (const Vector< uInt > &rownrs) |
| |
| virtual Array< uShort > | getColumnuShort (const Vector< uInt > &rownrs) |
| |
| virtual Array< Int > | getColumnInt (const Vector< uInt > &rownrs) |
| |
| virtual Array< uInt > | getColumnuInt (const Vector< uInt > &rownrs) |
| |
| virtual Array< Float > | getColumnFloat (const Vector< uInt > &rownrs) |
| |
| virtual Array< Double > | getColumnDouble (const Vector< uInt > &rownrs) |
| |
| virtual Array< Complex > | getColumnComplex (const Vector< uInt > &rownrs) |
| |
| virtual Array< DComplex > | getColumnDComplex (const Vector< uInt > &rownrs) |
| |
| virtual Array< String > | getColumnString (const Vector< uInt > &rownrs) |
| |
| virtual void | ranges (Block< TableExprRange > &) |
| | Convert the tree to a number of range vectors which at least select the same things. More...
|
| |
| NodeDataType | dataType () const |
| | Get the data type of the derived TableExprNode object. More...
|
| |
| Bool | isReal () const |
| | Is the data type real (i.e., integer or double)? More...
|
| |
| ValueType | valueType () const |
| | Get the value type. More...
|
| |
| void | setValueType (ValueType vtype) |
| | Set the value type. More...
|
| |
| OperType | operType () const |
| | Get the operator type. More...
|
| |
| ExprType | exprType () const |
| | Get the expression type. More...
|
| |
| Bool | isConstant () const |
| | Is the expression a constant? More...
|
| |
| const Unit & | unit () const |
| | Get the unit. More...
|
| |
| void | setUnit (const Unit &unit) |
| | Set the unit. More...
|
| |
| Int | ndim () const |
| | Get the fixed dimensionality (same for all rows). More...
|
| |
| const IPosition & | shape () const |
| | Get the fixed shape (same for all rows). More...
|
| |
| const IPosition & | shape (const TableExprId &id) |
| | Get the shape for the given row. More...
|
| |
| virtual Bool | isDefined (const TableExprId &id) |
| | Is the value in the given row defined? The default implementation returns True. More...
|
| |
| Table & | table () |
| | Get table. More...
|
| |
| const Table & | table () const |
| |
| virtual void | adaptSetUnits (const Unit &) |
| | Let a set node convert itself to the given unit. More...
|
| |
|
| static NodeDataType | checkOperands (Block< Int > &dtypeOper, ValueType &resVT, Block< Int > &vtypeOper, FunctionType, PtrBlock< TableExprNodeRep *> &) |
| | Check the data and value types of the operands. More...
|
| |
| static TableExprNodeRep * | fillNode (TableExprConeNode *thisNode, PtrBlock< TableExprNodeRep *> &nodes, const Block< Int > &dtypeOper) |
| | Link the children to the node and convert the children to constants if possible. More...
|
| |
| static void | fillChildNodes (TableExprConeNode *thisNode, PtrBlock< TableExprNodeRep *> &nodes, const Block< Int > &dtypeOper) |
| | Link the children to the node and convert the children to constants if possible. More...
|
| |
| static NodeDataType | checkOperands (Block< Int > &dtypeOper, ValueType &resVT, Block< Int > &vtypeOper, FunctionType, PtrBlock< TableExprNodeRep *> &) |
| | Check the data and value types of the operands. More...
|
| |
| static Double | fillUnits (TableExprNodeRep *node, PtrBlock< TableExprNodeRep *> &nodes, FunctionType func) |
| | Fill the result unit in the node. More...
|
| |
| static TableExprNodeRep * | fillNode (TableExprFuncNode *thisNode, PtrBlock< TableExprNodeRep *> &nodes, const Block< Int > &dtypeOper) |
| | Link the children to the node and convert the children to constants if possible. More...
|
| |
| static void | fillChildNodes (TableExprFuncNode *thisNode, PtrBlock< TableExprNodeRep *> &nodes, const Block< Int > &dtypeOper) |
| | Link the children to the node and convert the children to constants if possible. More...
|
| |
| static void | getPrintFormat (String &fmt, Int &width, Int &prec, const PtrBlock< TableExprNodeRep *> &operands, const TableExprId &id) |
| | Get the possible print format, width, and/or precision. More...
|
| |
| static String | stringDT (const MVTime &dt, Int prec, MVTime::formatTypes) |
| | Convert the date and/or time to a string. More...
|
| |
| static String | stringDateTime (const MVTime &dt, Int prec) |
| |
| static String | stringDate (const MVTime &dt) |
| |
| static String | stringTime (const MVTime &dt, Int prec) |
| |
| static String | stringValue (Bool val, const String &fmt, Int width) |
| | Convert a value to a string. More...
|
| |
| static String | stringValue (Int64 val, const String &fmt, Int width) |
| |
| static String | stringValue (Double val, const String &fmt, Int width, Int prec, const std::pair< int, int > &mvFormat, const Unit &unit) |
| |
| static String | stringValue (const DComplex &val, const String &fmt, Int width, Int prec) |
| |
| static String | stringValue (const String &val, const String &fmt, Int width) |
| |
| static String | stringValue (const MVTime &val, const String &fmt, Int width, const std::pair< int, int > &mvFormat) |
| |
| static String | stringAngle (double val, Int prec, MVAngle::formatTypes type) |
| | Convert angle to a string (hms or dms). More...
|
| |
| static String | stringHMS (double val, Int prec) |
| |
| static String | stringDMS (double val, Int prec) |
| |
| static std::pair< int, int > | getMVFormat (const String &fmt) |
| | Get the MVTime/Angle format and optional precision. More...
|
| |
| static double | angdist (double ra1, double dec1, double ra2, double dec2) |
| | Get the angular distance between two positions on a sphere. More...
|
| |
| static Int64 | string2Int (const String &) |
| | Read a string as an integer, double, complex or bool. More...
|
| |
| static Double | string2Real (const String &) |
| |
| static DComplex | string2Complex (const String &) |
| |
| static Bool | string2Bool (const String &) |
| |
| static uInt | checkNumOfArg (uInt low, uInt high, const PtrBlock< TableExprNodeRep *> &nodes) |
| | Check number of arguments low <= number_of_args <= high It throws an exception if wrong number of arguments. More...
|
| |
| static NodeDataType | checkDT (Block< Int > &dtypeOper, NodeDataType dtIn, NodeDataType dtOut, const PtrBlock< TableExprNodeRep *> &nodes) |
| | Check datatype of nodes and return output type. More...
|
| |
| static void | unlink (TableExprNodeRep *) |
| | Unlink from the given object. More...
|
| |
| static void | checkAggrFuncs (const TableExprNodeRep *node) |
| | Throw an exception if an aggregate function is used in the expression node. More...
|
| |
| static void | createRange (Block< TableExprRange > &, TableExprNodeColumn *, Double start, Double end) |
| | Create a range object from a column and an interval. More...
|
| |
| static void | createRange (Block< TableExprRange > &) |
| | Create a empty range object. More...
|
| |
| static String | typeString (NodeDataType) |
| | Convert a NodeDataType to a string. More...
|
| |
| static String | typeString (ValueType) |
| | Convert a ValueType to a string. More...
|
| |
|
| enum | FunctionType {
piFUNC,
eFUNC,
cFUNC,
near2FUNC,
near3FUNC,
nearabs2FUNC,
nearabs3FUNC,
sinFUNC,
sinhFUNC,
cosFUNC,
coshFUNC,
expFUNC,
logFUNC,
log10FUNC,
sqrtFUNC,
powFUNC,
conjFUNC,
squareFUNC,
cubeFUNC,
minFUNC,
maxFUNC,
normFUNC,
absFUNC,
argFUNC,
realFUNC,
imagFUNC,
intFUNC,
asinFUNC,
acosFUNC,
atanFUNC,
atan2FUNC,
tanFUNC,
tanhFUNC,
signFUNC,
roundFUNC,
floorFUNC,
ceilFUNC,
fmodFUNC,
complexFUNC,
arrsumFUNC,
arrsumsFUNC,
arrproductFUNC,
arrproductsFUNC,
arrsumsqrFUNC,
arrsumsqrsFUNC,
arrminFUNC,
arrminsFUNC,
runminFUNC,
boxminFUNC,
arrmaxFUNC,
arrmaxsFUNC,
runmaxFUNC,
boxmaxFUNC,
arrmeanFUNC,
arrmeansFUNC,
runmeanFUNC,
boxmeanFUNC,
arrvarianceFUNC,
arrvariancesFUNC,
runvarianceFUNC,
boxvarianceFUNC,
arrstddevFUNC,
arrstddevsFUNC,
runstddevFUNC,
boxstddevFUNC,
arravdevFUNC,
arravdevsFUNC,
runavdevFUNC,
boxavdevFUNC,
arrrmsFUNC,
arrrmssFUNC,
runrmsFUNC,
boxrmsFUNC,
arrmedianFUNC,
arrmediansFUNC,
runmedianFUNC,
boxmedianFUNC,
arrfractileFUNC,
arrfractilesFUNC,
anyFUNC,
anysFUNC,
runanyFUNC,
boxanyFUNC,
allFUNC,
allsFUNC,
runallFUNC,
boxallFUNC,
ntrueFUNC,
ntruesFUNC,
nfalseFUNC,
nfalsesFUNC,
arrayFUNC,
transposeFUNC,
resizeFUNC,
diagonalFUNC,
isnanFUNC,
isinfFUNC,
isfiniteFUNC,
isdefFUNC,
isnullFUNC,
iscolFUNC,
iskeyFUNC,
ndimFUNC,
nelemFUNC,
shapeFUNC,
strlengthFUNC,
upcaseFUNC,
downcaseFUNC,
capitalizeFUNC,
trimFUNC,
ltrimFUNC,
rtrimFUNC,
substrFUNC,
replaceFUNC,
regexFUNC,
patternFUNC,
sqlpatternFUNC,
datetimeFUNC,
mjdtodateFUNC,
mjdFUNC,
dateFUNC,
timeFUNC,
yearFUNC,
monthFUNC,
dayFUNC,
cmonthFUNC,
weekdayFUNC,
cdowFUNC,
weekFUNC,
ctodFUNC,
cdateFUNC,
ctimeFUNC,
stringFUNC,
hmsFUNC,
dmsFUNC,
hdmsFUNC,
randFUNC,
rownrFUNC,
rowidFUNC,
iifFUNC,
angdistFUNC,
angdistxFUNC,
conesFUNC,
cones3FUNC,
anyconeFUNC,
anycone3FUNC,
findconeFUNC,
findcone3FUNC,
boolFUNC,
nullarrayFUNC,
marrayFUNC,
arrdataFUNC,
arrmaskFUNC,
negatemaskFUNC,
replmaskedFUNC,
replunmaskedFUNC,
arrflatFUNC,
FirstAggrFunc,
countallFUNC,
gcountFUNC,
gfirstFUNC,
glastFUNC,
gminFUNC,
gmaxFUNC,
gsumFUNC,
gproductFUNC,
gsumsqrFUNC,
gmeanFUNC,
gvarianceFUNC,
gstddevFUNC,
grmsFUNC,
ganyFUNC,
gallFUNC,
gntrueFUNC,
gnfalseFUNC,
FirstAggrArrayFunc,
gminsFUNC,
gmaxsFUNC,
gsumsFUNC,
gproductsFUNC,
gsumsqrsFUNC,
gmeansFUNC,
gvariancesFUNC,
gstddevsFUNC,
grmssFUNC,
ganysFUNC,
gallsFUNC,
gntruesFUNC,
gnfalsesFUNC,
LastAggrArrayFunc,
ghistFUNC,
gaggrFUNC,
growidFUNC,
gmedianFUNC,
gfractileFUNC,
gexpridFUNC,
NRFUNC
} |
| |
| 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...
|
| |
| virtual const IPosition & | getShape (const TableExprId &id) |
| | Get the shape for the given row. More...
|
| |
| virtual void | convertConstChild () |
| | When one of the children is a constant, convert its data type to that of the other operand. More...
|
| |
| void | checkTablePtr (const TableExprNodeRep *node) |
| | Check if this node uses the same table pointer. More...
|
| |
| void | fillExprType (const TableExprNodeRep *node) |
| | Set expression type to Variable if node is Variable. More...
|
| |
| static TableExprNodeRep * | getRep (TableExprNode &) |
| | Get pointer to REPresentation object. More...
|
| |
| static void | checkTablePtr (Table &table, const TableExprNodeRep *node) |
| |
| static void | fillExprType (ExprType &, const TableExprNodeRep *node) |
| |
| static TableExprNodeRep * | convertNode (TableExprNodeRep *thisNode, Bool convertConstType) |
| | When the node is constant, it is evaluated and replaced by the appropriate TableExprNodeConst object. More...
|
| |
| PtrBlock< TableExprNodeRep * > | operands_p |
| |
| uInt | count_p |
| |
| Table | table_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 |
| |
Class representing a cone search in table select expression.
Intended use:
Internal
Review Status
- Reviewed By:
- UNKNOWN
- Date Reviewed:
- before2004/08/25
Prerequisite
Synopsis
The class represents a cone search. It is a specialization of the TableExprFuncNode class. Currently the implementation is straightforward, but in the future it can do smarter things. For instance:
-
If the cone positions and radii are constant, one can use an integer zone number (e.g. floor(dec)) to avoid the much more expensive sine/cosine calculations. Each cone will get a minzone and maxzone value (derived from cone position and radius).
-
Multiple cones can be ordered on minzone and maxzone.
Definition at line 68 of file ExprConeNode.h.