org.openrdf.sail.rdbms.optimizers
Class SelectQueryOptimizer

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.SelectQueryOptimizer
All Implemented Interfaces:
QueryOptimizer, QueryModelVisitor<RuntimeException>

public class SelectQueryOptimizer
extends RdbmsQueryModelVisitorBase<RuntimeException>
implements QueryOptimizer

Rewrites the core algebra model with a relation optimised model, using SQL.

Author:
James Leigh

Constructor Summary
SelectQueryOptimizer()
           
 
Method Summary
 void meet(Distinct node)
           
 void meet(Filter node)
           
 void meet(Join node)
           
 void meet(LeftJoin node)
           
 void meet(Order node)
           
 void meet(Projection node)
           
 void meet(Slice node)
           
 void meet(StatementPattern sp)
           
 void meet(Union node)
           
 void optimize(TupleExpr tupleExpr, Dataset dataset, BindingSet bindings)
           
 void setIdSequence(IdSequence ids)
           
 void setSqlExprFactory(SqlExprFactory sql)
           
 void setTransTableManager(TransTableManager statements)
           
 void setValueFactory(RdbmsValueFactory vf)
           
 
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, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meetBinarySqlOperator, meetFromItem, 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, 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

SelectQueryOptimizer

public SelectQueryOptimizer()
Method Detail

setSqlExprFactory

public void setSqlExprFactory(SqlExprFactory sql)

setValueFactory

public void setValueFactory(RdbmsValueFactory vf)

setTransTableManager

public void setTransTableManager(TransTableManager statements)

setIdSequence

public void setIdSequence(IdSequence ids)

optimize

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

meet

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

meet

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

meet

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

meet

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

meet

public void meet(StatementPattern sp)
Specified by:
meet in interface QueryModelVisitor<RuntimeException>
Overrides:
meet in class QueryModelVisitorBase<RuntimeException>

meet

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

meet

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

meet

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

meet

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


Copyright © 2001-2008 Aduna. All Rights Reserved.