|
||||||||||
| 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 ordinalInParentth 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()
SaffronRelSaffronRel'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 SaffronRelpublic RexNode getCondition()
public SaffronRel[] getInputs()
SaffronRelSaffronRel's inputs. If there
are no inputs, returns an empty array, not null.
getInputs in class SaffronRelpublic int getJoinType()
public SaffronRel getLeft()
public SaffronRel getRight()
public void setVariablesStopped(HashSet set)
public Set getVariablesStopped()
SaffronRelBy default, returns the empty set. Derived classes may override this method.
getVariablesStopped in class SaffronRelpublic void childrenAccept(RelVisitor visitor)
childrenAccept in class SaffronRelpublic Object clone()
clone in class SaffronRelpublic void explain(PlanWriter pw)
explain in class SaffronRelpublic void registerStoppedVariable(String name)
public void replaceInput(int ordinalInParent,
SaffronRel p)
SaffronRelordinalInParentth input. You must
override this method if you override SaffronRel.getInputs().
replaceInput in class SaffronRelpublic 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 | |||||||||