| Package | Description |
|---|---|
| org.apache.calcite.rel.rules |
Provides a core set of planner rules.
|
| org.apache.calcite.rex |
Provides a language for representing row-expressions.
|
| Modifier and Type | Field and Description |
|---|---|
private List<Set<RexTableInputRef>> |
AbstractMaterializedViewRule.EquivalenceClasses.cacheEquivalenceClasses |
private Map<RexTableInputRef,Set<RexTableInputRef>> |
AbstractMaterializedViewRule.EquivalenceClasses.cacheEquivalenceClassesMap |
private Map<RexTableInputRef,Set<RexTableInputRef>> |
AbstractMaterializedViewRule.EquivalenceClasses.cacheEquivalenceClassesMap |
(package private) com.google.common.collect.Multimap<RexTableInputRef,RexTableInputRef> |
AbstractMaterializedViewRule.Edge.equiColumns |
(package private) com.google.common.collect.Multimap<RexTableInputRef,RexTableInputRef> |
AbstractMaterializedViewRule.Edge.equiColumns |
private Map<RexTableInputRef,Set<RexTableInputRef>> |
AbstractMaterializedViewRule.EquivalenceClasses.nodeToEquivalenceClass |
private Map<RexTableInputRef,Set<RexTableInputRef>> |
AbstractMaterializedViewRule.EquivalenceClasses.nodeToEquivalenceClass |
| Modifier and Type | Method and Description |
|---|---|
protected List<Set<RexTableInputRef>> |
AbstractMaterializedViewRule.EquivalenceClasses.getEquivalenceClasses() |
protected Map<RexTableInputRef,Set<RexTableInputRef>> |
AbstractMaterializedViewRule.EquivalenceClasses.getEquivalenceClassesMap() |
protected Map<RexTableInputRef,Set<RexTableInputRef>> |
AbstractMaterializedViewRule.EquivalenceClasses.getEquivalenceClassesMap() |
| Modifier and Type | Method and Description |
|---|---|
protected void |
AbstractMaterializedViewRule.EquivalenceClasses.addEquivalenceClass(RexTableInputRef p1,
RexTableInputRef p2) |
| Modifier and Type | Method and Description |
|---|---|
private static boolean |
AbstractMaterializedViewRule.compensatePartial(Set<RexTableInputRef.RelTableRef> sourceTableRefs,
AbstractMaterializedViewRule.EquivalenceClasses sourceEC,
Set<RexTableInputRef.RelTableRef> targetTableRefs,
com.google.common.collect.Multimap<RexTableInputRef,RexTableInputRef> compensationEquiColumns)
It checks whether the target can be rewritten using the source even though the
source uses additional tables.
|
private static boolean |
AbstractMaterializedViewRule.compensatePartial(Set<RexTableInputRef.RelTableRef> sourceTableRefs,
AbstractMaterializedViewRule.EquivalenceClasses sourceEC,
Set<RexTableInputRef.RelTableRef> targetTableRefs,
com.google.common.collect.Multimap<RexTableInputRef,RexTableInputRef> compensationEquiColumns)
It checks whether the target can be rewritten using the source even though the
source uses additional tables.
|
private static com.google.common.collect.Multimap<Integer,Integer> |
AbstractMaterializedViewRule.extractPossibleMapping(List<Set<RexTableInputRef>> sourceEquivalenceClasses,
List<Set<RexTableInputRef>> targetEquivalenceClasses)
Given the source and target equivalence classes, it extracts the possible mappings
from each source equivalence class to each target equivalence class.
|
private static com.google.common.collect.Multimap<Integer,Integer> |
AbstractMaterializedViewRule.extractPossibleMapping(List<Set<RexTableInputRef>> sourceEquivalenceClasses,
List<Set<RexTableInputRef>> targetEquivalenceClasses)
Given the source and target equivalence classes, it extracts the possible mappings
from each source equivalence class to each target equivalence class.
|
| Modifier and Type | Method and Description |
|---|---|
static RexTableInputRef |
RexUtil.containsTableInputRef(RexNode node)
Returns whether a given tree contains any {link RexTableInputRef} nodes.
|
static RexTableInputRef |
RexTableInputRef.of(RexTableInputRef.RelTableRef tableRef,
int index,
RelDataType type) |
static RexTableInputRef |
RexTableInputRef.of(RexTableInputRef.RelTableRef tableRef,
RexInputRef ref) |
| Modifier and Type | Method and Description |
|---|---|
R |
RexVisitor.visitTableInputRef(RexTableInputRef fieldRef) |
Boolean |
RexUtil.ConstantFinder.visitTableInputRef(RexTableInputRef ref) |
R |
RexVisitorImpl.visitTableInputRef(RexTableInputRef ref) |
RexNode |
RexShuttle.visitTableInputRef(RexTableInputRef ref) |
R |
RexBiVisitor.visitTableInputRef(RexTableInputRef ref,
P arg) |
RelOptUtil.Logic |
LogicVisitor.visitTableInputRef(RexTableInputRef ref,
RelOptUtil.Logic arg) |
| Modifier and Type | Method and Description |
|---|---|
static RexNode |
RexUtil.swapColumnReferences(RexBuilder rexBuilder,
RexNode node,
Map<RexTableInputRef,Set<RexTableInputRef>> ec)
Given an expression, it will swap its column references
RexTableInputRef
using the contents in the map (in particular, the first element of the set in the
map value). |
static RexNode |
RexUtil.swapColumnReferences(RexBuilder rexBuilder,
RexNode node,
Map<RexTableInputRef,Set<RexTableInputRef>> ec)
Given an expression, it will swap its column references
RexTableInputRef
using the contents in the map (in particular, the first element of the set in the
map value). |
static RexNode |
RexUtil.swapColumnTableReferences(RexBuilder rexBuilder,
RexNode node,
Map<RexTableInputRef,Set<RexTableInputRef>> ec,
Map<RexTableInputRef.RelTableRef,RexTableInputRef.RelTableRef> tableMapping)
Given an expression, it will swap the column references
RexTableInputRef
using the contents in the first map (in particular, the first element of the set
in the map value), and then it will swap the table references contained in its
RexTableInputRef using the contents in the second map. |
static RexNode |
RexUtil.swapColumnTableReferences(RexBuilder rexBuilder,
RexNode node,
Map<RexTableInputRef,Set<RexTableInputRef>> ec,
Map<RexTableInputRef.RelTableRef,RexTableInputRef.RelTableRef> tableMapping)
Given an expression, it will swap the column references
RexTableInputRef
using the contents in the first map (in particular, the first element of the set
in the map value), and then it will swap the table references contained in its
RexTableInputRef using the contents in the second map. |
static RexNode |
RexUtil.swapTableColumnReferences(RexBuilder rexBuilder,
RexNode node,
Map<RexTableInputRef.RelTableRef,RexTableInputRef.RelTableRef> tableMapping,
Map<RexTableInputRef,Set<RexTableInputRef>> ec)
Given an expression, it will swap the table references contained in its
RexTableInputRef using the contents in the first map, and then
it will swap the column references RexTableInputRef using the contents
in the second map (in particular, the first element of the set in the map value). |
static RexNode |
RexUtil.swapTableColumnReferences(RexBuilder rexBuilder,
RexNode node,
Map<RexTableInputRef.RelTableRef,RexTableInputRef.RelTableRef> tableMapping,
Map<RexTableInputRef,Set<RexTableInputRef>> ec)
Given an expression, it will swap the table references contained in its
RexTableInputRef using the contents in the first map, and then
it will swap the column references RexTableInputRef using the contents
in the second map (in particular, the first element of the set in the map value). |
Copyright © 2012–2018 The Apache Software Foundation. All rights reserved.