casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Private Attributes
casa::TableExprRange Class Reference

Select range of a column in an select expression. More...

#include <ExprRange.h>

List of all members.

Public Member Functions

 TableExprRange ()
 Default constructor (needed for Block<TableExprRange>).
 TableExprRange (const TableColumn &, double stval, double endval)
 Construct from a column and a single constant range.
 TableExprRange (const TableExprRange &)
 Copy constructor.
 ~TableExprRange ()
TableExprRangeoperator= (const TableExprRange &)
 Assignment operator (copy semantics).
const Vector< double > & start () const
 Return the vector of start values.
const Vector< double > & end () const
 Return the vector of end values.
const TableColumngetColumn () const
 Return the column object.
void mixAnd (const TableExprRange &)
void mixOr (const TableExprRange &)

Private Attributes

Vector< double > sval_p
Vector< double > eval_p
TableColumntabColPtr_p

Detailed Description

Select range of a column in an select expression.

Intended use:

Internal

Review Status

Reviewed By:
UNKNOWN
Date Reviewed:
before2004/08/25

Prerequisite

Etymology

TableExprRange represents the ranges of a column as specified in a table select expression.

Synopsis

TableExprRange holds the ranges of values for a column as specified in a table select expression. It traverses the expression tree and composes the hull of the values. Only double values are taken into account. It can handle operators &&, ||, ==, >, >=, <, <=, !. It can handle a comparison operator only for a column with a constant. Other operators and expressions are non-convertable.

The ranges function in class TableExprNode returns a Block of TableExprRange objects which contains the ranges for each (applicable) column used in the expression.

Motivation

TableExprRange gives great possibilities in optimizing a table selection. It allows to get a rough estimate of the values needed for a column which can be used to do a fast preselect using an index.

To Do

Definition at line 87 of file ExprRange.h.


Constructor & Destructor Documentation

Default constructor (needed for Block<TableExprRange>).

casa::TableExprRange::TableExprRange ( const TableColumn ,
double  stval,
double  endval 
)

Construct from a column and a single constant range.

Copy constructor.


Member Function Documentation

const Vector< double > & casa::TableExprRange::end ( ) const [inline]

Return the vector of end values.

Together with the equally sized vector of start values, this forms the ranges for the column (which can be acquired using getColumn).

Definition at line 134 of file ExprRange.h.

References eval_p.

Return the column object.

TableExprRange& casa::TableExprRange::operator= ( const TableExprRange )

Assignment operator (copy semantics).

const Vector< double > & casa::TableExprRange::start ( ) const [inline]

Return the vector of start values.

Together with the equally sized vector of end values, this forms the ranges for the column (which can be acquired using getColumn).

Definition at line 132 of file ExprRange.h.

References sval_p.


Member Data Documentation

Definition at line 127 of file ExprRange.h.

Referenced by end().

Definition at line 126 of file ExprRange.h.

Referenced by start().

Definition at line 128 of file ExprRange.h.


The documentation for this class was generated from the following file: