Package org.apache.calcite.rel.rules
Class ReduceDecimalsRule.FloorExpander
- java.lang.Object
-
- org.apache.calcite.rel.rules.ReduceDecimalsRule.RexExpander
-
- org.apache.calcite.rel.rules.ReduceDecimalsRule.FloorExpander
-
- Enclosing class:
- ReduceDecimalsRule
private class ReduceDecimalsRule.FloorExpander extends ReduceDecimalsRule.RexExpander
Expander that rewrites floor(decimal) expressions:if (value < 0) (value - 0.99...) / (10^scale) else value / (10 ^ scale)
-
-
Field Summary
-
Fields inherited from class org.apache.calcite.rel.rules.ReduceDecimalsRule.RexExpander
builder, int8, real8
-
-
Constructor Summary
Constructors Modifier Constructor Description private
FloorExpander(RexBuilder rexBuilder)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description RexNode
expand(RexCall call)
Rewrites an expression containing decimals.-
Methods inherited from class org.apache.calcite.rel.rules.ReduceDecimalsRule.RexExpander
accessValue, canExpand, decodeValue, encodeValue, encodeValue, ensureScale, ensureType, ensureType, makeApproxLiteral, makeApproxScaleFactor, makeCase, makeCase, makeDivide, makeExactLiteral, makeIsNegative, makeIsPositive, makeMinus, makeMultiply, makePlus, makeRoundFactor, makeScaleFactor, powerOfTen, scaleDown, scaleDownDouble, scaleUp
-
-
-
-
Constructor Detail
-
FloorExpander
private FloorExpander(RexBuilder rexBuilder)
-
-
Method Detail
-
expand
public RexNode expand(RexCall call)
Description copied from class:ReduceDecimalsRule.RexExpander
Rewrites an expression containing decimals. Normally, this method always performs a rewrite, but implementations may choose to return the original expression if no change was required.- Specified by:
expand
in classReduceDecimalsRule.RexExpander
-
-