casacore
|
The identification of a TaQL selection subject. More...
#include <TableExprId.h>
Public Member Functions | |
TableExprId () | |
Default constructor sets rownr to -1. More... | |
TableExprId (uInt rowNumber) | |
Construct it from a row number. More... | |
TableExprId (const RecordInterface &) | |
Construct it from a Record object. More... | |
TableExprId (const TableExprData &data) | |
Construct it from pointers to data. More... | |
~TableExprId () | |
Bool | byRow () const |
Is the id given by row number? More... | |
Bool | byRecord () const |
Is the id given as a RecordInterface? More... | |
Bool | byData () const |
Is the id given as a TableExprData? More... | |
Int64 | rownr () const |
Get the row number. More... | |
const RecordInterface & | record () const |
Get the Record reference. More... | |
const TableExprData & | data () const |
Get the data reference. More... | |
void | setRownr (uInt rownr) |
Set the row number. More... | |
void | setRecord (const RecordInterface &) |
Set the record. More... | |
Private Attributes | |
Int | type_p |
union { | |
Int64 row_p | |
const RecordInterface * record_p | |
const TableExprData * data_p | |
}; | |
The identification of a TaQL selection subject.
Public interface
This class provides the user the ability to identify the data objects to test in a TaQL expression. In this way a TaQL expression is not limited to tables, but can be used for any set of data. Three types are available:
The TaQL expression must be setup with this in mind by constructing the appropriate TableExprNode leaf objects.
When used for tables, the function Table::col should be used to create the TableExprNode
objects for the table columns to be used in the expression.
For the other cases class TableExprNodeRecordField has to be used to know the index of the fields in the expression. It uses a record (description) for this purpose.
This class makes it possible that TaQL can be used in a very versatile way.
Definition at line 98 of file TableExprId.h.
|
inline |
Default constructor sets rownr to -1.
Definition at line 151 of file TableExprId.h.
|
inline |
Construct it from a row number.
Definition at line 156 of file TableExprId.h.
|
inline |
Construct it from a Record object.
Definition at line 161 of file TableExprId.h.
|
inline |
Construct it from pointers to data.
Definition at line 166 of file TableExprId.h.
|
inline |
Definition at line 113 of file TableExprId.h.
References byData(), byRecord(), byRow(), data(), record(), rownr(), setRecord(), and setRownr().
|
inline |
Is the id given as a TableExprData?
Definition at line 206 of file TableExprId.h.
References type_p.
Referenced by ~TableExprId().
|
inline |
Is the id given as a RecordInterface?
Definition at line 201 of file TableExprId.h.
References type_p.
Referenced by ~TableExprId().
|
inline |
Is the id given by row number?
Definition at line 196 of file TableExprId.h.
References type_p.
Referenced by ~TableExprId().
|
inline |
Get the data reference.
Definition at line 181 of file TableExprId.h.
References data_p.
Referenced by ~TableExprId().
|
inline |
Get the Record reference.
Definition at line 176 of file TableExprId.h.
References record_p.
Referenced by setRecord(), and ~TableExprId().
|
inline |
Get the row number.
Definition at line 171 of file TableExprId.h.
References row_p.
Referenced by setRownr(), and ~TableExprId().
|
inline |
Set the record.
Definition at line 191 of file TableExprId.h.
References record(), and record_p.
Referenced by ~TableExprId().
|
inline |
Set the row number.
Definition at line 186 of file TableExprId.h.
References row_p, and rownr().
Referenced by casacore::TableParseSelect::doGroupByAggrSingleKey(), and ~TableExprId().
union { ... } |
const TableExprData* casacore::TableExprId::data_p |
Definition at line 145 of file TableExprId.h.
Referenced by data().
const RecordInterface* casacore::TableExprId::record_p |
Definition at line 144 of file TableExprId.h.
Referenced by record(), and setRecord().
Int64 casacore::TableExprId::row_p |
Definition at line 143 of file TableExprId.h.
Referenced by rownr(), and setRownr().
|
private |
Definition at line 141 of file TableExprId.h.
Referenced by byData(), byRecord(), and byRow().