public class CompareLike extends Expression
MAP_IN_AGGREGATE, MAP_IN_WINDOW, MAP_INITIAL| Constructor and Description |
|---|
CompareLike(CompareMode compareMode,
java.lang.String defaultEscape,
Expression left,
Expression right,
Expression escape,
boolean regexp) |
CompareLike(Database db,
Expression left,
Expression right,
Expression escape,
boolean regexp) |
| Modifier and Type | Method and Description |
|---|---|
void |
createIndexConditions(Session session,
TableFilter filter)
Create index conditions if possible and attach them to the table filter.
|
int |
getCost()
Estimate the cost to process the expression.
|
java.lang.StringBuilder |
getSQL(java.lang.StringBuilder builder)
Appends the SQL statement of this expression to the specified builder.
|
Expression |
getSubexpression(int index)
Returns subexpression with specified index.
|
int |
getSubexpressionCount()
Returns count of subexpressions.
|
TypeInfo |
getType()
Returns the data type.
|
Value |
getValue(Session session)
Return the resulting value for the current row.
|
boolean |
isEverything(ExpressionVisitor visitor)
Check if this expression and all sub-expressions can fulfill a criteria.
|
void |
mapColumns(ColumnResolver resolver,
int level,
int state)
Map the columns of the resolver to expression columns.
|
Expression |
optimize(Session session)
Try to optimize the expression.
|
void |
setEvaluatable(TableFilter tableFilter,
boolean b)
Tell the expression columns whether the table filter can return values
now.
|
boolean |
test(java.lang.String testPattern,
java.lang.String value,
char escapeChar)
Test if the value matches the pattern.
|
void |
updateAggregate(Session session,
int stage)
Update an aggregate value.
|
addFilterConditions, getAlias, getBooleanValue, getColumnName, getExpressionColumns, getExpressionColumns, getExpressionColumns, getNonAliasExpression, getNotIfPossible, getNullable, getSchemaName, getSQL, getTableAlias, getTableName, getUnenclosedSQL, isAutoIncrement, isConstant, isGeneratedKey, isValueSet, toString, writeExpressions, writeExpressionspublic CompareLike(Database db, Expression left, Expression right, Expression escape, boolean regexp)
public CompareLike(CompareMode compareMode, java.lang.String defaultEscape, Expression left, Expression right, Expression escape, boolean regexp)
public java.lang.StringBuilder getSQL(java.lang.StringBuilder builder)
ExpressiongetSQL in class Expressionbuilder - string builderpublic Expression optimize(Session session)
Expressionoptimize in class Expressionsession - the sessionpublic void createIndexConditions(Session session, TableFilter filter)
ExpressioncreateIndexConditions in class Expressionsession - the sessionfilter - the table filterpublic Value getValue(Session session)
ExpressiongetValue in class Expressionsession - the sessionpublic boolean test(java.lang.String testPattern,
java.lang.String value,
char escapeChar)
testPattern - the patternvalue - the valueescapeChar - the escape characterpublic void mapColumns(ColumnResolver resolver, int level, int state)
ExpressionmapColumns in class Expressionresolver - the column resolverlevel - the subquery nesting levelstate - current state for nesting checks, initial value is
Expression.MAP_INITIALpublic void setEvaluatable(TableFilter tableFilter, boolean b)
ExpressionsetEvaluatable in class ExpressiontableFilter - the table filterb - true if the table filter can return valuepublic void updateAggregate(Session session, int stage)
ExpressionupdateAggregate in class Expressionsession - the sessionstage - select stagepublic boolean isEverything(ExpressionVisitor visitor)
ExpressionisEverything in class Expressionvisitor - the visitorpublic int getCost()
ExpressiongetCost in class Expressionpublic int getSubexpressionCount()
ExpressiongetSubexpressionCount in class Expressionpublic Expression getSubexpression(int index)
ExpressiongetSubexpression in class Expressionindex - 0-based indexpublic TypeInfo getType()
ExpressiongetType in class Expression