Package org.apache.calcite.plan.volcano
Class DruidVolcanoCost
java.lang.Object
org.apache.calcite.plan.volcano.DruidVolcanoCost
- All Implemented Interfaces:
org.apache.calcite.plan.RelOptCost
Druid's extension to
VolcanoCost. The difference between the two is in
comparing two costs. Druid's cost model gives most weightage to rowCount, then to cpuCost and then lastly ioCost.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classImplementation ofRelOptCostFactorythat createsDruidVolcanoCosts. -
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptiondoubledivideBy(org.apache.calcite.plan.RelOptCost cost) booleanbooleanequals(org.apache.calcite.plan.RelOptCost other) doublegetCpu()doublegetIo()doublegetRows()inthashCode()booleanisEqWithEpsilon(org.apache.calcite.plan.RelOptCost other) booleanbooleanisLe(org.apache.calcite.plan.RelOptCost other) booleanisLt(org.apache.calcite.plan.RelOptCost other) org.apache.calcite.plan.RelOptCostminus(org.apache.calcite.plan.RelOptCost other) org.apache.calcite.plan.RelOptCostmultiplyBy(double factor) org.apache.calcite.plan.RelOptCostplus(org.apache.calcite.plan.RelOptCost other) toString()
-
Field Details
-
FACTORY
public static final org.apache.calcite.plan.RelOptCostFactory FACTORY
-
-
Method Details
-
getCpu
public double getCpu()- Specified by:
getCpuin interfaceorg.apache.calcite.plan.RelOptCost
-
isInfinite
public boolean isInfinite()- Specified by:
isInfinitein interfaceorg.apache.calcite.plan.RelOptCost
-
getIo
public double getIo()- Specified by:
getIoin interfaceorg.apache.calcite.plan.RelOptCost
-
isLe
public boolean isLe(org.apache.calcite.plan.RelOptCost other) - Specified by:
isLein interfaceorg.apache.calcite.plan.RelOptCost
-
isLt
public boolean isLt(org.apache.calcite.plan.RelOptCost other) - Specified by:
isLtin interfaceorg.apache.calcite.plan.RelOptCost
-
getRows
public double getRows()- Specified by:
getRowsin interfaceorg.apache.calcite.plan.RelOptCost
-
hashCode
public int hashCode() -
equals
public boolean equals(org.apache.calcite.plan.RelOptCost other) - Specified by:
equalsin interfaceorg.apache.calcite.plan.RelOptCost
-
equals
-
isEqWithEpsilon
public boolean isEqWithEpsilon(org.apache.calcite.plan.RelOptCost other) - Specified by:
isEqWithEpsilonin interfaceorg.apache.calcite.plan.RelOptCost
-
minus
public org.apache.calcite.plan.RelOptCost minus(org.apache.calcite.plan.RelOptCost other) - Specified by:
minusin interfaceorg.apache.calcite.plan.RelOptCost
-
multiplyBy
public org.apache.calcite.plan.RelOptCost multiplyBy(double factor) - Specified by:
multiplyByin interfaceorg.apache.calcite.plan.RelOptCost
-
divideBy
public double divideBy(org.apache.calcite.plan.RelOptCost cost) - Specified by:
divideByin interfaceorg.apache.calcite.plan.RelOptCost
-
plus
public org.apache.calcite.plan.RelOptCost plus(org.apache.calcite.plan.RelOptCost other) - Specified by:
plusin interfaceorg.apache.calcite.plan.RelOptCost
-
toString
-