TableExprId.h

Classes

TableExprId -- The identification of a TaQL selection subject. (full description)

class TableExprId

Interface

Public Members
TableExprId (uInt rowNumber)
TableExprId (const RecordInterface&)
TableExprId (const TableExprData& data)
Bool byRow() const
Bool byRecord() const
Bool byData() const
uInt rownr() const
const RecordInterface& record() const
const TableExprData& data() const
void setRownr (uInt rownr)
void setRecord (const RecordInterface&)

Description

Prerequisite

Synopsis

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:
  1. A row number giving the row to test in a table.
  2. A RecordInterface object giving the record to test.
  3. A TableExprData object giving the abstract base class of an object holding the data to test. In this way any data can be used.
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.

Example


 

Motivation

This class makes it possible that TaQL can be used in a very versatile way.

Member Description

TableExprId (uInt rowNumber)

Construct it from a row number.

TableExprId (const RecordInterface&)

Construct it from a Record object.

TableExprId (const TableExprData& data)

Construct it from pointers to data.

Bool byRow() const

Is the id given by row number?

Bool byRecord() const

Is the id given as a RecordInterface?

Bool byData() const

Is the id given as a TableExprData?

uInt rownr() const

Get the row number.

const RecordInterface& record() const

Get the Record reference.

const TableExprData& data() const

Get the data reference.

void setRownr (uInt rownr)

Set the row number.

void setRecord (const RecordInterface&)

Set the record.