One-argument string functions. More...
#include <qExpr.h>
  
 Public Member Functions | |
| virtual stringFunction1 * | dup () const | 
| Make a duplicate copy of the term.  | |
| virtual double | eval () const | 
| Evaluate the term.  | |
| 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 * | reduce () | 
| Shorten the expression by evaluating the constants.  More... | |
| stringFunction1 (const sfunc1 &ft) | |
| stringFunction1 (const stringFunction1 &rhs) | |
| virtual std::string | sval () const | 
| virtual TERM_TYPE | termType () const | 
  Public Member Functions inherited from ibis::math::term | |
| virtual bool | isTrue () const | 
| Should the value be treated as true? This implementation captures the normal case, where an arithmetic expression is treated as 'true' if it is not zero.  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.  | |
| qRange * | findRange (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 qExpr * | getLeft () const | 
| Return a const pointer to the left child.  | |
| qExpr *& | getRight () | 
| Return a pointer to the right child.  More... | |
| const qExpr * | getRight () 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 | isConstant () const | 
| Is this expression a constant? A constant remains the same not matter which row it is applied to.  More... | |
| 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?  | |
| virtual uint32_t | nItems () const | 
| Count the number of items in the query expression.  | |
| qExpr & | operator= (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< TTN > | termTableList | 
| 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 | |
| qExpr * | left | 
| The left child.  | |
| qExpr * | right | 
| The right child.  | |
| TYPE | type | 
| The type of node.  More... | |
One-argument string functions.
      
  | 
  inlinevirtual | 
Shorten the expression by evaluating the constants.
Return a new pointer if the expression is changed, otherwise Returnn the pointer this.
Reimplemented from ibis::math::term.
| 
 | |