private class ReduceDecimalsRule.PassThroughExpander extends ReduceDecimalsRule.RexExpander
builder, int8, real8
Modifier | Constructor and Description |
---|---|
private |
PassThroughExpander(RexBuilder builder) |
Modifier and Type | Method and Description |
---|---|
boolean |
canExpand(RexCall call)
This defaults to the utility method,
RexUtil.requiresDecimalExpansion(RexNode, boolean) which checks
general guidelines on whether a rewrite should be considered at all. |
RexNode |
expand(RexCall call)
Rewrites an expression containing decimals.
|
accessValue, decodeValue, encodeValue, encodeValue, ensureScale, ensureType, ensureType, makeApproxLiteral, makeApproxScaleFactor, makeCase, makeCase, makeDivide, makeExactLiteral, makeIsNegative, makeIsPositive, makeMinus, makeMultiply, makePlus, makeRoundFactor, makeScaleFactor, powerOfTen, scaleDown, scaleDownDouble, scaleUp
private PassThroughExpander(RexBuilder builder)
public boolean canExpand(RexCall call)
ReduceDecimalsRule.RexExpander
RexUtil.requiresDecimalExpansion(RexNode, boolean)
which checks
general guidelines on whether a rewrite should be considered at all. In
general, it is helpful to update the utility method since that method is
often used to filter the somewhat expensive rewrite process.
However, this method provides another place for implementations of RexExpander to make a more detailed analysis before deciding on whether to perform a rewrite.
canExpand
in class ReduceDecimalsRule.RexExpander
public RexNode expand(RexCall call)
ReduceDecimalsRule.RexExpander
expand
in class ReduceDecimalsRule.RexExpander
Copyright © 2012–2019 The Apache Software Foundation. All rights reserved.