| <!DOCTYPE HTML> |
| <html lang="en"> |
| <head> |
| <!-- Generated by javadoc (17) --> |
| <title>ReduceDecimalsRule.RexExpander (Apache Calcite API)</title> |
| <meta name="viewport" content="width=device-width, initial-scale=1"> |
| <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
| <meta name="description" content="declaration: package: org.apache.calcite.rel.rules, class: ReduceDecimalsRule, class: RexExpander"> |
| <meta name="generator" content="javadoc/ClassWriterImpl"> |
| <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style"> |
| <link rel="stylesheet" type="text/css" href="../../../../../script-dir/jquery-ui.min.css" title="Style"> |
| <link rel="stylesheet" type="text/css" href="../../../../../jquery-ui.overrides.css" title="Style"> |
| <script type="text/javascript" src="../../../../../script.js"></script> |
| <script type="text/javascript" src="../../../../../script-dir/jquery-3.5.1.min.js"></script> |
| <script type="text/javascript" src="../../../../../script-dir/jquery-ui.min.js"></script> |
| </head> |
| <body class="class-declaration-page"> |
| <script type="text/javascript">var evenRowColor = "even-row-color"; |
| var oddRowColor = "odd-row-color"; |
| var tableTab = "table-tab"; |
| var activeTableTab = "active-table-tab"; |
| var pathtoroot = "../../../../../"; |
| loadScripts(document, 'script');</script> |
| <noscript> |
| <div>JavaScript is disabled on your browser.</div> |
| </noscript> |
| <div class="flex-box"> |
| <header role="banner" class="flex-header"> |
| <nav role="navigation"> |
| <!-- ========= START OF TOP NAVBAR ======= --> |
| <div class="top-nav" id="navbar-top"> |
| <div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div> |
| <div class="about-language"><b>Apache Calcite</b></div> |
| <ul id="navbar-top-firstrow" class="nav-list" title="Navigation"> |
| <li><a href="../../../../../index.html">Overview</a></li> |
| <li><a href="package-summary.html">Package</a></li> |
| <li class="nav-bar-cell1-rev">Class</li> |
| <li><a href="package-tree.html">Tree</a></li> |
| <li><a href="../../../../../deprecated-list.html">Deprecated</a></li> |
| <li><a href="../../../../../index-all.html">Index</a></li> |
| <li><a href="../../../../../help-doc.html#class">Help</a></li> |
| </ul> |
| </div> |
| <div class="sub-nav"> |
| <div> |
| <ul class="sub-nav-list"> |
| <li>Summary: </li> |
| <li>Nested | </li> |
| <li>Field | </li> |
| <li>Constr | </li> |
| <li><a href="#method-summary">Method</a></li> |
| </ul> |
| <ul class="sub-nav-list"> |
| <li>Detail: </li> |
| <li>Field | </li> |
| <li>Constr | </li> |
| <li><a href="#method-detail">Method</a></li> |
| </ul> |
| </div> |
| <div class="nav-list-search"><label for="search-input">SEARCH:</label> |
| <input type="text" id="search-input" value="search" disabled="disabled"> |
| <input type="reset" id="reset-button" value="reset" disabled="disabled"> |
| </div> |
| </div> |
| <!-- ========= END OF TOP NAVBAR ========= --> |
| <span class="skip-nav" id="skip-navbar-top"></span></nav> |
| </header> |
| <div class="flex-content"> |
| <main role="main"> |
| <!-- ======== START OF CLASS DATA ======== --> |
| <div class="header"> |
| <div class="sub-title"><span class="package-label-in-type">Package</span> <a href="package-summary.html">org.apache.calcite.rel.rules</a></div> |
| <h1 title="Class ReduceDecimalsRule.RexExpander" class="title">Class ReduceDecimalsRule.RexExpander</h1> |
| </div> |
| <div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a> |
| <div class="inheritance">org.apache.calcite.rel.rules.ReduceDecimalsRule.RexExpander</div> |
| </div> |
| <section class="class-description" id="class-description"> |
| <dl class="notes"> |
| <dt>Enclosing class:</dt> |
| <dd><a href="ReduceDecimalsRule.html" title="class in org.apache.calcite.rel.rules">ReduceDecimalsRule</a></dd> |
| </dl> |
| <hr> |
| <div class="type-signature"><span class="modifiers">public abstract static class </span><span class="element-name type-name-label">ReduceDecimalsRule.RexExpander</span> |
| <span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span></div> |
| <div class="block">Rewrites a decimal expression for a specific set of SqlOperator's. In |
| general, most expressions are rewritten in such a way that SqlOperator's |
| do not have to deal with decimals. Decimals are represented by their |
| unscaled integer representations, similar to |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/math/BigDecimal.html#unscaledValue()" title="class or interface in java.math" class="external-link"><code>BigDecimal.unscaledValue()</code></a> (i.e. 10^scale). Once decimals are |
| decoded, SqlOperators can then operate on the integer representations. The |
| value can later be recoded as a decimal. |
| |
| <p>For example, suppose one casts 2.0 as a decimal(10,4). The value is |
| decoded (20), multiplied by a scale factor (1000), for a result of |
| (20000) which is encoded as a decimal(10,4), in this case 2.0000 |
| |
| <p>To avoid the lengthy coding of RexNode expressions, this base class |
| provides succinct methods for building expressions used in rewrites.</div> |
| </section> |
| <section class="summary"> |
| <ul class="summary-list"> |
| <!-- ========== METHOD SUMMARY =========== --> |
| <li> |
| <section class="method-summary" id="method-summary"> |
| <h2>Method Summary</h2> |
| <div id="method-summary-table"> |
| <div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab3" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" class="table-tab">Abstract Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div> |
| <div id="method-summary-table.tabpanel" role="tabpanel"> |
| <div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0"> |
| <div class="table-header col-first">Modifier and Type</div> |
| <div class="table-header col-second">Method</div> |
| <div class="table-header col-last">Description</div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#accessValue(org.apache.calcite.rex.RexNode)" class="member-name-link">accessValue</a><wbr>(<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> node)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Retrieves the primitive value of a numeric node.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#canExpand(org.apache.calcite.rex.RexCall)" class="member-name-link">canExpand</a><wbr>(<a href="../../rex/RexCall.html" title="class in org.apache.calcite.rex">RexCall</a> call)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">This defaults to the utility method, |
| <a href="../../rex/RexUtil.html#requiresDecimalExpansion(org.apache.calcite.rex.RexNode,boolean)"><code>RexUtil.requiresDecimalExpansion(RexNode, boolean)</code></a> which checks |
| general guidelines on whether a rewrite should be considered at all.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#decodeValue(org.apache.calcite.rex.RexNode)" class="member-name-link">decodeValue</a><wbr>(<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> decimalNode)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Retrieves a decimal node's integer representation.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#encodeValue(org.apache.calcite.rex.RexNode,org.apache.calcite.rel.type.RelDataType)" class="member-name-link">encodeValue</a><wbr>(<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> value, |
| <a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> decimalType)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Casts a decimal's integer representation to a decimal node.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#encodeValue(org.apache.calcite.rex.RexNode,org.apache.calcite.rel.type.RelDataType,boolean)" class="member-name-link">encodeValue</a><wbr>(<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> value, |
| <a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> decimalType, |
| boolean checkOverflow)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Casts a decimal's integer representation to a decimal node.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#ensureScale(org.apache.calcite.rex.RexNode,int,int)" class="member-name-link">ensureScale</a><wbr>(<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> value, |
| int scale, |
| int required)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Ensures a value is of a required scale.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#ensureType(org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rex.RexNode)" class="member-name-link">ensureType</a><wbr>(<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type, |
| <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> node)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Ensures expression is interpreted as a specified type.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#ensureType(org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rex.RexNode,boolean)" class="member-name-link">ensureType</a><wbr>(<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type, |
| <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> node, |
| boolean matchNullability)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Ensures expression is interpreted as a specified type.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>abstract <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#expand(org.apache.calcite.rex.RexCall)" class="member-name-link">expand</a><wbr>(<a href="../../rex/RexCall.html" title="class in org.apache.calcite.rex">RexCall</a> call)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Rewrites an expression containing decimals.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#makeApproxLiteral(java.math.BigDecimal)" class="member-name-link">makeApproxLiteral</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/math/BigDecimal.html" title="class or interface in java.math" class="external-link">BigDecimal</a> bd)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Makes an approximate literal of double precision.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#makeApproxScaleFactor(int)" class="member-name-link">makeApproxScaleFactor</a><wbr>(int scale)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Makes an approximate literal to be used for scaling.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#makeCase(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)" class="member-name-link">makeCase</a><wbr>(<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> condition, |
| <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> thenClause, |
| <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> elseClause)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#makeCase(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)" class="member-name-link">makeCase</a><wbr>(<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> whenA, |
| <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> thenA, |
| <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> whenB, |
| <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> thenB, |
| <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> elseClause)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#makeDivide(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)" class="member-name-link">makeDivide</a><wbr>(<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> a, |
| <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> b)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#makeExactLiteral(long)" class="member-name-link">makeExactLiteral</a><wbr>(long l)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Makes an exact, non-nullable literal of Bigint type.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#makeIsNegative(org.apache.calcite.rex.RexNode)" class="member-name-link">makeIsNegative</a><wbr>(<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> a)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#makeIsPositive(org.apache.calcite.rex.RexNode)" class="member-name-link">makeIsPositive</a><wbr>(<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> a)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#makeMinus(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)" class="member-name-link">makeMinus</a><wbr>(<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> a, |
| <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> b)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#makeMultiply(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)" class="member-name-link">makeMultiply</a><wbr>(<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> a, |
| <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> b)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#makePlus(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)" class="member-name-link">makePlus</a><wbr>(<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> a, |
| <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> b)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#makeRoundFactor(int)" class="member-name-link">makeRoundFactor</a><wbr>(int scale)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Makes an exact numeric value to be used for rounding.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#makeScaleFactor(int)" class="member-name-link">makeScaleFactor</a><wbr>(int scale)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Makes an exact numeric literal to be used for scaling.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected long</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#powerOfTen(int)" class="member-name-link">powerOfTen</a><wbr>(int scale)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Calculates a power of ten, as a long value.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#scaleDown(org.apache.calcite.rex.RexNode,int)" class="member-name-link">scaleDown</a><wbr>(<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> value, |
| int scale)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Scales down a decimal value, and returns the scaled value as an exact |
| numeric.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#scaleDownDouble(org.apache.calcite.rex.RexNode,int)" class="member-name-link">scaleDownDouble</a><wbr>(<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> value, |
| int scale)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Scales down a decimal value and returns the scaled value as a an |
| double precision approximate value.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#scaleUp(org.apache.calcite.rex.RexNode,int)" class="member-name-link">scaleUp</a><wbr>(<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> value, |
| int scale)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Scales up a decimal value and returns the scaled value as an exact |
| number.</div> |
| </div> |
| </div> |
| </div> |
| </div> |
| <div class="inherited-list"> |
| <h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3> |
| <code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div> |
| </section> |
| </li> |
| </ul> |
| </section> |
| <section class="details"> |
| <ul class="details-list"> |
| <!-- ============ METHOD DETAIL ========== --> |
| <li> |
| <section class="method-details" id="method-detail"> |
| <h2>Method Details</h2> |
| <ul class="member-list"> |
| <li> |
| <section class="detail" id="canExpand(org.apache.calcite.rex.RexCall)"> |
| <h3>canExpand</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type">boolean</span> <span class="element-name">canExpand</span><wbr><span class="parameters">(<a href="../../rex/RexCall.html" title="class in org.apache.calcite.rex">RexCall</a> call)</span></div> |
| <div class="block">This defaults to the utility method, |
| <a href="../../rex/RexUtil.html#requiresDecimalExpansion(org.apache.calcite.rex.RexNode,boolean)"><code>RexUtil.requiresDecimalExpansion(RexNode, boolean)</code></a> 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. |
| |
| <p>However, this method provides another place for implementations of |
| RexExpander to make a more detailed analysis before deciding on |
| whether to perform a rewrite.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="expand(org.apache.calcite.rex.RexCall)"> |
| <h3>expand</h3> |
| <div class="member-signature"><span class="modifiers">public abstract</span> <span class="return-type"><a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span> <span class="element-name">expand</span><wbr><span class="parameters">(<a href="../../rex/RexCall.html" title="class in org.apache.calcite.rex">RexCall</a> call)</span></div> |
| <div class="block">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.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="makeScaleFactor(int)"> |
| <h3>makeScaleFactor</h3> |
| <div class="member-signature"><span class="modifiers">protected</span> <span class="return-type"><a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span> <span class="element-name">makeScaleFactor</span><wbr><span class="parameters">(int scale)</span></div> |
| <div class="block">Makes an exact numeric literal to be used for scaling.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>scale</code> - a scale from one to max precision - 1</dd> |
| <dt>Returns:</dt> |
| <dd>10^scale as an exact numeric value</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="makeApproxScaleFactor(int)"> |
| <h3>makeApproxScaleFactor</h3> |
| <div class="member-signature"><span class="modifiers">protected</span> <span class="return-type"><a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span> <span class="element-name">makeApproxScaleFactor</span><wbr><span class="parameters">(int scale)</span></div> |
| <div class="block">Makes an approximate literal to be used for scaling.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>scale</code> - a scale from -99 to 99</dd> |
| <dt>Returns:</dt> |
| <dd>10^scale as an approximate value</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="makeRoundFactor(int)"> |
| <h3>makeRoundFactor</h3> |
| <div class="member-signature"><span class="modifiers">protected</span> <span class="return-type"><a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span> <span class="element-name">makeRoundFactor</span><wbr><span class="parameters">(int scale)</span></div> |
| <div class="block">Makes an exact numeric value to be used for rounding.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>scale</code> - a scale from 1 to max precision - 1</dd> |
| <dt>Returns:</dt> |
| <dd>10^scale / 2 as an exact numeric value</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="powerOfTen(int)"> |
| <h3>powerOfTen</h3> |
| <div class="member-signature"><span class="modifiers">protected</span> <span class="return-type">long</span> <span class="element-name">powerOfTen</span><wbr><span class="parameters">(int scale)</span></div> |
| <div class="block">Calculates a power of ten, as a long value.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="makeExactLiteral(long)"> |
| <h3>makeExactLiteral</h3> |
| <div class="member-signature"><span class="modifiers">protected</span> <span class="return-type"><a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span> <span class="element-name">makeExactLiteral</span><wbr><span class="parameters">(long l)</span></div> |
| <div class="block">Makes an exact, non-nullable literal of Bigint type.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="makeApproxLiteral(java.math.BigDecimal)"> |
| <h3>makeApproxLiteral</h3> |
| <div class="member-signature"><span class="modifiers">protected</span> <span class="return-type"><a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span> <span class="element-name">makeApproxLiteral</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/math/BigDecimal.html" title="class or interface in java.math" class="external-link">BigDecimal</a> bd)</span></div> |
| <div class="block">Makes an approximate literal of double precision.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="scaleUp(org.apache.calcite.rex.RexNode,int)"> |
| <h3>scaleUp</h3> |
| <div class="member-signature"><span class="modifiers">protected</span> <span class="return-type"><a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span> <span class="element-name">scaleUp</span><wbr><span class="parameters">(<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> value, |
| int scale)</span></div> |
| <div class="block">Scales up a decimal value and returns the scaled value as an exact |
| number.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>value</code> - the integer representation of a decimal</dd> |
| <dd><code>scale</code> - a value from zero to max precision - 1</dd> |
| <dt>Returns:</dt> |
| <dd>value * 10^scale as an exact numeric value</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="scaleDown(org.apache.calcite.rex.RexNode,int)"> |
| <h3>scaleDown</h3> |
| <div class="member-signature"><span class="modifiers">protected</span> <span class="return-type"><a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span> <span class="element-name">scaleDown</span><wbr><span class="parameters">(<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> value, |
| int scale)</span></div> |
| <div class="block">Scales down a decimal value, and returns the scaled value as an exact |
| numeric. with the rounding convention |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/math/BigDecimal.html#ROUND_HALF_UP" title="class or interface in java.math" class="external-link"><code>BigDecimal.ROUND_HALF_UP</code></a>. (Values midway |
| between two points are rounded away from zero.)</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>value</code> - the integer representation of a decimal</dd> |
| <dd><code>scale</code> - a value from zero to max precision</dd> |
| <dt>Returns:</dt> |
| <dd>value/10^scale, rounded away from zero and returned as an |
| exact numeric value</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="scaleDownDouble(org.apache.calcite.rex.RexNode,int)"> |
| <h3>scaleDownDouble</h3> |
| <div class="member-signature"><span class="modifiers">protected</span> <span class="return-type"><a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span> <span class="element-name">scaleDownDouble</span><wbr><span class="parameters">(<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> value, |
| int scale)</span></div> |
| <div class="block">Scales down a decimal value and returns the scaled value as a an |
| double precision approximate value. Scaling is implemented with |
| double precision arithmetic.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>value</code> - the integer representation of a decimal</dd> |
| <dd><code>scale</code> - a value from zero to max precision</dd> |
| <dt>Returns:</dt> |
| <dd>value/10^scale as a double precision value</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="ensureScale(org.apache.calcite.rex.RexNode,int,int)"> |
| <h3>ensureScale</h3> |
| <div class="member-signature"><span class="modifiers">protected</span> <span class="return-type"><a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span> <span class="element-name">ensureScale</span><wbr><span class="parameters">(<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> value, |
| int scale, |
| int required)</span></div> |
| <div class="block">Ensures a value is of a required scale. If it is not, then the value |
| is multiplied by a scale factor. Scaling up an exact value is limited |
| to max precision - 1, because we cannot represent the result of |
| larger scales internally. Scaling up a floating point value is more |
| flexible since the value may be very small despite having a scale of |
| zero and the scaling may still produce a reasonable result</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>value</code> - integer representation of decimal, or a floating point |
| number</dd> |
| <dd><code>scale</code> - current scale, 0 for floating point numbers</dd> |
| <dd><code>required</code> - required scale, must be at least the current scale; |
| the scale difference may not be greater than max |
| precision - 1 for exact numerics</dd> |
| <dt>Returns:</dt> |
| <dd>value * 10^scale, returned as an exact or approximate value |
| corresponding to the input value</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="decodeValue(org.apache.calcite.rex.RexNode)"> |
| <h3>decodeValue</h3> |
| <div class="member-signature"><span class="modifiers">protected</span> <span class="return-type"><a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span> <span class="element-name">decodeValue</span><wbr><span class="parameters">(<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> decimalNode)</span></div> |
| <div class="block">Retrieves a decimal node's integer representation.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>decimalNode</code> - the decimal value as an opaque type</dd> |
| <dt>Returns:</dt> |
| <dd>an integer representation of the decimal value</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="accessValue(org.apache.calcite.rex.RexNode)"> |
| <h3>accessValue</h3> |
| <div class="member-signature"><span class="modifiers">protected</span> <span class="return-type"><a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span> <span class="element-name">accessValue</span><wbr><span class="parameters">(<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> node)</span></div> |
| <div class="block">Retrieves the primitive value of a numeric node. If the node is a |
| decimal, then it must first be decoded. Otherwise the original node |
| may be returned.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>node</code> - a numeric node, possibly a decimal</dd> |
| <dt>Returns:</dt> |
| <dd>the primitive value of the numeric node</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="encodeValue(org.apache.calcite.rex.RexNode,org.apache.calcite.rel.type.RelDataType)"> |
| <h3>encodeValue</h3> |
| <div class="member-signature"><span class="modifiers">protected</span> <span class="return-type"><a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span> <span class="element-name">encodeValue</span><wbr><span class="parameters">(<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> value, |
| <a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> decimalType)</span></div> |
| <div class="block">Casts a decimal's integer representation to a decimal node. If the |
| expression is not the expected integer type, then it is casted first. |
| |
| <p>This method does not request an overflow check.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>value</code> - integer representation of decimal</dd> |
| <dd><code>decimalType</code> - type integer will be reinterpreted as</dd> |
| <dt>Returns:</dt> |
| <dd>the integer representation reinterpreted as a decimal type</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="encodeValue(org.apache.calcite.rex.RexNode,org.apache.calcite.rel.type.RelDataType,boolean)"> |
| <h3>encodeValue</h3> |
| <div class="member-signature"><span class="modifiers">protected</span> <span class="return-type"><a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span> <span class="element-name">encodeValue</span><wbr><span class="parameters">(<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> value, |
| <a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> decimalType, |
| boolean checkOverflow)</span></div> |
| <div class="block">Casts a decimal's integer representation to a decimal node. If the |
| expression is not the expected integer type, then it is casted first. |
| |
| <p>An overflow check may be requested to ensure the internal value |
| does not exceed the maximum value of the decimal type.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>value</code> - integer representation of decimal</dd> |
| <dd><code>decimalType</code> - type integer will be reinterpreted as</dd> |
| <dd><code>checkOverflow</code> - indicates whether an overflow check is required |
| when reinterpreting this particular value as the |
| decimal type. A check usually not required for |
| arithmetic, but is often required for rounding and |
| explicit casts.</dd> |
| <dt>Returns:</dt> |
| <dd>the integer reinterpreted as an opaque decimal type</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="ensureType(org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rex.RexNode)"> |
| <h3>ensureType</h3> |
| <div class="member-signature"><span class="modifiers">protected</span> <span class="return-type"><a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span> <span class="element-name">ensureType</span><wbr><span class="parameters">(<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type, |
| <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> node)</span></div> |
| <div class="block">Ensures expression is interpreted as a specified type. The returned |
| expression may be wrapped with a cast. |
| |
| <p>This method corrects the nullability of the specified type to |
| match the nullability of the expression.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>type</code> - desired type</dd> |
| <dd><code>node</code> - expression</dd> |
| <dt>Returns:</dt> |
| <dd>a casted expression or the original expression</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="ensureType(org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rex.RexNode,boolean)"> |
| <h3>ensureType</h3> |
| <div class="member-signature"><span class="modifiers">protected</span> <span class="return-type"><a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span> <span class="element-name">ensureType</span><wbr><span class="parameters">(<a href="../type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type, |
| <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> node, |
| boolean matchNullability)</span></div> |
| <div class="block">Ensures expression is interpreted as a specified type. The returned |
| expression may be wrapped with a cast.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>type</code> - desired type</dd> |
| <dd><code>node</code> - expression</dd> |
| <dd><code>matchNullability</code> - whether to correct nullability of specified |
| type to match the expression; this usually should |
| be true, except for explicit casts which can |
| override default nullability</dd> |
| <dt>Returns:</dt> |
| <dd>a casted expression or the original expression</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="makeCase(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)"> |
| <h3>makeCase</h3> |
| <div class="member-signature"><span class="modifiers">protected</span> <span class="return-type"><a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span> <span class="element-name">makeCase</span><wbr><span class="parameters">(<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> condition, |
| <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> thenClause, |
| <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> elseClause)</span></div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="makeCase(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)"> |
| <h3>makeCase</h3> |
| <div class="member-signature"><span class="modifiers">protected</span> <span class="return-type"><a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span> <span class="element-name">makeCase</span><wbr><span class="parameters">(<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> whenA, |
| <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> thenA, |
| <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> whenB, |
| <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> thenB, |
| <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> elseClause)</span></div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="makePlus(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)"> |
| <h3>makePlus</h3> |
| <div class="member-signature"><span class="modifiers">protected</span> <span class="return-type"><a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span> <span class="element-name">makePlus</span><wbr><span class="parameters">(<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> a, |
| <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> b)</span></div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="makeMinus(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)"> |
| <h3>makeMinus</h3> |
| <div class="member-signature"><span class="modifiers">protected</span> <span class="return-type"><a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span> <span class="element-name">makeMinus</span><wbr><span class="parameters">(<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> a, |
| <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> b)</span></div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="makeDivide(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)"> |
| <h3>makeDivide</h3> |
| <div class="member-signature"><span class="modifiers">protected</span> <span class="return-type"><a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span> <span class="element-name">makeDivide</span><wbr><span class="parameters">(<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> a, |
| <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> b)</span></div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="makeMultiply(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)"> |
| <h3>makeMultiply</h3> |
| <div class="member-signature"><span class="modifiers">protected</span> <span class="return-type"><a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span> <span class="element-name">makeMultiply</span><wbr><span class="parameters">(<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> a, |
| <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> b)</span></div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="makeIsPositive(org.apache.calcite.rex.RexNode)"> |
| <h3>makeIsPositive</h3> |
| <div class="member-signature"><span class="modifiers">protected</span> <span class="return-type"><a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span> <span class="element-name">makeIsPositive</span><wbr><span class="parameters">(<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> a)</span></div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="makeIsNegative(org.apache.calcite.rex.RexNode)"> |
| <h3>makeIsNegative</h3> |
| <div class="member-signature"><span class="modifiers">protected</span> <span class="return-type"><a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span> <span class="element-name">makeIsNegative</span><wbr><span class="parameters">(<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> a)</span></div> |
| </section> |
| </li> |
| </ul> |
| </section> |
| </li> |
| </ul> |
| </section> |
| <!-- ========= END OF CLASS DATA ========= --> |
| </main> |
| <footer role="contentinfo"> |
| <hr> |
| <p class="legal-copy"><small>Copyright © 2012-2023 Apache Software Foundation. All Rights Reserved.</small></p> |
| </footer> |
| </div> |
| </div> |
| </body> |
| </html> |