|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Object
|
+--saffron.rel.Rel
|
+--saffron.rel.SingleRel
|
+--saffron.rel.Project
Project is a relational expression which computes a set of
'select expressions' from its input relational expression.
The result is usually 'boxed' as a record with one named field for each column; if there is precisely one expression, the result may be 'unboxed', and consist of the raw value type.
| Nested Class Summary | |
private static class |
Project.ConvertToJavaRule
Converts a Project to
Java calling convention. |
private static class |
Project.ConvertToPlanRule
Converts a Project to
plan calling convention. |
static interface |
Project.Flags
|
| Nested classes inherited from class saffron.rel.Rel |
|
| Field Summary | |
protected Expression[] |
exps
|
protected String[] |
fieldNames
|
protected int |
flags
Values defined in Project.Flags. |
| Fields inherited from class saffron.rel.SingleRel |
child |
| Fields inherited from class saffron.rel.Rel |
cluster, digest, emptyArray, id, nextId, rowType |
| Constructor Summary | |
Project(Cluster cluster,
Rel child,
Expression[] exps,
String[] fieldNames,
int flags)
Creates a Project. |
|
| Method Summary | |
Object |
clone()
|
Cost |
computeSelfCost(Planner planner)
Returns the cost of this plan (not including children). |
protected Type |
deriveRowType()
|
void |
explain(PlanWriter pw)
|
Expression[] |
getChildExps()
Returns an array of this Rel's child expressions (not
including the inputs returned by SingleRel.getInputs(). |
int |
getFlags()
|
Rel |
implementFieldAccess(Implementor implementor,
String fieldName)
Burrows into a synthetic record and returns the underlying relation which provides the field called fieldName. |
boolean |
isBoxed()
|
static void |
register(Planner planner)
See Rel.register(saffron.Planner). |
| Methods inherited from class saffron.rel.SingleRel |
childrenAccept, getInputs, replaceInput |
| Methods inherited from class saffron.rel.Rel |
computeDigest, getCluster, getConvention, getCorelVariable, getEnvironment, getId, getInput, getOrCreateCorelVariable, getParentEnv, getQualifier, getQuery, getRelTypeName, getRows, getRowType, getTable, getType, getVariablesStopped, implement, implementExp, implementExps, 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 Expression[] exps
protected String[] fieldNames
protected int flags
Project.Flags.
| Constructor Detail |
public Project(Cluster cluster,
Rel child,
Expression[] exps,
String[] fieldNames,
int flags)
cluster - Cluster this relational expression belongs tochild - input relational expressionexps - set of expressions for the input columnsfieldNames - aliases of the expressionsflags - values as in Project.Flags| Method Detail |
public Object clone()
clone in class Relpublic int getFlags()
public boolean isBoxed()
protected Type deriveRowType()
deriveRowType in class SingleRelpublic Expression[] getChildExps()
RelRel'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 Relpublic void explain(PlanWriter pw)
explain in class SingleRelpublic static void register(Planner planner)
Rel.register(saffron.Planner).
public Cost computeSelfCost(Planner planner)
Rel
computeSelfCost in class Rel
public Rel implementFieldAccess(Implementor implementor,
String fieldName)
RelfieldName.
implementFieldAccess in class Rel
|
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||