|
| 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.