public class ConditionAndOr extends Expression
| 限定符和类型 | 字段和说明 |
|---|---|
static int |
AND
The AND condition type as in ID=1 AND NAME='Hello'.
|
static int |
OR
The OR condition type as in ID=1 OR NAME='Hello'.
|
| 构造器和说明 |
|---|
ConditionAndOr(int andOrType,
Expression left,
Expression right) |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
addFilterConditions(TableFilter filter,
boolean outerJoin)
Add conditions to a table filter if they can be evaluated.
|
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.
|
int |
getDisplaySize()
Get the display size of this expression.
|
Expression |
getExpression(boolean getLeft)
Get the left or the right sub-expression of this condition.
|
Expression |
getNotIfPossible(Session session)
If it is possible, return the negated expression.
|
long |
getPrecision()
Get the precision of this expression.
|
int |
getScale()
Get the scale of this expression.
|
String |
getSQL()
Get the SQL statement of this expression.
|
int |
getType()
Return 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)
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.
|
void |
updateAggregate(Session session)
Update an aggregate value.
|
getAlias, getBooleanValue, getColumnName, getExpressionColumns, getExpressionColumns, getNonAliasExpression, getNullable, getSchemaName, getTableAlias, getTableName, isAutoIncrement, isConstant, isValueSet, isWildcard, toStringpublic static final int AND
public static final int OR
public ConditionAndOr(int andOrType,
Expression left,
Expression right)
public String getSQL()
ExpressiongetSQL 在类中 Expressionpublic void createIndexConditions(Session session, TableFilter filter)
ExpressioncreateIndexConditions 在类中 Expressionsession - the sessionfilter - the table filterpublic Expression getNotIfPossible(Session session)
ExpressiongetNotIfPossible 在类中 Expressionsession - the sessionpublic Value getValue(Session session)
ExpressiongetValue 在类中 Expressionsession - the sessionpublic Expression optimize(Session session)
Expressionoptimize 在类中 Expressionsession - the sessionpublic void addFilterConditions(TableFilter filter, boolean outerJoin)
ExpressionaddFilterConditions 在类中 Expressionfilter - the table filterouterJoin - if the expression is part of an outer joinpublic void mapColumns(ColumnResolver resolver, int level)
ExpressionmapColumns 在类中 Expressionresolver - the column resolverlevel - the subquery nesting levelpublic void setEvaluatable(TableFilter tableFilter, boolean b)
ExpressionsetEvaluatable 在类中 ExpressiontableFilter - the table filterb - true if the table filter can return valuepublic void updateAggregate(Session session)
ExpressionupdateAggregate 在类中 Expressionsession - the sessionpublic boolean isEverything(ExpressionVisitor visitor)
ExpressionisEverything 在类中 Expressionvisitor - the visitorpublic int getCost()
ExpressiongetCost 在类中 Expressionpublic Expression getExpression(boolean getLeft)
getLeft - true to get the left sub-expression, false to get the
right sub-expression.public int getType()
ExpressiongetType 在类中 Expressionpublic int getScale()
ExpressiongetScale 在类中 Expressionpublic long getPrecision()
ExpressiongetPrecision 在类中 Expressionpublic int getDisplaySize()
ExpressiongetDisplaySize 在类中 ExpressionCopyright © 2017. All rights reserved.