public class Aggregate extends Expression
| 限定符和类型 | 字段和说明 |
|---|---|
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(...).
|
| 构造器和说明 |
|---|
Aggregate(int type,
Expression on,
Select select,
boolean distinct)
Create a new aggregate object.
|
| 限定符和类型 | 方法和说明 |
|---|---|
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 |
setGroupConcatOrder(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 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 setGroupConcatOrder(ArrayList<SelectOrderBy> orderBy)
orderBy - the order by listpublic void setGroupConcatSeparator(Expression separator)
separator - the separator expressionpublic void updateAggregate(Session session)
ExpressionupdateAggregate 在类中 Expressionsession - the sessionpublic Value getValue(Session session)
ExpressiongetValue 在类中 Expressionsession - the sessionpublic int getType()
ExpressiongetType 在类中 Expressionpublic void mapColumns(ColumnResolver resolver, int level)
ExpressionmapColumns 在类中 Expressionresolver - the column resolverlevel - the subquery nesting levelpublic Expression optimize(Session session)
Expressionoptimize 在类中 Expressionsession - the sessionpublic void setEvaluatable(TableFilter tableFilter, boolean b)
ExpressionsetEvaluatable 在类中 ExpressiontableFilter - the table filterb - true if the table filter can return valuepublic int getScale()
ExpressiongetScale 在类中 Expressionpublic long getPrecision()
ExpressiongetPrecision 在类中 Expressionpublic int getDisplaySize()
ExpressiongetDisplaySize 在类中 Expressionpublic String getSQL()
ExpressiongetSQL 在类中 Expressionpublic boolean isEverything(ExpressionVisitor visitor)
ExpressionisEverything 在类中 Expressionvisitor - the visitorpublic int getCost()
ExpressiongetCost 在类中 ExpressionCopyright © 2017. All rights reserved.