|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--net.sf.saffron.rel.SaffronRel | +--net.sf.saffron.rel.JoinRel
A JoinRel represents two relational expressions joined according to some condition.
Nested Class Summary | |
static class |
JoinRel.JoinType
Enumeration of join types. |
Field Summary | |
protected RexNode |
condition
|
protected int |
joinType
Values must be of enumeration JoinRel.JoinType , except that JoinRel.JoinType.RIGHT is disallowed. |
protected SaffronRel |
left
|
protected SaffronRel |
right
|
protected Set |
variablesStopped
|
Fields inherited from class net.sf.saffron.rel.SaffronRel |
cluster, digest, emptyArray, id, nextId, rowType |
Constructor Summary | |
JoinRel(VolcanoCluster cluster,
SaffronRel left,
SaffronRel right,
RexNode condition,
int joinType,
Set variablesStopped)
|
Method Summary | |
private static void |
addFields(SaffronType type,
ArrayList typeList,
ArrayList nameList)
|
void |
childrenAccept(RelVisitor visitor)
|
Object |
clone()
|
private SaffronType |
createJoinType(SaffronType leftType,
SaffronType rightType)
|
protected SaffronType |
deriveRowType()
|
void |
explain(PlanWriter pw)
|
RexNode[] |
getChildExps()
Returns an array of this SaffronRel 's child expressions
(not including the inputs returned by getInputs() . |
RexNode |
getCondition()
|
SaffronRel[] |
getInputs()
Returns an array of this SaffronRel 's inputs. |
int |
getJoinType()
|
SaffronRel |
getLeft()
|
SaffronRel |
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. |
void |
registerStoppedVariable(String name)
|
void |
replaceInput(int ordinalInParent,
SaffronRel p)
Replaces the ordinalInParent th input. |
void |
setVariablesStopped(HashSet set)
|
int |
switchJoinType(int joinType)
|
Methods inherited from class net.sf.saffron.rel.SaffronRel |
computeDigest, computeSelfCost, getCluster, getConvention, getCorrelVariable, getId, getInput, getOrCreateCorrelVariable, getQualifier, getQuery, getRelTypeName, getRows, getRowType, getTable, implement, implementFieldAccess, isAccessTo, isDistinct, onRegister, recomputeDigest, register, registerCorrelVariable, setCorrelVariable, toString |
Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
protected RexNode condition
protected SaffronRel left
protected SaffronRel right
protected Set variablesStopped
protected int joinType
JoinRel.JoinType
, except that JoinRel.JoinType.RIGHT
is disallowed.
Constructor Detail |
public JoinRel(VolcanoCluster cluster, SaffronRel left, SaffronRel right, RexNode condition, int joinType, Set variablesStopped)
Method Detail |
public RexNode[] getChildExps()
SaffronRel
SaffronRel
's child expressions
(not including the inputs returned by SaffronRel.getInputs()
. If there
are no child expressions, returns an empty array, not
null
.
getChildExps
in class SaffronRel
public RexNode getCondition()
public SaffronRel[] getInputs()
SaffronRel
SaffronRel
's inputs. If there
are no inputs, returns an empty array, not null
.
getInputs
in class SaffronRel
public int getJoinType()
public SaffronRel getLeft()
public SaffronRel getRight()
public void setVariablesStopped(HashSet set)
public Set getVariablesStopped()
SaffronRel
By default, returns the empty set. Derived classes may override this method.
getVariablesStopped
in class SaffronRel
public void childrenAccept(RelVisitor visitor)
childrenAccept
in class SaffronRel
public Object clone()
clone
in class SaffronRel
public void explain(PlanWriter pw)
explain
in class SaffronRel
public void registerStoppedVariable(String name)
public void replaceInput(int ordinalInParent, SaffronRel p)
SaffronRel
ordinalInParent
th input. You must
override this method if you override SaffronRel.getInputs()
.
replaceInput
in class SaffronRel
public int switchJoinType(int joinType)
protected SaffronType deriveRowType()
deriveRowType
in class SaffronRel
private SaffronType createJoinType(SaffronType leftType, SaffronType rightType)
private static void addFields(SaffronType type, ArrayList typeList, ArrayList nameList)
|
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |