org.eigenbase.rel.rules
Class ReduceDecimalsRule.FloorExpander
java.lang.Object
org.eigenbase.rel.rules.ReduceDecimalsRule.RexExpander
org.eigenbase.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)
Methods inherited from class org.eigenbase.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, matchNullability, powerOfTen, scaleDown, scaleDownDouble, scaleUp |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ReduceDecimalsRule.FloorExpander
private ReduceDecimalsRule.FloorExpander(RexBuilder rexBuilder)
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 class ReduceDecimalsRule.RexExpander