public class OrderByProcessorOrderedLimit extends java.lang.Object implements OrderByProcessor
Constructor and Description |
---|
OrderByProcessorOrderedLimit(OrderByProcessorImpl orderByProcessor,
RowLimitProcessor rowLimitProcessor)
Ctor.
|
Modifier and Type | Method and Description |
---|---|
java.lang.Object |
getSortKey(EventBean[] eventsPerStream,
boolean isNewData,
ExprEvaluatorContext exprEvaluatorContext)
Returns the sort key for a given row.
|
java.lang.Object |
getSortKeyRollup(EventBean[] eventsPerStream,
boolean isNewData,
ExprEvaluatorContext exprEvaluatorContext,
AggregationGroupByRollupLevel level)
Returns the sort key for a given row for rollup.
|
EventBean[] |
sortPlain(EventBean[] outgoingEvents,
EventBean[][] generatingEvents,
boolean isNewData,
ExprEvaluatorContext exprEvaluatorContext,
AggregationService aggregationService)
Sort the output events.
|
EventBean[] |
sortRollup(EventBean[] outgoingEvents,
java.util.List<GroupByRollupKey> currentGenerators,
boolean newData,
AgentInstanceContext agentInstanceContext,
AggregationService aggregationService)
Sort the output events, using the provided group-by keys for
evaluating grouped aggregation functions, and avoiding the cost of
recomputing the keys.
|
static void |
sortRollupCodegen(OrderByProcessorOrderedLimitForge forge,
CodegenMethodNode method,
CodegenClassScope classScope,
CodegenNamedMethods namedMethods) |
EventBean[] |
sortTwoKeys(EventBean first,
java.lang.Object sortKeyFirst,
EventBean second,
java.lang.Object sortKeySecond)
Sort two keys and events
|
EventBean[] |
sortWGroupKeys(EventBean[] outgoingEvents,
EventBean[][] generatingEvents,
java.lang.Object[] groupByKeys,
boolean isNewData,
ExprEvaluatorContext exprEvaluatorContext,
AggregationService aggregationService)
Sort the output events, using the provided group-by keys for
evaluating grouped aggregation functions, and avoiding the cost of
recomputing the keys.
|
EventBean[] |
sortWOrderKeys(EventBean[] outgoingEvents,
java.lang.Object[] orderKeys,
ExprEvaluatorContext exprEvaluatorContext)
Sort a given array of outgoing events using the sort keys returning a sorted outgoing event array.
|
public OrderByProcessorOrderedLimit(OrderByProcessorImpl orderByProcessor, RowLimitProcessor rowLimitProcessor)
orderByProcessor
- the sorterrowLimitProcessor
- the row limiterpublic EventBean[] sortPlain(EventBean[] outgoingEvents, EventBean[][] generatingEvents, boolean isNewData, ExprEvaluatorContext exprEvaluatorContext, AggregationService aggregationService)
OrderByProcessor
sortPlain
in interface OrderByProcessor
outgoingEvents
- - the events to be sortedgeneratingEvents
- - the events that generated the output events (each event has a corresponding array of generating events per different event streams)isNewData
- - indicates whether we are dealing with new data (istream) or old data (rstream)exprEvaluatorContext
- context for expression evalauationaggregationService
- aggregation svcpublic EventBean[] sortRollup(EventBean[] outgoingEvents, java.util.List<GroupByRollupKey> currentGenerators, boolean newData, AgentInstanceContext agentInstanceContext, AggregationService aggregationService)
OrderByProcessor
sortRollup
in interface OrderByProcessor
outgoingEvents
- - the events to sortcurrentGenerators
- - the events that generated the output events (each event has a corresponding array of generating events per different event streams)newData
- - indicates whether we are dealing with new data (istream) or old data (rstream)agentInstanceContext
- context for expression evaluationaggregationService
- aggregation svcpublic static void sortRollupCodegen(OrderByProcessorOrderedLimitForge forge, CodegenMethodNode method, CodegenClassScope classScope, CodegenNamedMethods namedMethods)
public EventBean[] sortWGroupKeys(EventBean[] outgoingEvents, EventBean[][] generatingEvents, java.lang.Object[] groupByKeys, boolean isNewData, ExprEvaluatorContext exprEvaluatorContext, AggregationService aggregationService)
OrderByProcessor
sortWGroupKeys
in interface OrderByProcessor
outgoingEvents
- - the events to sortgeneratingEvents
- - the events that generated the output events (each event has a corresponding array of generating events per different event streams)groupByKeys
- - the keys to use for determining the group-by group of output eventsisNewData
- - indicates whether we are dealing with new data (istream) or old data (rstream)exprEvaluatorContext
- context for expression evaluationaggregationService
- aggregation svcpublic java.lang.Object getSortKey(EventBean[] eventsPerStream, boolean isNewData, ExprEvaluatorContext exprEvaluatorContext)
OrderByProcessor
getSortKey
in interface OrderByProcessor
eventsPerStream
- is the row consisting of one event per streamisNewData
- is true for new dataexprEvaluatorContext
- context for expression evalauationpublic java.lang.Object getSortKeyRollup(EventBean[] eventsPerStream, boolean isNewData, ExprEvaluatorContext exprEvaluatorContext, AggregationGroupByRollupLevel level)
OrderByProcessor
getSortKeyRollup
in interface OrderByProcessor
eventsPerStream
- is the row consisting of one event per streamisNewData
- is true for new dataexprEvaluatorContext
- context for expression evalauationlevel
- rollup levelpublic EventBean[] sortWOrderKeys(EventBean[] outgoingEvents, java.lang.Object[] orderKeys, ExprEvaluatorContext exprEvaluatorContext)
OrderByProcessor
sortWOrderKeys
in interface OrderByProcessor
outgoingEvents
- is the events to sortorderKeys
- is the keys to sort byexprEvaluatorContext
- context for expression evalauationpublic EventBean[] sortTwoKeys(EventBean first, java.lang.Object sortKeyFirst, EventBean second, java.lang.Object sortKeySecond)
OrderByProcessor
sortTwoKeys
in interface OrderByProcessor
first
- firstsortKeyFirst
- sort key firstsecond
- secondsortKeySecond
- sort key seconds