Public Member Functions | List of all members
ibis::math::literal Class Reference

A string literal. More...

#include <qExpr.h>

Inheritance diagram for ibis::math::literal:
ibis::math::term ibis::qExpr

Public Member Functions

virtual literaldup () const
 Make a duplicate copy of the term.
 
virtual double eval () const
 Evaluate the term.
 
virtual bool isConstant () const
 Is this expression a constant? A constant remains the same not matter which row it is applied to. More...
 
virtual bool isTrue () const
 Should the string literal be interpreted as true? A string literal is interpretted as true if it starts with letter 't' or 'T', or it equals to "1". More...
 
 literal (const char *s)
 
virtual uint32_t nItems () const
 Count the number of items in the query expression.
 
 operator const char * () const
 
virtual void print (std::ostream &out) const
 Print a human readable version of the expression.
 
virtual void printFull (std::ostream &out) const
 Same as print.
 
virtual TERM_TYPE termType () const
 
- Public Member Functions inherited from ibis::math::term
virtual termreduce ()
 Shorten the expression by evaluating the constants. More...
 
- Public Member Functions inherited from ibis::qExpr
bool directEval () const
 Can the expression be directly evaluated?
 
void extractDeprecatedJoins (std::vector< const deprecatedJoin * > &) const
 Extract conjunctive terms of the deprecated joins.
 
qRangefindRange (const char *vname)
 Find the first range condition involving the named variable.
 
void getConjunctiveTerms (termTableList &) const
 Extract the top-level conjunctive terms. More...
 
qExpr *& getLeft ()
 Return a pointer to the left child. More...
 
const qExprgetLeft () const
 Return a const pointer to the left child.
 
qExpr *& getRight ()
 Return a pointer to the right child. More...
 
const qExprgetRight () const
 Return a const pointer to the right child.
 
virtual void getTableNames (std::set< std::string > &plist) const
 Identify the data partitions involved in the query expression. More...
 
TYPE getType () const
 Return the node type.
 
virtual bool isSimple () const
 Is the expression simple? A simple expression contains only range conditions connected with logical operators. More...
 
bool isTerminal () const
 Is this expression a terminal node of an expression tree?
 
qExproperator= (const qExpr &rhs)
 Assignment operator.
 
 qExpr ()
 Default constructor. It generates a node of undefined type.
 
 qExpr (TYPE op)
 Construct a node of specified type. Not for implicit type conversion.
 
 qExpr (TYPE op, qExpr *qe1, qExpr *qe2)
 Construct a full specified node. More...
 
 qExpr (const qExpr &qe)
 Copy Constructor. Deep copy.
 
double reorder (const weight &)
 After reordering, the lightest weight is one the left side of a group of commutable operators. More...
 
int separateSimple (ibis::qExpr *&simple, ibis::qExpr *&tail) const
 Separate an expression tree into two connected with an AND operator. More...
 
void setLeft (qExpr *expr)
 Change the left child. More...
 
void setRight (qExpr *expr)
 Change the right child. More...
 
void swap (qExpr &rhs)
 Swap the content. No exception expected.
 
virtual ~qExpr ()
 Destructor. More...
 

Additional Inherited Members

- Public Types inherited from ibis::qExpr
enum  COMPARE {
  OP_UNDEFINED, OP_LT, OP_GT, OP_LE,
  OP_GE, OP_EQ
}
 Comparison operator supported in RANGE.
 
typedef std::vector< TTNtermTableList
 
enum  TYPE {
  LOGICAL_UNDEFINED, LOGICAL_NOT, LOGICAL_AND, LOGICAL_OR,
  LOGICAL_XOR, LOGICAL_MINUS, RANGE, DRANGE,
  STRING, ANYSTRING, KEYWORD, ALLWORDS,
  COMPRANGE, MATHTERM, DEPRECATEDJOIN, TOPK,
  EXISTS, ANYANY, LIKE, INTHOD,
  UINTHOD
}
 Definition of node types. More...
 
- Static Public Member Functions inherited from ibis::qExpr
static std::string extractTableName (const char *)
 Extract the data partition name from the column name cn. More...
 
static void simplify (ibis::qExpr *&)
 Attempt to simplify the query expressions. More...
 
static void splitColumnName (const char *, std::string &, std::string &)
 Split the incoming name into data partition name and column name. More...
 
- Protected Member Functions inherited from ibis::math::term
 term (const term &rhs)
 
- Protected Member Functions inherited from ibis::qExpr
void adjust ()
 Adjust the tree to favor the sequential evaluation order. More...
 
- Protected Attributes inherited from ibis::qExpr
qExprleft
 The left child.
 
qExprright
 The right child.
 
TYPE type
 The type of node. More...
 

Detailed Description

A string literal.

Member Function Documentation

virtual bool ibis::math::literal::isConstant ( ) const
inlinevirtual

Is this expression a constant? A constant remains the same not matter which row it is applied to.

Reimplemented from ibis::qExpr.

virtual bool ibis::math::literal::isTrue ( ) const
inlinevirtual

Should the string literal be interpreted as true? A string literal is interpretted as true if it starts with letter 't' or 'T', or it equals to "1".

Reimplemented from ibis::math::term.


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

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