Representing the operator 'LIKE'. More...
#include <qExpr.h>
Public Member Functions | |
const char * | colName () const |
Name of the column to be searched. | |
virtual qLike * | dup () const |
!< Reorder the expressions tree. More... | |
virtual void | getTableNames (std::set< std::string > &plist) const |
Identify the data partitions involved in the query expression. More... | |
const char * | pattern () const |
The string form of the pattern. | |
virtual void | print (std::ostream &) const |
Print out the node in the string form. More... | |
virtual void | printFull (std::ostream &out) const |
Print out the full expression. More... | |
qLike () | |
Default constructor. | |
qLike (const char *ls, const char *rs) | |
Constructor. More... | |
virtual | ~qLike () |
Destructor. | |
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. | |
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::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... | |
Representing the operator 'LIKE'.
ibis::qLike::qLike | ( | const char * | ls, |
const char * | rs | ||
) |
Constructor.
For convenience of inputting patterns, this function allows the back slash to be used as escape characters for the second argument, and attempts to remove them before passing the pattern expression to later operations.
|
inlinevirtual |
!< Reorder the expressions tree.
Duplicate this query expression. Return the pointer to the new object.
Reimplemented from ibis::qExpr.
References qLike().
|
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 |
Print out the node in the string form.
The short-form of the print function.
It only prints information about the current node of the query expression tree.
Reimplemented from ibis::qExpr.
|
inlinevirtual |
Print out the full expression.
The long form of the print function.
It recursively prints out the whole query expression tree, which can be quite long.
Reimplemented from ibis::qExpr.
References ibis::qExpr::print().