[This topic is pre-release documentation and is subject to change in future releases. Blank topics are included as placeholders.]

Classes

  ClassDescription
public classBestChainResult
Encapsulates the chain information.

public classFilterExprAnalyzer
Analyzes a filter expression and builds a query graph model. The 'equals' and 'and' expressions in the filter expression are extracted and placed in the query graph model as navigable relationships (by key and index properties) between streams.

public classFullTableScanLookupPlan
Plan for a full table scan.

public classGraphKey
Key consisting of 2 integer stream numbers.

public classGraphValue
Property lists stored as a value for each stream-to-stream relationship.

public classIndexedTableLookupPlan
Plan to perform an indexed table lookup.

public classLookupInstructionPlan
Plan for lookup using a from-stream event looking up one or more to-streams using a specified lookup plan for each to-stream.

public classLookupInstructionQueryPlanNode
Query plan for executing a set of lookup instructions and assembling an end result via a set of assembly instructions.

public classNestedIterationNode
Plan to perform a nested iteration over child nodes.

public classNStreamOuterQueryPlanBuilder
Builds a query plan for 3 or more streams in a outer join.

public classNStreamQueryPlanBuilder
2 Stream query strategy/execution tree (stream 0) Lookup in stream 1 (stream 1) Lookup in stream 0 ------ Example 1 a 3 table join " where streamA.id = streamB.id " + " and streamB.id = streamC.id"; => Index propery names for each stream for stream 0 to 4 = "id" => join order, ie. for stream 0 = {1, 2} for stream 1 = {factor [0,2]} for stream 2 = {1, 0} => IndexKeyGen optionalIndexKeyGen, created by nested query plan nodes 3 Stream query strategy (stream 0) Nested iteration Lookup in stream 1 Lookup in stream 2 (stream 1) Factor Lookup in stream 0 Lookup in stream 2 (stream 2) Nested iteration Lookup in stream 1 Lookup in stream 0 ------ Example 2 a 4 table join " where streamA.id = streamB.id " + " and streamB.id = streamC.id"; " and streamC.id = streamD.id"; => join order, ie. for stream 0 = {1, 2, 3} for stream 1 = {factor [0,2], use 2 for 3} for stream 2 = {factor [1,3], use 1 for 0} for stream 3 = {2, 1, 0} concepts... nested iteration, inner loop select * from s1, s2, s3, s4 where s1.id=s2.id and s2.id=s3.id and s3.id=s4.id (stream 0) Nested iteration Lookup in stream 1 Lookup in stream 2 Lookup in stream 3 (stream 1) Factor lookup in stream 0 Nested iteration Lookup in stream 2 Lookup in stream 3 (stream 2) Factor lookup in stream 3 Nested iteration Lookup in stream 1 Lookup in stream 0 (stream 3) Nested iteration Lookup in stream 2 Lookup in stream 1 Lookup in stream 0 ------ Example 4 a 4 table join, orphan table " where streamA.id = streamB.id " + " and streamB.id = streamC.id"; (no table D join criteria) ------ Example 5 a 3 table join with 2 indexes for stream B " where streamA.A1 = streamB.B1 " + " and streamB.B2 = streamC.C1"; (no table D join criteria)

Builds a query plan for 3 or more streams in a join.


public classOuterInnerDirectionalGraph
This class represents outer-join relationships between outer and inner tables. To add a left outer join between streams 0 and 1 use "Add(0, 1)". To add a full outer join between streams 0 and 1 use "Add(0, 1)" and "Add(1, 0)". To add a right outer join between streams 0 and 1 use "Add(1, 0)".

public classOuterJoinAnalyzer
Analyzes an outer join descriptor list and builds a query graph model from it. The 'on' expression identifiers are extracted and placed in the query graph model as navigable relationships (by key and index properties) between streams.

public classQueryGraph
Model of relationships between streams based on properties in both streams that are specified as equal in a filter expression.

public classQueryPlan
Contains the query plan for all streams.

public classQueryPlanBuilder
Build a query plan based on filtering information.

public classQueryPlanIndex
Specifies an index to build as part of an overall query plan.

public classQueryPlanIndexBuilder
Build query index plans.

public classQueryPlanNode
Specification node for a query execution plan to be extended by specific execution specification nodes.

public classTableLookupNode
Specifies exection of a table lookup using the supplied plan for performing the lookup.

public classTableLookupPlan
Abstract specification on how to perform a table lookup.

public classTableOuterLookupNode
Specifies exection of a table lookup with outer join using the a specified lookup plan.

public classTwoStreamQueryPlanBuilder
Builds a query plan for the simple 2-stream scenario.