uk.ac.bbk.dcs.automed.qproc.optimise
Class AbstractOptimisationProvider

java.lang.Object
  extended by uk.ac.bbk.dcs.automed.qproc.optimise.AbstractOptimisationProvider
All Implemented Interfaces:
QueryOptimisationProvider
Direct Known Subclasses:
StandardOptimisationProvider

public abstract class AbstractOptimisationProvider
extends java.lang.Object
implements QueryOptimisationProvider

Author:
Lucas Zamboulis

Field Summary
protected  java.util.logging.Logger logger
           
protected  ParameterisedQueryCache qcache
           
protected  boolean valueBasedOptimisation
           
 
Constructor Summary
AbstractOptimisationProvider()
           
 
Method Summary
 boolean getValueBasedOptimisation()
           
protected abstract  void logicalOptimisation(ASG query, Schema[] targets, QueryProcessorConfiguration qpc)
           
 void optimise(ASG query, Schema[] targets, QueryProcessorConfiguration qpc)
          Optimise an IQL query based on a given configuration
protected abstract  void physicalOptimisation(ASG query, Schema[] targets, QueryProcessorConfiguration qpc)
           
 void setValueBasedOptimisation(boolean value)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface uk.ac.ic.doc.automed.qproc.opti.QueryOptimisationProvider
getName
 

Field Detail

logger

protected java.util.logging.Logger logger

valueBasedOptimisation

protected boolean valueBasedOptimisation

qcache

protected ParameterisedQueryCache qcache
Constructor Detail

AbstractOptimisationProvider

public AbstractOptimisationProvider()
Method Detail

setValueBasedOptimisation

public void setValueBasedOptimisation(boolean value)
Specified by:
setValueBasedOptimisation in interface QueryOptimisationProvider

getValueBasedOptimisation

public boolean getValueBasedOptimisation()
Specified by:
getValueBasedOptimisation in interface QueryOptimisationProvider

optimise

public void optimise(ASG query,
                     Schema[] targets,
                     QueryProcessorConfiguration qpc)
              throws QueryOptimisationException
Description copied from interface: QueryOptimisationProvider
Optimise an IQL query based on a given configuration

Specified by:
optimise in interface QueryOptimisationProvider
Parameters:
query - an ASG object of an IQL query
Throws:
QueryOptimisationException

logicalOptimisation

protected abstract void logicalOptimisation(ASG query,
                                            Schema[] targets,
                                            QueryProcessorConfiguration qpc)
                                     throws QueryOptimisationException
Throws:
QueryOptimisationException

physicalOptimisation

protected abstract void physicalOptimisation(ASG query,
                                             Schema[] targets,
                                             QueryProcessorConfiguration qpc)
                                      throws QueryOptimisationException
Throws:
QueryOptimisationException