org.eigenbase.rel
Class TableAccessRel
java.lang.Object
org.eigenbase.rel.AbstractRelNode
org.eigenbase.rel.TableAccessRelBase
org.eigenbase.rel.TableAccessRel
- All Implemented Interfaces:
- Cloneable, RelNode
public final class TableAccessRel
- extends TableAccessRelBase
A TableAccessRel
reads all the rows from a RelOptTable
.
If the table is a net.sf.saffron.ext.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 net.sf.saffron.ext.ReflectSchema
schema,
select from fields
cannot be implemented, but
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.
- Since:
- 10 November, 2001
- Version:
- $Id: //open/dev/farrago/src/org/eigenbase/rel/TableAccessRel.java#12 $
- Author:
- jhyde
Methods inherited from class org.eigenbase.rel.AbstractRelNode |
childrenAccept, cloneTraits, collectVariablesSet, collectVariablesUsed, computeDigest, getChildExps, getCluster, getConvention, getCorrelVariable, getDescription, getDigest, getExpectedInputRowType, getId, getInput, getInputs, getOrCreateCorrelVariable, getQuery, getRelTypeName, getRowType, getTraits, getVariablesStopped, inheritTraitsFrom, isAccessTo, isDistinct, isValid, onRegister, recomputeDigest, register, registerCorrelVariable, replaceInput, setCorrelVariable, toString |
TableAccessRel
public TableAccessRel(RelOptCluster cluster,
RelOptTable table,
RelOptConnection connection)
- Creates a TableAccessRel.
- Parameters:
cluster
- Clustertable
- Tableconnection
- Connection