net.sf.saffron.core
Interface SaffronTable

All Known Subinterfaces:
ImplementableTable
All Known Implementing Classes:
AbstractTable, JdbcTable

public interface SaffronTable

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

Since:
10 November, 2001
Version:
$Id: //open/saffron/src/net/sf/saffron/core/SaffronTable.java#3 $
Author:
jhyde

Method Summary
 String getQualifiedName()
          Obtain an identifier for this table.
 double getRowCount()
          Returns an estimate of the number of rows in the table.
 SaffronType getRowType()
          Describes the type of rows returned by this table.
 SaffronSchema getSaffronSchema()
          Returns the SaffronSchema this table belongs to.
 SaffronRel toRel(VolcanoCluster cluster, SaffronConnection connection)
          Converts this table into a relational expression.
 

Method Detail

getQualifiedName

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

Returns:
qualified name

getRowCount

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


getRowType

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


getSaffronSchema

public SaffronSchema getSaffronSchema()
Returns the SaffronSchema this table belongs to.


toRel

public SaffronRel toRel(VolcanoCluster cluster,
                        SaffronConnection 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
Pre-condition:
cluster != null, connection != null

SourceForge.net_Logo