public class CachingRelMetadataProvider extends Object implements RelMetadataProvider
RelMetadataProvider
interface that caches results from an underlying provider.| Constructor and Description |
|---|
CachingRelMetadataProvider(RelMetadataProvider underlyingProvider,
RelOptPlanner planner) |
public CachingRelMetadataProvider(RelMetadataProvider underlyingProvider, RelOptPlanner planner)
public com.google.common.base.Function<RelNode,Metadata> apply(Class<? extends RelNode> relClass, Class<? extends Metadata> metadataClass)
RelMetadataProviderThe object returned is a function. It can be applied to a relational expression of the given type to create a metadata object.
For example, you might call
RelMetadataProvider provider; LogicalFilter filter; RexNode predicate; Function<RelNode, Metadata> function = provider.apply(LogicalFilter.class, Selectivity.class}; Selectivity selectivity = function.apply(filter); Double d = selectivity.selectivity(predicate);
apply in interface RelMetadataProviderrelClass - Type of relational expressionmetadataClass - Type of metadataCopyright © 2012–2015 The Apache Software Foundation. All rights reserved.