[This topic is pre-release documentation and is subject to change in future releases. Blank topics are included as placeholders.]

Base expression node that represents an aggregation function such as 'sum' or 'count'. In terms of validation each concrete aggregation node must implement it's own validation. In terms of evaluation this base class will ask the assigned net.esper.eql.core.AggregationResultFuture for the current state, using a column number assigned to the node. Concrete subclasses must supply an aggregation state prototype node net.esper.eql.core.Aggregator that reflects each group's (there may be group-by critera) current aggregation state.

The following tables list the members exposed by the ExprAggregateNode type.

Public Methods

  NameDescription
Accept
Accept the visitor. The visitor will first visit the parent then visit all child nodes, then their child nodes. The visitor can decide to skip child nodes by returning false in isVisit.
(Inherited from ExprNode.)
AddChildNode
Adds a child node.
(Inherited from ExprNode.)
DumpDebug
Recursively print out all nodes.
(Inherited from ExprNode.)
Equals (Inherited from Object.)
EqualsNode
Return true if a expression node semantically equals the current node, or false if not. Concrete implementations should compare the type and any additional information that impact the evaluation of a node.
(Overrides .EqualsNode(ExprNode).)
EqualsNodeAggregate
Return true if a expression aggregate node semantically equals the current node, or false if not. For use by the EqualsNode implementation which compares the distinct flag.

Evaluate
Evaluates the specified events.
(Overrides .Evaluate(EventBean[]()).)
static memberGetAggregatesBottomUp
Populates into the supplied list all aggregation functions within this expression, if any.

Populates by going bottom-up such that nested aggregates appear first.

I.e. sum(volume * sum(price)) would put first A then B into the list with A=sum(price) and B=sum(volume * A)


GetHashCode (Inherited from Object.)
GetType (Inherited from Object.)
GetValidatedSubtree
Validates the expression node subtree that has this node as root. Some of the nodes of the tree, including the root, might be replaced in the process.
(Inherited from ExprNode.)
SetAggregationResultFuture
Assigns to the node the future which can be queried for the current aggregation state at evaluation time.

ToString (Inherited from Object.)
Validate
Validate node.
(Inherited from ExprNode.)

Protected Methods

  NameDescription
Finalize (Inherited from Object.)
MemberwiseClone (Inherited from Object.)
ValidateSingleNumericChild
For use by implementing classes, validates the aggregation node expecting a single numeric-type child node.