Package org.modeshape.graph.query.process

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.

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.Analyzer Inteface for criteria evaluation operations that cannot be defined efficiently, correctly, or completely using only the tuple values.
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 Location objects for the query results.
DelegatingComponent  
DistinctComponent A ProcessingComponent implementation that removes duplicates.
DistinctOfSortedComponent An efficient ProcessingComponent that removes duplicates from an already-sorted set of results.
ExceptComponent  
FullTextSearchResultColumns A specialization of QueryResultColumns that can be used to represent results containing only the Location of the node and the
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.
QueryProcessor 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  
 

Package org.modeshape.graph.query.process Description

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.



Copyright © 2008-2010 JBoss, a division of Red Hat. All Rights Reserved.