com.espertech.esper.epl.join.base
Class JoinSetComposerPrototypeFactory

java.lang.Object
  extended by com.espertech.esper.epl.join.base.JoinSetComposerPrototypeFactory

public class JoinSetComposerPrototypeFactory
extends java.lang.Object

Factory for building a JoinSetComposer from analyzing filter nodes, for fast join tuple result set composition.


Constructor Summary
JoinSetComposerPrototypeFactory()
           
 
Method Summary
static Pair<HistoricalIndexLookupStrategy,PollResultIndexingStrategy> determineIndexing(QueryGraph queryGraph, EventType polledViewType, EventType streamViewType, int polledViewStreamNum, int streamViewStreamNum)
          Constructs indexing and lookup strategy for a given relationship that a historical stream may have with another stream (historical or not) that looks up into results of a poll of a historical stream.
static JoinSetComposerPrototype makeComposerPrototype(java.lang.String statementName, java.lang.String statementId, OuterJoinDesc[] outerJoinDescList, ExprNode optionalFilterNode, EventType[] streamTypes, java.lang.String[] streamNames, StreamJoinAnalysisResult streamJoinAnalysisResult, boolean queryPlanLogging, StatementContext statementContext, HistoricalViewableDesc historicalViewableDesc, ExprEvaluatorContext exprEvaluatorContext, boolean selectsRemoveStream, boolean hasAggregations, TableService tableService, boolean isOnDemandQuery)
          Builds join tuple composer.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JoinSetComposerPrototypeFactory

public JoinSetComposerPrototypeFactory()
Method Detail

makeComposerPrototype

public static JoinSetComposerPrototype makeComposerPrototype(java.lang.String statementName,
                                                             java.lang.String statementId,
                                                             OuterJoinDesc[] outerJoinDescList,
                                                             ExprNode optionalFilterNode,
                                                             EventType[] streamTypes,
                                                             java.lang.String[] streamNames,
                                                             StreamJoinAnalysisResult streamJoinAnalysisResult,
                                                             boolean queryPlanLogging,
                                                             StatementContext statementContext,
                                                             HistoricalViewableDesc historicalViewableDesc,
                                                             ExprEvaluatorContext exprEvaluatorContext,
                                                             boolean selectsRemoveStream,
                                                             boolean hasAggregations,
                                                             TableService tableService,
                                                             boolean isOnDemandQuery)
                                                      throws ExprValidationException
Builds join tuple composer.

Parameters:
outerJoinDescList - - list of descriptors for outer join criteria
optionalFilterNode - - filter tree for analysis to build indexes for fast access
streamTypes - - types of streams
streamNames - - names of streams
Returns:
composer implementation
Throws:
ExprValidationException - is thrown to indicate that validation of view use in joins failed.

determineIndexing

public static Pair<HistoricalIndexLookupStrategy,PollResultIndexingStrategy> determineIndexing(QueryGraph queryGraph,
                                                                                               EventType polledViewType,
                                                                                               EventType streamViewType,
                                                                                               int polledViewStreamNum,
                                                                                               int streamViewStreamNum)
Constructs indexing and lookup strategy for a given relationship that a historical stream may have with another stream (historical or not) that looks up into results of a poll of a historical stream.

The term "polled" refers to the assumed-historical stream.

Parameters:
queryGraph - relationship representation of where-clause filter and outer join on-expressions
polledViewType - the event type of the historical that is indexed
streamViewType - the event type of the stream looking up in indexes
polledViewStreamNum - the stream number of the historical that is indexed
streamViewStreamNum - the stream number of the historical that is looking up
Returns:
indexing and lookup strategy pair

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