Package | Description |
---|---|
com.espertech.esper.epl.datetime.eval |
Date-Time methods and related utility classes.
|
com.espertech.esper.epl.join.base |
Join process interfaces and glue code
|
com.espertech.esper.epl.join.plan |
Inner join and outer join query planning
|
com.espertech.esper.epl.join.table |
Indexes for views
|
com.espertech.esper.epl.join.util |
Join-related utilities
|
Modifier and Type | Method and Description |
---|---|
void |
ExprDotNodeFilterAnalyzerDTIntervalDesc.apply(QueryGraph queryGraph) |
void |
ExprDotNodeFilterAnalyzerDTBetweenDesc.apply(QueryGraph queryGraph) |
void |
ExprDotNodeFilterAnalyzerDesc.apply(QueryGraph queryGraph) |
Modifier and Type | Method and Description |
---|---|
static Pair<HistoricalIndexLookupStrategy,PollResultIndexingStrategy> |
JoinSetComposerPrototypeFactory.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.
|
Modifier and Type | Method and Description |
---|---|
static QueryGraph |
OuterJoinAnalyzer.analyze(OuterJoinDesc[] outerJoinDescList,
QueryGraph queryGraph)
Analyzes the outer join descriptor list to build a query graph model.
|
Modifier and Type | Method and Description |
---|---|
static void |
FilterExprAnalyzer.analyze(ExprNode topNode,
QueryGraph queryGraph,
boolean isOuterJoin)
Analyzes filter expression to build query graph model.
|
static QueryGraph |
OuterJoinAnalyzer.analyze(OuterJoinDesc[] outerJoinDescList,
QueryGraph queryGraph)
Analyzes the outer join descriptor list to build a query graph model.
|
protected static void |
FilterExprAnalyzer.analyzeAndNode(ExprAndNode andNode,
QueryGraph queryGraph,
boolean isOuterJoin)
Analyze the AND-node.
|
protected static void |
FilterExprAnalyzer.analyzeEqualsNode(ExprEqualsNode equalsNode,
QueryGraph queryGraph,
boolean isOuterJoin)
Analye EQUALS (=) node.
|
static QueryPlan |
TwoStreamQueryPlanBuilder.build(EventType[] typesPerStream,
QueryGraph queryGraph,
OuterJoinType optionalOuterJoinType,
String[][][] uniqueIndexProps,
TableMetadata[] tablesPerStream)
Build query plan.
|
protected static QueryPlan |
NStreamQueryPlanBuilder.build(QueryGraph queryGraph,
EventType[] typesPerStream,
HistoricalViewableDesc historicalViewableDesc,
DependencyGraph dependencyGraph,
HistoricalStreamIndexList[] historicalStreamIndexLists,
boolean hasForceNestedIter,
String[][][] indexedStreamsUniqueProps,
TableMetadata[] tablesPerStream) |
protected static QueryPlan |
NStreamOuterQueryPlanBuilder.build(QueryGraph queryGraph,
OuterJoinDesc[] outerJoinDescList,
String[] streamNames,
EventType[] typesPerStream,
HistoricalViewableDesc historicalViewableDesc,
DependencyGraph dependencyGraph,
HistoricalStreamIndexList[] historicalStreamIndexLists,
ExprEvaluatorContext exprEvaluatorContext,
String[][][] indexedStreamsUniqueProps,
TableMetadata[] tablesPerStream)
Build a query plan based on the stream property relationships indicated in queryGraph.
|
static QueryPlanIndex[] |
QueryPlanIndexBuilder.buildIndexSpec(QueryGraph queryGraph,
EventType[] typePerStream,
String[][][] indexedStreamsUniqueProps)
Build index specification from navigability info.
|
protected static NStreamQueryPlanBuilder.BestChainResult |
NStreamQueryPlanBuilder.computeBestPath(int lookupStream,
QueryGraph queryGraph,
DependencyGraph dependencyGraph)
Compute a best chain or path for lookups to take for the lookup stream passed in and the query
property relationships.
|
protected static int |
NStreamQueryPlanBuilder.computeNavigableDepth(int lookupStream,
int[] nextStreams,
QueryGraph queryGraph)
Given a chain of streams to look up and indexing information, compute the index within the
chain of the first non-index lookup.
|
static TableLookupPlan |
NStreamQueryPlanBuilder.createLookupPlan(QueryGraph queryGraph,
int currentLookupStream,
int indexedStream,
QueryPlanIndex indexSpecs,
EventType[] typesPerStream,
TableMetadata indexedStreamTableMeta)
Create the table lookup plan for a from-stream to look up in an indexed stream
using the columns supplied in the query graph and looking at the actual indexes available
and their index number.
|
protected static QueryPlanNode |
NStreamQueryPlanBuilder.createStreamPlan(int lookupStream,
int[] bestChain,
QueryGraph queryGraph,
QueryPlanIndex[] indexSpecsPerStream,
EventType[] typesPerStream,
boolean[] isHistorical,
HistoricalStreamIndexList[] historicalStreamIndexLists,
TableMetadata[] tablesPerStream)
Walks the chain of lookups and constructs lookup strategy and plan specification based
on the index specifications.
|
static void |
QueryGraph.fillEquivalentNav(EventType[] typesPerStream,
QueryGraph queryGraph)
Fill in equivalent key properties (navigation entries) on all streams.
|
static QueryPlan |
QueryPlanBuilder.getPlan(EventType[] typesPerStream,
OuterJoinDesc[] outerJoinDescList,
QueryGraph queryGraph,
String[] streamNames,
HistoricalViewableDesc historicalViewableDesc,
DependencyGraph dependencyGraph,
HistoricalStreamIndexList[] historicalStreamIndexLists,
StreamJoinAnalysisResult streamJoinAnalysisResult,
boolean isQueryPlanLogging,
Annotation[] annotations,
ExprEvaluatorContext exprEvaluatorContext)
Build query plan using the filter.
|
protected static void |
NStreamOuterQueryPlanBuilder.recursiveBuild(int streamNum,
Stack<Integer> streamCallStack,
QueryGraph queryGraph,
OuterInnerDirectionalGraph outerInnerGraph,
InnerJoinGraph innerJoinGraph,
Set<Integer> completedStreams,
LinkedHashMap<Integer,int[]> substreamsPerStream,
boolean[] requiredPerStream,
DependencyGraph dependencyGraph)
Recusivly builds a substream-per-stream ordered tree graph using the
join information supplied for outer joins and from the query graph (where clause).
|
protected static void |
NStreamOuterQueryPlanBuilder.recursiveBuildInnerJoin(int streamNum,
Stack<Integer> streamCallStack,
QueryGraph queryGraph,
Set<Integer> completedStreams,
LinkedHashMap<Integer,int[]> substreamsPerStream,
DependencyGraph dependencyGraph)
Recusivly builds a substream-per-stream ordered tree graph using the
join information supplied for outer joins and from the query graph (where clause).
|
Constructor and Description |
---|
HistoricalStreamIndexList(int historicalStreamNum,
EventType[] typesPerStream,
QueryGraph queryGraph)
Ctor.
|
Modifier and Type | Method and Description |
---|---|
static void |
RangeFilterAnalyzer.apply(ExprNode target,
ExprNode start,
ExprNode end,
boolean includeStart,
boolean includeEnd,
boolean isNot,
QueryGraph queryGraph) |