Package org.apache.calcite.materialize
Class CachingLatticeStatisticProvider
- java.lang.Object
-
- org.apache.calcite.materialize.CachingLatticeStatisticProvider
-
- All Implemented Interfaces:
LatticeStatisticProvider
class CachingLatticeStatisticProvider extends java.lang.Object implements LatticeStatisticProvider
Implementation ofLatticeStatisticProvider
that caches single-column statistics and computes multi-column statistics from these.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.apache.calcite.materialize.LatticeStatisticProvider
LatticeStatisticProvider.Factory
-
-
Field Summary
Fields Modifier and Type Field Description private com.google.common.cache.LoadingCache<Lattice.Column,java.lang.Double>
cache
private Lattice
lattice
-
Constructor Summary
Constructors Constructor Description CachingLatticeStatisticProvider(Lattice lattice, LatticeStatisticProvider provider)
Creates a CachingStatisticProvider.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description double
cardinality(java.util.List<Lattice.Column> columns)
Returns an estimate of the number of distinct values in a column or list of columns.
-
-
-
Field Detail
-
lattice
private final Lattice lattice
-
cache
private final com.google.common.cache.LoadingCache<Lattice.Column,java.lang.Double> cache
-
-
Constructor Detail
-
CachingLatticeStatisticProvider
CachingLatticeStatisticProvider(Lattice lattice, LatticeStatisticProvider provider)
Creates a CachingStatisticProvider.
-
-
Method Detail
-
cardinality
public double cardinality(java.util.List<Lattice.Column> columns)
Description copied from interface:LatticeStatisticProvider
Returns an estimate of the number of distinct values in a column or list of columns.- Specified by:
cardinality
in interfaceLatticeStatisticProvider
-
-