org.openrdf.sail.rdbms.optimizers
Class ValueJoinOptimizer

java.lang.Object
  extended by org.openrdf.query.algebra.helpers.QueryModelVisitorBase<X>
      extended by org.openrdf.sail.rdbms.algebra.base.RdbmsQueryModelVisitorBase<RuntimeException>
          extended by org.openrdf.sail.rdbms.optimizers.ValueJoinOptimizer
All Implemented Interfaces:
QueryOptimizer, QueryModelVisitor<RuntimeException>

public class ValueJoinOptimizer
extends RdbmsQueryModelVisitorBase<RuntimeException>
implements QueryOptimizer

Adds LEFT JOINs to the query for value tables.

Author:
James Leigh

Constructor Summary
ValueJoinOptimizer()
           
 
Method Summary
 void meet(BNodeColumn node)
           
 void meet(DatatypeColumn node)
           
 void meet(DateTimeColumn node)
           
 void meet(HashColumn node)
           
 void meet(LabelColumn node)
           
 void meet(LanguageColumn node)
           
 void meet(LongLabelColumn node)
           
 void meet(LongURIColumn node)
           
 void meet(NumericColumn node)
           
 void meet(SelectQuery node)
           
 void meet(UnionItem node)
           
 void meet(URIColumn node)
           
 void meetFromItem(FromItem node)
           
 void optimize(TupleExpr tupleExpr, Dataset dataset, BindingSet bindings)
           
 void setBnodeTable(BNodeTable bnodes)
           
 void setHashTable(HashTable hashes)
           
 void setLiteralTable(LiteralTable literals)
           
 void setUriTable(URITable uris)
           
 
Methods inherited from class org.openrdf.sail.rdbms.algebra.base.RdbmsQueryModelVisitorBase
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, meetBinarySqlOperator, meetSqlConstant, meetSqlExpr, meetUnarySqlOperator, meetValueColumnBase
 
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, meet, meet, meetBinaryTupleOperator, meetBinaryValueOperator, meetCompareSubQueryValueOperator, meetNode, meetOther, meetSubQueryValueOperator, meetUnaryTupleOperator, meetUnaryValueOperator
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ValueJoinOptimizer

public ValueJoinOptimizer()
Method Detail

setUriTable

public void setUriTable(URITable uris)

setBnodeTable

public void setBnodeTable(BNodeTable bnodes)

setLiteralTable

public void setLiteralTable(LiteralTable literals)

setHashTable

public void setHashTable(HashTable hashes)

optimize

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

meetFromItem

public void meetFromItem(FromItem node)
                  throws RuntimeException
Overrides:
meetFromItem in class RdbmsQueryModelVisitorBase<RuntimeException>
Throws:
RuntimeException

meet

public void meet(UnionItem node)
          throws RuntimeException
Overrides:
meet in class RdbmsQueryModelVisitorBase<RuntimeException>
Throws:
RuntimeException

meet

public void meet(SelectQuery node)
          throws RuntimeException
Overrides:
meet in class RdbmsQueryModelVisitorBase<RuntimeException>
Throws:
RuntimeException

meet

public void meet(HashColumn node)
          throws RuntimeException
Overrides:
meet in class RdbmsQueryModelVisitorBase<RuntimeException>
Throws:
RuntimeException

meet

public void meet(BNodeColumn node)
          throws RuntimeException
Overrides:
meet in class RdbmsQueryModelVisitorBase<RuntimeException>
Throws:
RuntimeException

meet

public void meet(DatatypeColumn node)
          throws RuntimeException
Overrides:
meet in class RdbmsQueryModelVisitorBase<RuntimeException>
Throws:
RuntimeException

meet

public void meet(DateTimeColumn node)
          throws RuntimeException
Overrides:
meet in class RdbmsQueryModelVisitorBase<RuntimeException>
Throws:
RuntimeException

meet

public void meet(LabelColumn node)
          throws RuntimeException
Overrides:
meet in class RdbmsQueryModelVisitorBase<RuntimeException>
Throws:
RuntimeException

meet

public void meet(LongLabelColumn node)
          throws RuntimeException
Overrides:
meet in class RdbmsQueryModelVisitorBase<RuntimeException>
Throws:
RuntimeException

meet

public void meet(LanguageColumn node)
          throws RuntimeException
Overrides:
meet in class RdbmsQueryModelVisitorBase<RuntimeException>
Throws:
RuntimeException

meet

public void meet(NumericColumn node)
          throws RuntimeException
Overrides:
meet in class RdbmsQueryModelVisitorBase<RuntimeException>
Throws:
RuntimeException

meet

public void meet(LongURIColumn node)
          throws RuntimeException
Overrides:
meet in class RdbmsQueryModelVisitorBase<RuntimeException>
Throws:
RuntimeException

meet

public void meet(URIColumn node)
          throws RuntimeException
Overrides:
meet in class RdbmsQueryModelVisitorBase<RuntimeException>
Throws:
RuntimeException


Copyright © 2001-2008 Aduna. All Rights Reserved.