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 | Description |
---|---|
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 | Description |
---|---|
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.
|
QueryResultColumns.ColumnInfo | |
QueryResultColumns.WrappedReformatter | |
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 |
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.
Copyright © 2008-2013 JBoss, a division of Red Hat. All Rights Reserved.