public abstract class RelOptMaterializations extends Object
| Modifier and Type | Field and Description |
|---|---|
private static com.google.common.base.Function<RelOptTable,List<String>> |
GET_QUALIFIED_NAME |
| Constructor and Description |
|---|
RelOptMaterializations() |
| Modifier and Type | Method and Description |
|---|---|
static List<RelOptMaterialization> |
getApplicableMaterializations(RelNode rel,
List<RelOptMaterialization> materializations)
Returns a list of materializations that can potentially be used by the query.
|
private static List<RelNode> |
substitute(RelNode root,
RelOptMaterialization materialization) |
static List<Pair<RelNode,RelOptLattice>> |
useLattices(RelNode rel,
List<RelOptLattice> lattices)
Returns a list of RelNode transformed from all possible lattice uses.
|
static List<Pair<RelNode,List<RelOptMaterialization>>> |
useMaterializedViews(RelNode rel,
List<RelOptMaterialization> materializations)
Returns a list of RelNode transformed from all possible combination of
materialized view uses.
|
private static boolean |
usesTable(List<String> qualifiedName,
Set<RelOptTable> usedTables,
Graphs.FrozenGraph<List<String>,DefaultEdge> usesGraph)
Returns whether
table uses one or more of the tables in
usedTables. |
private static final com.google.common.base.Function<RelOptTable,List<String>> GET_QUALIFIED_NAME
public static List<Pair<RelNode,List<RelOptMaterialization>>> useMaterializedViews(RelNode rel, List<RelOptMaterialization> materializations)
rel - the original RelNodematerializations - the materialized view listpublic static List<Pair<RelNode,RelOptLattice>> useLattices(RelNode rel, List<RelOptLattice> lattices)
rel - the original RelNodelattices - the lattice listpublic static List<RelOptMaterialization> getApplicableMaterializations(RelNode rel, List<RelOptMaterialization> materializations)
private static List<RelNode> substitute(RelNode root, RelOptMaterialization materialization)
private static boolean usesTable(List<String> qualifiedName, Set<RelOptTable> usedTables, Graphs.FrozenGraph<List<String>,DefaultEdge> usesGraph)
table uses one or more of the tables in
usedTables.Copyright © 2012–2018 The Apache Software Foundation. All rights reserved.