public class Aggregate extends Expression
Modifier and Type | Field and Description |
---|---|
static int |
COUNT
The aggregate type for COUNT(expression).
|
static int |
COUNT_ALL
The aggregate type for COUNT(*).
|
static int |
GROUP_CONCAT
The aggregate type for GROUP_CONCAT(...).
|
Constructor and Description |
---|
Aggregate(int type,
Expression on,
Select select,
boolean distinct)
Create a new aggregate object.
|
Modifier and Type | Method and Description |
---|---|
static int |
getAggregateType(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.
|
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 |
setOrder(ArrayList<SelectOrderBy> orderBy)
Set the order for GROUP_CONCAT.
|
void |
setSeparator(Expression separator)
Set the separator for GROUP_CONCAT.
|
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, toString
public static final int COUNT_ALL
public static final int COUNT
public static final int GROUP_CONCAT
public Aggregate(int type, Expression on, Select select, boolean distinct)
type
- the aggregate typeon
- the aggregated expressionselect
- the select statementdistinct
- if distinct is usedpublic static int getAggregateType(String name)
name
- the aggregate function namepublic void setOrder(ArrayList<SelectOrderBy> orderBy)
orderBy
- the order by listpublic void setSeparator(Expression separator)
separator
- the separator expressionpublic void updateAggregate(Session session)
Expression
updateAggregate
in class Expression
session
- the sessionpublic Value getValue(Session session)
Expression
getValue
in class Expression
session
- the sessionpublic int getType()
Expression
getType
in class Expression
public void mapColumns(ColumnResolver resolver, int level)
Expression
mapColumns
in class Expression
resolver
- the column resolverlevel
- the subquery nesting levelpublic Expression optimize(Session session)
Expression
optimize
in class Expression
session
- the sessionpublic 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 class Expression
public long getPrecision()
Expression
getPrecision
in class Expression
public int getDisplaySize()
Expression
getDisplaySize
in class Expression
public String getSQL()
Expression
getSQL
in class Expression
public boolean isEverything(ExpressionVisitor visitor)
Expression
isEverything
in class Expression
visitor
- the visitorpublic int getCost()
Expression
getCost
in class Expression
Copyright © 2012 JBoss by Red Hat. All Rights Reserved.