| <!DOCTYPE HTML> |
| <html lang="en"> |
| <head> |
| <!-- Generated by javadoc (17) --> |
| <title>RexUtil (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.rex, class: RexUtil"> |
| <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><a href="#nested-class-summary">Nested</a> | </li> |
| <li><a href="#field-summary">Field</a> | </li> |
| <li>Constr | </li> |
| <li><a href="#method-summary">Method</a></li> |
| </ul> |
| <ul class="sub-nav-list"> |
| <li>Detail: </li> |
| <li><a href="#field-detail">Field</a> | </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.rex</a></div> |
| <h1 title="Class RexUtil" class="title">Class RexUtil</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.rex.RexUtil</div> |
| </div> |
| <section class="class-description" id="class-description"> |
| <hr> |
| <div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">RexUtil</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">Utility methods concerning row-expressions.</div> |
| </section> |
| <section class="summary"> |
| <ul class="summary-list"> |
| <!-- ======== NESTED CLASS SUMMARY ======== --> |
| <li> |
| <section class="nested-class-summary" id="nested-class-summary"> |
| <h2>Nested Class Summary</h2> |
| <div class="caption"><span>Nested Classes</span></div> |
| <div class="summary-table three-column-summary"> |
| <div class="table-header col-first">Modifier and Type</div> |
| <div class="table-header col-second">Class</div> |
| <div class="table-header col-last">Description</div> |
| <div class="col-first even-row-color"><code>static class </code></div> |
| <div class="col-second even-row-color"><code><a href="RexUtil.ExprSimplifier.html" class="type-name-link" title="class in org.apache.calcite.rex">RexUtil.ExprSimplifier</a></code></div> |
| <div class="col-last even-row-color"> |
| <div class="block"><span class="deprecated-label">Deprecated.</span></div> |
| </div> |
| <div class="col-first odd-row-color"><code>static class </code></div> |
| <div class="col-second odd-row-color"><code><a href="RexUtil.FieldAccessFinder.html" class="type-name-link" title="class in org.apache.calcite.rex">RexUtil.FieldAccessFinder</a></code></div> |
| <div class="col-last odd-row-color"> |
| <div class="block">Visitor which builds a bitmap of the inputs used by an expression.</div> |
| </div> |
| <div class="col-first even-row-color"><code>static class </code></div> |
| <div class="col-second even-row-color"><code><a href="RexUtil.FixNullabilityShuttle.html" class="type-name-link" title="class in org.apache.calcite.rex">RexUtil.FixNullabilityShuttle</a></code></div> |
| <div class="col-last even-row-color"> |
| <div class="block">Shuttle that fixes up an expression to match changes in nullability of |
| input fields.</div> |
| </div> |
| <div class="col-first odd-row-color"><code>static class </code></div> |
| <div class="col-second odd-row-color"><code><a href="RexUtil.RexFinder.html" class="type-name-link" title="class in org.apache.calcite.rex">RexUtil.RexFinder</a></code></div> |
| <div class="col-last odd-row-color"> |
| <div class="block">Visitor that tells whether a node matching a particular description exists |
| in a tree.</div> |
| </div> |
| <div class="col-first even-row-color"><code>static class </code></div> |
| <div class="col-second even-row-color"><code><a href="RexUtil.SubQueryFinder.html" class="type-name-link" title="class in org.apache.calcite.rex">RexUtil.SubQueryFinder</a></code></div> |
| <div class="col-last even-row-color"> |
| <div class="block">Visitor that throws <a href="../util/Util.FoundOne.html" title="class in org.apache.calcite.util"><code>Util.FoundOne</code></a> if |
| applied to an expression that contains a <a href="RexSubQuery.html" title="class in org.apache.calcite.rex"><code>RexSubQuery</code></a>.</div> |
| </div> |
| </div> |
| </section> |
| </li> |
| <!-- =========== FIELD SUMMARY =========== --> |
| <li> |
| <section class="field-summary" id="field-summary"> |
| <h2>Field Summary</h2> |
| <div class="caption"><span>Fields</span></div> |
| <div class="summary-table three-column-summary"> |
| <div class="table-header col-first">Modifier and Type</div> |
| <div class="table-header col-second">Field</div> |
| <div class="table-header col-last">Description</div> |
| <div class="col-first even-row-color"><code>static final <a href="RexExecutor.html" title="interface in org.apache.calcite.rex">RexExecutor</a></code></div> |
| <div class="col-second even-row-color"><code><a href="#EXECUTOR" class="member-name-link">EXECUTOR</a></code></div> |
| <div class="col-last even-row-color"> |
| <div class="block">Executor for a bit of constant reduction.</div> |
| </div> |
| </div> |
| </section> |
| </li> |
| <!-- ========== 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-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" class="table-tab">Static 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><button id="method-summary-table-tab6" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab6', 3)" class="table-tab">Deprecated 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-tab1 method-summary-table-tab4"><code>static <E> boolean</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#all(java.util.List,org.apache.calcite.linq4j.function.Predicate1)" class="member-name-link">all</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><? extends E> list, |
| <a href="../linq4j/function/Predicate1.html" title="interface in org.apache.calcite.linq4j.function">Predicate1</a><E> predicate)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns whether <code>predicate</code> is true for all elements of |
| <code>list</code>.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#allLiterals(java.util.List)" class="member-name-link">allLiterals</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> expressionOperands)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns whether every expression in a list is a literal.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="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-tab1 method-summary-table-tab4"><code><a href="#andNot(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode,java.lang.Iterable)" class="member-name-link">andNot</a><wbr>(<a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> e, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a><? extends <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> notTerms)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Creates the expression <code>e1 AND NOT notTerm1 AND NOT notTerm2 ...</code>.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="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-tab1 method-summary-table-tab4"><code><a href="#andNot(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode...)" class="member-name-link">andNot</a><wbr>(<a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> e, |
| <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>... notTerms)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Creates the expression <code>e1 AND NOT notTerm1 AND NOT notTerm2 ...</code>.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static void</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#apply(org.apache.calcite.rex.RexVisitor,java.util.List,org.apache.calcite.rex.RexNode)" class="member-name-link">apply</a><wbr>(<a href="RexVisitor.html" title="interface in org.apache.calcite.rex">RexVisitor</a><<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Void.html" title="class or interface in java.lang" class="external-link">Void</a>> visitor, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><? extends <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> exprs, |
| @Nullable <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> expr)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Applies a visitor to a list of expressions and, if specified, a single |
| expression.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static void</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#apply(org.apache.calcite.rex.RexVisitor,org.apache.calcite.rex.RexNode%5B%5D,org.apache.calcite.rex.RexNode)" class="member-name-link">apply</a><wbr>(<a href="RexVisitor.html" title="interface in org.apache.calcite.rex">RexVisitor</a><<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Void.html" title="class or interface in java.lang" class="external-link">Void</a>> visitor, |
| <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>[] exprs, |
| @Nullable <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> expr)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Applies a visitor to an array of expressions and, if specified, a single |
| expression.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <T extends <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>><br>T[]</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#apply(org.apache.calcite.rex.RexVisitor,T%5B%5D)" class="member-name-link">apply</a><wbr>(<a href="RexVisitor.html" title="interface in org.apache.calcite.rex">RexVisitor</a><T> shuttle, |
| T[] exprs)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Applies a shuttle to an array of expressions.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="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-tab1 method-summary-table-tab4"><code><a href="#apply(org.apache.calcite.util.mapping.Mappings.TargetMapping,java.lang.Iterable)" class="member-name-link">apply</a><wbr>(<a href="../util/mapping/Mappings.TargetMapping.html" title="interface in org.apache.calcite.util.mapping">Mappings.TargetMapping</a> mapping, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a><? extends <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> nodes)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Applies a mapping to an iterable over expressions.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="../rel/RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#apply(org.apache.calcite.util.mapping.Mappings.TargetMapping,java.util.List)" class="member-name-link">apply</a><wbr>(<a href="../util/mapping/Mappings.TargetMapping.html" title="interface in org.apache.calcite.util.mapping">Mappings.TargetMapping</a> mapping, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="../rel/RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>> collationList)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Applies a mapping to a collation list.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="../rel/RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#apply(org.apache.calcite.util.mapping.Mappings.TargetMapping,org.apache.calcite.rel.RelCollation)" class="member-name-link">apply</a><wbr>(<a href="../util/mapping/Mappings.TargetMapping.html" title="interface in org.apache.calcite.util.mapping">Mappings.TargetMapping</a> mapping, |
| <a href="../rel/RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a> collation)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Applies a mapping to a collation.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static @Nullable <a href="../rel/RelFieldCollation.html" title="class in org.apache.calcite.rel">RelFieldCollation</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#apply(org.apache.calcite.util.mapping.Mappings.TargetMapping,org.apache.calcite.rel.RelFieldCollation)" class="member-name-link">apply</a><wbr>(<a href="../util/mapping/Mappings.TargetMapping.html" title="interface in org.apache.calcite.util.mapping">Mappings.TargetMapping</a> mapping, |
| <a href="../rel/RelFieldCollation.html" title="class in org.apache.calcite.rel">RelFieldCollation</a> fieldCollation)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Applies a mapping to a field collation.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="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-tab1 method-summary-table-tab4"><code><a href="#apply(org.apache.calcite.util.mapping.Mappings.TargetMapping,org.apache.calcite.rex.RexNode)" class="member-name-link">apply</a><wbr>(<a href="../util/mapping/Mappings.TargetMapping.html" title="interface in org.apache.calcite.util.mapping">Mappings.TargetMapping</a> mapping, |
| <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> node)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Applies a mapping to an expression.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="../rel/RelFieldCollation.html" title="class in org.apache.calcite.rel">RelFieldCollation</a>></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#applyFields(org.apache.calcite.util.mapping.Mappings.TargetMapping,java.util.List)" class="member-name-link">applyFields</a><wbr>(<a href="../util/mapping/Mappings.TargetMapping.html" title="interface in org.apache.calcite.util.mapping">Mappings.TargetMapping</a> mapping, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="../rel/RelFieldCollation.html" title="class in org.apache.calcite.rel">RelFieldCollation</a>> fieldCollations)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Applies a mapping to a list of field collations.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#canReinterpretOverflow(org.apache.calcite.rex.RexCall)" class="member-name-link">canReinterpretOverflow</a><wbr>(<a href="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-tab1 method-summary-table-tab4"> </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#compatibleTypes(java.util.List,org.apache.calcite.rel.type.RelDataType,org.apache.calcite.util.Litmus)" class="member-name-link">compatibleTypes</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> exprs, |
| <a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type, |
| <a href="../util/Litmus.html" title="interface in org.apache.calcite.util">Litmus</a> litmus)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns whether the type of an array of expressions is compatible with a |
| struct type.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="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-tab1 method-summary-table-tab4"><code><a href="#composeConjunction(org.apache.calcite.rex.RexBuilder,java.lang.Iterable)" class="member-name-link">composeConjunction</a><wbr>(<a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a><? extends @Nullable <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> nodes)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">As <a href="#composeConjunction(org.apache.calcite.rex.RexBuilder,java.lang.Iterable,boolean)"><code>composeConjunction(RexBuilder, Iterable, boolean)</code></a> but never |
| returns null.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static @Nullable <a href="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-tab1 method-summary-table-tab4"><code><a href="#composeConjunction(org.apache.calcite.rex.RexBuilder,java.lang.Iterable,boolean)" class="member-name-link">composeConjunction</a><wbr>(<a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a><? extends @Nullable <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> nodes, |
| boolean nullOnEmpty)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Converts a collection of expressions into an AND.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="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-tab1 method-summary-table-tab4"><code><a href="#composeDisjunction(org.apache.calcite.rex.RexBuilder,java.lang.Iterable)" class="member-name-link">composeDisjunction</a><wbr>(<a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a><? extends <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> nodes)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Converts a collection of expressions into an OR.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static @Nullable <a href="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-tab1 method-summary-table-tab4"><code><a href="#composeDisjunction(org.apache.calcite.rex.RexBuilder,java.lang.Iterable,boolean)" class="member-name-link">composeDisjunction</a><wbr>(<a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a><? extends <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> nodes, |
| boolean nullOnEmpty)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Converts a collection of expressions into an OR, |
| optionally returning null if the list is empty.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#containComplexExprs(java.util.List)" class="member-name-link">containComplexExprs</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> exprs)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns whether a list of expressions contains complex expressions, that |
| is, a call whose arguments are not <a href="RexVariable.html" title="class in org.apache.calcite.rex"><code>RexVariable</code></a> (or a subtype such |
| as <a href="RexInputRef.html" title="class in org.apache.calcite.rex"><code>RexInputRef</code></a>) or <a href="RexLiteral.html" title="class in org.apache.calcite.rex"><code>RexLiteral</code></a>.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#containIdentity(java.util.List,org.apache.calcite.rel.type.RelDataType,org.apache.calcite.util.Litmus)" class="member-name-link">containIdentity</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><? extends <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> exprs, |
| <a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> rowType, |
| <a href="../util/Litmus.html" title="interface in org.apache.calcite.util">Litmus</a> litmus)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns whether the leading edge of a given array of expressions is |
| wholly <a href="RexInputRef.html" title="class in org.apache.calcite.rex"><code>RexInputRef</code></a> objects with types corresponding to the |
| underlying datatype.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#containNoCommonExprs(java.util.List,org.apache.calcite.util.Litmus)" class="member-name-link">containNoCommonExprs</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> exprs, |
| <a href="../util/Litmus.html" title="interface in org.apache.calcite.util">Litmus</a> litmus)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns whether an array of expressions has any common sub-expressions.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#containNoForwardRefs(java.util.List,org.apache.calcite.rel.type.RelDataType,org.apache.calcite.util.Litmus)" class="member-name-link">containNoForwardRefs</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> exprs, |
| <a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> inputRowType, |
| <a href="../util/Litmus.html" title="interface in org.apache.calcite.util">Litmus</a> litmus)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns whether an array of expressions contains no forward references.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#containsCorrelation(org.apache.calcite.rex.RexNode)" class="member-name-link">containsCorrelation</a><wbr>(<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> condition)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns whether an expression contains a <a href="RexCorrelVariable.html" title="class in org.apache.calcite.rex"><code>RexCorrelVariable</code></a>.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#containsFieldAccess(org.apache.calcite.rex.RexNode)" class="member-name-link">containsFieldAccess</a><wbr>(<a href="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-tab1 method-summary-table-tab4"> |
| <div class="block">Returns whether a given tree contains any |
| <a href="RexFieldAccess.html" title="class in org.apache.calcite.rex"><code>RexFieldAccess</code></a> nodes.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#containsInputRef(org.apache.calcite.rex.RexNode)" class="member-name-link">containsInputRef</a><wbr>(<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> node)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns whether a given tree contains any {link RexInputRef} nodes.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#containsTableInputRef(java.util.List)" class="member-name-link">containsTableInputRef</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> nodes)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns whether any of the given expression trees contains a |
| {link RexTableInputRef} node.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static @Nullable <a href="RexTableInputRef.html" title="class in org.apache.calcite.rex">RexTableInputRef</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#containsTableInputRef(org.apache.calcite.rex.RexNode)" class="member-name-link">containsTableInputRef</a><wbr>(<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> node)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns whether a given tree contains any {link RexTableInputRef} nodes.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#createStructType(org.apache.calcite.rel.type.RelDataTypeFactory,java.util.List,java.util.List,org.apache.calcite.sql.validate.SqlValidatorUtil.Suggester)" class="member-name-link">createStructType</a><wbr>(<a href="../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a> typeFactory, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><? extends <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> exprs, |
| @Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><? extends @Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>> names, |
| @Nullable <a href="../sql/validate/SqlValidatorUtil.Suggester.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorUtil.Suggester</a> suggester)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Creates a record type with specified field names.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4 method-summary-table-tab6"><code>static <a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4 method-summary-table-tab6"><code><a href="#createStructType(org.apache.calcite.rel.type.RelDataTypeFactory,java.util.List,java.util.List)" class="member-name-link">createStructType</a><wbr>(<a href="../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a> typeFactory, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><? extends <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> exprs, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>> names)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4 method-summary-table-tab6"> |
| <div class="block"><span class="deprecated-label">Deprecated.</span></div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#createStructType(org.apache.calcite.rel.type.RelDataTypeFactory,java.util.List)" class="member-name-link">createStructType</a><wbr>(<a href="../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a> typeFactory, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> exprs)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Creates a record type with anonymous field names.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4 method-summary-table-tab6"><code>static boolean</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4 method-summary-table-tab6"><code><a href="#eq(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)" class="member-name-link">eq</a><wbr>(<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> e1, |
| <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> e2)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4 method-summary-table-tab6"> |
| <div class="block"><span class="deprecated-label">Deprecated.</span></div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <E> boolean</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#exists(java.util.List,org.apache.calcite.linq4j.function.Predicate1)" class="member-name-link">exists</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><? extends E> list, |
| <a href="../linq4j/function/Predicate1.html" title="interface in org.apache.calcite.linq4j.function">Predicate1</a><E> predicate)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns whether there is an element in <code>list</code> for which |
| <code>predicate</code> is true.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="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-tab1 method-summary-table-tab4"><code><a href="#expandSearch(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexProgram,org.apache.calcite.rex.RexNode)" class="member-name-link">expandSearch</a><wbr>(<a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| @Nullable <a href="RexProgram.html" title="class in org.apache.calcite.rex">RexProgram</a> program, |
| <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> node)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Expands all the calls to <a href="../sql/fun/SqlStdOperatorTable.html#SEARCH"><code>SqlStdOperatorTable.SEARCH</code></a> in an expression.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="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-tab1 method-summary-table-tab4"><code><a href="#expandSearch(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexProgram,org.apache.calcite.rex.RexNode,int)" class="member-name-link">expandSearch</a><wbr>(<a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| @Nullable <a href="RexProgram.html" title="class in org.apache.calcite.rex">RexProgram</a> program, |
| <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> node, |
| int maxComplexity)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Expands calls to <a href="../sql/fun/SqlStdOperatorTable.html#SEARCH"><code>SqlStdOperatorTable.SEARCH</code></a> |
| whose complexity is greater than <code>maxComplexity</code> in an expression.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="../rel/type/RelDataTypeFamily.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFamily</a>></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#families(java.util.List)" class="member-name-link">families</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>> types)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="RexUtil.RexFinder.html" title="class in org.apache.calcite.rex">RexUtil.RexFinder</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#find(java.util.Set)" class="member-name-link">find</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Set.html" title="class or interface in java.util" class="external-link">Set</a><<a href="../sql/SqlKind.html" title="enum in org.apache.calcite.sql">SqlKind</a>> kinds)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns a visitor that finds nodes of given <a href="../sql/SqlKind.html" title="enum in org.apache.calcite.sql"><code>SqlKind</code></a>s.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="RexUtil.RexFinder.html" title="class in org.apache.calcite.rex">RexUtil.RexFinder</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#find(org.apache.calcite.rex.RexInputRef)" class="member-name-link">find</a><wbr>(<a href="RexInputRef.html" title="class in org.apache.calcite.rex">RexInputRef</a> ref)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns a visitor that finds a particular <a href="RexInputRef.html" title="class in org.apache.calcite.rex"><code>RexInputRef</code></a>.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="RexUtil.RexFinder.html" title="class in org.apache.calcite.rex">RexUtil.RexFinder</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#find(org.apache.calcite.sql.SqlKind)" class="member-name-link">find</a><wbr>(<a href="../sql/SqlKind.html" title="enum in org.apache.calcite.sql">SqlKind</a> kind)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns a visitor that finds nodes of a given <a href="../sql/SqlKind.html" title="enum in org.apache.calcite.sql"><code>SqlKind</code></a>.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static @Nullable <a href="RexCall.html" title="class in org.apache.calcite.rex">RexCall</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#findOperatorCall(org.apache.calcite.sql.SqlOperator,org.apache.calcite.rex.RexNode)" class="member-name-link">findOperatorCall</a><wbr>(<a href="../sql/SqlOperator.html" title="class in org.apache.calcite.sql">SqlOperator</a> operator, |
| <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> node)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns whether a given node contains a RexCall with a specified operator.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="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-tab1 method-summary-table-tab4"><code><a href="#fixUp(org.apache.calcite.rex.RexBuilder,java.util.List,java.util.List)" class="member-name-link">fixUp</a><wbr>(<a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> nodes, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>> fieldTypes)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Fixes up the type of all <a href="RexInputRef.html" title="class in org.apache.calcite.rex"><code>RexInputRef</code></a>s in an |
| expression to match differences in nullability.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4 method-summary-table-tab6"><code>static <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="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-tab1 method-summary-table-tab4 method-summary-table-tab6"><code><a href="#fixUp(org.apache.calcite.rex.RexBuilder,java.util.List,org.apache.calcite.rel.type.RelDataType)" class="member-name-link">fixUp</a><wbr>(<a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> nodes, |
| <a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> rowType)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4 method-summary-table-tab6"> |
| <div class="block"><span class="deprecated-label">Deprecated.</span></div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="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-tab1 method-summary-table-tab4"><code><a href="#flatten(java.util.List,org.apache.calcite.sql.SqlOperator)" class="member-name-link">flatten</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><? extends <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> exprs, |
| <a href="../sql/SqlOperator.html" title="class in org.apache.calcite.sql">SqlOperator</a> op)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Converts a list of operands into a list that is flat with respect to |
| the given operator.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="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-tab1 method-summary-table-tab4"><code><a href="#flatten(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode)" class="member-name-link">flatten</a><wbr>(<a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> node)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Flattens an expression.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static com.google.common.collect.ImmutableList<<a href="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-tab1 method-summary-table-tab4"><code><a href="#flattenAnd(java.lang.Iterable)" class="member-name-link">flattenAnd</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a><? extends @Nullable <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> nodes)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Flattens a list of AND nodes.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static com.google.common.collect.ImmutableList<<a href="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-tab1 method-summary-table-tab4"><code><a href="#flattenOr(java.lang.Iterable)" class="member-name-link">flattenOr</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a><? extends <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> nodes)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Flattens a list of OR nodes.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Set.html" title="class or interface in java.util" class="external-link">Set</a><<a href="RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#gatherTableReferences(java.util.List)" class="member-name-link">gatherTableReferences</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> nodes)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Gather all table references in input expressions.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="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-tab1 method-summary-table-tab4"><code><a href="#generateCastExpressions(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rel.type.RelDataType,java.util.List)" class="member-name-link">generateCastExpressions</a><wbr>(<a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> lhsRowType, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> rhsExps)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Generates a cast for a row type.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="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-tab1 method-summary-table-tab4"><code><a href="#generateCastExpressions(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.type.RelDataType)" class="member-name-link">generateCastExpressions</a><wbr>(<a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> lhsRowType, |
| <a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> rhsRowType)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Generates a cast from one row type to another.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#getNonConstColumns(java.util.List)" class="member-name-link">getNonConstColumns</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> expressions)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Given some expressions, gets the indices of the non-constant ones.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#getNonConstColumns(org.apache.calcite.util.ImmutableBitSet,java.util.List)" class="member-name-link">getNonConstColumns</a><wbr>(<a href="../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a> columns, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> expressions)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Given some expressions and columns, gets the indices of the non-constant ones.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static double</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#getSelectivity(org.apache.calcite.rex.RexNode)" class="member-name-link">getSelectivity</a><wbr>(@Nullable <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> exp)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns a guess for the selectivity of an expression.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static @Nullable <a href="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-tab1 method-summary-table-tab4"><code><a href="#invert(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexCall)" class="member-name-link">invert</a><wbr>(<a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="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-tab1 method-summary-table-tab4"> </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#isAtomic(org.apache.calcite.rex.RexNode)" class="member-name-link">isAtomic</a><wbr>(<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> expr)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#isCallTo(org.apache.calcite.rex.RexNode,org.apache.calcite.sql.SqlOperator)" class="member-name-link">isCallTo</a><wbr>(<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> expr, |
| <a href="../sql/SqlOperator.html" title="class in org.apache.calcite.sql">SqlOperator</a> op)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns whether a <a href="RexNode.html" title="class in org.apache.calcite.rex"><code>node</code></a> is a <a href="RexCall.html" title="class in org.apache.calcite.rex"><code>call</code></a> to a |
| given <a href="../sql/SqlOperator.html" title="class in org.apache.calcite.sql"><code>operator</code></a>.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#isCasePredicate(org.apache.calcite.rex.RexCall,int)" class="member-name-link">isCasePredicate</a><wbr>(<a href="RexCall.html" title="class in org.apache.calcite.rex">RexCall</a> call, |
| int i)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns whether a given operand of a CASE expression is a predicate.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#isConstant(org.apache.calcite.rex.RexNode)" class="member-name-link">isConstant</a><wbr>(<a href="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-tab1 method-summary-table-tab4"> |
| <div class="block">Returns whether node is made up of constants.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#isDeterministic(org.apache.calcite.rex.RexNode)" class="member-name-link">isDeterministic</a><wbr>(<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> e)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns whether a given expression is deterministic.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#isFlat(org.apache.calcite.rex.RexNode)" class="member-name-link">isFlat</a><wbr>(<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> expr)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns false if the expression can be optimized by flattening |
| calls to an associative operator such as AND and OR.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#isIdentity(java.util.List,org.apache.calcite.rel.type.RelDataType)" class="member-name-link">isIdentity</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><? extends <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> exps, |
| <a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> inputRowType)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns whether a list of expressions projects the incoming fields.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#isLiteral(org.apache.calcite.rex.RexNode,boolean)" class="member-name-link">isLiteral</a><wbr>(<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> node, |
| boolean allowCast)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns whether a node represents a literal.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#isLosslessCast(org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.type.RelDataType)" class="member-name-link">isLosslessCast</a><wbr>(<a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> source, |
| <a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> target)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns whether the conversion from <code>source</code> to <code>target</code> type |
| is a 'loss-less' cast, that is, a cast from which |
| the original value of the field can be certainly recovered.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#isLosslessCast(org.apache.calcite.rex.RexNode)" class="member-name-link">isLosslessCast</a><wbr>(<a href="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-tab1 method-summary-table-tab4"> |
| <div class="block">Returns whether the input is a 'loss-less' cast, that is, a cast from which |
| the original value of the field can be certainly recovered.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#isNull(org.apache.calcite.rex.RexNode)" class="member-name-link">isNull</a><wbr>(<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> expr)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns whether a node represents the NULL value or a series of nested |
| <code>CAST(NULL AS type)</code> calls.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#isNullabilityCast(org.apache.calcite.rel.type.RelDataTypeFactory,org.apache.calcite.rex.RexNode)" class="member-name-link">isNullabilityCast</a><wbr>(<a href="../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a> typeFactory, |
| <a href="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-tab1 method-summary-table-tab4"> |
| <div class="block">Returns whether an expression is a cast just for the purposes of |
| nullability, not changing any other aspect of the type.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#isNullLiteral(org.apache.calcite.rex.RexNode,boolean)" class="member-name-link">isNullLiteral</a><wbr>(<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> node, |
| boolean allowCast)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns whether a node represents the NULL value.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#isReferenceOrAccess(org.apache.calcite.rex.RexNode,boolean)" class="member-name-link">isReferenceOrAccess</a><wbr>(<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> node, |
| boolean allowCast)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns whether a node represents an input reference or field access.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#isSymbolLiteral(org.apache.calcite.rex.RexNode)" class="member-name-link">isSymbolLiteral</a><wbr>(<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> expr)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns whether a node represents a <a href="../sql/type/SqlTypeName.html#SYMBOL"><code>SqlTypeName.SYMBOL</code></a> literal.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="../util/Pair.html" title="class in org.apache.calcite.util">Pair</a><<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#makeKey(org.apache.calcite.rex.RexNode)" class="member-name-link">makeKey</a><wbr>(<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> expr)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Creates a key for <a href="RexNode.html" title="class in org.apache.calcite.rex"><code>RexNode</code></a> which is the same as another key of |
| another RexNode only if the two have both the same type and textual |
| representation.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static @Nullable <a href="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-tab1 method-summary-table-tab4"><code><a href="#negate(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexCall)" class="member-name-link">negate</a><wbr>(<a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="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-tab1 method-summary-table-tab4"> </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static int</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#nodeCount(java.util.List)" class="member-name-link">nodeCount</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><? extends <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> nodes)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns the number of nodes (including leaves) in a list of |
| expressions.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="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-tab1 method-summary-table-tab4"><code><a href="#not(org.apache.calcite.rex.RexNode)" class="member-name-link">not</a><wbr>(<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> e)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Negates a logical expression by adding or removing a NOT.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4 method-summary-table-tab6"><code>static com.google.common.base.Function<<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>,<wbr><a href="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-tab1 method-summary-table-tab4 method-summary-table-tab6"><code><a href="#notFn(org.apache.calcite.rex.RexBuilder)" class="member-name-link">notFn</a><wbr>(<a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4 method-summary-table-tab6"> |
| <div class="block"><span class="deprecated-label">Deprecated.</span> |
| <div class="deprecation-comment">Use <a href="#not(org.apache.calcite.rex.RexNode)"><code>not(org.apache.calcite.rex.RexNode)</code></a></div> |
| </div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="../sql/SqlOperator.html" title="class in org.apache.calcite.sql">SqlOperator</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#op(org.apache.calcite.sql.SqlKind)" class="member-name-link">op</a><wbr>(<a href="../sql/SqlKind.html" title="enum in org.apache.calcite.sql">SqlKind</a> kind)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <C extends <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>><br>com.google.common.collect.ImmutableMap<<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>,<wbr>C></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#predicateConstants(java.lang.Class,org.apache.calcite.rex.RexBuilder,java.util.List)" class="member-name-link">predicateConstants</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><C> clazz, |
| <a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> predicates)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Creates a map containing each (e, constant) pair that occurs within |
| a predicate list.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="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-tab1 method-summary-table-tab4"><code><a href="#pullFactors(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode)" class="member-name-link">pullFactors</a><wbr>(<a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> node)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Creates an equivalent version of a node where common factors among ORs |
| are pulled up.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#removeAll(java.util.List,org.apache.calcite.rex.RexNode)" class="member-name-link">removeAll</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> targets, |
| <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> e)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Removes all expressions from a list that are equivalent to a given |
| expression.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="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-tab1 method-summary-table-tab4"><code><a href="#removeCast(org.apache.calcite.rex.RexNode)" class="member-name-link">removeCast</a><wbr>(<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> e)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Removes any casts.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="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-tab1 method-summary-table-tab4"><code><a href="#removeNullabilityCast(org.apache.calcite.rel.type.RelDataTypeFactory,org.apache.calcite.rex.RexNode)" class="member-name-link">removeNullabilityCast</a><wbr>(<a href="../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a> typeFactory, |
| <a href="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-tab1 method-summary-table-tab4"> |
| <div class="block">Removes any casts that change nullability but not type.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#requiresDecimalExpansion(java.util.List,boolean)" class="member-name-link">requiresDecimalExpansion</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> operands, |
| boolean recurse)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Determines whether any operand of a set requires decimal expansion.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#requiresDecimalExpansion(org.apache.calcite.rex.RexNode,boolean)" class="member-name-link">requiresDecimalExpansion</a><wbr>(<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> expr, |
| boolean recurse)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Determines whether a <a href="RexCall.html" title="class in org.apache.calcite.rex"><code>RexCall</code></a> requires decimal expansion.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static boolean</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#requiresDecimalExpansion(org.apache.calcite.rex.RexProgram,boolean)" class="member-name-link">requiresDecimalExpansion</a><wbr>(<a href="RexProgram.html" title="class in org.apache.calcite.rex">RexProgram</a> program, |
| boolean recurse)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Returns whether a <a href="RexProgram.html" title="class in org.apache.calcite.rex"><code>RexProgram</code></a> contains expressions which require |
| decimal expansion.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="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-tab1 method-summary-table-tab4"><code><a href="#retainDeterministic(java.util.List)" class="member-name-link">retainDeterministic</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> list)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <C extends <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Comparable.html" title="class or interface in java.lang" class="external-link">Comparable</a><C>><br><a href="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-tab1 method-summary-table-tab4"><code><a href="#sargRef(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode,org.apache.calcite.util.Sarg,org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rex.RexUnknownAs)" class="member-name-link">sargRef</a><wbr>(<a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> ref, |
| <a href="../util/Sarg.html" title="class in org.apache.calcite.util">Sarg</a><C> sarg, |
| <a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type, |
| <a href="RexUnknownAs.html" title="enum in org.apache.calcite.rex">RexUnknownAs</a> unknownAs)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="RexShuttle.html" title="class in org.apache.calcite.rex">RexShuttle</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#searchShuttle(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexProgram,int)" class="member-name-link">searchShuttle</a><wbr>(<a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| @Nullable <a href="RexProgram.html" title="class in org.apache.calcite.rex">RexProgram</a> program, |
| int maxComplexity)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Creates a shuttle that expands calls to |
| <a href="../sql/fun/SqlStdOperatorTable.html#SEARCH"><code>SqlStdOperatorTable.SEARCH</code></a>.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="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-tab1 method-summary-table-tab4"><code><a href="#shift(java.lang.Iterable,int)" class="member-name-link">shift</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a><<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> nodes, |
| int offset)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Shifts every <a href="RexInputRef.html" title="class in org.apache.calcite.rex"><code>RexInputRef</code></a> in an expression by <code>offset</code>.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="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-tab1 method-summary-table-tab4"><code><a href="#shift(org.apache.calcite.rex.RexNode,int)" class="member-name-link">shift</a><wbr>(<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> node, |
| int offset)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Shifts every <a href="RexInputRef.html" title="class in org.apache.calcite.rex"><code>RexInputRef</code></a> in an expression by <code>offset</code>.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="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-tab1 method-summary-table-tab4"><code><a href="#shift(org.apache.calcite.rex.RexNode,int,int)" class="member-name-link">shift</a><wbr>(<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> node, |
| int start, |
| int offset)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Shifts every <a href="RexInputRef.html" title="class in org.apache.calcite.rex"><code>RexInputRef</code></a> in an expression higher than <code>start</code> |
| by <code>offset</code>.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <C extends <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Comparable.html" title="class or interface in java.lang" class="external-link">Comparable</a><C>><br><a href="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-tab1 method-summary-table-tab4"><code><a href="#simpleSarg(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode,org.apache.calcite.util.Sarg,org.apache.calcite.rex.RexUnknownAs)" class="member-name-link">simpleSarg</a><wbr>(<a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> ref, |
| <a href="../util/Sarg.html" title="class in org.apache.calcite.util">Sarg</a><C> sarg, |
| <a href="RexUnknownAs.html" title="enum in org.apache.calcite.rex">RexUnknownAs</a> unknownAs)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Expands an 'all' or 'none' sarg.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4 method-summary-table-tab6"><code>static <a href="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-tab1 method-summary-table-tab4 method-summary-table-tab6"><code><a href="#simplify(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode)" class="member-name-link">simplify</a><wbr>(<a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> e)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4 method-summary-table-tab6"> |
| <div class="block"><span class="deprecated-label">Deprecated.</span> |
| <div class="deprecation-comment">Create a <a href="RexSimplify.html" title="class in org.apache.calcite.rex"><code>RexSimplify</code></a>, then call its |
| <code>RexSimplify.simplify(RexNode, RexUnknownAs)</code> method.</div> |
| </div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4 method-summary-table-tab6"><code>static <a href="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-tab1 method-summary-table-tab4 method-summary-table-tab6"><code><a href="#simplify(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode,boolean)" class="member-name-link">simplify</a><wbr>(<a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> e, |
| boolean unknownAsFalse)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4 method-summary-table-tab6"> |
| <div class="block"><span class="deprecated-label">Deprecated.</span> |
| <div class="deprecation-comment">Create a <a href="RexSimplify.html" title="class in org.apache.calcite.rex"><code>RexSimplify</code></a>, then call its |
| <code>RexSimplify.simplify(RexNode, RexUnknownAs)</code> method.</div> |
| </div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4 method-summary-table-tab6"><code>static <a href="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-tab1 method-summary-table-tab4 method-summary-table-tab6"><code><a href="#simplifyAnd(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexCall,boolean)" class="member-name-link">simplifyAnd</a><wbr>(<a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="RexCall.html" title="class in org.apache.calcite.rex">RexCall</a> e, |
| boolean unknownAsFalse)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4 method-summary-table-tab6"> |
| <div class="block"><span class="deprecated-label">Deprecated.</span></div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4 method-summary-table-tab6"><code>static <a href="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-tab1 method-summary-table-tab4 method-summary-table-tab6"><code><a href="#simplifyAnd2(org.apache.calcite.rex.RexBuilder,java.util.List,java.util.List)" class="member-name-link">simplifyAnd2</a><wbr>(<a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> terms, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> notTerms)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4 method-summary-table-tab6"> |
| <div class="block"><span class="deprecated-label">Deprecated.</span></div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4 method-summary-table-tab6"><code>static <a href="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-tab1 method-summary-table-tab4 method-summary-table-tab6"><code><a href="#simplifyAnd2ForUnknownAsFalse(org.apache.calcite.rex.RexBuilder,java.util.List,java.util.List)" class="member-name-link">simplifyAnd2ForUnknownAsFalse</a><wbr>(<a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> terms, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> notTerms)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4 method-summary-table-tab6"> |
| <div class="block"><span class="deprecated-label">Deprecated.</span></div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4 method-summary-table-tab6"><code>static <a href="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-tab1 method-summary-table-tab4 method-summary-table-tab6"><code><a href="#simplifyAnds(org.apache.calcite.rex.RexBuilder,java.lang.Iterable)" class="member-name-link">simplifyAnds</a><wbr>(<a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a><? extends <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> nodes)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4 method-summary-table-tab6"> |
| <div class="block"><span class="deprecated-label">Deprecated.</span> |
| <div class="deprecation-comment">Use |
| <code>RexSimplify.simplifyAnds(Iterable, RexUnknownAs)</code>.</div> |
| </div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4 method-summary-table-tab6"><code>static <a href="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-tab1 method-summary-table-tab4 method-summary-table-tab6"><code><a href="#simplifyAnds(org.apache.calcite.rex.RexBuilder,java.lang.Iterable,boolean)" class="member-name-link">simplifyAnds</a><wbr>(<a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a><? extends <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> nodes, |
| boolean unknownAsFalse)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4 method-summary-table-tab6"> |
| <div class="block"><span class="deprecated-label">Deprecated.</span></div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4 method-summary-table-tab6"><code>static <a href="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-tab1 method-summary-table-tab4 method-summary-table-tab6"><code><a href="#simplifyOr(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexCall)" class="member-name-link">simplifyOr</a><wbr>(<a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="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-tab1 method-summary-table-tab4 method-summary-table-tab6"> |
| <div class="block"><span class="deprecated-label">Deprecated.</span></div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4 method-summary-table-tab6"><code>static <a href="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-tab1 method-summary-table-tab4 method-summary-table-tab6"><code><a href="#simplifyOrs(org.apache.calcite.rex.RexBuilder,java.util.List)" class="member-name-link">simplifyOrs</a><wbr>(<a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> terms)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4 method-summary-table-tab6"> |
| <div class="block"><span class="deprecated-label">Deprecated.</span></div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4 method-summary-table-tab6"><code>static <a href="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-tab1 method-summary-table-tab4 method-summary-table-tab6"><code><a href="#simplifyPreservingType(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode)" class="member-name-link">simplifyPreservingType</a><wbr>(<a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> e)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4 method-summary-table-tab6"> |
| <div class="block"><span class="deprecated-label">Deprecated.</span> |
| <div class="deprecation-comment">Use <a href="RexSimplify.html#simplifyPreservingType(org.apache.calcite.rex.RexNode)"><code>RexSimplify.simplifyPreservingType(RexNode)</code></a>, |
| which allows you to specify an <a href="RexExecutor.html" title="interface in org.apache.calcite.rex"><code>RexExecutor</code></a>.</div> |
| </div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#strings(java.util.List)" class="member-name-link">strings</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> list)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Transforms a list of expressions to the list of digests.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="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-tab1 method-summary-table-tab4"><code><a href="#swapColumnReferences(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode,java.util.Map)" class="member-name-link">swapColumnReferences</a><wbr>(<a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> node, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a><<a href="RexTableInputRef.html" title="class in org.apache.calcite.rex">RexTableInputRef</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Set.html" title="class or interface in java.util" class="external-link">Set</a><<a href="RexTableInputRef.html" title="class in org.apache.calcite.rex">RexTableInputRef</a>>> ec)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Given an expression, it will swap its column references <a href="RexTableInputRef.html" title="class in org.apache.calcite.rex"><code>RexTableInputRef</code></a> |
| using the contents in the map (in particular, the first element of the set in the |
| map value).</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="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-tab1 method-summary-table-tab4"><code><a href="#swapColumnTableReferences(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode,java.util.Map,java.util.Map)" class="member-name-link">swapColumnTableReferences</a><wbr>(<a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> node, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a><<a href="RexTableInputRef.html" title="class in org.apache.calcite.rex">RexTableInputRef</a>,<wbr>? extends @Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Set.html" title="class or interface in java.util" class="external-link">Set</a><<a href="RexTableInputRef.html" title="class in org.apache.calcite.rex">RexTableInputRef</a>>> ec, |
| @Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a><<a href="RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>,<wbr><a href="RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>> tableMapping)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Given an expression, it will swap the column references <a href="RexTableInputRef.html" title="class in org.apache.calcite.rex"><code>RexTableInputRef</code></a> |
| using the contents in the first map (in particular, the first element of the set |
| in the map value), and then it will swap the table references contained in its |
| <a href="RexTableInputRef.html" title="class in org.apache.calcite.rex"><code>RexTableInputRef</code></a> using the contents in the second map.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="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-tab1 method-summary-table-tab4"><code><a href="#swapTableColumnReferences(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode,java.util.Map,java.util.Map)" class="member-name-link">swapTableColumnReferences</a><wbr>(<a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> node, |
| @Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a><<a href="RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>,<wbr><a href="RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>> tableMapping, |
| @Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a><<a href="RexTableInputRef.html" title="class in org.apache.calcite.rex">RexTableInputRef</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Set.html" title="class or interface in java.util" class="external-link">Set</a><<a href="RexTableInputRef.html" title="class in org.apache.calcite.rex">RexTableInputRef</a>>> ec)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Given an expression, it will swap the table references contained in its |
| <a href="RexTableInputRef.html" title="class in org.apache.calcite.rex"><code>RexTableInputRef</code></a> using the contents in the first map, and then |
| it will swap the column references <a href="RexTableInputRef.html" title="class in org.apache.calcite.rex"><code>RexTableInputRef</code></a> using the contents |
| in the second map (in particular, the first element of the set in the map value).</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="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-tab1 method-summary-table-tab4"><code><a href="#swapTableReferences(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode,java.util.Map)" class="member-name-link">swapTableReferences</a><wbr>(<a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> node, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a><<a href="RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>,<wbr><a href="RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>> tableMapping)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Given an expression, it will swap the table references contained in its |
| <a href="RexTableInputRef.html" title="class in org.apache.calcite.rex"><code>RexTableInputRef</code></a> using the contents in the map.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="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-tab1 method-summary-table-tab4"><code><a href="#toCnf(org.apache.calcite.rex.RexBuilder,int,org.apache.calcite.rex.RexNode)" class="member-name-link">toCnf</a><wbr>(<a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| int maxCnfNodeCount, |
| <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> rex)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Similar to <a href="#toCnf(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode)"><code>toCnf(RexBuilder, RexNode)</code></a>; however, it lets you |
| specify a threshold in the number of nodes that can be created out of |
| the conversion.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="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-tab1 method-summary-table-tab4"><code><a href="#toCnf(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode)" class="member-name-link">toCnf</a><wbr>(<a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> rex)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Converts an expression to conjunctive normal form (CNF).</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="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-tab1 method-summary-table-tab4"><code><a href="#toDnf(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode)" class="member-name-link">toDnf</a><wbr>(<a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> rex)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Converts an expression to disjunctive normal form (DNF).</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#types(java.util.List)" class="member-name-link">types</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><? extends <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> nodes)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Transforms a list of expressions into a list of their types.</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"> |
| <!-- ============ FIELD DETAIL =========== --> |
| <li> |
| <section class="field-details" id="field-detail"> |
| <h2>Field Details</h2> |
| <ul class="member-list"> |
| <li> |
| <section class="detail" id="EXECUTOR"> |
| <h3>EXECUTOR</h3> |
| <div class="member-signature"><span class="modifiers">public static final</span> <span class="return-type"><a href="RexExecutor.html" title="interface in org.apache.calcite.rex">RexExecutor</a></span> <span class="element-name">EXECUTOR</span></div> |
| <div class="block">Executor for a bit of constant reduction. The user can pass in another executor.</div> |
| </section> |
| </li> |
| </ul> |
| </section> |
| </li> |
| <!-- ============ METHOD DETAIL ========== --> |
| <li> |
| <section class="method-details" id="method-detail"> |
| <h2>Method Details</h2> |
| <ul class="member-list"> |
| <li> |
| <section class="detail" id="getSelectivity(org.apache.calcite.rex.RexNode)"> |
| <h3>getSelectivity</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">double</span> <span class="element-name">getSelectivity</span><wbr><span class="parameters">(@Nullable <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> exp)</span></div> |
| <div class="block">Returns a guess for the selectivity of an expression.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>exp</code> - expression of interest, or null for none (implying a |
| selectivity of 1.0)</dd> |
| <dt>Returns:</dt> |
| <dd>guessed selectivity</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="generateCastExpressions(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.type.RelDataType)"> |
| <h3>generateCastExpressions</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>></span> <span class="element-name">generateCastExpressions</span><wbr><span class="parameters">(<a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> lhsRowType, |
| <a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> rhsRowType)</span></div> |
| <div class="block">Generates a cast from one row type to another.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>rexBuilder</code> - RexBuilder to use for constructing casts</dd> |
| <dd><code>lhsRowType</code> - target row type</dd> |
| <dd><code>rhsRowType</code> - source row type; fields must be 1-to-1 with lhsRowType, |
| in same order</dd> |
| <dt>Returns:</dt> |
| <dd>cast expressions</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="generateCastExpressions(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rel.type.RelDataType,java.util.List)"> |
| <h3>generateCastExpressions</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>></span> <span class="element-name">generateCastExpressions</span><wbr><span class="parameters">(<a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> lhsRowType, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> rhsExps)</span></div> |
| <div class="block">Generates a cast for a row type.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>rexBuilder</code> - RexBuilder to use for constructing casts</dd> |
| <dd><code>lhsRowType</code> - target row type</dd> |
| <dd><code>rhsExps</code> - expressions to be cast</dd> |
| <dt>Returns:</dt> |
| <dd>cast expressions</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="isNullLiteral(org.apache.calcite.rex.RexNode,boolean)"> |
| <h3>isNullLiteral</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">isNullLiteral</span><wbr><span class="parameters">(<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> node, |
| boolean allowCast)</span></div> |
| <div class="block">Returns whether a node represents the NULL value. |
| |
| <p>Examples: |
| |
| <ul> |
| <li>For <a href="RexLiteral.html" title="class in org.apache.calcite.rex"><code>RexLiteral</code></a> Unknown, returns false. |
| <li>For <code>CAST(NULL AS <i>type</i>)</code>, returns true if <code> |
| allowCast</code> is true, false otherwise. |
| <li>For <code>CAST(CAST(NULL AS <i>type</i>) AS <i>type</i>))</code>, |
| returns false. |
| </ul></div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="isNull(org.apache.calcite.rex.RexNode)"> |
| <h3>isNull</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">isNull</span><wbr><span class="parameters">(<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> expr)</span></div> |
| <div class="block">Returns whether a node represents the NULL value or a series of nested |
| <code>CAST(NULL AS type)</code> calls. For example: |
| <code>isNull(CAST(CAST(NULL as INTEGER) AS VARCHAR(1)))</code> |
| returns <code>true</code>.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="isSymbolLiteral(org.apache.calcite.rex.RexNode)"> |
| <h3>isSymbolLiteral</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">isSymbolLiteral</span><wbr><span class="parameters">(<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> expr)</span></div> |
| <div class="block">Returns whether a node represents a <a href="../sql/type/SqlTypeName.html#SYMBOL"><code>SqlTypeName.SYMBOL</code></a> literal.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="isLiteral(org.apache.calcite.rex.RexNode,boolean)"> |
| <h3>isLiteral</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">isLiteral</span><wbr><span class="parameters">(<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> node, |
| boolean allowCast)</span></div> |
| <div class="block">Returns whether a node represents a literal. |
| |
| <p>Examples: |
| |
| <ul> |
| <li>For <code>CAST(literal AS <i>type</i>)</code>, returns true if <code> |
| allowCast</code> is true, false otherwise. |
| <li>For <code>CAST(CAST(literal AS <i>type</i>) AS <i>type</i>))</code>, |
| returns false. |
| </ul></div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>node</code> - The node, never null.</dd> |
| <dd><code>allowCast</code> - whether to regard CAST(literal) as a literal</dd> |
| <dt>Returns:</dt> |
| <dd>Whether the node is a literal</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="allLiterals(java.util.List)"> |
| <h3>allLiterals</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">allLiterals</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> expressionOperands)</span></div> |
| <div class="block">Returns whether every expression in a list is a literal.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>expressionOperands</code> - list of expressions to check</dd> |
| <dt>Returns:</dt> |
| <dd>true if every expression from the specified list is literal.</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="isReferenceOrAccess(org.apache.calcite.rex.RexNode,boolean)"> |
| <h3>isReferenceOrAccess</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">isReferenceOrAccess</span><wbr><span class="parameters">(<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> node, |
| boolean allowCast)</span></div> |
| <div class="block">Returns whether a node represents an input reference or field access.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>node</code> - The node, never null.</dd> |
| <dd><code>allowCast</code> - whether to regard CAST(x) as true</dd> |
| <dt>Returns:</dt> |
| <dd>Whether the node is a reference or access</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="isNullabilityCast(org.apache.calcite.rel.type.RelDataTypeFactory,org.apache.calcite.rex.RexNode)"> |
| <h3>isNullabilityCast</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">isNullabilityCast</span><wbr><span class="parameters">(<a href="../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a> typeFactory, |
| <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> node)</span></div> |
| <div class="block">Returns whether an expression is a cast just for the purposes of |
| nullability, not changing any other aspect of the type.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="removeNullabilityCast(org.apache.calcite.rel.type.RelDataTypeFactory,org.apache.calcite.rex.RexNode)"> |
| <h3>removeNullabilityCast</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span> <span class="element-name">removeNullabilityCast</span><wbr><span class="parameters">(<a href="../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a> typeFactory, |
| <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> node)</span></div> |
| <div class="block">Removes any casts that change nullability but not type. |
| |
| <p>For example, <code>CAST(1 = 0 AS BOOLEAN)</code> becomes <code>1 = 0</code>.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="removeCast(org.apache.calcite.rex.RexNode)"> |
| <h3>removeCast</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span> <span class="element-name">removeCast</span><wbr><span class="parameters">(<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> e)</span></div> |
| <div class="block">Removes any casts. |
| |
| <p>For example, <code>CAST('1' AS INTEGER)</code> becomes <code>'1'</code>.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="predicateConstants(java.lang.Class,org.apache.calcite.rex.RexBuilder,java.util.List)"> |
| <h3>predicateConstants</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="type-parameters"><C extends <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>></span> |
| <span class="return-type">com.google.common.collect.ImmutableMap<<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>,<wbr>C></span> <span class="element-name">predicateConstants</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a><C> clazz, |
| <a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> predicates)</span></div> |
| <div class="block">Creates a map containing each (e, constant) pair that occurs within |
| a predicate list.</div> |
| <dl class="notes"> |
| <dt>Type Parameters:</dt> |
| <dd><code>C</code> - what to consider a constant: <a href="RexLiteral.html" title="class in org.apache.calcite.rex"><code>RexLiteral</code></a> to use a narrow |
| definition of constant, or <a href="RexNode.html" title="class in org.apache.calcite.rex"><code>RexNode</code></a> to use |
| <a href="#isConstant(org.apache.calcite.rex.RexNode)"><code>isConstant(RexNode)</code></a></dd> |
| <dt>Parameters:</dt> |
| <dd><code>clazz</code> - Class of expression that is considered constant</dd> |
| <dd><code>rexBuilder</code> - Rex builder</dd> |
| <dd><code>predicates</code> - Predicate list</dd> |
| <dt>Returns:</dt> |
| <dd>Map from values to constants</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="nodeCount(java.util.List)"> |
| <h3>nodeCount</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">int</span> <span class="element-name">nodeCount</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><? extends <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> nodes)</span></div> |
| <div class="block">Returns the number of nodes (including leaves) in a list of |
| expressions.</div> |
| <dl class="notes"> |
| <dt>See Also:</dt> |
| <dd> |
| <ul class="see-list"> |
| <li><a href="RexNode.html#nodeCount()"><code>RexNode.nodeCount()</code></a></li> |
| </ul> |
| </dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="find(org.apache.calcite.sql.SqlKind)"> |
| <h3>find</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="RexUtil.RexFinder.html" title="class in org.apache.calcite.rex">RexUtil.RexFinder</a></span> <span class="element-name">find</span><wbr><span class="parameters">(<a href="../sql/SqlKind.html" title="enum in org.apache.calcite.sql">SqlKind</a> kind)</span></div> |
| <div class="block">Returns a visitor that finds nodes of a given <a href="../sql/SqlKind.html" title="enum in org.apache.calcite.sql"><code>SqlKind</code></a>.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="find(java.util.Set)"> |
| <h3>find</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="RexUtil.RexFinder.html" title="class in org.apache.calcite.rex">RexUtil.RexFinder</a></span> <span class="element-name">find</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Set.html" title="class or interface in java.util" class="external-link">Set</a><<a href="../sql/SqlKind.html" title="enum in org.apache.calcite.sql">SqlKind</a>> kinds)</span></div> |
| <div class="block">Returns a visitor that finds nodes of given <a href="../sql/SqlKind.html" title="enum in org.apache.calcite.sql"><code>SqlKind</code></a>s.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="find(org.apache.calcite.rex.RexInputRef)"> |
| <h3>find</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="RexUtil.RexFinder.html" title="class in org.apache.calcite.rex">RexUtil.RexFinder</a></span> <span class="element-name">find</span><wbr><span class="parameters">(<a href="RexInputRef.html" title="class in org.apache.calcite.rex">RexInputRef</a> ref)</span></div> |
| <div class="block">Returns a visitor that finds a particular <a href="RexInputRef.html" title="class in org.apache.calcite.rex"><code>RexInputRef</code></a>.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="expandSearch(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexProgram,org.apache.calcite.rex.RexNode)"> |
| <h3>expandSearch</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span> <span class="element-name">expandSearch</span><wbr><span class="parameters">(<a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| @Nullable <a href="RexProgram.html" title="class in org.apache.calcite.rex">RexProgram</a> program, |
| <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> node)</span></div> |
| <div class="block">Expands all the calls to <a href="../sql/fun/SqlStdOperatorTable.html#SEARCH"><code>SqlStdOperatorTable.SEARCH</code></a> in an expression.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="expandSearch(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexProgram,org.apache.calcite.rex.RexNode,int)"> |
| <h3>expandSearch</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span> <span class="element-name">expandSearch</span><wbr><span class="parameters">(<a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| @Nullable <a href="RexProgram.html" title="class in org.apache.calcite.rex">RexProgram</a> program, |
| <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> node, |
| int maxComplexity)</span></div> |
| <div class="block">Expands calls to <a href="../sql/fun/SqlStdOperatorTable.html#SEARCH"><code>SqlStdOperatorTable.SEARCH</code></a> |
| whose complexity is greater than <code>maxComplexity</code> in an expression.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="searchShuttle(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexProgram,int)"> |
| <h3>searchShuttle</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="RexShuttle.html" title="class in org.apache.calcite.rex">RexShuttle</a></span> <span class="element-name">searchShuttle</span><wbr><span class="parameters">(<a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| @Nullable <a href="RexProgram.html" title="class in org.apache.calcite.rex">RexProgram</a> program, |
| int maxComplexity)</span></div> |
| <div class="block">Creates a shuttle that expands calls to |
| <a href="../sql/fun/SqlStdOperatorTable.html#SEARCH"><code>SqlStdOperatorTable.SEARCH</code></a>. |
| |
| <p>If <code>maxComplexity</code> is non-negative, a <a href="../util/Sarg.html" title="class in org.apache.calcite.util"><code>Sarg</code></a> whose |
| complexity is greater than <code>maxComplexity</code> is retained (not |
| expanded); this gives a means to simplify simple expressions such as |
| <code>x IS NULL</code> or <code>x > 10</code> while keeping more complex expressions |
| such as <code>x IN (3, 5, 7) OR x IS NULL</code> as a Sarg.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="sargRef(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode,org.apache.calcite.util.Sarg,org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rex.RexUnknownAs)"> |
| <h3>sargRef</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="type-parameters"><C extends <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Comparable.html" title="class or interface in java.lang" class="external-link">Comparable</a><C>></span> <span class="return-type"><a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span> <span class="element-name">sargRef</span><wbr><span class="parameters">(<a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> ref, |
| <a href="../util/Sarg.html" title="class in org.apache.calcite.util">Sarg</a><C> sarg, |
| <a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type, |
| <a href="RexUnknownAs.html" title="enum in org.apache.calcite.rex">RexUnknownAs</a> unknownAs)</span></div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="simpleSarg(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode,org.apache.calcite.util.Sarg,org.apache.calcite.rex.RexUnknownAs)"> |
| <h3>simpleSarg</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="type-parameters"><C extends <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Comparable.html" title="class or interface in java.lang" class="external-link">Comparable</a><C>></span> <span class="return-type"><a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span> <span class="element-name">simpleSarg</span><wbr><span class="parameters">(<a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> ref, |
| <a href="../util/Sarg.html" title="class in org.apache.calcite.util">Sarg</a><C> sarg, |
| <a href="RexUnknownAs.html" title="enum in org.apache.calcite.rex">RexUnknownAs</a> unknownAs)</span></div> |
| <div class="block">Expands an 'all' or 'none' sarg.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="isConstant(org.apache.calcite.rex.RexNode)"> |
| <h3>isConstant</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">isConstant</span><wbr><span class="parameters">(<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> node)</span></div> |
| <div class="block">Returns whether node is made up of constants.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>node</code> - Node to inspect</dd> |
| <dt>Returns:</dt> |
| <dd>true if node is made up of constants, false otherwise</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="isDeterministic(org.apache.calcite.rex.RexNode)"> |
| <h3>isDeterministic</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">isDeterministic</span><wbr><span class="parameters">(<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> e)</span></div> |
| <div class="block">Returns whether a given expression is deterministic.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>e</code> - Expression</dd> |
| <dt>Returns:</dt> |
| <dd>true if tree result is deterministic, false otherwise</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="retainDeterministic(java.util.List)"> |
| <h3>retainDeterministic</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>></span> <span class="element-name">retainDeterministic</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> list)</span></div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="findOperatorCall(org.apache.calcite.sql.SqlOperator,org.apache.calcite.rex.RexNode)"> |
| <h3>findOperatorCall</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">@Nullable <a href="RexCall.html" title="class in org.apache.calcite.rex">RexCall</a></span> <span class="element-name">findOperatorCall</span><wbr><span class="parameters">(<a href="../sql/SqlOperator.html" title="class in org.apache.calcite.sql">SqlOperator</a> operator, |
| <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> node)</span></div> |
| <div class="block">Returns whether a given node contains a RexCall with a specified operator.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>operator</code> - Operator to look for</dd> |
| <dd><code>node</code> - a RexNode tree</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="containsInputRef(org.apache.calcite.rex.RexNode)"> |
| <h3>containsInputRef</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">containsInputRef</span><wbr><span class="parameters">(<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> node)</span></div> |
| <div class="block">Returns whether a given tree contains any {link RexInputRef} nodes.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>node</code> - a RexNode tree</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="containsFieldAccess(org.apache.calcite.rex.RexNode)"> |
| <h3>containsFieldAccess</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">containsFieldAccess</span><wbr><span class="parameters">(<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> node)</span></div> |
| <div class="block">Returns whether a given tree contains any |
| <a href="RexFieldAccess.html" title="class in org.apache.calcite.rex"><code>RexFieldAccess</code></a> nodes.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>node</code> - a RexNode tree</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="requiresDecimalExpansion(org.apache.calcite.rex.RexNode,boolean)"> |
| <h3>requiresDecimalExpansion</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">requiresDecimalExpansion</span><wbr><span class="parameters">(<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> expr, |
| boolean recurse)</span></div> |
| <div class="block">Determines whether a <a href="RexCall.html" title="class in org.apache.calcite.rex"><code>RexCall</code></a> requires decimal expansion. It |
| usually requires expansion if it has decimal operands. |
| |
| <p>Exceptions to this rule are: |
| |
| <ul> |
| <li>isNull doesn't require expansion |
| <li>It's okay to cast decimals to and from char types |
| <li>It's okay to cast nulls as decimals |
| <li>Casts require expansion if their return type is decimal |
| <li>Reinterpret casts can handle a decimal operand |
| </ul></div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>expr</code> - expression possibly in need of expansion</dd> |
| <dd><code>recurse</code> - whether to check nested calls</dd> |
| <dt>Returns:</dt> |
| <dd>whether the expression requires expansion</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="requiresDecimalExpansion(java.util.List,boolean)"> |
| <h3>requiresDecimalExpansion</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">requiresDecimalExpansion</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> operands, |
| boolean recurse)</span></div> |
| <div class="block">Determines whether any operand of a set requires decimal expansion.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="requiresDecimalExpansion(org.apache.calcite.rex.RexProgram,boolean)"> |
| <h3>requiresDecimalExpansion</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">requiresDecimalExpansion</span><wbr><span class="parameters">(<a href="RexProgram.html" title="class in org.apache.calcite.rex">RexProgram</a> program, |
| boolean recurse)</span></div> |
| <div class="block">Returns whether a <a href="RexProgram.html" title="class in org.apache.calcite.rex"><code>RexProgram</code></a> contains expressions which require |
| decimal expansion.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="canReinterpretOverflow(org.apache.calcite.rex.RexCall)"> |
| <h3>canReinterpretOverflow</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">canReinterpretOverflow</span><wbr><span class="parameters">(<a href="RexCall.html" title="class in org.apache.calcite.rex">RexCall</a> call)</span></div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="containNoCommonExprs(java.util.List,org.apache.calcite.util.Litmus)"> |
| <h3>containNoCommonExprs</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">containNoCommonExprs</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> exprs, |
| <a href="../util/Litmus.html" title="interface in org.apache.calcite.util">Litmus</a> litmus)</span></div> |
| <div class="block">Returns whether an array of expressions has any common sub-expressions.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="containNoForwardRefs(java.util.List,org.apache.calcite.rel.type.RelDataType,org.apache.calcite.util.Litmus)"> |
| <h3>containNoForwardRefs</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">containNoForwardRefs</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> exprs, |
| <a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> inputRowType, |
| <a href="../util/Litmus.html" title="interface in org.apache.calcite.util">Litmus</a> litmus)</span></div> |
| <div class="block">Returns whether an array of expressions contains no forward references. |
| That is, if expression #i contains a <a href="RexInputRef.html" title="class in org.apache.calcite.rex"><code>RexInputRef</code></a> referencing |
| field i or greater.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>exprs</code> - Array of expressions</dd> |
| <dd><code>inputRowType</code> - Input row type</dd> |
| <dd><code>litmus</code> - What to do if an error is detected (there is a |
| forward reference)</dd> |
| <dt>Returns:</dt> |
| <dd>Whether there is a forward reference</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="containComplexExprs(java.util.List)"> |
| <h3>containComplexExprs</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">containComplexExprs</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> exprs)</span></div> |
| <div class="block">Returns whether a list of expressions contains complex expressions, that |
| is, a call whose arguments are not <a href="RexVariable.html" title="class in org.apache.calcite.rex"><code>RexVariable</code></a> (or a subtype such |
| as <a href="RexInputRef.html" title="class in org.apache.calcite.rex"><code>RexInputRef</code></a>) or <a href="RexLiteral.html" title="class in org.apache.calcite.rex"><code>RexLiteral</code></a>.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="containsTableInputRef(java.util.List)"> |
| <h3>containsTableInputRef</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">containsTableInputRef</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> nodes)</span></div> |
| <div class="block">Returns whether any of the given expression trees contains a |
| {link RexTableInputRef} node.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>nodes</code> - a list of RexNode trees</dd> |
| <dt>Returns:</dt> |
| <dd>true if at least one was found, otherwise false</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="containsTableInputRef(org.apache.calcite.rex.RexNode)"> |
| <h3>containsTableInputRef</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">@Nullable <a href="RexTableInputRef.html" title="class in org.apache.calcite.rex">RexTableInputRef</a></span> <span class="element-name">containsTableInputRef</span><wbr><span class="parameters">(<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> node)</span></div> |
| <div class="block">Returns whether a given tree contains any {link RexTableInputRef} nodes.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>node</code> - a RexNode tree</dd> |
| <dt>Returns:</dt> |
| <dd>first such node found or null if it there is no such node</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="isAtomic(org.apache.calcite.rex.RexNode)"> |
| <h3>isAtomic</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">isAtomic</span><wbr><span class="parameters">(<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> expr)</span></div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="isCallTo(org.apache.calcite.rex.RexNode,org.apache.calcite.sql.SqlOperator)"> |
| <h3>isCallTo</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">isCallTo</span><wbr><span class="parameters">(<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> expr, |
| <a href="../sql/SqlOperator.html" title="class in org.apache.calcite.sql">SqlOperator</a> op)</span></div> |
| <div class="block">Returns whether a <a href="RexNode.html" title="class in org.apache.calcite.rex"><code>node</code></a> is a <a href="RexCall.html" title="class in org.apache.calcite.rex"><code>call</code></a> to a |
| given <a href="../sql/SqlOperator.html" title="class in org.apache.calcite.sql"><code>operator</code></a>.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="createStructType(org.apache.calcite.rel.type.RelDataTypeFactory,java.util.List)"> |
| <h3>createStructType</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></span> <span class="element-name">createStructType</span><wbr><span class="parameters">(<a href="../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a> typeFactory, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> exprs)</span></div> |
| <div class="block">Creates a record type with anonymous field names.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>typeFactory</code> - Type factory</dd> |
| <dd><code>exprs</code> - Expressions</dd> |
| <dt>Returns:</dt> |
| <dd>Record type</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="createStructType(org.apache.calcite.rel.type.RelDataTypeFactory,java.util.List,java.util.List,org.apache.calcite.sql.validate.SqlValidatorUtil.Suggester)"> |
| <h3>createStructType</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></span> <span class="element-name">createStructType</span><wbr><span class="parameters">(<a href="../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a> typeFactory, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><? extends <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> exprs, |
| @Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><? extends @Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>> names, |
| @Nullable <a href="../sql/validate/SqlValidatorUtil.Suggester.html" title="interface in org.apache.calcite.sql.validate">SqlValidatorUtil.Suggester</a> suggester)</span></div> |
| <div class="block">Creates a record type with specified field names. |
| |
| <p>The array of field names may be null, or any of the names within it |
| can be null. We recommend using explicit names where possible, because it |
| makes it much easier to figure out the intent of fields when looking at |
| planner output.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>typeFactory</code> - Type factory</dd> |
| <dd><code>exprs</code> - Expressions</dd> |
| <dd><code>names</code> - Field names, may be null, or elements may be null</dd> |
| <dd><code>suggester</code> - Generates alternative names if <code>names</code> is not |
| null and its elements are not unique</dd> |
| <dt>Returns:</dt> |
| <dd>Record type</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="createStructType(org.apache.calcite.rel.type.RelDataTypeFactory,java.util.List,java.util.List)"> |
| <h3>createStructType</h3> |
| <div class="member-signature"><span class="annotations"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Deprecated.html" title="class or interface in java.lang" class="external-link">@Deprecated</a> |
| </span><span class="modifiers">public static</span> <span class="return-type"><a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></span> <span class="element-name">createStructType</span><wbr><span class="parameters">(<a href="../rel/type/RelDataTypeFactory.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFactory</a> typeFactory, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><? extends <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> exprs, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>> names)</span></div> |
| <div class="deprecation-block"><span class="deprecated-label">Deprecated.</span></div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="compatibleTypes(java.util.List,org.apache.calcite.rel.type.RelDataType,org.apache.calcite.util.Litmus)"> |
| <h3>compatibleTypes</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">compatibleTypes</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> exprs, |
| <a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> type, |
| <a href="../util/Litmus.html" title="interface in org.apache.calcite.util">Litmus</a> litmus)</span></div> |
| <div class="block">Returns whether the type of an array of expressions is compatible with a |
| struct type.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>exprs</code> - Array of expressions</dd> |
| <dd><code>type</code> - Type</dd> |
| <dd><code>litmus</code> - What to do if an error is detected (there is a mismatch)</dd> |
| <dt>Returns:</dt> |
| <dd>Whether every expression has the same type as the corresponding |
| member of the struct type</dd> |
| <dt>See Also:</dt> |
| <dd> |
| <ul class="see-list-long"> |
| <li><a href="../plan/RelOptUtil.html#eq(java.lang.String,org.apache.calcite.rel.type.RelDataType,java.lang.String,org.apache.calcite.rel.type.RelDataType,org.apache.calcite.util.Litmus)"><code>RelOptUtil.eq(String, RelDataType, String, RelDataType, org.apache.calcite.util.Litmus)</code></a></li> |
| </ul> |
| </dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="makeKey(org.apache.calcite.rex.RexNode)"> |
| <h3>makeKey</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="../util/Pair.html" title="class in org.apache.calcite.util">Pair</a><<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>></span> <span class="element-name">makeKey</span><wbr><span class="parameters">(<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> expr)</span></div> |
| <div class="block">Creates a key for <a href="RexNode.html" title="class in org.apache.calcite.rex"><code>RexNode</code></a> which is the same as another key of |
| another RexNode only if the two have both the same type and textual |
| representation. For example, "10" integer and "10" bigint result in |
| different keys.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="containIdentity(java.util.List,org.apache.calcite.rel.type.RelDataType,org.apache.calcite.util.Litmus)"> |
| <h3>containIdentity</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">containIdentity</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><? extends <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> exprs, |
| <a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> rowType, |
| <a href="../util/Litmus.html" title="interface in org.apache.calcite.util">Litmus</a> litmus)</span></div> |
| <div class="block">Returns whether the leading edge of a given array of expressions is |
| wholly <a href="RexInputRef.html" title="class in org.apache.calcite.rex"><code>RexInputRef</code></a> objects with types corresponding to the |
| underlying datatype.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="isIdentity(java.util.List,org.apache.calcite.rel.type.RelDataType)"> |
| <h3>isIdentity</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">isIdentity</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><? extends <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> exps, |
| <a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> inputRowType)</span></div> |
| <div class="block">Returns whether a list of expressions projects the incoming fields.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="composeConjunction(org.apache.calcite.rex.RexBuilder,java.lang.Iterable)"> |
| <h3>composeConjunction</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span> <span class="element-name">composeConjunction</span><wbr><span class="parameters">(<a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a><? extends @Nullable <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> nodes)</span></div> |
| <div class="block">As <a href="#composeConjunction(org.apache.calcite.rex.RexBuilder,java.lang.Iterable,boolean)"><code>composeConjunction(RexBuilder, Iterable, boolean)</code></a> but never |
| returns null.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="composeConjunction(org.apache.calcite.rex.RexBuilder,java.lang.Iterable,boolean)"> |
| <h3>composeConjunction</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">@Nullable <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span> <span class="element-name">composeConjunction</span><wbr><span class="parameters">(<a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a><? extends @Nullable <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> nodes, |
| boolean nullOnEmpty)</span></div> |
| <div class="block">Converts a collection of expressions into an AND. |
| If there are zero expressions, returns TRUE. |
| If there is one expression, returns just that expression. |
| If any of the expressions are FALSE, returns FALSE. |
| Removes expressions that always evaluate to TRUE. |
| Returns null only if <code>nullOnEmpty</code> and expression is TRUE.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="flattenAnd(java.lang.Iterable)"> |
| <h3>flattenAnd</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">com.google.common.collect.ImmutableList<<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>></span> <span class="element-name">flattenAnd</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a><? extends @Nullable <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> nodes)</span></div> |
| <div class="block">Flattens a list of AND nodes. |
| |
| <p>Treats null nodes as literal TRUE (i.e. ignores them).</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="composeDisjunction(org.apache.calcite.rex.RexBuilder,java.lang.Iterable)"> |
| <h3>composeDisjunction</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span> <span class="element-name">composeDisjunction</span><wbr><span class="parameters">(<a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a><? extends <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> nodes)</span></div> |
| <div class="block">Converts a collection of expressions into an OR. |
| If there are zero expressions, returns FALSE. |
| If there is one expression, returns just that expression. |
| If any of the expressions are TRUE, returns TRUE. |
| Removes expressions that always evaluate to FALSE. |
| Flattens expressions that are ORs.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="composeDisjunction(org.apache.calcite.rex.RexBuilder,java.lang.Iterable,boolean)"> |
| <h3>composeDisjunction</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">@Nullable <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span> <span class="element-name">composeDisjunction</span><wbr><span class="parameters">(<a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a><? extends <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> nodes, |
| boolean nullOnEmpty)</span></div> |
| <div class="block">Converts a collection of expressions into an OR, |
| optionally returning null if the list is empty.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="flattenOr(java.lang.Iterable)"> |
| <h3>flattenOr</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">com.google.common.collect.ImmutableList<<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>></span> <span class="element-name">flattenOr</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a><? extends <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> nodes)</span></div> |
| <div class="block">Flattens a list of OR nodes.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="apply(org.apache.calcite.util.mapping.Mappings.TargetMapping,java.util.List)"> |
| <h3>apply</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="../rel/RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>></span> <span class="element-name">apply</span><wbr><span class="parameters">(<a href="../util/mapping/Mappings.TargetMapping.html" title="interface in org.apache.calcite.util.mapping">Mappings.TargetMapping</a> mapping, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="../rel/RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a>> collationList)</span></div> |
| <div class="block">Applies a mapping to a collation list.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>mapping</code> - Mapping</dd> |
| <dd><code>collationList</code> - Collation list</dd> |
| <dt>Returns:</dt> |
| <dd>collation list with mapping applied to each field</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="apply(org.apache.calcite.util.mapping.Mappings.TargetMapping,org.apache.calcite.rel.RelCollation)"> |
| <h3>apply</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="../rel/RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a></span> <span class="element-name">apply</span><wbr><span class="parameters">(<a href="../util/mapping/Mappings.TargetMapping.html" title="interface in org.apache.calcite.util.mapping">Mappings.TargetMapping</a> mapping, |
| <a href="../rel/RelCollation.html" title="interface in org.apache.calcite.rel">RelCollation</a> collation)</span></div> |
| <div class="block">Applies a mapping to a collation.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>mapping</code> - Mapping</dd> |
| <dd><code>collation</code> - Collation</dd> |
| <dt>Returns:</dt> |
| <dd>collation with mapping applied</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="apply(org.apache.calcite.util.mapping.Mappings.TargetMapping,org.apache.calcite.rel.RelFieldCollation)"> |
| <h3>apply</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">@Nullable <a href="../rel/RelFieldCollation.html" title="class in org.apache.calcite.rel">RelFieldCollation</a></span> <span class="element-name">apply</span><wbr><span class="parameters">(<a href="../util/mapping/Mappings.TargetMapping.html" title="interface in org.apache.calcite.util.mapping">Mappings.TargetMapping</a> mapping, |
| <a href="../rel/RelFieldCollation.html" title="class in org.apache.calcite.rel">RelFieldCollation</a> fieldCollation)</span></div> |
| <div class="block">Applies a mapping to a field collation. |
| |
| <p>If the field is not mapped, returns null.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>mapping</code> - Mapping</dd> |
| <dd><code>fieldCollation</code> - Field collation</dd> |
| <dt>Returns:</dt> |
| <dd>collation with mapping applied</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="applyFields(org.apache.calcite.util.mapping.Mappings.TargetMapping,java.util.List)"> |
| <h3>applyFields</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="../rel/RelFieldCollation.html" title="class in org.apache.calcite.rel">RelFieldCollation</a>></span> <span class="element-name">applyFields</span><wbr><span class="parameters">(<a href="../util/mapping/Mappings.TargetMapping.html" title="interface in org.apache.calcite.util.mapping">Mappings.TargetMapping</a> mapping, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="../rel/RelFieldCollation.html" title="class in org.apache.calcite.rel">RelFieldCollation</a>> fieldCollations)</span></div> |
| <div class="block">Applies a mapping to a list of field collations.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>mapping</code> - Mapping</dd> |
| <dd><code>fieldCollations</code> - Field collations</dd> |
| <dt>Returns:</dt> |
| <dd>collations with mapping applied</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="apply(org.apache.calcite.util.mapping.Mappings.TargetMapping,org.apache.calcite.rex.RexNode)"> |
| <h3>apply</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span> <span class="element-name">apply</span><wbr><span class="parameters">(<a href="../util/mapping/Mappings.TargetMapping.html" title="interface in org.apache.calcite.util.mapping">Mappings.TargetMapping</a> mapping, |
| <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> node)</span></div> |
| <div class="block">Applies a mapping to an expression.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="apply(org.apache.calcite.util.mapping.Mappings.TargetMapping,java.lang.Iterable)"> |
| <h3>apply</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>></span> <span class="element-name">apply</span><wbr><span class="parameters">(<a href="../util/mapping/Mappings.TargetMapping.html" title="interface in org.apache.calcite.util.mapping">Mappings.TargetMapping</a> mapping, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a><? extends <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> nodes)</span></div> |
| <div class="block">Applies a mapping to an iterable over expressions.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="apply(org.apache.calcite.rex.RexVisitor,T[])"> |
| <h3 id="apply(org.apache.calcite.rex.RexVisitor,org.apache.calcite.rex.RexNode[])">apply</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="type-parameters"><T extends <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>></span> <span class="return-type">T[]</span> <span class="element-name">apply</span><wbr><span class="parameters">(<a href="RexVisitor.html" title="interface in org.apache.calcite.rex">RexVisitor</a><T> shuttle, |
| T[] exprs)</span></div> |
| <div class="block">Applies a shuttle to an array of expressions. Creates a copy first.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>shuttle</code> - Shuttle</dd> |
| <dd><code>exprs</code> - Array of expressions</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="apply(org.apache.calcite.rex.RexVisitor,org.apache.calcite.rex.RexNode[],org.apache.calcite.rex.RexNode)"> |
| <h3>apply</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">void</span> <span class="element-name">apply</span><wbr><span class="parameters">(<a href="RexVisitor.html" title="interface in org.apache.calcite.rex">RexVisitor</a><<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Void.html" title="class or interface in java.lang" class="external-link">Void</a>> visitor, |
| <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>[] exprs, |
| @Nullable <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> expr)</span></div> |
| <div class="block">Applies a visitor to an array of expressions and, if specified, a single |
| expression.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>visitor</code> - Visitor</dd> |
| <dd><code>exprs</code> - Array of expressions</dd> |
| <dd><code>expr</code> - Single expression, may be null</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="apply(org.apache.calcite.rex.RexVisitor,java.util.List,org.apache.calcite.rex.RexNode)"> |
| <h3>apply</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">void</span> <span class="element-name">apply</span><wbr><span class="parameters">(<a href="RexVisitor.html" title="interface in org.apache.calcite.rex">RexVisitor</a><<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Void.html" title="class or interface in java.lang" class="external-link">Void</a>> visitor, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><? extends <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> exprs, |
| @Nullable <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> expr)</span></div> |
| <div class="block">Applies a visitor to a list of expressions and, if specified, a single |
| expression.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>visitor</code> - Visitor</dd> |
| <dd><code>exprs</code> - List of expressions</dd> |
| <dd><code>expr</code> - Single expression, may be null</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="flatten(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode)"> |
| <h3>flatten</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span> <span class="element-name">flatten</span><wbr><span class="parameters">(<a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> node)</span></div> |
| <div class="block">Flattens an expression. |
| |
| <p>Returns the same expression if it is already flat.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="flatten(java.util.List,org.apache.calcite.sql.SqlOperator)"> |
| <h3>flatten</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>></span> <span class="element-name">flatten</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><? extends <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> exprs, |
| <a href="../sql/SqlOperator.html" title="class in org.apache.calcite.sql">SqlOperator</a> op)</span></div> |
| <div class="block">Converts a list of operands into a list that is flat with respect to |
| the given operator. The operands are assumed to be flat already.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="isFlat(org.apache.calcite.rex.RexNode)"> |
| <h3>isFlat</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">isFlat</span><wbr><span class="parameters">(<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> expr)</span></div> |
| <div class="block">Returns false if the expression can be optimized by flattening |
| calls to an associative operator such as AND and OR.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="isLosslessCast(org.apache.calcite.rex.RexNode)"> |
| <h3>isLosslessCast</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">isLosslessCast</span><wbr><span class="parameters">(<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> node)</span></div> |
| <div class="block">Returns whether the input is a 'loss-less' cast, that is, a cast from which |
| the original value of the field can be certainly recovered. |
| |
| <p>For instance, int → bigint is loss-less (as you can cast back to |
| int without loss of information), but bigint → int is not loss-less. |
| |
| <p>The implementation of this method does not return false positives. |
| However, it is not complete.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>node</code> - input node to verify if it represents a loss-less cast</dd> |
| <dt>Returns:</dt> |
| <dd>true iff the node is a loss-less cast</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="isLosslessCast(org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.type.RelDataType)"> |
| <h3>isLosslessCast</h3> |
| <div class="member-signature"><span class="annotations">@API(since="1.22", |
| status=EXPERIMENTAL) |
| </span><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">isLosslessCast</span><wbr><span class="parameters">(<a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> source, |
| <a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> target)</span></div> |
| <div class="block">Returns whether the conversion from <code>source</code> to <code>target</code> type |
| is a 'loss-less' cast, that is, a cast from which |
| the original value of the field can be certainly recovered. |
| |
| <p>For instance, int → bigint is loss-less (as you can cast back to |
| int without loss of information), but bigint → int is not loss-less. |
| |
| <p>The implementation of this method does not return false positives. |
| However, it is not complete.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>source</code> - source type</dd> |
| <dd><code>target</code> - target type</dd> |
| <dt>Returns:</dt> |
| <dd>true iff the conversion is a loss-less cast</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="toCnf(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode)"> |
| <h3>toCnf</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span> <span class="element-name">toCnf</span><wbr><span class="parameters">(<a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> rex)</span></div> |
| <div class="block">Converts an expression to conjunctive normal form (CNF). |
| |
| <p>The following expression is in CNF: |
| |
| <blockquote>(a OR b) AND (c OR d)</blockquote> |
| |
| <p>The following expression is not in CNF: |
| |
| <blockquote>(a AND b) OR c</blockquote> |
| |
| <p>but can be converted to CNF: |
| |
| <blockquote>(a OR c) AND (b OR c)</blockquote> |
| |
| <p>The following expression is not in CNF: |
| |
| <blockquote>NOT (a OR NOT b)</blockquote> |
| |
| <p>but can be converted to CNF by applying de Morgan's theorem: |
| |
| <blockquote>NOT a AND b</blockquote> |
| |
| <p>Expressions not involving AND, OR or NOT at the top level are in CNF.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="toCnf(org.apache.calcite.rex.RexBuilder,int,org.apache.calcite.rex.RexNode)"> |
| <h3>toCnf</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span> <span class="element-name">toCnf</span><wbr><span class="parameters">(<a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| int maxCnfNodeCount, |
| <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> rex)</span></div> |
| <div class="block">Similar to <a href="#toCnf(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode)"><code>toCnf(RexBuilder, RexNode)</code></a>; however, it lets you |
| specify a threshold in the number of nodes that can be created out of |
| the conversion. |
| |
| <p>If the number of resulting nodes exceeds that threshold, |
| stops conversion and returns the original expression. |
| |
| <p>If the threshold is negative it is ignored. |
| |
| <p>Leaf nodes in the expression do not count towards the threshold.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="toDnf(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode)"> |
| <h3>toDnf</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span> <span class="element-name">toDnf</span><wbr><span class="parameters">(<a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> rex)</span></div> |
| <div class="block">Converts an expression to disjunctive normal form (DNF). |
| |
| <p>DNF: It is a form of logical formula which is disjunction of conjunctive |
| clauses. |
| |
| <p>All logical formulas can be converted into DNF. |
| |
| <p>The following expression is in DNF: |
| |
| <blockquote>(a AND b) OR (c AND d)</blockquote> |
| |
| <p>The following expression is not in CNF: |
| |
| <blockquote>(a OR b) AND c</blockquote> |
| |
| <p>but can be converted to DNF: |
| |
| <blockquote>(a AND c) OR (b AND c)</blockquote> |
| |
| <p>The following expression is not in CNF: |
| |
| <blockquote>NOT (a OR NOT b)</blockquote> |
| |
| <p>but can be converted to DNF by applying de Morgan's theorem: |
| |
| <blockquote>NOT a AND b</blockquote> |
| |
| <p>Expressions not involving AND, OR or NOT at the top level are in DNF.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="exists(java.util.List,org.apache.calcite.linq4j.function.Predicate1)"> |
| <h3>exists</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="type-parameters"><E></span> <span class="return-type">boolean</span> <span class="element-name">exists</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><? extends E> list, |
| <a href="../linq4j/function/Predicate1.html" title="interface in org.apache.calcite.linq4j.function">Predicate1</a><E> predicate)</span></div> |
| <div class="block">Returns whether there is an element in <code>list</code> for which |
| <code>predicate</code> is true.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="all(java.util.List,org.apache.calcite.linq4j.function.Predicate1)"> |
| <h3>all</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="type-parameters"><E></span> <span class="return-type">boolean</span> <span class="element-name">all</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><? extends E> list, |
| <a href="../linq4j/function/Predicate1.html" title="interface in org.apache.calcite.linq4j.function">Predicate1</a><E> predicate)</span></div> |
| <div class="block">Returns whether <code>predicate</code> is true for all elements of |
| <code>list</code>.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="shift(org.apache.calcite.rex.RexNode,int)"> |
| <h3>shift</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span> <span class="element-name">shift</span><wbr><span class="parameters">(<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> node, |
| int offset)</span></div> |
| <div class="block">Shifts every <a href="RexInputRef.html" title="class in org.apache.calcite.rex"><code>RexInputRef</code></a> in an expression by <code>offset</code>.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="shift(java.lang.Iterable,int)"> |
| <h3>shift</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>></span> <span class="element-name">shift</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a><<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> nodes, |
| int offset)</span></div> |
| <div class="block">Shifts every <a href="RexInputRef.html" title="class in org.apache.calcite.rex"><code>RexInputRef</code></a> in an expression by <code>offset</code>.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="shift(org.apache.calcite.rex.RexNode,int,int)"> |
| <h3>shift</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span> <span class="element-name">shift</span><wbr><span class="parameters">(<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> node, |
| int start, |
| int offset)</span></div> |
| <div class="block">Shifts every <a href="RexInputRef.html" title="class in org.apache.calcite.rex"><code>RexInputRef</code></a> in an expression higher than <code>start</code> |
| by <code>offset</code>.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="pullFactors(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode)"> |
| <h3>pullFactors</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span> <span class="element-name">pullFactors</span><wbr><span class="parameters">(<a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> node)</span></div> |
| <div class="block">Creates an equivalent version of a node where common factors among ORs |
| are pulled up. |
| |
| <p>For example, |
| |
| <blockquote>(a AND b) OR (a AND c AND d)</blockquote> |
| |
| <p>becomes |
| |
| <blockquote>a AND (b OR (c AND d))</blockquote> |
| |
| <p>Note that this result is not in CNF |
| (see <a href="#toCnf(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode)"><code>toCnf(RexBuilder, RexNode)</code></a>) because there is an AND inside an |
| OR. |
| |
| <p>This form is useful if, say, <code>a</code> contains columns from only the |
| left-hand side of a join, and can be pushed to the left input.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>rexBuilder</code> - Rex builder</dd> |
| <dd><code>node</code> - Expression to transform</dd> |
| <dt>Returns:</dt> |
| <dd>Equivalent expression with common factors pulled up</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="fixUp(org.apache.calcite.rex.RexBuilder,java.util.List,org.apache.calcite.rel.type.RelDataType)"> |
| <h3>fixUp</h3> |
| <div class="member-signature"><span class="annotations"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Deprecated.html" title="class or interface in java.lang" class="external-link">@Deprecated</a> |
| </span><span class="modifiers">public static</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>></span> <span class="element-name">fixUp</span><wbr><span class="parameters">(<a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> nodes, |
| <a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a> rowType)</span></div> |
| <div class="deprecation-block"><span class="deprecated-label">Deprecated.</span></div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="fixUp(org.apache.calcite.rex.RexBuilder,java.util.List,java.util.List)"> |
| <h3>fixUp</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>></span> <span class="element-name">fixUp</span><wbr><span class="parameters">(<a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> nodes, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>> fieldTypes)</span></div> |
| <div class="block">Fixes up the type of all <a href="RexInputRef.html" title="class in org.apache.calcite.rex"><code>RexInputRef</code></a>s in an |
| expression to match differences in nullability. |
| |
| <p>Such differences in nullability occur when expressions are moved |
| through outer joins. |
| |
| <p>Throws if there any greater inconsistencies of type.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="types(java.util.List)"> |
| <h3>types</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>></span> <span class="element-name">types</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><? extends <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> nodes)</span></div> |
| <div class="block">Transforms a list of expressions into a list of their types.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="families(java.util.List)"> |
| <h3>families</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="../rel/type/RelDataTypeFamily.html" title="interface in org.apache.calcite.rel.type">RelDataTypeFamily</a>></span> <span class="element-name">families</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>> types)</span></div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="removeAll(java.util.List,org.apache.calcite.rex.RexNode)"> |
| <h3>removeAll</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">removeAll</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> targets, |
| <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> e)</span></div> |
| <div class="block">Removes all expressions from a list that are equivalent to a given |
| expression. Returns whether any were removed.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="eq(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)"> |
| <h3>eq</h3> |
| <div class="member-signature"><span class="annotations"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Deprecated.html" title="class or interface in java.lang" class="external-link">@Deprecated</a> |
| </span><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">eq</span><wbr><span class="parameters">(<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> e1, |
| <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> e2)</span></div> |
| <div class="deprecation-block"><span class="deprecated-label">Deprecated.</span></div> |
| <div class="block">Returns whether two <a href="RexNode.html" title="class in org.apache.calcite.rex"><code>RexNode</code></a>s are structurally equal. |
| |
| <p>This method considers structure, not semantics. 'x < y' is not |
| equivalent to 'y > x'.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="simplifyPreservingType(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode)"> |
| <h3>simplifyPreservingType</h3> |
| <div class="member-signature"><span class="annotations"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Deprecated.html" title="class or interface in java.lang" class="external-link">@Deprecated</a> |
| </span><span class="modifiers">public static</span> <span class="return-type"><a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span> <span class="element-name">simplifyPreservingType</span><wbr><span class="parameters">(<a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> e)</span></div> |
| <div class="deprecation-block"><span class="deprecated-label">Deprecated.</span> |
| <div class="deprecation-comment">Use <a href="RexSimplify.html#simplifyPreservingType(org.apache.calcite.rex.RexNode)"><code>RexSimplify.simplifyPreservingType(RexNode)</code></a>, |
| which allows you to specify an <a href="RexExecutor.html" title="interface in org.apache.calcite.rex"><code>RexExecutor</code></a>.</div> |
| </div> |
| <div class="block">Simplifies a boolean expression, always preserving its type and its |
| nullability. |
| |
| <p>This is useful if you are simplifying expressions in a |
| <a href="../rel/core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a>.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="simplify(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode)"> |
| <h3>simplify</h3> |
| <div class="member-signature"><span class="annotations"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Deprecated.html" title="class or interface in java.lang" class="external-link">@Deprecated</a> |
| </span><span class="modifiers">public static</span> <span class="return-type"><a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span> <span class="element-name">simplify</span><wbr><span class="parameters">(<a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> e)</span></div> |
| <div class="deprecation-block"><span class="deprecated-label">Deprecated.</span> |
| <div class="deprecation-comment">Create a <a href="RexSimplify.html" title="class in org.apache.calcite.rex"><code>RexSimplify</code></a>, then call its |
| <code>RexSimplify.simplify(RexNode, RexUnknownAs)</code> method.</div> |
| </div> |
| <div class="block">Simplifies a boolean expression, leaving UNKNOWN values as UNKNOWN, and |
| using the default executor.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="simplify(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode,boolean)"> |
| <h3>simplify</h3> |
| <div class="member-signature"><span class="annotations"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Deprecated.html" title="class or interface in java.lang" class="external-link">@Deprecated</a> |
| </span><span class="modifiers">public static</span> <span class="return-type"><a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span> <span class="element-name">simplify</span><wbr><span class="parameters">(<a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> e, |
| boolean unknownAsFalse)</span></div> |
| <div class="deprecation-block"><span class="deprecated-label">Deprecated.</span> |
| <div class="deprecation-comment">Create a <a href="RexSimplify.html" title="class in org.apache.calcite.rex"><code>RexSimplify</code></a>, then call its |
| <code>RexSimplify.simplify(RexNode, RexUnknownAs)</code> method.</div> |
| </div> |
| <div class="block">Simplifies a boolean expression, |
| using the default executor. |
| |
| <p>In particular:</p> |
| <ul> |
| <li><code>simplify(x = 1 AND y = 2 AND NOT x = 1)</code> |
| returns <code>y = 2</code></li> |
| <li><code>simplify(x = 1 AND FALSE)</code> |
| returns <code>FALSE</code></li> |
| </ul> |
| |
| <p>If the expression is a predicate in a WHERE clause, UNKNOWN values have |
| the same effect as FALSE. In situations like this, specify |
| <code>unknownAsFalse = true</code>, so and we can switch from 3-valued logic to |
| simpler 2-valued logic and make more optimizations.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>rexBuilder</code> - Rex builder</dd> |
| <dd><code>e</code> - Expression to simplify</dd> |
| <dd><code>unknownAsFalse</code> - Whether to convert UNKNOWN values to FALSE</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="simplifyAnds(org.apache.calcite.rex.RexBuilder,java.lang.Iterable)"> |
| <h3>simplifyAnds</h3> |
| <div class="member-signature"><span class="annotations"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Deprecated.html" title="class or interface in java.lang" class="external-link">@Deprecated</a> |
| </span><span class="modifiers">public static</span> <span class="return-type"><a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span> <span class="element-name">simplifyAnds</span><wbr><span class="parameters">(<a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a><? extends <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> nodes)</span></div> |
| <div class="deprecation-block"><span class="deprecated-label">Deprecated.</span> |
| <div class="deprecation-comment">Use |
| <code>RexSimplify.simplifyAnds(Iterable, RexUnknownAs)</code>.</div> |
| </div> |
| <div class="block">Simplifies a conjunction of boolean expressions.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="simplifyAnds(org.apache.calcite.rex.RexBuilder,java.lang.Iterable,boolean)"> |
| <h3>simplifyAnds</h3> |
| <div class="member-signature"><span class="annotations"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Deprecated.html" title="class or interface in java.lang" class="external-link">@Deprecated</a> |
| </span><span class="modifiers">public static</span> <span class="return-type"><a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span> <span class="element-name">simplifyAnds</span><wbr><span class="parameters">(<a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a><? extends <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> nodes, |
| boolean unknownAsFalse)</span></div> |
| <div class="deprecation-block"><span class="deprecated-label">Deprecated.</span></div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="not(org.apache.calcite.rex.RexNode)"> |
| <h3>not</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span> <span class="element-name">not</span><wbr><span class="parameters">(<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> e)</span></div> |
| <div class="block">Negates a logical expression by adding or removing a NOT.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="op(org.apache.calcite.sql.SqlKind)"> |
| <h3>op</h3> |
| <div class="member-signature"><span class="annotations">@API(since="1.27.0", |
| status=EXPERIMENTAL) |
| </span><span class="modifiers">public static</span> <span class="return-type"><a href="../sql/SqlOperator.html" title="class in org.apache.calcite.sql">SqlOperator</a></span> <span class="element-name">op</span><wbr><span class="parameters">(<a href="../sql/SqlKind.html" title="enum in org.apache.calcite.sql">SqlKind</a> kind)</span></div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="simplifyAnd(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexCall,boolean)"> |
| <h3>simplifyAnd</h3> |
| <div class="member-signature"><span class="annotations"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Deprecated.html" title="class or interface in java.lang" class="external-link">@Deprecated</a> |
| </span><span class="modifiers">public static</span> <span class="return-type"><a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span> <span class="element-name">simplifyAnd</span><wbr><span class="parameters">(<a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="RexCall.html" title="class in org.apache.calcite.rex">RexCall</a> e, |
| boolean unknownAsFalse)</span></div> |
| <div class="deprecation-block"><span class="deprecated-label">Deprecated.</span></div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="simplifyAnd2(org.apache.calcite.rex.RexBuilder,java.util.List,java.util.List)"> |
| <h3>simplifyAnd2</h3> |
| <div class="member-signature"><span class="annotations"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Deprecated.html" title="class or interface in java.lang" class="external-link">@Deprecated</a> |
| </span><span class="modifiers">public static</span> <span class="return-type"><a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span> <span class="element-name">simplifyAnd2</span><wbr><span class="parameters">(<a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> terms, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> notTerms)</span></div> |
| <div class="deprecation-block"><span class="deprecated-label">Deprecated.</span></div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="simplifyAnd2ForUnknownAsFalse(org.apache.calcite.rex.RexBuilder,java.util.List,java.util.List)"> |
| <h3>simplifyAnd2ForUnknownAsFalse</h3> |
| <div class="member-signature"><span class="annotations"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Deprecated.html" title="class or interface in java.lang" class="external-link">@Deprecated</a> |
| </span><span class="modifiers">public static</span> <span class="return-type"><a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span> <span class="element-name">simplifyAnd2ForUnknownAsFalse</span><wbr><span class="parameters">(<a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> terms, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> notTerms)</span></div> |
| <div class="deprecation-block"><span class="deprecated-label">Deprecated.</span></div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="negate(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexCall)"> |
| <h3>negate</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">@Nullable <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span> <span class="element-name">negate</span><wbr><span class="parameters">(<a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="RexCall.html" title="class in org.apache.calcite.rex">RexCall</a> call)</span></div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="invert(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexCall)"> |
| <h3>invert</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">@Nullable <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span> <span class="element-name">invert</span><wbr><span class="parameters">(<a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="RexCall.html" title="class in org.apache.calcite.rex">RexCall</a> call)</span></div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="simplifyOr(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexCall)"> |
| <h3>simplifyOr</h3> |
| <div class="member-signature"><span class="annotations"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Deprecated.html" title="class or interface in java.lang" class="external-link">@Deprecated</a> |
| </span><span class="modifiers">public static</span> <span class="return-type"><a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span> <span class="element-name">simplifyOr</span><wbr><span class="parameters">(<a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="RexCall.html" title="class in org.apache.calcite.rex">RexCall</a> call)</span></div> |
| <div class="deprecation-block"><span class="deprecated-label">Deprecated.</span></div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="simplifyOrs(org.apache.calcite.rex.RexBuilder,java.util.List)"> |
| <h3>simplifyOrs</h3> |
| <div class="member-signature"><span class="annotations"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Deprecated.html" title="class or interface in java.lang" class="external-link">@Deprecated</a> |
| </span><span class="modifiers">public static</span> <span class="return-type"><a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span> <span class="element-name">simplifyOrs</span><wbr><span class="parameters">(<a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> terms)</span></div> |
| <div class="deprecation-block"><span class="deprecated-label">Deprecated.</span></div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="andNot(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode...)"> |
| <h3>andNot</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span> <span class="element-name">andNot</span><wbr><span class="parameters">(<a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> e, |
| <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>... notTerms)</span></div> |
| <div class="block">Creates the expression <code>e1 AND NOT notTerm1 AND NOT notTerm2 ...</code>.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="andNot(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode,java.lang.Iterable)"> |
| <h3>andNot</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span> <span class="element-name">andNot</span><wbr><span class="parameters">(<a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> e, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a><? extends <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> notTerms)</span></div> |
| <div class="block">Creates the expression <code>e1 AND NOT notTerm1 AND NOT notTerm2 ...</code>. |
| |
| <p>Examples: |
| <ul> |
| <li>andNot(p) returns "p" |
| <li>andNot(p, n1, n2) returns "p AND NOT n1 AND NOT n2" |
| <li>andNot(x = 10, x = 20, y = 30, x = 30) |
| returns "x = 10 AND NOT (y = 30)" |
| </ul></div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="isCasePredicate(org.apache.calcite.rex.RexCall,int)"> |
| <h3>isCasePredicate</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">isCasePredicate</span><wbr><span class="parameters">(<a href="RexCall.html" title="class in org.apache.calcite.rex">RexCall</a> call, |
| int i)</span></div> |
| <div class="block">Returns whether a given operand of a CASE expression is a predicate. |
| |
| <p>A switched case (CASE x WHEN x1 THEN v1 ... ELSE e END) has an even |
| number of arguments and odd-numbered arguments are predicates. |
| |
| <p>A condition case (CASE WHEN p1 THEN v1 ... ELSE e END) has an odd |
| number of arguments and even-numbered arguments are predicates, except for |
| the last argument.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="notFn(org.apache.calcite.rex.RexBuilder)"> |
| <h3>notFn</h3> |
| <div class="member-signature"><span class="annotations"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Deprecated.html" title="class or interface in java.lang" class="external-link">@Deprecated</a> |
| </span><span class="modifiers">public static</span> <span class="return-type">com.google.common.base.Function<<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>,<wbr><a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>></span> <span class="element-name">notFn</span><wbr><span class="parameters">(<a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder)</span></div> |
| <div class="deprecation-block"><span class="deprecated-label">Deprecated.</span> |
| <div class="deprecation-comment">Use <a href="#not(org.apache.calcite.rex.RexNode)"><code>not(org.apache.calcite.rex.RexNode)</code></a></div> |
| </div> |
| <div class="block">Returns a function that applies NOT to its argument.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="containsCorrelation(org.apache.calcite.rex.RexNode)"> |
| <h3>containsCorrelation</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">boolean</span> <span class="element-name">containsCorrelation</span><wbr><span class="parameters">(<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> condition)</span></div> |
| <div class="block">Returns whether an expression contains a <a href="RexCorrelVariable.html" title="class in org.apache.calcite.rex"><code>RexCorrelVariable</code></a>.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="swapTableReferences(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode,java.util.Map)"> |
| <h3>swapTableReferences</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span> <span class="element-name">swapTableReferences</span><wbr><span class="parameters">(<a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> node, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a><<a href="RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>,<wbr><a href="RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>> tableMapping)</span></div> |
| <div class="block">Given an expression, it will swap the table references contained in its |
| <a href="RexTableInputRef.html" title="class in org.apache.calcite.rex"><code>RexTableInputRef</code></a> using the contents in the map.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="swapColumnReferences(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode,java.util.Map)"> |
| <h3>swapColumnReferences</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span> <span class="element-name">swapColumnReferences</span><wbr><span class="parameters">(<a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> node, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a><<a href="RexTableInputRef.html" title="class in org.apache.calcite.rex">RexTableInputRef</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Set.html" title="class or interface in java.util" class="external-link">Set</a><<a href="RexTableInputRef.html" title="class in org.apache.calcite.rex">RexTableInputRef</a>>> ec)</span></div> |
| <div class="block">Given an expression, it will swap its column references <a href="RexTableInputRef.html" title="class in org.apache.calcite.rex"><code>RexTableInputRef</code></a> |
| using the contents in the map (in particular, the first element of the set in the |
| map value).</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="swapTableColumnReferences(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode,java.util.Map,java.util.Map)"> |
| <h3>swapTableColumnReferences</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span> <span class="element-name">swapTableColumnReferences</span><wbr><span class="parameters">(<a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> node, |
| @Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a><<a href="RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>,<wbr><a href="RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>> tableMapping, |
| @Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a><<a href="RexTableInputRef.html" title="class in org.apache.calcite.rex">RexTableInputRef</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Set.html" title="class or interface in java.util" class="external-link">Set</a><<a href="RexTableInputRef.html" title="class in org.apache.calcite.rex">RexTableInputRef</a>>> ec)</span></div> |
| <div class="block">Given an expression, it will swap the table references contained in its |
| <a href="RexTableInputRef.html" title="class in org.apache.calcite.rex"><code>RexTableInputRef</code></a> using the contents in the first map, and then |
| it will swap the column references <a href="RexTableInputRef.html" title="class in org.apache.calcite.rex"><code>RexTableInputRef</code></a> using the contents |
| in the second map (in particular, the first element of the set in the map value).</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="swapColumnTableReferences(org.apache.calcite.rex.RexBuilder,org.apache.calcite.rex.RexNode,java.util.Map,java.util.Map)"> |
| <h3>swapColumnTableReferences</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></span> <span class="element-name">swapColumnTableReferences</span><wbr><span class="parameters">(<a href="RexBuilder.html" title="class in org.apache.calcite.rex">RexBuilder</a> rexBuilder, |
| <a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a> node, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a><<a href="RexTableInputRef.html" title="class in org.apache.calcite.rex">RexTableInputRef</a>,<wbr>? extends @Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Set.html" title="class or interface in java.util" class="external-link">Set</a><<a href="RexTableInputRef.html" title="class in org.apache.calcite.rex">RexTableInputRef</a>>> ec, |
| @Nullable <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a><<a href="RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>,<wbr><a href="RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>> tableMapping)</span></div> |
| <div class="block">Given an expression, it will swap the column references <a href="RexTableInputRef.html" title="class in org.apache.calcite.rex"><code>RexTableInputRef</code></a> |
| using the contents in the first map (in particular, the first element of the set |
| in the map value), and then it will swap the table references contained in its |
| <a href="RexTableInputRef.html" title="class in org.apache.calcite.rex"><code>RexTableInputRef</code></a> using the contents in the second map.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="gatherTableReferences(java.util.List)"> |
| <h3>gatherTableReferences</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Set.html" title="class or interface in java.util" class="external-link">Set</a><<a href="RexTableInputRef.RelTableRef.html" title="class in org.apache.calcite.rex">RexTableInputRef.RelTableRef</a>></span> <span class="element-name">gatherTableReferences</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> nodes)</span></div> |
| <div class="block">Gather all table references in input expressions.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>nodes</code> - expressions</dd> |
| <dt>Returns:</dt> |
| <dd>set of table references</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="getNonConstColumns(java.util.List)"> |
| <h3>getNonConstColumns</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a></span> <span class="element-name">getNonConstColumns</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> expressions)</span></div> |
| <div class="block">Given some expressions, gets the indices of the non-constant ones.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="getNonConstColumns(org.apache.calcite.util.ImmutableBitSet,java.util.List)"> |
| <h3>getNonConstColumns</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a></span> <span class="element-name">getNonConstColumns</span><wbr><span class="parameters">(<a href="../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a> columns, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> expressions)</span></div> |
| <div class="block">Given some expressions and columns, gets the indices of the non-constant ones.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="strings(java.util.List)"> |
| <h3>strings</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>></span> <span class="element-name">strings</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><<a href="RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>> list)</span></div> |
| <div class="block">Transforms a list of expressions to the list of digests.</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> |