com.espertech.esper.epl.core
Class ResultSetProcessorFactoryFactory

java.lang.Object
  extended by com.espertech.esper.epl.core.ResultSetProcessorFactoryFactory

public class ResultSetProcessorFactoryFactory
extends java.lang.Object

Factory for output processors. Output processors process the result set of a join or of a view and apply aggregation/grouping, having and some output limiting logic.

The instance produced by the factory depends on the presence of aggregation functions in the select list, the presence and nature of the group-by clause.

In case (1) and (2) there are no aggregation functions in the select clause.

Case (3) is without group-by and with aggregation functions and without non-aggregated properties in the select list:

select sum(volume) 
. Always produces one row for new and old data, aggregates without grouping.

Case (4) is without group-by and with aggregation functions but with non-aggregated properties in the select list:

select price, sum(volume) 
. Produces a row for each event, aggregates without grouping.

Case (5) is with group-by and with aggregation functions and all selected properties are grouped-by. in the select list:

select customerId, sum(volume) group by customerId
. Produces a old and new data row for each group changed, aggregates with grouping, see ResultSetProcessorRowPerGroup

Case (6) is with group-by and with aggregation functions and only some selected properties are grouped-by. in the select list:

select customerId, supplierId, sum(volume) group by customerId
. Produces row for each event, aggregates with grouping.


Constructor Summary
ResultSetProcessorFactoryFactory()
           
 
Method Summary
static ResultSetProcessorFactoryDesc getProcessorPrototype(StatementSpecCompiled statementSpec, StatementContext stmtContext, StreamTypeService typeService, ViewResourceDelegateUnverified viewResourceDelegate, boolean[] isUnidirectionalStream, boolean allowAggregation, ContextPropertyRegistry contextPropertyRegistry, SelectExprProcessorDeliveryCallback selectExprProcessorCallback, ConfigurationInformation configurationInformation)
          Returns the result set process for the given select expression, group-by clause and having clause given a set of types describing each stream in the from-clause.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ResultSetProcessorFactoryFactory

public ResultSetProcessorFactoryFactory()
Method Detail

getProcessorPrototype

public static ResultSetProcessorFactoryDesc getProcessorPrototype(StatementSpecCompiled statementSpec,
                                                                  StatementContext stmtContext,
                                                                  StreamTypeService typeService,
                                                                  ViewResourceDelegateUnverified viewResourceDelegate,
                                                                  boolean[] isUnidirectionalStream,
                                                                  boolean allowAggregation,
                                                                  ContextPropertyRegistry contextPropertyRegistry,
                                                                  SelectExprProcessorDeliveryCallback selectExprProcessorCallback,
                                                                  ConfigurationInformation configurationInformation)
                                                           throws ExprValidationException
Returns the result set process for the given select expression, group-by clause and having clause given a set of types describing each stream in the from-clause.

Parameters:
statementSpec - - a subset of the statement specification
stmtContext - - engine and statement and agent-instance level services
typeService - - for information about the streams in the from clause
viewResourceDelegate - - delegates views resource factory to expression resources requirements
isUnidirectionalStream - - true if unidirectional join for any of the streams
allowAggregation - - indicator whether to allow aggregation functions in any expressions
Returns:
result set processor instance
Throws:
ExprValidationException - when any of the expressions is invalid

© 2006-2015 EsperTech Inc.
All rights reserved.
Visit us at espertech.com