|
ModeShape Distribution 3.0.0.Beta4 | |||||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |
QueryProcessor
interface, which is responsible for constructing for each query
a tree of ProcessingComponent
objects that each are responsible for processing a specific aspect of
the query and returning the tuples to the parent component.
See:
Description
Interface Summary | |
---|---|
JoinComponent.Joinable | Interface defining the value of a tuple that is used in the join condition. |
JoinComponent.TupleMerger | A component that will merge the supplied tuple on the left side of a join with the supplied tuple on the right side of the join, to produce a single tuple with all components from the left and right tuples. |
JoinComponent.ValueSelector | Interface defining the value of a tuple that is used in the join condition. |
ProcessingComponent.DynamicOperation | Interface for evaluating a DynamicOperand to return the resulting value. |
Processor | Interface for a query processor. |
SelectComponent.CompareOperation | Interface defining the Comparison functionality for a specific Operator . |
SelectComponent.ConstraintChecker | Interface used to determine whether a tuple satisfies all of the constraints applied to the SELECT node. |
Class Summary | |
---|---|
AbstractAccessComponent | A reusable base class for ProcessingComponent implementations that does everything except obtain the correct
QueryResults.Location objects for the query results. |
DelegatingComponent | |
DependentQueryComponent | A ProcessingComponent that executes a dependent query node by first executing the left
component and then executing the right component. |
DistinctComponent | A ProcessingComponent implementation that removes duplicates. |
DistinctOfSortedComponent | An efficient ProcessingComponent that removes duplicates from an already-sorted set of results. |
ExceptComponent | |
IntersectComponent | |
JoinComponent | |
LimitComponent | |
MergeJoinComponent | Create a processing component that performs a merge-join algorithm. |
NestedLoopJoinComponent | |
NoResultsComponent | |
ProcessingComponent | A component that performs (some) portion of the query processing by returning the tuples that result from
this stage of processing. |
ProjectComponent | A ProcessingComponent implementation that performs a PROJECT operation to reduce the columns that
appear in the results. |
QueryEngine | A query engine that is able to execute formal queries expressed in the Graph API's Abstract Query Model . |
QueryProcessor<ProcessingContextType> | An abstract Processor implementation that builds a tree of ProcessingComponent objects to perform the different
parts of the query processing logic. |
QueryResultColumns | Defines the columns associated with the results of a query. |
QueryResults | The resulting output of a query. |
SelectComponent | |
SetOperationComponent | |
SortLocationsComponent | |
SortValuesComponent | A ProcessingComponent implementation that performs a PROJECT operation to reduce the columns that
appear in the results. |
UnionComponent |
This package defines the QueryProcessor
interface, which is responsible for constructing for each query
a tree of ProcessingComponent
objects that each are responsible for processing a specific aspect of
the query and returning the tuples to the parent component.
At the bottom are the "access" components that perform the low-level access of the tuples from the graph container. Above these are the other components that implement various operations, such as limits, joins (using merge and nested loop algorithms), unions, intersects, distinct, sorts, and even column projections. At the top is a single component that produces tuples that represent the results of the query.
Once the QueryProcessor
creates the ProcessingComponent assembly,
the top-level component is executed. Execution involves requesting from the child processing component(s) the next batch of results,
processing each of the tuples according to the specific ProcessingComponent algorithm, and finally returning
the processed tuples.
|
ModeShape Distribution 3.0.0.Beta4 | |||||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |