algebraTree
Class StandardSQL

java.lang.Object
  |
  +--algebraTree.SchemaSQLOperator
        |
        +--algebraTree.StandardSQL

public class StandardSQL
extends SchemaSQLOperator


Field Summary
private static int ADD
           
private static int DELETE
           
(package private)  java.lang.String queryString
           
 
Fields inherited from class algebraTree.SchemaSQLOperator
isLeaf, LEAF, localDB, localQuery, NOLEAF, outputTableName, pivotData, sourceDB
 
Constructor Summary
StandardSQL(DBManager localDB, DBManager sourceDB, java.lang.String query)
          constructs a leaf StandardSQL-operator.
StandardSQL(DBManager localDB, java.lang.String query)
          constructs a non-leaf StandardSQL-operator.
 
Method Summary
protected  java.util.Vector computeLocalQueries()
          returns a vector of strings of queries that have to be executed for this operator
private  java.util.Vector propagateTuples(DataUpdate update, int propagationMode)
          this function takes an update, stores it in a table and then applies this operator's query to that table.
(package private)  java.util.Vector propagateUpdate(Update upd)
          propagate an update through this operator.
 
Methods inherited from class algebraTree.SchemaSQLOperator
addPivot, changePivotCount, decPivotCount, delPivot, dropLocalTable, executeQuery, executeQuery, executeUpdateQuery, executeUpdates, finalize, findPivotCount, getRelName, incPivotCount, setQuery, setRelName, setSourceDB, tableToDeleteUpdates
 
Methods inherited from class java.lang.Object
, clone, equals, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Field Detail

queryString

java.lang.String queryString

ADD

private static final int ADD

DELETE

private static final int DELETE
Constructor Detail

StandardSQL

public StandardSQL(DBManager localDB,
                   java.lang.String query)
constructs a non-leaf StandardSQL-operator. No local source is needed

StandardSQL

public StandardSQL(DBManager localDB,
                   DBManager sourceDB,
                   java.lang.String query)
constructs a leaf StandardSQL-operator. You must supply a sourceDB
Method Detail

computeLocalQueries

protected java.util.Vector computeLocalQueries()
Description copied from class: SchemaSQLOperator
returns a vector of strings of queries that have to be executed for this operator
Overrides:
computeLocalQueries in class SchemaSQLOperator

propagateUpdate

java.util.Vector propagateUpdate(Update upd)
propagate an update through this operator. To decide which updates to propagate, we actually store each tuple in a relation, execute the view query against this relation, and retrieve the result.
Overrides:
propagateUpdate in class SchemaSQLOperator

propagateTuples

private java.util.Vector propagateTuples(DataUpdate update,
                                         int propagationMode)
this function takes an update, stores it in a table and then applies this operator's query to that table. The result is returned as a Vector of DataUpdates which can then be propagated. Slow but works. 092800: changed the logic, by adding a nested SQL statement to the original query that replaces the original relation.