|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--saffron.opt.RelSet
A RelSet
is an equivalence-set of expressions; that is, a set
of expressions which have identical semantics. We are generally interested
in using the expression which has the lowest cost.
All of the expressions in an RelSet
have the same calling
convention.
Field Summary | |
(package private) ArrayList |
abstractConverters
List of AbstractConverter objects which have not yet been
satisfied. |
(package private) RelSet |
equivalentSet
Set to the superseding set when this is found to be equivalent to another set. |
(package private) int |
id
|
(package private) Rel |
rel
|
(package private) ArrayList |
rels
|
(package private) ArrayList |
subsets
|
(package private) Set |
variablesPropagated
Names of variables which are set by relational expressions in this set and available for use by parent and child expressions. |
(package private) Set |
variablesUsed
Names of variables which are used by relational expressions in this set. |
Constructor Summary | |
(package private) |
RelSet()
|
Method Summary | |
RelSubset |
add(Rel rel)
Add a relational expression to a set, with its results available under a particular calling convention. |
(package private) void |
addInternal(Rel rel)
Adds an expression rel to this set, without creating a
RelSubset . |
private void |
failType(Rel rel)
|
(package private) RelSubset |
getOrCreateSubset(Cluster cluster,
CallingConvention convention)
|
ArrayList |
getParentRels()
Returns all of the Rel s which reference Rel s in this
set. |
RelSubset |
getSubset(CallingConvention convention)
|
(package private) void |
mergeWith(VolcanoPlanner planner,
RelSet otherSet)
Merges otherSet into this one. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
Rel rel
int id
final ArrayList rels
final ArrayList subsets
RelSet equivalentSet
Set variablesPropagated
Set variablesUsed
ArrayList abstractConverters
AbstractConverter
objects which have not yet been
satisfied.
Constructor Detail |
RelSet()
Method Detail |
public RelSubset add(Rel rel)
void addInternal(Rel rel)
rel
to this set, without creating a
RelSubset
. (Called only from RelSubset.add(saffron.rel.Rel)
.
private void failType(Rel rel)
RelSubset getOrCreateSubset(Cluster cluster, CallingConvention convention)
public RelSubset getSubset(CallingConvention convention)
void mergeWith(VolcanoPlanner planner, RelSet otherSet)
otherSet
into this one. You generally call this method
after you discover that two relational expressions are equivalent, and
hence their sets are equivalent also. After you have called this method,
otherSet
is obsolete, this otherSet is still alive.
public ArrayList getParentRels()
Rel
s which reference Rel
s in this
set.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |