public class Aggregate extends Expression
| Modifier and Type | Class and Description |
|---|---|
static class |
Aggregate.AggregateType |
| Constructor and Description |
|---|
Aggregate(Aggregate.AggregateType type,
Expression on,
Select select,
boolean distinct)
Create a new aggregate object.
|
| Modifier and Type | Method and Description |
|---|---|
static Aggregate.AggregateType |
getAggregateType(java.lang.String name)
Get the aggregate type for this name, or -1 if no aggregate has been
found.
|
int |
getCost()
Estimate the cost to process the expression.
|
int |
getDisplaySize()
Get the display size of this expression.
|
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 |
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 |
setArrayAggOrder(java.util.ArrayList<SelectOrderBy> orderBy)
Set the order for ARRAY_AGG() aggregate.
|
void |
setEvaluatable(TableFilter tableFilter,
boolean b)
Tell the expression columns whether the table filter can return values
now.
|
void |
setFilterCondition(Expression filterCondition)
Sets the FILTER condition.
|
void |
setGroupConcatOrder(java.util.ArrayList<SelectOrderBy> orderBy)
Set the order for GROUP_CONCAT() aggregate.
|
void |
setGroupConcatSeparator(Expression separator)
Set the separator for the GROUP_CONCAT() aggregate.
|
void |
updateAggregate(Session session)
Update an aggregate value.
|
addFilterConditions, createIndexConditions, getAlias, getBooleanValue, getColumnName, getExpressionColumns, getExpressionColumns, getNonAliasExpression, getNotIfPossible, getNullable, getSchemaName, getTableAlias, getTableName, isAutoIncrement, isConstant, isValueSet, isWildcard, toStringpublic Aggregate(Aggregate.AggregateType type, Expression on, Select select, boolean distinct)
type - the aggregate typeon - the aggregated expressionselect - the select statementdistinct - if distinct is usedpublic static Aggregate.AggregateType getAggregateType(java.lang.String name)
name - the aggregate function namepublic void setGroupConcatOrder(java.util.ArrayList<SelectOrderBy> orderBy)
orderBy - the order by listpublic void setArrayAggOrder(java.util.ArrayList<SelectOrderBy> orderBy)
orderBy - the order by listpublic void setGroupConcatSeparator(Expression separator)
separator - the separator expressionpublic void setFilterCondition(Expression filterCondition)
filterCondition - conditionpublic void updateAggregate(Session session)
ExpressionupdateAggregate in class Expressionsession - the sessionpublic Value getValue(Session session)
ExpressiongetValue in class Expressionsession - the sessionpublic int getType()
ExpressiongetType in class Expressionpublic void mapColumns(ColumnResolver resolver, int level)
ExpressionmapColumns in class Expressionresolver - the column resolverlevel - the subquery nesting levelpublic Expression optimize(Session session)
Expressionoptimize in class Expressionsession - the sessionpublic void setEvaluatable(TableFilter tableFilter, boolean b)
ExpressionsetEvaluatable in class ExpressiontableFilter - the table filterb - true if the table filter can return valuepublic int getScale()
ExpressiongetScale in class Expressionpublic long getPrecision()
ExpressiongetPrecision in class Expressionpublic int getDisplaySize()
ExpressiongetDisplaySize in class Expressionpublic java.lang.String getSQL()
ExpressiongetSQL in class Expressionpublic boolean isEverything(ExpressionVisitor visitor)
ExpressionisEverything in class Expressionvisitor - the visitorpublic int getCost()
ExpressiongetCost in class Expression