Public Member Functions | Protected Member Functions
ibis::qRange Class Reference

A class to represent simple range conditions. More...

#include <qExpr.h>

Inheritance diagram for ibis::qRange:
ibis::qExpr ibis::qContinuousRange ibis::qDiscreteRange ibis::qIntHod ibis::qUIntHod

List of all members.

Public Member Functions

virtual const char * colName () const =0
 Returns the name of the attribute involved.
virtual bool empty () const =0
 Is the current range empty?
virtual void getTableNames (std::set< std::string > &plist) const
 Identify the data partitions involved in the query expression.
virtual bool inRange (double val) const =0
 Given a value, determine whether it is in the range defined.
virtual double leftBound () const =0
 The lower bound of the range.
virtual void restrictRange (double left, double right)=0
 Reduce the range to be no more than [left, right].
virtual double rightBound () const =0
 The upper bound of the range.

Protected Member Functions

 qRange (TYPE t)

Detailed Description

A class to represent simple range conditions.

This is an abstract base class for qContinuousRange and qDiscreteRange. The main virtual functions, colName and inRange are used by procedures that evaluate the conditions.


Member Function Documentation

void ibis::qRange::getTableNames ( std::set< std::string > &  plist) const [virtual]

Identify the data partitions involved in the query expression.

Return the list of data partition names in a set.

It records a '*' for the variables without explicit partition names.

Reimplemented from ibis::qExpr.

References ibis::qExpr::extractTableName().

virtual bool ibis::qRange::inRange ( double  val) const [pure virtual]

Given a value, determine whether it is in the range defined.

Return true if it is, return false, otherwise.

Implemented in ibis::qUIntHod, ibis::qIntHod, ibis::qDiscreteRange, and ibis::qContinuousRange.

Referenced by ibis::part::doCompare(), ibis::part::doCount(), and ibis::part::doScan().


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

Make It A Bit Faster
Contact us
Disclaimers
FastBit source code
FastBit mailing list archive