Class TableAccessRel

  extended by org.eigenbase.rel.AbstractRelNode
      extended by org.eigenbase.rel.TableAccessRelBase
          extended by 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.

10 November, 2001
$Id: //open/dev/farrago/src/org/eigenbase/rel/ $

Field Summary
Fields inherited from class org.eigenbase.rel.TableAccessRelBase
connection, table
Fields inherited from class org.eigenbase.rel.AbstractRelNode
digest, id, nextId, rowType, traits
Fields inherited from interface org.eigenbase.rel.RelNode
Constructor Summary
TableAccessRel(RelOptCluster cluster, RelOptTable table, RelOptConnection connection)
          Creates a TableAccessRel.
Method Summary
Methods inherited from class org.eigenbase.rel.TableAccessRelBase
clone, computeSelfCost, deriveRowType, explain, getCollationList, getConnection, getRows, getTable
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
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

Constructor Detail


public TableAccessRel(RelOptCluster cluster,
                      RelOptTable table,
                      RelOptConnection connection)
Creates a TableAccessRel.

cluster - Cluster
table - Table
connection - Connection