public class ExpressionColumn extends Expression
MAP_IN_AGGREGATE, MAP_IN_WINDOW, MAP_INITIAL| Constructor and Description |
|---|
ExpressionColumn(Database database,
Column column) |
ExpressionColumn(Database database,
java.lang.String schemaName,
java.lang.String tableAlias,
java.lang.String columnName,
boolean rowId) |
| Modifier and Type | Method and Description |
|---|---|
void |
createIndexConditions(Session session,
TableFilter filter)
Create index conditions if possible and attach them to the table filter.
|
java.lang.String |
getAlias()
Get the alias name of a column or SQL expression
if it is not an aliased expression.
|
Column |
getColumn() |
DbException |
getColumnException(int code)
Get exception to throw, with column and table info added
|
java.lang.String |
getColumnName()
Get the column name or alias name of this expression.
|
int |
getCost()
Estimate the cost to process the expression.
|
Expression |
getNotIfPossible(Session session)
If it is possible, return the negated expression.
|
int |
getNullable()
Check whether this expression is a column and can store NULL.
|
java.lang.String |
getOriginalColumnName() |
java.lang.String |
getOriginalTableAliasName() |
java.lang.String |
getSchemaName()
Get the schema name, or null
|
java.lang.StringBuilder |
getSQL(java.lang.StringBuilder builder,
boolean alwaysQuote)
Appends the SQL statement of this expression to the specified builder.
|
TableFilter |
getTableFilter() |
java.lang.String |
getTableName()
Get the table name, or null
|
TypeInfo |
getType()
Returns the data type.
|
Value |
getValue(Session session)
Return the resulting value for the current row.
|
boolean |
isAutoIncrement()
Check if this is an auto-increment column.
|
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.
|
void |
updateAggregate(Session session,
int stage)
Update an aggregate value.
|
addFilterConditions, getBooleanValue, getExpressionColumns, getExpressionColumns, getExpressionColumns, getNonAliasExpression, getSQL, getSubexpression, getSubexpressionCount, getTableAlias, getUnenclosedSQL, isConstant, isNullConstant, isValueSet, toString, writeExpressions, writeExpressionspublic ExpressionColumn(Database database, java.lang.String schemaName, java.lang.String tableAlias, java.lang.String columnName, boolean rowId)
public java.lang.StringBuilder getSQL(java.lang.StringBuilder builder,
boolean alwaysQuote)
ExpressiongetSQL in class Expressionbuilder - string builderalwaysQuote - quote all identifierspublic TableFilter getTableFilter()
public 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 Expression optimize(Session session)
Expressionoptimize in class Expressionsession - the sessionpublic DbException getColumnException(int code)
code - SQL error codepublic void updateAggregate(Session session, int stage)
ExpressionupdateAggregate in class Expressionsession - the sessionstage - select stagepublic Value getValue(Session session)
ExpressiongetValue in class Expressionsession - the sessionpublic TypeInfo getType()
ExpressiongetType in class Expressionpublic void setEvaluatable(TableFilter tableFilter, boolean b)
ExpressionsetEvaluatable in class ExpressiontableFilter - the table filterb - true if the table filter can return valuepublic Column getColumn()
public java.lang.String getOriginalColumnName()
public java.lang.String getOriginalTableAliasName()
public java.lang.String getColumnName()
ExpressiongetColumnName in class Expressionpublic java.lang.String getSchemaName()
ExpressiongetSchemaName in class Expressionpublic java.lang.String getTableName()
ExpressiongetTableName in class Expressionpublic java.lang.String getAlias()
ExpressiongetAlias in class Expressionpublic boolean isAutoIncrement()
ExpressionisAutoIncrement in class Expressionpublic int getNullable()
ExpressiongetNullable in class Expressionpublic boolean isEverything(ExpressionVisitor visitor)
ExpressionisEverything in class Expressionvisitor - the visitorpublic int getCost()
ExpressiongetCost in class Expressionpublic void createIndexConditions(Session session, TableFilter filter)
ExpressioncreateIndexConditions in class Expressionsession - the sessionfilter - the table filterpublic Expression getNotIfPossible(Session session)
ExpressiongetNotIfPossible in class Expressionsession - the session