|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--saffron.rel.Rel | +--saffron.rel.Join
A Join represents two relational expressions joined according to some condition.
Nested Class Summary | |
private static class |
Join.ConvertToJavaRule
|
private static class |
Join.ConvertToPlanRule
|
static class |
Join.JoinType
Values are as JoinExpression.getJoinTypeCode(java.lang.String) . |
Nested classes inherited from class saffron.rel.Rel |
|
Field Summary | |
protected Expression |
condition
|
protected int |
joinType
Values must be of enumeration Join.JoinType ,
except that Join.JoinType.RIGHT is disallowed. |
protected Rel |
left
|
protected Rel |
right
|
protected Set |
variablesStopped
|
Fields inherited from class saffron.rel.Rel |
cluster, digest, emptyArray, id, nextId, rowType |
Constructor Summary | |
Join(Cluster cluster,
Rel left,
Rel right,
Expression condition,
int joinType,
Set variablesStopped)
|
Method Summary | |
void |
childrenAccept(RelVisitor visitor)
|
Object |
clone()
|
protected Type |
deriveRowType()
|
void |
explain(PlanWriter pw)
|
Expression[] |
getChildExps()
Returns an array of this Rel 's child expressions (not
including the inputs returned by getInputs() . |
Expression |
getCondition()
|
Rel[] |
getInputs()
Returns an array of this Rel 's inputs. |
int |
getJoinType()
|
Rel |
getLeft()
|
Rel |
getRight()
|
Set |
getVariablesStopped()
Returns the names of variables which are set in this relational expression but also used and therefore not available to parents of this relational expression. |
static void |
register(Planner planner)
See Rel.register(saffron.Planner) . |
void |
registerStoppedVariable(String name)
|
void |
replaceInput(int ordinalInParent,
Rel p)
Replaces the ordinalInParent th input. |
void |
setVariablesStopped(HashSet set)
|
int |
switchJoinType(int joinType)
|
Methods inherited from class saffron.rel.Rel |
computeDigest, computeSelfCost, getCluster, getConvention, getCorelVariable, getEnvironment, getId, getInput, getOrCreateCorelVariable, getParentEnv, getQualifier, getQuery, getRelTypeName, getRows, getRowType, getTable, getType, implement, implementExp, implementExps, implementFieldAccess, implementSelf, isAccessTo, isDistinct, 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 left
protected Rel right
protected Expression condition
protected Set variablesStopped
protected int joinType
Join.JoinType
,
except that Join.JoinType.RIGHT
is disallowed.
Constructor Detail |
public Join(Cluster cluster, Rel left, Rel right, Expression condition, int joinType, Set variablesStopped)
Method Detail |
public Object clone()
clone
in class Rel
public Rel getLeft()
public Rel getRight()
public Expression getCondition()
public int getJoinType()
public Rel[] getInputs()
Rel
Rel
's inputs. If there are no
inputs, returns an empty array, not null
.
getInputs
in class Rel
public Expression[] getChildExps()
Rel
Rel
's child expressions (not
including the inputs returned by Rel.getInputs()
. If there are no
child expressions, returns an empty array, not null
.
getChildExps
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
public void childrenAccept(RelVisitor visitor)
childrenAccept
in class Rel
protected Type deriveRowType()
deriveRowType
in class Rel
public Set getVariablesStopped()
Rel
By default, returns the empty set. Derived classes may override this method.
getVariablesStopped
in class Rel
public void setVariablesStopped(HashSet set)
public void registerStoppedVariable(String name)
public static void register(Planner planner)
Rel.register(saffron.Planner)
.
public void explain(PlanWriter pw)
explain
in class Rel
public int switchJoinType(int joinType)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |