public class HiveVolcanoPlanner
extends org.apache.calcite.plan.volcano.VolcanoPlanner
VolcanoPlanner
for Hive.
It uses HiveCost
as
its cost model.
Constructor and Description |
---|
HiveVolcanoPlanner(HivePlannerContext conf)
Creates a HiveVolcanoPlanner.
|
Modifier and Type | Method and Description |
---|---|
static org.apache.calcite.plan.RelOptPlanner |
createPlanner(HivePlannerContext conf) |
org.apache.calcite.plan.RelOptCost |
getCost(org.apache.calcite.rel.RelNode rel,
org.apache.calcite.rel.metadata.RelMetadataQuery mq)
The method extends the logic of the super method to decrease
the cost of the plan if it contains materialized views
(heuristic).
|
void |
registerClass(org.apache.calcite.rel.RelNode node) |
addLattice, addListener, addMaterialization, addRelTraitDef, addRule, changeTraits, chooseDelegate, clear, clearRelTraitDefs, dump, emptyTraitSet, ensureRegistered, ensureRegistered, findBestExp, getLattice, getMaterializations, getPhaseRuleMappingInitializer, getRelMetadataTimestamp, getRelTraitDefs, getRoot, getRules, getSet, getSubset, getSubset, getSubset, isRegistered, normalizePlan, onNewClass, register, registerAbstractRelationalRules, registerMetadataProviders, registerSchema, removeRule, setImportance, setLocked, setRoot, validate
checkCancel, fireRule, getContext, getCost, getCostFactory, getExecutor, getListener, getRuleByDescription, isRuleExcluded, mapRuleDescription, notifyChosen, notifyDiscard, notifyEquivalence, notifyTransformation, onCopy, setCancelFlag, setExecutor, setRuleDescExclusionFilter, subClasses, unmapRuleDescription
public HiveVolcanoPlanner(HivePlannerContext conf)
public static org.apache.calcite.plan.RelOptPlanner createPlanner(HivePlannerContext conf)
public void registerClass(org.apache.calcite.rel.RelNode node)
registerClass
in interface org.apache.calcite.plan.RelOptPlanner
registerClass
in class org.apache.calcite.plan.AbstractRelOptPlanner
public org.apache.calcite.plan.RelOptCost getCost(org.apache.calcite.rel.RelNode rel, org.apache.calcite.rel.metadata.RelMetadataQuery mq)
getCost
in interface org.apache.calcite.plan.RelOptPlanner
getCost
in class org.apache.calcite.plan.volcano.VolcanoPlanner
Copyright © 2022 The Apache Software Foundation. All rights reserved.