org.openrdf.sail.federation.optimizers
Class FederationJoinOptimizer

java.lang.Object
  extended by org.openrdf.query.algebra.helpers.QueryModelVisitorBase<RepositoryException>
      extended by org.openrdf.sail.federation.optimizers.FederationJoinOptimizer
All Implemented Interfaces:
QueryOptimizer, QueryModelVisitor<RepositoryException>

public class FederationJoinOptimizer
extends QueryModelVisitorBase<RepositoryException>
implements QueryOptimizer

Search for Join, LeftJoin, and Union arguments that can be evaluated in a single member.

Author:
James Leigh

Constructor Summary
FederationJoinOptimizer(Collection<? extends RepositoryConnection> members, boolean distinct, PrefixHashSet localSpace)
           
 
Method Summary
 void meet(LeftJoin node)
           
 void meet(Union node)
           
 void meetMultiJoin(NaryJoin node)
           
 void meetOther(QueryModelNode node)
           
protected  void meetUnaryTupleOperator(UnaryTupleOperator node)
           
 void optimize(TupleExpr query, Dataset dataset, BindingSet bindings)
           
 
Methods inherited from class org.openrdf.query.algebra.helpers.QueryModelVisitorBase
meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meetBinaryTupleOperator, meetBinaryValueOperator, meetCompareSubQueryValueOperator, meetNode, meetSubQueryValueOperator, meetUnaryValueOperator
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FederationJoinOptimizer

public FederationJoinOptimizer(Collection<? extends RepositoryConnection> members,
                               boolean distinct,
                               PrefixHashSet localSpace)
Method Detail

optimize

public void optimize(TupleExpr query,
                     Dataset dataset,
                     BindingSet bindings)
Specified by:
optimize in interface QueryOptimizer

meetOther

public void meetOther(QueryModelNode node)
               throws RepositoryException
Specified by:
meetOther in interface QueryModelVisitor<RepositoryException>
Overrides:
meetOther in class QueryModelVisitorBase<RepositoryException>
Throws:
RepositoryException

meetMultiJoin

public void meetMultiJoin(NaryJoin node)
                   throws RepositoryException
Throws:
RepositoryException

meet

public void meet(LeftJoin node)
          throws RepositoryException
Specified by:
meet in interface QueryModelVisitor<RepositoryException>
Overrides:
meet in class QueryModelVisitorBase<RepositoryException>
Throws:
RepositoryException

meet

public void meet(Union node)
          throws RepositoryException
Specified by:
meet in interface QueryModelVisitor<RepositoryException>
Overrides:
meet in class QueryModelVisitorBase<RepositoryException>
Throws:
RepositoryException

meetUnaryTupleOperator

protected void meetUnaryTupleOperator(UnaryTupleOperator node)
                               throws RepositoryException
Overrides:
meetUnaryTupleOperator in class QueryModelVisitorBase<RepositoryException>
Throws:
RepositoryException


Copyright © 2004-2009 James Leigh Services Inc.. All Rights Reserved.