public class JavaAggregate extends AbstractAggregate
args, distinct, filterCondition, typeover, overOrderBySort, select, STAGE_GROUP, STAGE_RESET, STAGE_WINDOWMAP_IN_AGGREGATE, MAP_IN_WINDOW, MAP_INITIAL| Constructor and Description |
|---|
JavaAggregate(UserAggregate userAggregate,
Expression[] args,
Select select,
boolean distinct) |
| Modifier and Type | Method and Description |
|---|---|
protected java.lang.Object |
createAggregateData()
Create aggregate data object specific to the subclass.
|
Value |
getAggregatedValue(Session session,
java.lang.Object aggregateData)
Returns aggregated value.
|
int |
getCost()
Estimate the cost to process the expression.
|
protected int |
getNumExpressions()
Returns the number of expressions, excluding OVER clause.
|
java.lang.StringBuilder |
getSQL(java.lang.StringBuilder builder,
boolean alwaysQuote)
Appends the SQL statement of this expression to the specified builder.
|
boolean |
isEverything(ExpressionVisitor visitor)
Check if this expression and all sub-expressions can fulfill a criteria.
|
Expression |
optimize(Session session)
Try to optimize the expression.
|
protected void |
rememberExpressions(Session session,
Value[] array)
Stores current values of expressions into the specified array.
|
protected void |
updateAggregate(Session session,
java.lang.Object aggregateData)
Updates an aggregate value.
|
protected void |
updateFromExpressions(Session session,
java.lang.Object aggregateData,
Value[] array)
Updates the provided aggregate data from the remembered expressions.
|
protected void |
updateGroupAggregates(Session session,
int stage)
Invoked when processing group stage of grouped window queries to update
arguments of this aggregate.
|
appendTailConditions, getOrderedResultLoop, getType, isAggregate, mapColumnsAnalysis, setEvaluatable, setFilterCondition, updateAggregatecreateOrder, getGroupData, getOverOrderBySort, getValue, getWindowData, mapColumns, setOverCondition, updateAggregate, updateOrderedAggregateaddFilterConditions, createIndexConditions, getAlias, getBooleanValue, getColumnName, getExpressionColumns, getExpressionColumns, getExpressionColumns, getNonAliasExpression, getNotIfPossible, getNullable, getSchemaName, getSQL, getSubexpression, getSubexpressionCount, getTableAlias, getTableName, getUnenclosedSQL, isAutoIncrement, isConstant, isNullConstant, isValueSet, toString, writeExpressions, writeExpressionspublic JavaAggregate(UserAggregate userAggregate, Expression[] args, Select select, boolean distinct)
public int getCost()
ExpressiongetCost in class Expressionpublic java.lang.StringBuilder getSQL(java.lang.StringBuilder builder,
boolean alwaysQuote)
ExpressiongetSQL in class Expressionbuilder - string builderalwaysQuote - quote all identifierspublic boolean isEverything(ExpressionVisitor visitor)
ExpressionisEverything in class DataAnalysisOperationvisitor - the visitorpublic Expression optimize(Session session)
Expressionoptimize in class AbstractAggregatesession - the sessionpublic Value getAggregatedValue(Session session, java.lang.Object aggregateData)
DataAnalysisOperationgetAggregatedValue in class DataAnalysisOperationsession - the sessionaggregateData - the aggregate dataprotected void updateAggregate(Session session, java.lang.Object aggregateData)
AbstractAggregateupdateAggregate in class AbstractAggregatesession - the sessionaggregateData - aggregate dataprotected void updateGroupAggregates(Session session, int stage)
DataAnalysisOperationupdateGroupAggregates in class AbstractAggregatesession - the sessionstage - select stageprotected int getNumExpressions()
DataAnalysisOperationgetNumExpressions in class DataAnalysisOperationprotected void rememberExpressions(Session session, Value[] array)
DataAnalysisOperationrememberExpressions in class DataAnalysisOperationsession - the sessionarray - array to store values of expressionsprotected void updateFromExpressions(Session session, java.lang.Object aggregateData, Value[] array)
AbstractAggregateupdateFromExpressions in class AbstractAggregatesession - the sessionaggregateData - aggregate dataarray - values of expressionsprotected java.lang.Object createAggregateData()
DataAnalysisOperationcreateAggregateData in class DataAnalysisOperation