|
||||||||||
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 ordinalInParent th 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 Rel
public Rel[] getInputs()
Rel
Rel
's inputs. If there are no
inputs, returns an empty array, not null
.
getInputs
in class Rel
public void explain(PlanWriter pw)
explain
in class Rel
public void replaceInput(int ordinalInParent, Rel p)
Rel
ordinalInParent
th input. You must
override this method if you override Rel.getInputs()
.
replaceInput
in class Rel
protected Type deriveRowType()
deriveRowType
in class Rel
public double getRows()
Rel
getRows
in class Rel
public boolean isDistinct()
Rel
false
, derived classes should override.
isDistinct
in class Rel
public 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 |