|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.eigenbase.rel.metadata.ReflectiveRelMetadataProvider
net.sf.farrago.query.FarragoRelMetadataProvider
public class FarragoRelMetadataProvider
FarragoRelMetadataProvider implements Farrago specific metadata. Initially, it provides costing information available through statistics. Other potential uses of this class are:
| Field Summary | |
|---|---|
private FarragoColumnMetadata |
columnMd
|
private FarragoRepos |
repos
|
| Constructor Summary | |
|---|---|
FarragoRelMetadataProvider(FarragoRepos repos)
Initializes a provider with access to the Farrago catalog. |
|
| Method Summary | |
|---|---|
Boolean |
areColumnsUnique(RelNode rel,
BitSet columns,
boolean ignoreNulls)
|
Boolean |
canRestart(RelNode rel)
|
Double |
getDistinctRowCount(RelNode rel,
BitSet groupKey,
RexNode predicate)
|
Double |
getPopulationSize(RelNode rel,
BitSet groupKey)
|
Double |
getRowCount(RelNode rel)
Retrieves the row count of a Farrago expression or null |
static Double |
getRowCountStat(RelNode rel,
FarragoRepos repos)
Retrieves the row count of a Farrago expression or null, using statistics stored in the catalog |
static Double |
getRowCountStat(RelOptTable table,
FarragoRepos repos)
Retrieves the row count of a relational table using statistics stored in the catalog |
static Double |
getRowCountStat(RelOptTable table,
FarragoRepos repos,
Timestamp labelTimestamp)
Retrieves the row count of a relational table for a specific label, using statistics stored in the catalog. |
RelStatSource |
getStatistics(RelNode rel)
Retrieves statistics for a relational expression, if they exist in the catalog. |
private static RelStatSource |
getStatistics(RelNode rel,
FarragoRepos repos)
|
private static RelStatSource |
getStatistics(RelOptTable table,
FarragoRepos repos,
Timestamp labelTimestamp)
|
Set<BitSet> |
getUniqueKeys(RelNode rel,
boolean ignoreNulls)
|
| Methods inherited from class org.eigenbase.rel.metadata.ReflectiveRelMetadataProvider |
|---|
getRelMetadata, mapParameterTypes |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
private FarragoRepos repos
private FarragoColumnMetadata columnMd
| Constructor Detail |
|---|
public FarragoRelMetadataProvider(FarragoRepos repos)
repos - the Farrago catalog| Method Detail |
|---|
public RelStatSource getStatistics(RelNode rel)
rel - the relational expression
private static RelStatSource getStatistics(RelNode rel,
FarragoRepos repos)
private static RelStatSource getStatistics(RelOptTable table,
FarragoRepos repos,
Timestamp labelTimestamp)
public static Double getRowCountStat(RelNode rel,
FarragoRepos repos)
rel - the relational expressionrepos - repository
public static Double getRowCountStat(RelOptTable table,
FarragoRepos repos)
table - the relational tablerepos - repository
public static Double getRowCountStat(RelOptTable table,
FarragoRepos repos,
Timestamp labelTimestamp)
table - the relational tablerepos - repositorylabelTimestamp - creation timestamp of the label that determines
which stats to retrieve; null if there is no label setting
public Double getRowCount(RelNode rel)
rel - the relational expression
public Set<BitSet> getUniqueKeys(RelNode rel,
boolean ignoreNulls)
public Boolean areColumnsUnique(RelNode rel,
BitSet columns,
boolean ignoreNulls)
public Double getPopulationSize(RelNode rel,
BitSet groupKey)
public Double getDistinctRowCount(RelNode rel,
BitSet groupKey,
RexNode predicate)
public Boolean canRestart(RelNode rel)
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||