|
||||||||||
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.TableAccessRel
A TableAccessRel
reads all the rows from a SaffronTable
.
If the table is a JdbcTable
, then this is
literally possible. But for other kinds of tables, there may be many ways to
read the data from the table. For some kinds of table, it may not even be
possible to read all of the rows unless some narrowing constraint is
applied. In the example of the ReflectSchema
schema,
cannot be implemented, butselect from fields
can. It is the optimizer's responsibility to find these ways, by applying transformation rules.select from fields as f where f.getClass().getName().equals("java.lang.String")
Field Summary | |
protected SaffronConnection |
connection
The connection to Saffron. |
protected SaffronTable |
table
The table definition. |
Fields inherited from class net.sf.saffron.rel.SaffronRel |
cluster, digest, emptyArray, id, nextId, rowType |
Constructor Summary | |
TableAccessRel(VolcanoCluster cluster,
SaffronTable table,
SaffronConnection connection)
|
Method Summary | |
Object |
clone()
|
PlanCost |
computeSelfCost(SaffronPlanner planner)
Returns the cost of this plan (not including children). |
SaffronType |
deriveRowType()
|
void |
explain(PlanWriter pw)
|
SaffronConnection |
getConnection()
|
double |
getRows()
Returns an estimate of the number of rows this relational expression will return. |
SaffronTable |
getTable()
If this relational expression represents an access to a table, returns that table, otherwise returns null. |
Methods inherited from class net.sf.saffron.rel.SaffronRel |
childrenAccept, computeDigest, getChildExps, getCluster, getConvention, getCorrelVariable, getId, getInput, getInputs, getOrCreateCorrelVariable, getQualifier, getQuery, getRelTypeName, getRowType, getVariablesStopped, implement, implementFieldAccess, isAccessTo, isDistinct, onRegister, recomputeDigest, register, registerCorrelVariable, replaceInput, setCorrelVariable, toString |
Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
protected SaffronConnection connection
protected SaffronTable table
Constructor Detail |
public TableAccessRel(VolcanoCluster cluster, SaffronTable table, SaffronConnection connection)
Method Detail |
public SaffronConnection getConnection()
public double getRows()
SaffronRel
getRows
in class SaffronRel
public SaffronTable getTable()
SaffronRel
getTable
in class SaffronRel
public Object clone()
clone
in class SaffronRel
public PlanCost computeSelfCost(SaffronPlanner planner)
SaffronRel
computeSelfCost
in class SaffronRel
public SaffronType deriveRowType()
deriveRowType
in class SaffronRel
public void explain(PlanWriter pw)
explain
in class SaffronRel
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |