algebraTree
Class Split

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

public class Split
extends SchemaSQLOperator


Field Summary
(package private)  java.lang.String pivotName
          the name of the pivot attribute to split on
(package private)  java.lang.String relationName
          the name of the input table
(package private)  java.util.Vector relSchema
          the relational schema of the input and output tables, without the dynamic content.
(package private)  java.lang.String updPivot
          the value in the pivot attribute in an update.
 
Fields inherited from class algebraTree.SchemaSQLOperator
isLeaf, LEAF, localDB, localQuery, NOLEAF, outputTableName, pivotData, sourceDB
 
Constructor Summary
Split(DBManager localDB, DBManager sourceDB, java.lang.String relation, java.lang.String pivot)
          constructs a leaf Split-operator.
Split(DBManager localDB, java.lang.String relation, java.lang.String pivot)
          constructs a non-leaf Split-operator.
 
Method Summary
protected  java.util.Vector computeLocalQueries()
          returns a vector of strings of queries that have to be executed for this operator
protected  boolean executeQuery()
          executes all queries returned by computeLocalQueries().
(package private)  void executeUpdates(java.util.Vector updates)
          This function takes a vector of updates and applies it to the outputRelation of this operator.
(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, executeUpdateQuery, 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

relationName

java.lang.String relationName
the name of the input table

pivotName

java.lang.String pivotName
the name of the pivot attribute to split on

relSchema

java.util.Vector relSchema
the relational schema of the input and output tables, without the dynamic content. This is used for both query evaluation and incremental propagation.

updPivot

java.lang.String updPivot
the value in the pivot attribute in an update.
Constructor Detail

Split

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

Split

public Split(DBManager localDB,
             DBManager sourceDB,
             java.lang.String relation,
             java.lang.String pivot)
constructs a leaf Split-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

executeQuery

protected boolean executeQuery()
Description copied from class: SchemaSQLOperator
executes all queries returned by computeLocalQueries(). This is quite primitive and overridden by the Unfold and Split operators!
Overrides:
executeQuery in class SchemaSQLOperator

propagateUpdate

java.util.Vector propagateUpdate(Update upd)
propagate an update through this operator
Overrides:
propagateUpdate in class SchemaSQLOperator

executeUpdates

void executeUpdates(java.util.Vector updates)
This function takes a vector of updates and applies it to the outputRelation of this operator. This is overridden for the Split-Class. Must be called AFTER propagate Update
Overrides:
executeUpdates in class SchemaSQLOperator