DSRG.MW
Class QueryEngine

java.lang.Object
  |
  +--DSRG.MW.QueryEngine

public class QueryEngine
extends java.lang.Object


Field Summary
private static boolean DEBUG
          the debug flag
private  Main main
          a handle to the Main class
 
Constructor Summary
QueryEngine(Main myMain)
          the constructor takes the handle to the main class as argument.
 
Method Summary
private  java.util.Vector breakdown_query(View v)
          This method creates the queries that are sent to each IS.
 Table computeExtent(View v)
          This method computes the extent of a view by using the queryBreakdown() method.
 java.lang.String reassemble_query(java.lang.String viewName)
          This method creates the reassembly query for the intermediate DB from which this view is computed.
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Field Detail

main

private Main main
a handle to the Main class

DEBUG

private static final boolean DEBUG
the debug flag
Constructor Detail

QueryEngine

public QueryEngine(Main myMain)
the constructor takes the handle to the main class as argument. This is the only connection to the outside world that the query engine has
Method Detail

computeExtent

public Table computeExtent(View v)
This method computes the extent of a view by using the queryBreakdown() method.
Returns:
Table for given View .

breakdown_query

private java.util.Vector breakdown_query(View v)
This method creates the queries that are sent to each IS.
koeller 032999, we're replacing iterateClause with VKB-methods (View_Definition-Object).
Returns:
A Vector of ISQuery()'s.

reassemble_query

public java.lang.String reassemble_query(java.lang.String viewName)
This method creates the reassembly query for the intermediate DB from which this view is computed.
Changed to use MKB objects instead of iterateClause, koeller 300399
we have a bug: the reassembly-query has where-clauses without the relation names. so if we have a join between attributes with the same name in relations with the same name, the query won't work
Returns:
A String with a SQL statement (standard SQL with SELECT/FROM/WHERE..)