org.eigenbase.relopt
Interface RelOptTable

All Known Subinterfaces:
FarragoMedColumnSet, FarragoQueryColumnSet
All Known Implementing Classes:
FarragoPreparingStmt.PermutingRelOptTable, FarragoQueryNamedColumnSet, FarragoView, FlatFileColumnSet, FtrsTable, LcsTable, MedAbstractColumnSet, MedJdbcColumnSet, MedMdrClassExtent, MedMockColumnSet, MedMqlColumnSet, RelOptAbstractTable, SqlToRelTestBase.DelegatingRelOptTable, SqlToRelTestBase.MockRelOptSchema.MockColumnSet

public interface RelOptTable

Represents a relational dataset in a RelOptSchema. It has methods to describe and implement itself.

Since:
10 November, 2001
Version:
$Id: //open/dev/farrago/src/org/eigenbase/relopt/RelOptTable.java#11 $
Author:
jhyde

Method Summary
 List<RelCollation> getCollationList()
          Returns a description of the physical ordering (or orderings) of the rows returned from this table.
 String[] getQualifiedName()
          Obtains an identifier for this table.
 RelOptSchema getRelOptSchema()
          Returns the RelOptSchema this table belongs to.
 double getRowCount()
          Returns an estimate of the number of rows in the table.
 RelDataType getRowType()
          Describes the type of rows returned by this table.
 RelNode toRel(RelOptCluster cluster, RelOptConnection connection)
          Converts this table into a relational expression.
 

Method Detail

getQualifiedName

String[] getQualifiedName()
Obtains an identifier for this table. The identifier must be unique with respect to the Connection producing this table.

Returns:
qualified name

getRowCount

double getRowCount()
Returns an estimate of the number of rows in the table.


getRowType

RelDataType getRowType()
Describes the type of rows returned by this table.


getRelOptSchema

RelOptSchema getRelOptSchema()
Returns the RelOptSchema this table belongs to.


toRel

RelNode toRel(RelOptCluster cluster,
              RelOptConnection connection)
Converts this table into a relational expression.

The planner calls this method to convert a table into an initial relational expression, generally something abstract, such as a TableAccessRel, then optimizes this expression by applying rules to transform it into more efficient access methods for this table.

Parameters:
cluster - the cluster the relational expression will belong to
connection - the parse tree of the expression which evaluates to a connection object
"Precondition:"
cluster != null, connection != null

getCollationList

List<RelCollation> getCollationList()
Returns a description of the physical ordering (or orderings) of the rows returned from this table.

See Also:
RelNode.getCollationList()
"Postcondition:"
return != null