|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectnet.esper.eql.core.ResultSetProcessorRowPerGroup
public class ResultSetProcessorRowPerGroup
Result set processor for the fully-grouped case: there is a group-by and all non-aggregation event properties in the select clause are listed in the group by, and there are aggregation functions.
Produces one row for each group that changed (and not one row per event). Computes MultiKey group-by keys for each event and uses a set of the group-by keys to generate the result rows, using the first (old or new, anyone) event for each distinct group-by key.
Constructor Summary | |
---|---|
ResultSetProcessorRowPerGroup(SelectExprProcessor selectExprProcessor,
OrderByProcessor orderByProcessor,
AggregationService aggregationService,
java.util.List<ExprNode> groupKeyNodes,
ExprNode optionalHavingNode,
boolean isOutputLimiting,
boolean isOutputLimitLastOnly)
Ctor. |
Method Summary | |
---|---|
EventType |
getResultEventType()
Returns the event type of processed results. |
Pair<EventBean[],EventBean[]> |
processJoinResult(java.util.Set<MultiKey<EventBean>> newEvents,
java.util.Set<MultiKey<EventBean>> oldEvents)
For use by joins posting their result, process the event rows that are entered and removed (new and old events). |
Pair<EventBean[],EventBean[]> |
processViewResult(EventBean[] newData,
EventBean[] oldData)
For use by views posting their result, process the event rows that are entered and removed (new and old events). |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public ResultSetProcessorRowPerGroup(SelectExprProcessor selectExprProcessor, OrderByProcessor orderByProcessor, AggregationService aggregationService, java.util.List<ExprNode> groupKeyNodes, ExprNode optionalHavingNode, boolean isOutputLimiting, boolean isOutputLimitLastOnly)
selectExprProcessor
- - for processing the select expression and generting the final output rowsorderByProcessor
- - for sorting outgoing events according to the order-by clauseaggregationService
- - handles aggregationgroupKeyNodes
- - list of group-by expression nodes needed for building the group-by keysoptionalHavingNode
- - expression node representing validated HAVING clause, or null if none given.
Aggregation functions in the having node must have been pointed to the AggregationService for evaluation.isOutputLimiting
- - true to indicate we are output limiting and must keep producing
a row per group even if groups didn't changeisOutputLimitLastOnly
- - true if output limiting and interested in last event onlyMethod Detail |
---|
public EventType getResultEventType()
ResultSetProcessor
getResultEventType
in interface ResultSetProcessor
public Pair<EventBean[],EventBean[]> processJoinResult(java.util.Set<MultiKey<EventBean>> newEvents, java.util.Set<MultiKey<EventBean>> oldEvents)
ResultSetProcessor
processJoinResult
in interface ResultSetProcessor
newEvents
- - new events posted by joinoldEvents
- - old events posted by join
public Pair<EventBean[],EventBean[]> processViewResult(EventBean[] newData, EventBean[] oldData)
ResultSetProcessor
processViewResult
in interface ResultSetProcessor
newData
- - new events posted by viewoldData
- - old events posted by view
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |