|
||||||||||
| 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
select from fields as f
where f.getClass().getName().equals("java.lang.String")
can. It is the optimizer's responsibility to find these ways, by applying
transformation rules.
| 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 SaffronRelpublic SaffronTable getTable()
SaffronRel
getTable in class SaffronRelpublic Object clone()
clone in class SaffronRelpublic PlanCost computeSelfCost(SaffronPlanner planner)
SaffronRel
computeSelfCost in class SaffronRelpublic SaffronType deriveRowType()
deriveRowType in class SaffronRelpublic void explain(PlanWriter pw)
explain in class SaffronRel
|
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||