public final class CompareLike extends Expression
| 限定符和类型 | 类和说明 |
|---|---|
static class |
CompareLike.LikeType
The type of comparison.
|
AUTO_PARENTHESES, MAP_IN_AGGREGATE, MAP_IN_WINDOW, MAP_INITIAL, WITH_PARENTHESES, WITHOUT_PARENTHESESADD_PLAN_INFORMATION, DEFAULT_SQL_FLAGS, NO_CASTS, QUOTE_ONLY_WHEN_REQUIRED, REPLACE_LOBS_FOR_TRACE, TRACE_SQL_FLAGS| 构造器和说明 |
|---|
CompareLike(CompareMode compareMode,
String defaultEscape,
Expression left,
boolean not,
boolean whenOperand,
Expression right,
Expression escape,
CompareLike.LikeType likeType) |
CompareLike(Database db,
Expression left,
boolean not,
boolean whenOperand,
Expression right,
Expression escape,
CompareLike.LikeType likeType) |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
createIndexConditions(SessionLocal session,
TableFilter filter)
Create index conditions if possible and attach them to the table filter.
|
int |
getCost()
Estimate the cost to process the expression.
|
Expression |
getNotIfPossible(SessionLocal session)
If it is possible, return the negated expression.
|
Expression |
getSubexpression(int index)
Returns subexpression with specified index.
|
int |
getSubexpressionCount()
Returns count of subexpressions.
|
TypeInfo |
getType()
Returns the data type.
|
StringBuilder |
getUnenclosedSQL(StringBuilder builder,
int sqlFlags)
Get the SQL statement of this expression.
|
Value |
getValue(SessionLocal session)
Return the resulting value for the current row.
|
StringBuilder |
getWhenSQL(StringBuilder builder,
int sqlFlags)
Appends the SQL statement of this when operand to the specified builder.
|
boolean |
getWhenValue(SessionLocal session,
Value left)
Return the resulting value of when operand for the current row.
|
void |
initPattern(String p,
Character escapeChar)
Initializes the pattern.
|
boolean |
isEverything(ExpressionVisitor visitor)
Check if this expression and all sub-expressions can fulfill a criteria.
|
boolean |
isWhenConditionOperand()
Returns whether this expression is a right side of condition in a when
operand.
|
void |
mapColumns(ColumnResolver resolver,
int level,
int state)
Map the columns of the resolver to expression columns.
|
boolean |
needParentheses()
Returns whether this expressions needs to be wrapped in parentheses when
it is used as an argument of other expressions.
|
Expression |
optimize(SessionLocal 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(String value)
Test if the value matches the initialized pattern.
|
boolean |
test(String testPattern,
String value,
char escapeChar)
Test if the value matches the pattern.
|
void |
updateAggregate(SessionLocal session,
int stage)
Update an aggregate value.
|
addFilterConditions, getAlias, getBooleanValue, getColumnName, getColumnNameForView, getEnclosedSQL, getNonAliasExpression, getNullable, getSchemaName, getSQL, getSQL, getSQL, getSQL, getTableAlias, getTableName, isConstant, isIdentity, isNullConstant, isValueSet, optimizeCondition, toString, writeExpressions, writeExpressionsclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetTraceSQLpublic CompareLike(Database db, Expression left, boolean not, boolean whenOperand, Expression right, Expression escape, CompareLike.LikeType likeType)
public CompareLike(CompareMode compareMode, String defaultEscape, Expression left, boolean not, boolean whenOperand, Expression right, Expression escape, CompareLike.LikeType likeType)
public boolean needParentheses()
ExpressionneedParentheses 在类中 Expressiontrue if it ispublic StringBuilder getUnenclosedSQL(StringBuilder builder, int sqlFlags)
ExpressiongetUnenclosedSQL 在类中 Expressionbuilder - string buildersqlFlags - formatting flagspublic StringBuilder getWhenSQL(StringBuilder builder, int sqlFlags)
ExpressiongetWhenSQL 在类中 Expressionbuilder - string buildersqlFlags - formatting flagspublic Expression optimize(SessionLocal session)
Expressionoptimize 在类中 Expressionsession - the sessionpublic void createIndexConditions(SessionLocal session, TableFilter filter)
ExpressioncreateIndexConditions 在类中 Expressionsession - the sessionfilter - the table filterpublic Value getValue(SessionLocal session)
ExpressiongetValue 在类中 Expressionsession - the sessionpublic boolean getWhenValue(SessionLocal session, Value left)
ExpressiongetWhenValue 在类中 Expressionsession - the sessionleft - value on the left sidepublic boolean isWhenConditionOperand()
ExpressionisWhenConditionOperand 在类中 Expressiontrue if it is, false otherwisepublic boolean test(String testPattern, String value, char escapeChar)
testPattern - the patternvalue - the valueescapeChar - the escape characterpublic boolean test(String value)
value - the valuepublic void initPattern(String p, Character escapeChar)
p - the patternescapeChar - the escape characterpublic Expression getNotIfPossible(SessionLocal session)
ExpressiongetNotIfPossible 在类中 Expressionsession - the sessionpublic void mapColumns(ColumnResolver resolver, int level, int state)
ExpressionmapColumns 在类中 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 在类中 ExpressiontableFilter - the table filterb - true if the table filter can return valuepublic void updateAggregate(SessionLocal session, int stage)
ExpressionupdateAggregate 在类中 Expressionsession - the sessionstage - select stagepublic boolean isEverything(ExpressionVisitor visitor)
ExpressionisEverything 在类中 Expressionvisitor - the visitorpublic int getCost()
ExpressiongetCost 在类中 Expressionpublic int getSubexpressionCount()
ExpressiongetSubexpressionCount 在类中 Expressionpublic Expression getSubexpression(int index)
ExpressiongetSubexpression 在类中 Expressionindex - 0-based indexpublic TypeInfo getType()
ExpressiongetType 在接口中 TypedgetType 在类中 ExpressionCopyright © 2022. All rights reserved.