org.eigenbase.rel
Class TableAccessRel

java.lang.Object
  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.

Since:
10 November, 2001
Version:
$Id: //open/dev/farrago/src/org/eigenbase/rel/TableAccessRel.java#12 $
Author:
jhyde

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
emptyArray
 
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

TableAccessRel

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

Parameters:
cluster - Cluster
table - Table
connection - Connection