com.lucidera.lcs
Class LcsTable

java.lang.Object
  extended by org.eigenbase.relopt.RelOptAbstractTable
      extended by net.sf.farrago.namespace.impl.MedAbstractColumnSet
          extended by com.lucidera.lcs.LcsTable
All Implemented Interfaces:
FarragoMedColumnSet, FarragoQueryColumnSet, RelOptTable, SqlValidatorTable

public class LcsTable
extends MedAbstractColumnSet

An implementation of RelOptTable for accessing data in a LucidDB column-store.

Version:
$Id: //open/dev/farrago/src/com/lucidera/lcs/LcsTable.java#15 $
Author:
John V. Sichi

Nested Class Summary
private static class LcsTable.ClusterComparator
          Comparator that sorts clusters by cluster name.
 
Field Summary
private  List<FemLocalIndex> clusteredIndexes
           
private  LcsIndexGuide indexGuide
          Helper class to manipulate the cluster indexes.
 
Fields inherited from class org.eigenbase.relopt.RelOptAbstractTable
name, rowType, schema
 
Constructor Summary
LcsTable(String[] localName, RelDataType rowType, Properties tableProps, Map<String,Properties> columnPropMap)
           
 
Method Summary
 List<FemLocalIndex> getClusteredIndexes()
           
 LcsIndexGuide getIndexGuide()
           
 RelNode toRel(RelOptCluster cluster, RelOptConnection connection)
          Converts this table into a relational expression.
 
Methods inherited from class net.sf.farrago.namespace.impl.MedAbstractColumnSet
getAllowedAccess, getColumnPropertyMap, getCwmColumnSet, getForeignName, getLocalName, getMonotonicity, getPreparingStmt, getQualifiedName, getTableProperties, setAllowedAccess, setCwmColumnSet, setPreparingStmt, toLenientRel, toUdxRel
 
Methods inherited from class org.eigenbase.relopt.RelOptAbstractTable
getCollationList, getName, getRelOptSchema, getRowCount, getRowType, setRowType
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.eigenbase.relopt.RelOptTable
getCollationList, getRelOptSchema, getRowCount, getRowType
 
Methods inherited from interface org.eigenbase.sql.validate.SqlValidatorTable
getRowType
 

Field Detail

indexGuide

private LcsIndexGuide indexGuide
Helper class to manipulate the cluster indexes.


clusteredIndexes

private List<FemLocalIndex> clusteredIndexes
Constructor Detail

LcsTable

LcsTable(String[] localName,
         RelDataType rowType,
         Properties tableProps,
         Map<String,Properties> columnPropMap)
Method Detail

toRel

public RelNode toRel(RelOptCluster cluster,
                     RelOptConnection connection)
Description copied from interface: RelOptTable
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

getIndexGuide

public LcsIndexGuide getIndexGuide()

getClusteredIndexes

public List<FemLocalIndex> getClusteredIndexes()