public class Parameter extends Expression implements ParameterInterface
Constructor and Description |
---|
Parameter(int index) |
Modifier and Type | Method and Description |
---|---|
void |
checkSet()
Check if the value is set.
|
int |
getCost()
Estimate the cost to process the expression.
|
int |
getDisplaySize()
Get the display size of this expression.
|
int |
getIndex() |
Expression |
getNotIfPossible(Session session)
If it is possible, return the negated expression.
|
Value |
getParamValue()
Get the value of the parameter if set.
|
long |
getPrecision()
Get the precision of this expression.
|
int |
getScale()
Get the scale of this expression.
|
java.lang.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 |
isConstant()
Check if this expression will always return the same value.
|
boolean |
isEverything(ExpressionVisitor visitor)
Check if this expression and all sub-expressions can fulfill a criteria.
|
boolean |
isValueSet()
Is the value of a parameter set.
|
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 |
setColumn(Column column) |
void |
setEvaluatable(TableFilter tableFilter,
boolean b)
Tell the expression columns whether the table filter can return values
now.
|
void |
setValue(Value v) |
void |
setValue(Value v,
boolean closeOld)
Set the value of the parameter.
|
void |
updateAggregate(Session session)
Update an aggregate value.
|
addFilterConditions, createIndexConditions, getAlias, getBooleanValue, getColumnName, getExpressionColumns, getExpressionColumns, getNonAliasExpression, getNullable, getSchemaName, getTableAlias, getTableName, isAutoIncrement, isWildcard, toString
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getNullable
public java.lang.String getSQL()
Expression
getSQL
in class Expression
public void setValue(Value v, boolean closeOld)
ParameterInterface
setValue
in interface ParameterInterface
v
- the new valuecloseOld
- if the old value (if one is set) should be closedpublic void setValue(Value v)
public Value getParamValue()
ParameterInterface
getParamValue
in interface ParameterInterface
public Value getValue(Session session)
Expression
getValue
in class Expression
session
- the sessionpublic int getType()
Expression
getType
in interface ParameterInterface
getType
in class Expression
public void mapColumns(ColumnResolver resolver, int level)
Expression
mapColumns
in class Expression
resolver
- the column resolverlevel
- the subquery nesting levelpublic void checkSet()
ParameterInterface
checkSet
in interface ParameterInterface
public Expression optimize(Session session)
Expression
optimize
in class Expression
session
- the sessionpublic boolean isConstant()
Expression
isConstant
in class Expression
public boolean isValueSet()
Expression
isValueSet
in interface ParameterInterface
isValueSet
in class Expression
public void setEvaluatable(TableFilter tableFilter, boolean b)
Expression
setEvaluatable
in class Expression
tableFilter
- the table filterb
- true if the table filter can return valuepublic int getScale()
Expression
getScale
in interface ParameterInterface
getScale
in class Expression
public long getPrecision()
Expression
getPrecision
in interface ParameterInterface
getPrecision
in class Expression
public int getDisplaySize()
Expression
getDisplaySize
in class Expression
public void updateAggregate(Session session)
Expression
updateAggregate
in class Expression
session
- the sessionpublic boolean isEverything(ExpressionVisitor visitor)
Expression
isEverything
in class Expression
visitor
- the visitorpublic int getCost()
Expression
getCost
in class Expression
public Expression getNotIfPossible(Session session)
Expression
getNotIfPossible
in class Expression
session
- the sessionpublic void setColumn(Column column)
public int getIndex()