public class ResultSetProcessorFactoryFactory
extends java.lang.Object
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 and Description |
---|
ResultSetProcessorFactoryFactory() |
Modifier and Type | Method and Description |
---|---|
static ResultSetProcessorFactoryDesc |
getProcessorPrototype(StatementSpecCompiled statementSpec,
StatementContext stmtContext,
StreamTypeService typeService,
ViewResourceDelegateUnverified viewResourceDelegate,
boolean[] isUnidirectionalStream,
boolean allowAggregation,
ContextPropertyRegistry contextPropertyRegistry,
SelectExprProcessorDeliveryCallback selectExprProcessorCallback)
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.
|
public static ResultSetProcessorFactoryDesc getProcessorPrototype(StatementSpecCompiled statementSpec, StatementContext stmtContext, StreamTypeService typeService, ViewResourceDelegateUnverified viewResourceDelegate, boolean[] isUnidirectionalStream, boolean allowAggregation, ContextPropertyRegistry contextPropertyRegistry, SelectExprProcessorDeliveryCallback selectExprProcessorCallback) throws ExprValidationException
statementSpec
- - a subset of the statement specificationstmtContext
- - engine and statement and agent-instance level servicestypeService
- - for information about the streams in the from clauseviewResourceDelegate
- - delegates views resource factory to expression resources requirementsisUnidirectionalStream
- - true if unidirectional join for any of the streamsallowAggregation
- - indicator whether to allow aggregation functions in any expressionsExprValidationException
- when any of the expressions is invalid