|
||||||||||
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 Rel
public int getFlags()
public boolean isBoxed()
protected Type deriveRowType()
deriveRowType
in class SingleRel
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 explain(PlanWriter pw)
explain
in class SingleRel
public 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)
Rel
fieldName
.
implementFieldAccess
in class Rel
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |