|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.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 catalogMethod 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 |