blob: 48ba5a9003bdde36fa2e776dd59379844591279e [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>RexProgramTest (Calcite 1.20.0 Test API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
<script type="text/javascript" src="../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../jquery/jquery-3.3.1.js"></script>
<script type="text/javascript" src="../../../../jquery/jquery-migrate-3.0.1.js"></script>
<script type="text/javascript" src="../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="RexProgramTest (Calcite 1.20.0 Test API)";
}
}
catch(err) {
}
//-->
var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":9,"i20":9,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":10,"i54":10,"i55":10,"i56":10,"i57":10,"i58":10,"i59":10,"i60":10,"i61":10,"i62":10,"i63":10,"i64":10,"i65":10,"i66":10,"i67":10,"i68":10,"i69":10,"i70":10,"i71":10,"i72":10,"i73":10,"i74":10,"i75":10,"i76":10,"i77":10,"i78":10,"i79":10,"i80":10,"i81":10,"i82":10,"i83":10,"i84":10,"i85":10,"i86":10,"i87":10,"i88":10,"i89":10,"i90":10,"i91":10,"i92":10,"i93":10,"i94":10,"i95":10,"i96":10,"i97":10,"i98":10,"i99":10,"i100":10,"i101":10,"i102":10,"i103":10,"i104":10,"i105":10,"i106":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/RexProgramTest.html">Use</a></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">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.apache.calcite.test</a></div>
<h2 title="Class RexProgramTest" class="title">Class RexProgramTest</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li><a href="RexProgramBuilderBase.html" title="class in org.apache.calcite.test">org.apache.calcite.test.RexProgramBuilderBase</a></li>
<li>
<ul class="inheritance">
<li>org.apache.calcite.test.RexProgramTest</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<pre>public class <span class="typeNameLabel">RexProgramTest</span>
extends <a href="RexProgramBuilderBase.html" title="class in org.apache.calcite.test">RexProgramBuilderBase</a></pre>
<div class="block">Unit tests for <code>RexProgram</code> and
<code>RexProgramBuilder</code>.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<ul class="blockList">
<li class="blockList"><a id="fields.inherited.from.class.org.apache.calcite.test.RexProgramBuilderBase">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.calcite.test.<a href="RexProgramBuilderBase.html" title="class in org.apache.calcite.test">RexProgramBuilderBase</a></h3>
<code><a href="RexProgramBuilderBase.html#executor">executor</a>, <a href="RexProgramBuilderBase.html#falseLiteral">falseLiteral</a>, <a href="RexProgramBuilderBase.html#MAX_FIELDS">MAX_FIELDS</a>, <a href="RexProgramBuilderBase.html#nullBool">nullBool</a>, <a href="RexProgramBuilderBase.html#nullInt">nullInt</a>, <a href="RexProgramBuilderBase.html#nullVarchar">nullVarchar</a>, <a href="RexProgramBuilderBase.html#rexBuilder">rexBuilder</a>, <a href="RexProgramBuilderBase.html#simplify">simplify</a>, <a href="RexProgramBuilderBase.html#trueLiteral">trueLiteral</a>, <a href="RexProgramBuilderBase.html#typeFactory">typeFactory</a></code></li>
</ul>
</li>
</ul>
</section>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E()">RexProgramTest</a></span>()</code></th>
<td class="colLast">
<div class="block">Creates a RexProgramTest.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>private void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#assertNode(java.lang.String,java.lang.String,org.apache.calcite.rex.RexNode)">assertNode</a></span>&#8203;(java.lang.String&nbsp;message,
java.lang.String&nbsp;expected,
org.apache.calcite.rex.RexNode&nbsp;node)</code></th>
<td class="colLast">
<div class="block">Asserts that given node has expected string representation with account of node type</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>private void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#assertTypeAndToString(org.apache.calcite.rex.RexNode,java.lang.String,java.lang.String)">assertTypeAndToString</a></span>&#8203;(org.apache.calcite.rex.RexNode&nbsp;rexNode,
java.lang.String&nbsp;representation,
java.lang.String&nbsp;type)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>private void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkCnf(org.apache.calcite.rex.RexNode,java.lang.String)">checkCnf</a></span>&#8203;(org.apache.calcite.rex.RexNode&nbsp;node,
java.lang.String&nbsp;expected)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>private void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkExponentialCnf(int)">checkExponentialCnf</a></span>&#8203;(int&nbsp;n)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>private void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkIs(org.apache.calcite.rex.RexNode,boolean)">checkIs</a></span>&#8203;(org.apache.calcite.rex.RexNode&nbsp;e,
boolean&nbsp;expected)</code></th>
<td class="colLast">
<div class="block">Checks that <code>RexNode.isAlwaysTrue()</code>,
<code>RexNode.isAlwaysTrue()</code> and <code>RexSimplify</code> agree that
an expression reduces to true or false.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>private void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkPullFactors(org.apache.calcite.rex.RexNode,java.lang.String)">checkPullFactors</a></span>&#8203;(org.apache.calcite.rex.RexNode&nbsp;node,
java.lang.String&nbsp;expected)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>private void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkPullFactorsUnchanged(org.apache.calcite.rex.RexNode)">checkPullFactorsUnchanged</a></span>&#8203;(org.apache.calcite.rex.RexNode&nbsp;node)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>private void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkSimplify(org.apache.calcite.rex.RexNode,java.lang.String)">checkSimplify</a></span>&#8203;(org.apache.calcite.rex.RexNode&nbsp;node,
java.lang.String&nbsp;expected)</code></th>
<td class="colLast">
<div class="block">Simplifies an expression and checks that the result is as expected.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>private void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkSimplify2(org.apache.calcite.rex.RexNode,java.lang.String,java.lang.String)">checkSimplify2</a></span>&#8203;(org.apache.calcite.rex.RexNode&nbsp;node,
java.lang.String&nbsp;expected,
java.lang.String&nbsp;expectedFalse)</code></th>
<td class="colLast">
<div class="block">Simplifies an expression and checks the result if unknowns remain
unknown, or if unknown becomes false.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>private void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkSimplify3(org.apache.calcite.rex.RexNode,java.lang.String,java.lang.String,java.lang.String)">checkSimplify3</a></span>&#8203;(org.apache.calcite.rex.RexNode&nbsp;node,
java.lang.String&nbsp;expected,
java.lang.String&nbsp;expectedFalse,
java.lang.String&nbsp;expectedTrue)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>private void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkSimplify3_(org.apache.calcite.rex.RexNode,java.lang.String,java.lang.String,java.lang.String)">checkSimplify3_</a></span>&#8203;(org.apache.calcite.rex.RexNode&nbsp;node,
java.lang.String&nbsp;expected,
java.lang.String&nbsp;expectedFalse,
java.lang.String&nbsp;expectedTrue)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkSimplifyDynamicParam()">checkSimplifyDynamicParam</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>private void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkSimplifyFilter(org.apache.calcite.rex.RexNode,java.lang.String)">checkSimplifyFilter</a></span>&#8203;(org.apache.calcite.rex.RexNode&nbsp;node,
java.lang.String&nbsp;expected)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>private void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkSimplifyFilter(org.apache.calcite.rex.RexNode,org.apache.calcite.plan.RelOptPredicateList,java.lang.String)">checkSimplifyFilter</a></span>&#8203;(org.apache.calcite.rex.RexNode&nbsp;node,
org.apache.calcite.plan.RelOptPredicateList&nbsp;predicates,
java.lang.String&nbsp;expected)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>private void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkSimplifyUnchanged(org.apache.calcite.rex.RexNode)">checkSimplifyUnchanged</a></span>&#8203;(org.apache.calcite.rex.RexNode&nbsp;node)</code></th>
<td class="colLast">
<div class="block">Simplifies an expression and checks that the result is unchanged.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>private void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkThresholdCnf(org.apache.calcite.rex.RexNode,int,java.lang.String)">checkThresholdCnf</a></span>&#8203;(org.apache.calcite.rex.RexNode&nbsp;node,
int&nbsp;threshold,
java.lang.String&nbsp;expected)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>private org.apache.calcite.rex.RexProgramBuilder</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createProg(int)">createProg</a></span>&#8203;(int&nbsp;variant)</code></th>
<td class="colLast">
<div class="block">Creates a program, depending on variant:
<code>select (x + y) + (x + 1) as a, (x + x) as b from t(x, y)</code>
<code>select (x + y) + (x + 1) as a, (x + (x + 1)) as b
from t(x, y)</code>
<code>select (x + y) + (x + 1) as a, (x + x) as b from t(x, y)
where ((x + y) &gt; 1) and ((x + y) &gt; 1)</code>
<code>select (x + y) + (x + 1) as a, (x + x) as b from t(x, y)
where not case
when x + 1 &gt; 5 then true
when y is null then null
else false
end</code>
</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>private java.lang.Comparable</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#eval(org.apache.calcite.rex.RexNode)">eval</a></span>&#8203;(org.apache.calcite.rex.RexNode&nbsp;e)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#fieldAccessEqualsHashCode()">fieldAccessEqualsHashCode</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>private static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getString(com.google.common.collect.ImmutableMap)">getString</a></span>&#8203;(com.google.common.collect.ImmutableMap&lt;org.apache.calcite.rex.RexNode,&#8203;org.apache.calcite.rex.RexNode&gt;&nbsp;map)</code></th>
<td class="colLast">
<div class="block">Converts a map to a string, sorting on the string representation of its
keys.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>private static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#nodeCount(org.apache.calcite.rex.RexNode)">nodeCount</a></span>&#8203;(org.apache.calcite.rex.RexNode&nbsp;node)</code></th>
<td class="colLast">
<div class="block">Returns the number of nodes (including leaves) in a Rex tree.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#notDistinct()">notDistinct</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeRedundantCast()">removeRedundantCast</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setUp()">setUp</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>private org.apache.calcite.rex.RexNode</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#simplify(org.apache.calcite.rex.RexNode)">simplify</a></span>&#8203;(org.apache.calcite.rex.RexNode&nbsp;e)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#simplifyNull()">simplifyNull</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#simplifyStrong()">simplifyStrong</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testBooleanComparisions()">testBooleanComparisions</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testBuildProgram()">testBuildProgram</a></span>()</code></th>
<td class="colLast">
<div class="block">Tests construction of a RexProgram.</div>
</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testCastLiteral()">testCastLiteral</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testCnf()">testCnf</a></span>()</code></th>
<td class="colLast">
<div class="block">Unit test for <code>RexUtil.toCnf(org.apache.calcite.rex.RexBuilder, org.apache.calcite.rex.RexNode)</code>.</div>
</td>
</tr>
<tr id="i31" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testCnf2()">testCnf2</a></span>()</code></th>
<td class="colLast">
<div class="block">Unit test for
<a href="https://issues.apache.org/jira/browse/CALCITE-394">[CALCITE-394]
Add RexUtil.toCnf, to convert expressions to conjunctive normal form
(CNF)</a>.</div>
</td>
</tr>
<tr id="i32" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testCnfExponential()">testCnfExponential</a></span>()</code></th>
<td class="colLast">
<div class="block">Tests formulas of various sizes whose size is exponential when converted
to CNF.</div>
</td>
</tr>
<tr id="i33" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testCompareTimestampWithTimeZone()">testCompareTimestampWithTimeZone</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i34" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testConstantMap()">testConstantMap</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i35" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testDuplicateAnd()">testDuplicateAnd</a></span>()</code></th>
<td class="colLast">
<div class="block">Checks translation of AND(x, x).</div>
</td>
</tr>
<tr id="i36" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testElimDups()">testElimDups</a></span>()</code></th>
<td class="colLast">
<div class="block">Tests construction and normalization of a RexProgram.</div>
</td>
</tr>
<tr id="i37" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testInDigest()">testInDigest</a></span>()</code></th>
<td class="colLast">
<div class="block">Unit test for
<a href="https://issues.apache.org/jira/browse/CALCITE-2842">[CALCITE-2842]
Computing digest of IN expressions leads to Exceptions</a>.</div>
</td>
</tr>
<tr id="i38" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testInterpreter()">testInterpreter</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i39" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testIsAlwaysTrueAndFalseNotXisNullisNotNullisFalse()">testIsAlwaysTrueAndFalseNotXisNullisNotNullisFalse</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i40" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testIsAlwaysTrueAndFalseNotXisNullisNotNullisNotTrue()">testIsAlwaysTrueAndFalseNotXisNullisNotNullisNotTrue</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i41" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testIsAlwaysTrueAndFalseNotXisNullisNotNullisTrue()">testIsAlwaysTrueAndFalseNotXisNullisNotNullisTrue</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i42" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testIsAlwaysTrueAndFalseXisNotNullisNotNull()">testIsAlwaysTrueAndFalseXisNotNullisNotNull</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i43" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testIsAlwaysTrueAndFalseXisNotNullisNull()">testIsAlwaysTrueAndFalseXisNotNullisNull</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i44" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testIsAlwaysTrueAndFalseXisNullisNotNull()">testIsAlwaysTrueAndFalseXisNullisNotNull</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i45" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testIsAlwaysTrueAndFalseXisNullisNotNullisFalse()">testIsAlwaysTrueAndFalseXisNullisNotNullisFalse</a></span>()</code></th>
<td class="colLast">
<div class="block">Unit tests for
<a href="https://issues.apache.org/jira/browse/CALCITE-2438">[CALCITE-2438]
RexCall#isAlwaysTrue returns incorrect result</a>.</div>
</td>
</tr>
<tr id="i46" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testIsAlwaysTrueAndFalseXisNullisNotNullisNotFalse()">testIsAlwaysTrueAndFalseXisNullisNotNullisNotFalse</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i47" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testIsAlwaysTrueAndFalseXisNullisNotNullisNotTrue()">testIsAlwaysTrueAndFalseXisNullisNotNullisNotTrue</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i48" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testIsAlwaysTrueAndFalseXisNullisNotNullisTrue()">testIsAlwaysTrueAndFalseXisNullisNotNullisTrue</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i49" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testIsAlwaysTrueAndFalseXisNullisNull()">testIsAlwaysTrueAndFalseXisNullisNull</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i50" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testIsDeterministic()">testIsDeterministic</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i51" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testIsNullRecursion()">testIsNullRecursion</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i52" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testLosslessCast()">testLosslessCast</a></span>()</code></th>
<td class="colLast">
<div class="block">Unit test for <code>RexUtil.isLosslessCast(RexNode)</code>.</div>
</td>
</tr>
<tr id="i53" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testNestedAndSimplification()">testNestedAndSimplification</a></span>()</code></th>
<td class="colLast">
<div class="block">Unit test for
<a href="https://issues.apache.org/jira/browse/CALCITE-2840">[CALCITE-2840]
Simplification should use more specific UnknownAs modes during simplification</a>.</div>
</td>
</tr>
<tr id="i54" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testNoCommonReturnTypeFails()">testNoCommonReturnTypeFails</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i55" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testNormalize()">testNormalize</a></span>()</code></th>
<td class="colLast">
<div class="block">Tests construction and normalization of a RexProgram.</div>
</td>
</tr>
<tr id="i56" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testNotRecursion()">testNotRecursion</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i57" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testPullFactors()">testPullFactors</a></span>()</code></th>
<td class="colLast">
<div class="block">Unit test for <code>RexUtil.pullFactors(org.apache.calcite.rex.RexBuilder, org.apache.calcite.rex.RexNode)</code>.</div>
</td>
</tr>
<tr id="i58" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testPushNotIntoCase()">testPushNotIntoCase</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i59" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testRedundantIsFalse()">testRedundantIsFalse</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i60" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testRedundantIsNotFalse()">testRedundantIsNotFalse</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i61" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testRedundantIsNotTrue()">testRedundantIsNotTrue</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i62" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testRedundantIsTrue()">testRedundantIsTrue</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i63" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testRemovalOfNullabilityWideningCast()">testRemovalOfNullabilityWideningCast</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i64" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testSelfComparisions()">testSelfComparisions</a></span>()</code></th>
<td class="colLast">
<div class="block">Unit test for
<a href="https://issues.apache.org/jira/browse/CALCITE-2421">[CALCITE-2421]
to-be-filled </a>.</div>
</td>
</tr>
<tr id="i65" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testSimpleDynamicVars()">testSimpleDynamicVars</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i66" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testSimplify()">testSimplify</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i67" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testSimplifyAnd()">testSimplifyAnd</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i68" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testSimplifyAnd3()">testSimplifyAnd3</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i69" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testSimplifyAndNot()">testSimplifyAndNot</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i70" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testSimplifyAndPush()">testSimplifyAndPush</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i71" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testSimplifyCaseAndNotSimplicationIsInAction()">testSimplifyCaseAndNotSimplicationIsInAction</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i72" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testSimplifyCaseBranchesCollapse()">testSimplifyCaseBranchesCollapse</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i73" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testSimplifyCaseBranchesCollapse2()">testSimplifyCaseBranchesCollapse2</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i74" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testSimplifyCaseBranchRemovalStrengthensType()">testSimplifyCaseBranchRemovalStrengthensType</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i75" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testSimplifyCaseCasting()">testSimplifyCaseCasting</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i76" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testSimplifyCaseCompaction()">testSimplifyCaseCompaction</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i77" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testSimplifyCaseCompaction2()">testSimplifyCaseCompaction2</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i78" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testSimplifyCaseCompactionDiv()">testSimplifyCaseCompactionDiv</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i79" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testSimplifyCaseDiv1()">testSimplifyCaseDiv1</a></span>()</code></th>
<td class="colLast">
<div class="block">Tests a CASE value branch that contains division.</div>
</td>
</tr>
<tr id="i80" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testSimplifyCaseDiv2()">testSimplifyCaseDiv2</a></span>()</code></th>
<td class="colLast">
<div class="block">Tests a CASE condition that contains division,</div>
</td>
</tr>
<tr id="i81" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testSimplifyCaseFirstBranchIsSafe()">testSimplifyCaseFirstBranchIsSafe</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i82" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testSimplifyCaseNotNullableBoolean()">testSimplifyCaseNotNullableBoolean</a></span>()</code></th>
<td class="colLast">
<div class="block">Unit test for
<a href="https://issues.apache.org/jira/browse/CALCITE-1289">[CALCITE-1289]
RexUtil.simplifyCase() should account for nullability</a>.</div>
</td>
</tr>
<tr id="i83" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testSimplifyCaseNullableBoolean()">testSimplifyCaseNullableBoolean</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i84" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testSimplifyCaseNullableVarChar()">testSimplifyCaseNullableVarChar</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i85" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testSimplifyCastIsNull()">testSimplifyCastIsNull</a></span>()</code></th>
<td class="colLast">
<div class="block">Unit test for
<a href="https://issues.apache.org/jira/browse/CALCITE-2929">[CALCITE-2929]
Simplification of IS NULL checks are incorrectly assuming that CAST-s are possible</a>.</div>
</td>
</tr>
<tr id="i86" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testSimplifyCastIsNull2()">testSimplifyCastIsNull2</a></span>()</code></th>
<td class="colLast">
<div class="block">Unit test for
<a href="https://issues.apache.org/jira/browse/CALCITE-2929">[CALCITE-2929]
Simplification of IS NULL checks are incorrectly assuming that CAST-s are possible</a>.</div>
</td>
</tr>
<tr id="i87" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testSimplifyCastLiteral()">testSimplifyCastLiteral</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i88" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testSimplifyCastLiteral2()">testSimplifyCastLiteral2</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i89" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testSimplifyCastLiteral3()">testSimplifyCastLiteral3</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i90" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testSimplifyCoalesce()">testSimplifyCoalesce</a></span>()</code></th>
<td class="colLast">
<div class="block">Unit test for
<a href="https://issues.apache.org/jira/browse/CALCITE-2505">[CALCITE-2505]
RexSimplify wrongly simplifies "COALESCE(+(NULL), x)" to "NULL"</a>.</div>
</td>
</tr>
<tr id="i91" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testSimplifyCondition()">testSimplifyCondition</a></span>()</code></th>
<td class="colLast">
<div class="block">Tests how the condition is simplified.</div>
</td>
</tr>
<tr id="i92" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testSimplifyCondition2()">testSimplifyCondition2</a></span>()</code></th>
<td class="colLast">
<div class="block">Tests how the condition is simplified.</div>
</td>
</tr>
<tr id="i93" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testSimplifyDynamicParam()">testSimplifyDynamicParam</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i94" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testSimplifyFalse()">testSimplifyFalse</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i95" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testSimplifyFilter()">testSimplifyFilter</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i96" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testSimplifyIsNotNull()">testSimplifyIsNotNull</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i97" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testSimplifyLiterals()">testSimplifyLiterals</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i98" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testSimplifyNot()">testSimplifyNot</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i99" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testSimplifyNotAnd()">testSimplifyNotAnd</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i100" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testSimplifyOrNot()">testSimplifyOrNot</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i101" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testSimplifyOrTerms()">testSimplifyOrTerms</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i102" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testSimplifyRecurseIntoArithmetics()">testSimplifyRecurseIntoArithmetics</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i103" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testSimplifyUnknown()">testSimplifyUnknown</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i104" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testStrong()">testStrong</a></span>()</code></th>
<td class="colLast">
<div class="block">Unit test for <code>Strong</code>.</div>
</td>
</tr>
<tr id="i105" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#testThresholdCnf()">testThresholdCnf</a></span>()</code></th>
<td class="colLast">
<div class="block">Unit test for
<a href="https://issues.apache.org/jira/browse/CALCITE-1290">[CALCITE-1290]
When converting to CNF, fail if the expression exceeds a threshold</a>.</div>
</td>
</tr>
<tr id="i106" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#xAndNotX()">xAndNotX</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.apache.calcite.test.RexProgramBuilderBase">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.calcite.test.<a href="RexProgramBuilderBase.html" title="class in org.apache.calcite.test">RexProgramBuilderBase</a></h3>
<code><a href="RexProgramBuilderBase.html#abstractCast(org.apache.calcite.rex.RexNode,org.apache.calcite.rel.type.RelDataType)">abstractCast</a>, <a href="RexProgramBuilderBase.html#add(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">add</a>, <a href="RexProgramBuilderBase.html#and(java.lang.Iterable)">and</a>, <a href="RexProgramBuilderBase.html#and(org.apache.calcite.rex.RexNode...)">and</a>, <a href="RexProgramBuilderBase.html#case_(java.lang.Iterable)">case_</a>, <a href="RexProgramBuilderBase.html#case_(org.apache.calcite.rex.RexNode...)">case_</a>, <a href="RexProgramBuilderBase.html#cast(org.apache.calcite.rex.RexNode,org.apache.calcite.rel.type.RelDataType)">cast</a>, <a href="RexProgramBuilderBase.html#coalesce(org.apache.calcite.rex.RexNode...)">coalesce</a>, <a href="RexProgramBuilderBase.html#div(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">div</a>, <a href="RexProgramBuilderBase.html#divInt(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">divInt</a>, <a href="RexProgramBuilderBase.html#eq(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">eq</a>, <a href="RexProgramBuilderBase.html#ge(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">ge</a>, <a href="RexProgramBuilderBase.html#gt(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">gt</a>, <a href="RexProgramBuilderBase.html#in(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode...)">in</a>, <a href="RexProgramBuilderBase.html#input(org.apache.calcite.rel.type.RelDataType,int)">input</a>, <a href="RexProgramBuilderBase.html#isDistinctFrom(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">isDistinctFrom</a>, <a href="RexProgramBuilderBase.html#isFalse(org.apache.calcite.rex.RexNode)">isFalse</a>, <a href="RexProgramBuilderBase.html#isNotDistinctFrom(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">isNotDistinctFrom</a>, <a href="RexProgramBuilderBase.html#isNotFalse(org.apache.calcite.rex.RexNode)">isNotFalse</a>, <a href="RexProgramBuilderBase.html#isNotNull(org.apache.calcite.rex.RexNode)">isNotNull</a>, <a href="RexProgramBuilderBase.html#isNotTrue(org.apache.calcite.rex.RexNode)">isNotTrue</a>, <a href="RexProgramBuilderBase.html#isNull(org.apache.calcite.rex.RexNode)">isNull</a>, <a href="RexProgramBuilderBase.html#isTrue(org.apache.calcite.rex.RexNode)">isTrue</a>, <a href="RexProgramBuilderBase.html#isUnknown(org.apache.calcite.rex.RexNode)">isUnknown</a>, <a href="RexProgramBuilderBase.html#le(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">le</a>, <a href="RexProgramBuilderBase.html#literal(boolean)">literal</a>, <a href="RexProgramBuilderBase.html#literal(int)">literal</a>, <a href="RexProgramBuilderBase.html#literal(java.lang.Boolean)">literal</a>, <a href="RexProgramBuilderBase.html#literal(java.lang.Integer)">literal</a>, <a href="RexProgramBuilderBase.html#literal(java.lang.String)">literal</a>, <a href="RexProgramBuilderBase.html#literal(java.math.BigDecimal)">literal</a>, <a href="RexProgramBuilderBase.html#literal(java.math.BigDecimal,org.apache.calcite.rel.type.RelDataType)">literal</a>, <a href="RexProgramBuilderBase.html#lt(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">lt</a>, <a href="RexProgramBuilderBase.html#mul(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">mul</a>, <a href="RexProgramBuilderBase.html#ne(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">ne</a>, <a href="RexProgramBuilderBase.html#not(org.apache.calcite.rex.RexNode)">not</a>, <a href="RexProgramBuilderBase.html#null_(org.apache.calcite.rel.type.RelDataType)">null_</a>, <a href="RexProgramBuilderBase.html#nullable(org.apache.calcite.rel.type.RelDataType)">nullable</a>, <a href="RexProgramBuilderBase.html#nullIf(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">nullIf</a>, <a href="RexProgramBuilderBase.html#or(java.lang.Iterable)">or</a>, <a href="RexProgramBuilderBase.html#or(org.apache.calcite.rex.RexNode...)">or</a>, <a href="RexProgramBuilderBase.html#plus(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">plus</a>, <a href="RexProgramBuilderBase.html#sub(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">sub</a>, <a href="RexProgramBuilderBase.html#tBoolean()">tBoolean</a>, <a href="RexProgramBuilderBase.html#tBoolean(boolean)">tBoolean</a>, <a href="RexProgramBuilderBase.html#tInt()">tInt</a>, <a href="RexProgramBuilderBase.html#tInt(boolean)">tInt</a>, <a href="RexProgramBuilderBase.html#tVarchar()">tVarchar</a>, <a href="RexProgramBuilderBase.html#tVarchar(boolean)">tVarchar</a>, <a href="RexProgramBuilderBase.html#unaryMinus(org.apache.calcite.rex.RexNode)">unaryMinus</a>, <a href="RexProgramBuilderBase.html#unaryPlus(org.apache.calcite.rex.RexNode)">unaryPlus</a>, <a href="RexProgramBuilderBase.html#vBool()">vBool</a>, <a href="RexProgramBuilderBase.html#vBool(int)">vBool</a>, <a href="RexProgramBuilderBase.html#vBoolNotNull()">vBoolNotNull</a>, <a href="RexProgramBuilderBase.html#vBoolNotNull(int)">vBoolNotNull</a>, <a href="RexProgramBuilderBase.html#vInt()">vInt</a>, <a href="RexProgramBuilderBase.html#vInt(int)">vInt</a>, <a href="RexProgramBuilderBase.html#vIntNotNull()">vIntNotNull</a>, <a href="RexProgramBuilderBase.html#vIntNotNull(int)">vIntNotNull</a>, <a href="RexProgramBuilderBase.html#vVarchar()">vVarchar</a>, <a href="RexProgramBuilderBase.html#vVarchar(int)">vVarchar</a>, <a href="RexProgramBuilderBase.html#vVarcharNotNull()">vVarcharNotNull</a>, <a href="RexProgramBuilderBase.html#vVarcharNotNull(int)">vVarcharNotNull</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>RexProgramTest</h4>
<pre>public&nbsp;RexProgramTest()</pre>
<div class="block">Creates a RexProgramTest.</div>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="setUp()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setUp</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setUp()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="RexProgramBuilderBase.html#setUp()">setUp</a></code>&nbsp;in class&nbsp;<code><a href="RexProgramBuilderBase.html" title="class in org.apache.calcite.test">RexProgramBuilderBase</a></code></dd>
</dl>
</li>
</ul>
<a id="checkCnf(org.apache.calcite.rex.RexNode,java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkCnf</h4>
<pre class="methodSignature">private&nbsp;void&nbsp;checkCnf&#8203;(org.apache.calcite.rex.RexNode&nbsp;node,
java.lang.String&nbsp;expected)</pre>
</li>
</ul>
<a id="checkThresholdCnf(org.apache.calcite.rex.RexNode,int,java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkThresholdCnf</h4>
<pre class="methodSignature">private&nbsp;void&nbsp;checkThresholdCnf&#8203;(org.apache.calcite.rex.RexNode&nbsp;node,
int&nbsp;threshold,
java.lang.String&nbsp;expected)</pre>
</li>
</ul>
<a id="checkPullFactorsUnchanged(org.apache.calcite.rex.RexNode)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkPullFactorsUnchanged</h4>
<pre class="methodSignature">private&nbsp;void&nbsp;checkPullFactorsUnchanged&#8203;(org.apache.calcite.rex.RexNode&nbsp;node)</pre>
</li>
</ul>
<a id="checkPullFactors(org.apache.calcite.rex.RexNode,java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkPullFactors</h4>
<pre class="methodSignature">private&nbsp;void&nbsp;checkPullFactors&#8203;(org.apache.calcite.rex.RexNode&nbsp;node,
java.lang.String&nbsp;expected)</pre>
</li>
</ul>
<a id="assertNode(java.lang.String,java.lang.String,org.apache.calcite.rex.RexNode)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>assertNode</h4>
<pre class="methodSignature">private&nbsp;void&nbsp;assertNode&#8203;(java.lang.String&nbsp;message,
java.lang.String&nbsp;expected,
org.apache.calcite.rex.RexNode&nbsp;node)</pre>
<div class="block">Asserts that given node has expected string representation with account of node type</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>message</code> - extra message that clarifies where the node came from</dd>
<dd><code>expected</code> - expected string representation of the node</dd>
<dd><code>node</code> - node to check</dd>
</dl>
</li>
</ul>
<a id="checkSimplify(org.apache.calcite.rex.RexNode,java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkSimplify</h4>
<pre class="methodSignature">private&nbsp;void&nbsp;checkSimplify&#8203;(org.apache.calcite.rex.RexNode&nbsp;node,
java.lang.String&nbsp;expected)</pre>
<div class="block">Simplifies an expression and checks that the result is as expected.</div>
</li>
</ul>
<a id="checkSimplifyUnchanged(org.apache.calcite.rex.RexNode)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkSimplifyUnchanged</h4>
<pre class="methodSignature">private&nbsp;void&nbsp;checkSimplifyUnchanged&#8203;(org.apache.calcite.rex.RexNode&nbsp;node)</pre>
<div class="block">Simplifies an expression and checks that the result is unchanged.</div>
</li>
</ul>
<a id="checkSimplify2(org.apache.calcite.rex.RexNode,java.lang.String,java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkSimplify2</h4>
<pre class="methodSignature">private&nbsp;void&nbsp;checkSimplify2&#8203;(org.apache.calcite.rex.RexNode&nbsp;node,
java.lang.String&nbsp;expected,
java.lang.String&nbsp;expectedFalse)</pre>
<div class="block">Simplifies an expression and checks the result if unknowns remain
unknown, or if unknown becomes false. If the result is the same, use
<a href="#checkSimplify(org.apache.calcite.rex.RexNode,java.lang.String)"><code>checkSimplify(RexNode, String)</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>node</code> - Expression to simplify</dd>
<dd><code>expected</code> - Expected simplification</dd>
<dd><code>expectedFalse</code> - Expected simplification, if unknown is to be treated
as false</dd>
</dl>
</li>
</ul>
<a id="checkSimplify3(org.apache.calcite.rex.RexNode,java.lang.String,java.lang.String,java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkSimplify3</h4>
<pre class="methodSignature">private&nbsp;void&nbsp;checkSimplify3&#8203;(org.apache.calcite.rex.RexNode&nbsp;node,
java.lang.String&nbsp;expected,
java.lang.String&nbsp;expectedFalse,
java.lang.String&nbsp;expectedTrue)</pre>
</li>
</ul>
<a id="checkSimplify3_(org.apache.calcite.rex.RexNode,java.lang.String,java.lang.String,java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkSimplify3_</h4>
<pre class="methodSignature">private&nbsp;void&nbsp;checkSimplify3_&#8203;(org.apache.calcite.rex.RexNode&nbsp;node,
java.lang.String&nbsp;expected,
java.lang.String&nbsp;expectedFalse,
java.lang.String&nbsp;expectedTrue)</pre>
</li>
</ul>
<a id="checkSimplifyFilter(org.apache.calcite.rex.RexNode,java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkSimplifyFilter</h4>
<pre class="methodSignature">private&nbsp;void&nbsp;checkSimplifyFilter&#8203;(org.apache.calcite.rex.RexNode&nbsp;node,
java.lang.String&nbsp;expected)</pre>
</li>
</ul>
<a id="checkSimplifyFilter(org.apache.calcite.rex.RexNode,org.apache.calcite.plan.RelOptPredicateList,java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkSimplifyFilter</h4>
<pre class="methodSignature">private&nbsp;void&nbsp;checkSimplifyFilter&#8203;(org.apache.calcite.rex.RexNode&nbsp;node,
org.apache.calcite.plan.RelOptPredicateList&nbsp;predicates,
java.lang.String&nbsp;expected)</pre>
</li>
</ul>
<a id="nodeCount(org.apache.calcite.rex.RexNode)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nodeCount</h4>
<pre class="methodSignature">private static&nbsp;int&nbsp;nodeCount&#8203;(org.apache.calcite.rex.RexNode&nbsp;node)</pre>
<div class="block">Returns the number of nodes (including leaves) in a Rex tree.</div>
</li>
</ul>
<a id="testBuildProgram()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testBuildProgram</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testBuildProgram()</pre>
<div class="block">Tests construction of a RexProgram.</div>
</li>
</ul>
<a id="testNormalize()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testNormalize</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testNormalize()</pre>
<div class="block">Tests construction and normalization of a RexProgram.</div>
</li>
</ul>
<a id="testElimDups()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testElimDups</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testElimDups()</pre>
<div class="block">Tests construction and normalization of a RexProgram.</div>
</li>
</ul>
<a id="testSimplifyCondition()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testSimplifyCondition</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testSimplifyCondition()</pre>
<div class="block">Tests how the condition is simplified.</div>
</li>
</ul>
<a id="testSimplifyCondition2()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testSimplifyCondition2</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testSimplifyCondition2()</pre>
<div class="block">Tests how the condition is simplified.</div>
</li>
</ul>
<a id="testDuplicateAnd()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testDuplicateAnd</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testDuplicateAnd()</pre>
<div class="block">Checks translation of AND(x, x).</div>
</li>
</ul>
<a id="createProg(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createProg</h4>
<pre class="methodSignature">private&nbsp;org.apache.calcite.rex.RexProgramBuilder&nbsp;createProg&#8203;(int&nbsp;variant)</pre>
<div class="block">Creates a program, depending on variant:
<ol>
<li><code>select (x + y) + (x + 1) as a, (x + x) as b from t(x, y)</code>
<li><code>select (x + y) + (x + 1) as a, (x + (x + 1)) as b
from t(x, y)</code>
<li><code>select (x + y) + (x + 1) as a, (x + x) as b from t(x, y)
where ((x + y) &gt; 1) and ((x + y) &gt; 1)</code>
<li><code>select (x + y) + (x + 1) as a, (x + x) as b from t(x, y)
where not case
when x + 1 &gt; 5 then true
when y is null then null
else false
end</code>
</ol></div>
</li>
</ul>
<a id="testStrong()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testStrong</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testStrong()</pre>
<div class="block">Unit test for <code>Strong</code>.</div>
</li>
</ul>
<a id="xAndNotX()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>xAndNotX</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;xAndNotX()</pre>
</li>
</ul>
<a id="testLosslessCast()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testLosslessCast</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testLosslessCast()</pre>
<div class="block">Unit test for <code>RexUtil.isLosslessCast(RexNode)</code>.</div>
</li>
</ul>
<a id="removeRedundantCast()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeRedundantCast</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;removeRedundantCast()</pre>
</li>
</ul>
<a id="testNoCommonReturnTypeFails()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testNoCommonReturnTypeFails</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testNoCommonReturnTypeFails()</pre>
</li>
</ul>
<a id="testCnf()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testCnf</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testCnf()</pre>
<div class="block">Unit test for <code>RexUtil.toCnf(org.apache.calcite.rex.RexBuilder, org.apache.calcite.rex.RexNode)</code>.</div>
</li>
</ul>
<a id="testCnf2()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testCnf2</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testCnf2()</pre>
<div class="block">Unit test for
<a href="https://issues.apache.org/jira/browse/CALCITE-394">[CALCITE-394]
Add RexUtil.toCnf, to convert expressions to conjunctive normal form
(CNF)</a>.</div>
</li>
</ul>
<a id="testThresholdCnf()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testThresholdCnf</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testThresholdCnf()</pre>
<div class="block">Unit test for
<a href="https://issues.apache.org/jira/browse/CALCITE-1290">[CALCITE-1290]
When converting to CNF, fail if the expression exceeds a threshold</a>.</div>
</li>
</ul>
<a id="testCnfExponential()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testCnfExponential</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testCnfExponential()</pre>
<div class="block">Tests formulas of various sizes whose size is exponential when converted
to CNF.</div>
</li>
</ul>
<a id="checkExponentialCnf(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkExponentialCnf</h4>
<pre class="methodSignature">private&nbsp;void&nbsp;checkExponentialCnf&#8203;(int&nbsp;n)</pre>
</li>
</ul>
<a id="testPullFactors()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testPullFactors</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testPullFactors()</pre>
<div class="block">Unit test for <code>RexUtil.pullFactors(org.apache.calcite.rex.RexBuilder, org.apache.calcite.rex.RexNode)</code>.</div>
</li>
</ul>
<a id="testSimplify()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testSimplify</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testSimplify()</pre>
</li>
</ul>
<a id="simplifyStrong()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>simplifyStrong</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;simplifyStrong()</pre>
</li>
</ul>
<a id="testSimplifyFilter()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testSimplifyFilter</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testSimplifyFilter()</pre>
</li>
</ul>
<a id="testSimplifyAndPush()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testSimplifyAndPush</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testSimplifyAndPush()</pre>
</li>
</ul>
<a id="testSimplifyOrTerms()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testSimplifyOrTerms</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testSimplifyOrTerms()</pre>
</li>
</ul>
<a id="testSimplifyNotAnd()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testSimplifyNotAnd</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testSimplifyNotAnd()</pre>
</li>
</ul>
<a id="testSimplifyUnknown()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testSimplifyUnknown</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testSimplifyUnknown()</pre>
</li>
</ul>
<a id="testSimplifyAnd3()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testSimplifyAnd3</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testSimplifyAnd3()</pre>
</li>
</ul>
<a id="testNestedAndSimplification()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testNestedAndSimplification</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testNestedAndSimplification()</pre>
<div class="block">Unit test for
<a href="https://issues.apache.org/jira/browse/CALCITE-2840">[CALCITE-2840]
Simplification should use more specific UnknownAs modes during simplification</a>.</div>
</li>
</ul>
<a id="fieldAccessEqualsHashCode()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>fieldAccessEqualsHashCode</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;fieldAccessEqualsHashCode()</pre>
</li>
</ul>
<a id="testSimplifyDynamicParam()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testSimplifyDynamicParam</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testSimplifyDynamicParam()</pre>
</li>
</ul>
<a id="testSimplifyCaseNotNullableBoolean()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testSimplifyCaseNotNullableBoolean</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testSimplifyCaseNotNullableBoolean()</pre>
<div class="block">Unit test for
<a href="https://issues.apache.org/jira/browse/CALCITE-1289">[CALCITE-1289]
RexUtil.simplifyCase() should account for nullability</a>.</div>
</li>
</ul>
<a id="testSimplifyCaseNullableBoolean()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testSimplifyCaseNullableBoolean</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testSimplifyCaseNullableBoolean()</pre>
</li>
</ul>
<a id="testSimplifyRecurseIntoArithmetics()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testSimplifyRecurseIntoArithmetics</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testSimplifyRecurseIntoArithmetics()</pre>
</li>
</ul>
<a id="testSimplifyCaseBranchesCollapse()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testSimplifyCaseBranchesCollapse</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testSimplifyCaseBranchesCollapse()</pre>
</li>
</ul>
<a id="testSimplifyCaseBranchesCollapse2()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testSimplifyCaseBranchesCollapse2</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testSimplifyCaseBranchesCollapse2()</pre>
</li>
</ul>
<a id="testSimplifyCaseNullableVarChar()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testSimplifyCaseNullableVarChar</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testSimplifyCaseNullableVarChar()</pre>
</li>
</ul>
<a id="testSimplifyCaseCasting()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testSimplifyCaseCasting</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testSimplifyCaseCasting()</pre>
</li>
</ul>
<a id="testSimplifyCaseAndNotSimplicationIsInAction()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testSimplifyCaseAndNotSimplicationIsInAction</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testSimplifyCaseAndNotSimplicationIsInAction()</pre>
</li>
</ul>
<a id="testSimplifyCaseBranchRemovalStrengthensType()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testSimplifyCaseBranchRemovalStrengthensType</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testSimplifyCaseBranchRemovalStrengthensType()</pre>
</li>
</ul>
<a id="testSimplifyCaseCompaction()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testSimplifyCaseCompaction</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testSimplifyCaseCompaction()</pre>
</li>
</ul>
<a id="testSimplifyCaseCompaction2()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testSimplifyCaseCompaction2</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testSimplifyCaseCompaction2()</pre>
</li>
</ul>
<a id="testSimplifyCaseCompactionDiv()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testSimplifyCaseCompactionDiv</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testSimplifyCaseCompactionDiv()</pre>
</li>
</ul>
<a id="testSimplifyCaseDiv1()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testSimplifyCaseDiv1</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testSimplifyCaseDiv1()</pre>
<div class="block">Tests a CASE value branch that contains division.</div>
</li>
</ul>
<a id="testSimplifyCaseDiv2()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testSimplifyCaseDiv2</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testSimplifyCaseDiv2()</pre>
<div class="block">Tests a CASE condition that contains division,</div>
</li>
</ul>
<a id="testSimplifyCaseFirstBranchIsSafe()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testSimplifyCaseFirstBranchIsSafe</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testSimplifyCaseFirstBranchIsSafe()</pre>
</li>
</ul>
<a id="testPushNotIntoCase()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testPushNotIntoCase</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testPushNotIntoCase()</pre>
</li>
</ul>
<a id="testNotRecursion()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testNotRecursion</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testNotRecursion()</pre>
</li>
</ul>
<a id="testSimplifyAnd()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testSimplifyAnd</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testSimplifyAnd()</pre>
</li>
</ul>
<a id="testSimplifyIsNotNull()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testSimplifyIsNotNull</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testSimplifyIsNotNull()</pre>
</li>
</ul>
<a id="testSimplifyCastIsNull()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testSimplifyCastIsNull</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testSimplifyCastIsNull()</pre>
<div class="block">Unit test for
<a href="https://issues.apache.org/jira/browse/CALCITE-2929">[CALCITE-2929]
Simplification of IS NULL checks are incorrectly assuming that CAST-s are possible</a>.</div>
</li>
</ul>
<a id="testSimplifyCastIsNull2()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testSimplifyCastIsNull2</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testSimplifyCastIsNull2()</pre>
<div class="block">Unit test for
<a href="https://issues.apache.org/jira/browse/CALCITE-2929">[CALCITE-2929]
Simplification of IS NULL checks are incorrectly assuming that CAST-s are possible</a>.</div>
</li>
</ul>
<a id="checkSimplifyDynamicParam()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkSimplifyDynamicParam</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;checkSimplifyDynamicParam()</pre>
</li>
</ul>
<a id="testSimplifyCastLiteral()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testSimplifyCastLiteral</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testSimplifyCastLiteral()</pre>
</li>
</ul>
<a id="testCastLiteral()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testCastLiteral</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testCastLiteral()</pre>
</li>
</ul>
<a id="testSimplifyCastLiteral2()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testSimplifyCastLiteral2</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testSimplifyCastLiteral2()</pre>
</li>
</ul>
<a id="testSimplifyCastLiteral3()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testSimplifyCastLiteral3</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testSimplifyCastLiteral3()</pre>
</li>
</ul>
<a id="testRemovalOfNullabilityWideningCast()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testRemovalOfNullabilityWideningCast</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testRemovalOfNullabilityWideningCast()</pre>
</li>
</ul>
<a id="testCompareTimestampWithTimeZone()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testCompareTimestampWithTimeZone</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testCompareTimestampWithTimeZone()</pre>
</li>
</ul>
<a id="testSimplifyLiterals()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testSimplifyLiterals</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testSimplifyLiterals()</pre>
</li>
</ul>
<a id="testSelfComparisions()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testSelfComparisions</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testSelfComparisions()</pre>
<div class="block">Unit test for
<a href="https://issues.apache.org/jira/browse/CALCITE-2421">[CALCITE-2421]
to-be-filled </a>.</div>
</li>
</ul>
<a id="testBooleanComparisions()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testBooleanComparisions</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testBooleanComparisions()</pre>
</li>
</ul>
<a id="testSimpleDynamicVars()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testSimpleDynamicVars</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testSimpleDynamicVars()</pre>
</li>
</ul>
<a id="assertTypeAndToString(org.apache.calcite.rex.RexNode,java.lang.String,java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>assertTypeAndToString</h4>
<pre class="methodSignature">private&nbsp;void&nbsp;assertTypeAndToString&#8203;(org.apache.calcite.rex.RexNode&nbsp;rexNode,
java.lang.String&nbsp;representation,
java.lang.String&nbsp;type)</pre>
</li>
</ul>
<a id="testIsDeterministic()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testIsDeterministic</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testIsDeterministic()</pre>
</li>
</ul>
<a id="testConstantMap()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testConstantMap</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testConstantMap()</pre>
</li>
</ul>
<a id="notDistinct()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>notDistinct</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;notDistinct()</pre>
</li>
</ul>
<a id="testSimplifyCoalesce()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testSimplifyCoalesce</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testSimplifyCoalesce()</pre>
<div class="block">Unit test for
<a href="https://issues.apache.org/jira/browse/CALCITE-2505">[CALCITE-2505]
RexSimplify wrongly simplifies "COALESCE(+(NULL), x)" to "NULL"</a>.</div>
</li>
</ul>
<a id="simplifyNull()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>simplifyNull</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;simplifyNull()</pre>
</li>
</ul>
<a id="getString(com.google.common.collect.ImmutableMap)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getString</h4>
<pre class="methodSignature">private static&nbsp;java.lang.String&nbsp;getString&#8203;(com.google.common.collect.ImmutableMap&lt;org.apache.calcite.rex.RexNode,&#8203;org.apache.calcite.rex.RexNode&gt;&nbsp;map)</pre>
<div class="block">Converts a map to a string, sorting on the string representation of its
keys.</div>
</li>
</ul>
<a id="testSimplifyFalse()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testSimplifyFalse</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testSimplifyFalse()</pre>
</li>
</ul>
<a id="testSimplifyNot()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testSimplifyNot</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testSimplifyNot()</pre>
</li>
</ul>
<a id="testSimplifyAndNot()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testSimplifyAndNot</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testSimplifyAndNot()</pre>
</li>
</ul>
<a id="testSimplifyOrNot()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testSimplifyOrNot</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testSimplifyOrNot()</pre>
</li>
</ul>
<a id="simplify(org.apache.calcite.rex.RexNode)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>simplify</h4>
<pre class="methodSignature">private&nbsp;org.apache.calcite.rex.RexNode&nbsp;simplify&#8203;(org.apache.calcite.rex.RexNode&nbsp;e)</pre>
</li>
</ul>
<a id="testInterpreter()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testInterpreter</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testInterpreter()</pre>
</li>
</ul>
<a id="testIsNullRecursion()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testIsNullRecursion</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testIsNullRecursion()</pre>
</li>
</ul>
<a id="testRedundantIsTrue()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testRedundantIsTrue</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testRedundantIsTrue()</pre>
</li>
</ul>
<a id="testRedundantIsFalse()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testRedundantIsFalse</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testRedundantIsFalse()</pre>
</li>
</ul>
<a id="testRedundantIsNotTrue()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testRedundantIsNotTrue</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testRedundantIsNotTrue()</pre>
</li>
</ul>
<a id="testRedundantIsNotFalse()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testRedundantIsNotFalse</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testRedundantIsNotFalse()</pre>
</li>
</ul>
<a id="testIsAlwaysTrueAndFalseXisNullisNotNullisFalse()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testIsAlwaysTrueAndFalseXisNullisNotNullisFalse</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testIsAlwaysTrueAndFalseXisNullisNotNullisFalse()</pre>
<div class="block">Unit tests for
<a href="https://issues.apache.org/jira/browse/CALCITE-2438">[CALCITE-2438]
RexCall#isAlwaysTrue returns incorrect result</a>.</div>
</li>
</ul>
<a id="testIsAlwaysTrueAndFalseNotXisNullisNotNullisFalse()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testIsAlwaysTrueAndFalseNotXisNullisNotNullisFalse</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testIsAlwaysTrueAndFalseNotXisNullisNotNullisFalse()</pre>
</li>
</ul>
<a id="testIsAlwaysTrueAndFalseXisNullisNotNullisTrue()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testIsAlwaysTrueAndFalseXisNullisNotNullisTrue</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testIsAlwaysTrueAndFalseXisNullisNotNullisTrue()</pre>
</li>
</ul>
<a id="testIsAlwaysTrueAndFalseNotXisNullisNotNullisTrue()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testIsAlwaysTrueAndFalseNotXisNullisNotNullisTrue</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testIsAlwaysTrueAndFalseNotXisNullisNotNullisTrue()</pre>
</li>
</ul>
<a id="testIsAlwaysTrueAndFalseNotXisNullisNotNullisNotTrue()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testIsAlwaysTrueAndFalseNotXisNullisNotNullisNotTrue</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testIsAlwaysTrueAndFalseNotXisNullisNotNullisNotTrue()</pre>
</li>
</ul>
<a id="testIsAlwaysTrueAndFalseXisNullisNotNull()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testIsAlwaysTrueAndFalseXisNullisNotNull</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testIsAlwaysTrueAndFalseXisNullisNotNull()</pre>
</li>
</ul>
<a id="testIsAlwaysTrueAndFalseXisNotNullisNotNull()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testIsAlwaysTrueAndFalseXisNotNullisNotNull</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testIsAlwaysTrueAndFalseXisNotNullisNotNull()</pre>
</li>
</ul>
<a id="testIsAlwaysTrueAndFalseXisNullisNull()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testIsAlwaysTrueAndFalseXisNullisNull</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testIsAlwaysTrueAndFalseXisNullisNull()</pre>
</li>
</ul>
<a id="testIsAlwaysTrueAndFalseXisNotNullisNull()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testIsAlwaysTrueAndFalseXisNotNullisNull</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testIsAlwaysTrueAndFalseXisNotNullisNull()</pre>
</li>
</ul>
<a id="testIsAlwaysTrueAndFalseXisNullisNotNullisNotFalse()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testIsAlwaysTrueAndFalseXisNullisNotNullisNotFalse</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testIsAlwaysTrueAndFalseXisNullisNotNullisNotFalse()</pre>
</li>
</ul>
<a id="testIsAlwaysTrueAndFalseXisNullisNotNullisNotTrue()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testIsAlwaysTrueAndFalseXisNullisNotNullisNotTrue</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testIsAlwaysTrueAndFalseXisNullisNotNullisNotTrue()</pre>
</li>
</ul>
<a id="checkIs(org.apache.calcite.rex.RexNode,boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkIs</h4>
<pre class="methodSignature">private&nbsp;void&nbsp;checkIs&#8203;(org.apache.calcite.rex.RexNode&nbsp;e,
boolean&nbsp;expected)</pre>
<div class="block">Checks that <code>RexNode.isAlwaysTrue()</code>,
<code>RexNode.isAlwaysTrue()</code> and <code>RexSimplify</code> agree that
an expression reduces to true or false.</div>
</li>
</ul>
<a id="eval(org.apache.calcite.rex.RexNode)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>eval</h4>
<pre class="methodSignature">private&nbsp;java.lang.Comparable&nbsp;eval&#8203;(org.apache.calcite.rex.RexNode&nbsp;e)</pre>
</li>
</ul>
<a id="testInDigest()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>testInDigest</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;testInDigest()</pre>
<div class="block">Unit test for
<a href="https://issues.apache.org/jira/browse/CALCITE-2842">[CALCITE-2842]
Computing digest of IN expressions leads to Exceptions</a>.</div>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/RexProgramTest.html">Use</a></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">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2012&#x2013;2019 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</body>
</html>