org.eigenbase.rel.rules
Class ReduceDecimalsRule.CeilExpander

java.lang.Object
  extended by org.eigenbase.rel.rules.ReduceDecimalsRule.RexExpander
      extended by org.eigenbase.rel.rules.ReduceDecimalsRule.CeilExpander
Enclosing class:
ReduceDecimalsRule

private class ReduceDecimalsRule.CeilExpander
extends ReduceDecimalsRule.RexExpander

Expander that rewrites ceiling(decimal) expressions:

 if (value > 0)
     (value+0.99...)/(10^scale)
 else
     value/(10^scale)
 


Field Summary
 
Fields inherited from class org.eigenbase.rel.rules.ReduceDecimalsRule.RexExpander
builder, int8, real8
 
Constructor Summary
private ReduceDecimalsRule.CeilExpander(RexBuilder rexBuilder)
           
 
Method Summary
 RexNode expand(RexCall call)
          Rewrites an expression containing decimals.
 
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
 

Constructor Detail

ReduceDecimalsRule.CeilExpander

private ReduceDecimalsRule.CeilExpander(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 class ReduceDecimalsRule.RexExpander