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