|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Object
|
+--saffron.rel.Rel
|
+--saffron.rel.Union
Union returns the union of the rows of its inputs, optionally
eliminating duplicates.
| Nested Class Summary | |
private static class |
Union.ConvertToIteratorRule
Rule to converts a Union to
iterator calling convention. |
private static class |
Union.ConvertToJavaRule
Rule to converts a Union to
Java calling convention. |
| Nested classes inherited from class saffron.rel.Rel |
|
| Field Summary | |
protected boolean |
all
|
protected Rel[] |
inputs
|
| Fields inherited from class saffron.rel.Rel |
cluster, digest, emptyArray, id, nextId, rowType |
| Constructor Summary | |
Union(Cluster cluster,
Rel[] inputs,
boolean all)
|
|
| Method Summary | |
Object |
clone()
|
protected Type |
deriveRowType()
|
void |
explain(PlanWriter pw)
|
Rel[] |
getInputs()
Returns an array of this Rel's inputs. |
double |
getRows()
Returns an estimate of the number of rows this relational expression will return. |
boolean |
isDistinct()
Returns whether the same value will not come out twice. |
static void |
register(Planner planner)
See Rel.register(saffron.Planner). |
void |
replaceInput(int ordinalInParent,
Rel p)
Replaces the ordinalInParentth input. |
| Methods inherited from class saffron.rel.Rel |
childrenAccept, computeDigest, computeSelfCost, getChildExps, getCluster, getConvention, getCorelVariable, getEnvironment, getId, getInput, getOrCreateCorelVariable, getParentEnv, getQualifier, getQuery, getRelTypeName, getRowType, getTable, getType, getVariablesStopped, implement, implementExp, implementExps, implementFieldAccess, implementSelf, isAccessTo, onRegister, recomputeDigest, registerCorelVariable, setCorelVariable, toString |
| Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
protected Rel[] inputs
protected boolean all
| Constructor Detail |
public Union(Cluster cluster,
Rel[] inputs,
boolean all)
| Method Detail |
public Object clone()
clone in class Relpublic Rel[] getInputs()
RelRel's inputs. If there are no
inputs, returns an empty array, not null.
getInputs in class Relpublic void explain(PlanWriter pw)
explain in class Rel
public void replaceInput(int ordinalInParent,
Rel p)
RelordinalInParentth input. You must
override this method if you override Rel.getInputs().
replaceInput in class Relprotected Type deriveRowType()
deriveRowType in class Relpublic double getRows()
Rel
getRows in class Relpublic boolean isDistinct()
Relfalse, derived classes should override.
isDistinct in class Relpublic static void register(Planner planner)
Rel.register(saffron.Planner).
|
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||