blob: 41391ed344dff57b46a6ccf45416028fc4004e5d [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>RexProgramBuilderBase (Calcite 1.21.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="RexProgramBuilderBase (Calcite 1.21.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":10,"i20":10,"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};
var tabs = {65535:["t0","All 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/RexProgramBuilderBase.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><a href="#nested.class.summary">Nested</a>&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><a href="#field.detail">Field</a>&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 RexProgramBuilderBase" class="title">Class RexProgramBuilderBase</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>org.apache.calcite.test.RexProgramBuilderBase</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><code><a href="fuzzer/RexFuzzer.html" title="class in org.apache.calcite.test.fuzzer">RexFuzzer</a></code>, <code><a href="fuzzer/RexProgramFuzzyTest.html" title="class in org.apache.calcite.test.fuzzer">RexProgramFuzzyTest</a></code>, <code><a href="RexProgramTest.html" title="class in org.apache.calcite.test">RexProgramTest</a></code></dd>
</dl>
<hr>
<pre>public abstract class <span class="typeNameLabel">RexProgramBuilderBase</span>
extends java.lang.Object</pre>
<div class="block">This class provides helper methods to build rex expressions.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="RexProgramBuilderBase.DummyTestDataContext.html" title="class in org.apache.calcite.test">RexProgramBuilderBase.DummyTestDataContext</a></span></code></th>
<td class="colLast">
<div class="block">Dummy data context for test.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- =========== FIELD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Field</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private java.util.Map&lt;org.apache.calcite.rel.type.RelDataType,&#8203;org.apache.calcite.rex.RexDynamicParam&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#dynamicParams">dynamicParams</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected org.apache.calcite.rex.RexExecutor</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#executor">executor</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected org.apache.calcite.rex.RexLiteral</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#falseLiteral">falseLiteral</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#MAX_FIELDS">MAX_FIELDS</a></span></code></th>
<td class="colLast">
<div class="block">Input variables for tests should come from a struct type, so
a struct is created where the first <code>MAX_FIELDS</code> are nullable,
and the next <code>MAX_FIELDS</code> are not nullable.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private org.apache.calcite.rel.type.RelDataType</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#nonNullableBool">nonNullableBool</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private org.apache.calcite.rel.type.RelDataType</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#nonNullableInt">nonNullableInt</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private org.apache.calcite.rel.type.RelDataType</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#nonNullableVarchar">nonNullableVarchar</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private org.apache.calcite.rel.type.RelDataType</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#nullableBool">nullableBool</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private org.apache.calcite.rel.type.RelDataType</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#nullableInt">nullableInt</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private org.apache.calcite.rel.type.RelDataType</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#nullableVarchar">nullableVarchar</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected org.apache.calcite.rex.RexLiteral</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#nullBool">nullBool</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected org.apache.calcite.rex.RexLiteral</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#nullInt">nullInt</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected org.apache.calcite.rex.RexLiteral</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#nullVarchar">nullVarchar</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected org.apache.calcite.rex.RexBuilder</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#rexBuilder">rexBuilder</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected org.apache.calcite.rex.RexSimplify</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#simplify">simplify</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected org.apache.calcite.rex.RexLiteral</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#trueLiteral">trueLiteral</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected org.apache.calcite.adapter.java.JavaTypeFactory</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#typeFactory">typeFactory</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
</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()">RexProgramBuilderBase</a></span>()</code></th>
<td class="colLast">&nbsp;</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="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>protected org.apache.calcite.rex.RexNode</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#abstractCast(org.apache.calcite.rex.RexNode,org.apache.calcite.rel.type.RelDataType)">abstractCast</a></span>&#8203;(org.apache.calcite.rex.RexNode&nbsp;e,
org.apache.calcite.rel.type.RelDataType&nbsp;type)</code></th>
<td class="colLast">
<div class="block">Creates a call to the CAST operator.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>protected org.apache.calcite.rex.RexNode</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#add(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">add</a></span>&#8203;(org.apache.calcite.rex.RexNode&nbsp;n1,
org.apache.calcite.rex.RexNode&nbsp;n2)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>protected org.apache.calcite.rex.RexNode</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#and(java.lang.Iterable)">and</a></span>&#8203;(java.lang.Iterable&lt;? extends org.apache.calcite.rex.RexNode&gt;&nbsp;nodes)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>protected org.apache.calcite.rex.RexNode</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#and(org.apache.calcite.rex.RexNode...)">and</a></span>&#8203;(org.apache.calcite.rex.RexNode...&nbsp;nodes)</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="#assertArgValue(int)">assertArgValue</a></span>&#8203;(int&nbsp;arg)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>protected org.apache.calcite.rex.RexNode</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#case_(java.lang.Iterable)">case_</a></span>&#8203;(java.lang.Iterable&lt;? extends org.apache.calcite.rex.RexNode&gt;&nbsp;nodes)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>protected org.apache.calcite.rex.RexNode</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#case_(org.apache.calcite.rex.RexNode...)">case_</a></span>&#8203;(org.apache.calcite.rex.RexNode...&nbsp;nodes)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>protected org.apache.calcite.rex.RexNode</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#cast(org.apache.calcite.rex.RexNode,org.apache.calcite.rel.type.RelDataType)">cast</a></span>&#8203;(org.apache.calcite.rex.RexNode&nbsp;e,
org.apache.calcite.rel.type.RelDataType&nbsp;type)</code></th>
<td class="colLast">
<div class="block">Creates a call to the CAST operator, expanding if possible, and not
preserving nullability.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>protected org.apache.calcite.rex.RexNode</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#coalesce(org.apache.calcite.rex.RexNode...)">coalesce</a></span>&#8203;(org.apache.calcite.rex.RexNode...&nbsp;nodes)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>protected org.apache.calcite.rex.RexNode</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#div(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">div</a></span>&#8203;(org.apache.calcite.rex.RexNode&nbsp;n1,
org.apache.calcite.rex.RexNode&nbsp;n2)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>protected org.apache.calcite.rex.RexNode</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#divInt(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">divInt</a></span>&#8203;(org.apache.calcite.rex.RexNode&nbsp;n1,
org.apache.calcite.rex.RexNode&nbsp;n2)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>protected org.apache.calcite.rex.RexNode</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#eq(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">eq</a></span>&#8203;(org.apache.calcite.rex.RexNode&nbsp;n1,
org.apache.calcite.rex.RexNode&nbsp;n2)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>protected org.apache.calcite.rex.RexNode</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#ge(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">ge</a></span>&#8203;(org.apache.calcite.rex.RexNode&nbsp;n1,
org.apache.calcite.rex.RexNode&nbsp;n2)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>private org.apache.calcite.rex.RexDynamicParam</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getDynamicParam(org.apache.calcite.rel.type.RelDataType,java.lang.String)">getDynamicParam</a></span>&#8203;(org.apache.calcite.rel.type.RelDataType&nbsp;type,
java.lang.String&nbsp;fieldNamePrefix)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>protected org.apache.calcite.rex.RexNode</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#gt(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">gt</a></span>&#8203;(org.apache.calcite.rex.RexNode&nbsp;n1,
org.apache.calcite.rex.RexNode&nbsp;n2)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>protected org.apache.calcite.rex.RexNode</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#in(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode...)">in</a></span>&#8203;(org.apache.calcite.rex.RexNode&nbsp;node,
org.apache.calcite.rex.RexNode...&nbsp;nodes)</code></th>
<td class="colLast">
<div class="block">Generates <code>x IN (y, z)</code> expression when called as <code>in(x, y, z)</code>.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>protected org.apache.calcite.rex.RexNode</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#input(org.apache.calcite.rel.type.RelDataType,int)">input</a></span>&#8203;(org.apache.calcite.rel.type.RelDataType&nbsp;type,
int&nbsp;arg)</code></th>
<td class="colLast">
<div class="block">Generates input ref with given type and index.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>protected org.apache.calcite.rex.RexNode</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isDistinctFrom(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">isDistinctFrom</a></span>&#8203;(org.apache.calcite.rex.RexNode&nbsp;a,
org.apache.calcite.rex.RexNode&nbsp;b)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>protected org.apache.calcite.rex.RexNode</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isFalse(org.apache.calcite.rex.RexNode)">isFalse</a></span>&#8203;(org.apache.calcite.rex.RexNode&nbsp;node)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>protected org.apache.calcite.rex.RexNode</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isNotDistinctFrom(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">isNotDistinctFrom</a></span>&#8203;(org.apache.calcite.rex.RexNode&nbsp;a,
org.apache.calcite.rex.RexNode&nbsp;b)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>protected org.apache.calcite.rex.RexNode</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isNotFalse(org.apache.calcite.rex.RexNode)">isNotFalse</a></span>&#8203;(org.apache.calcite.rex.RexNode&nbsp;node)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>protected org.apache.calcite.rex.RexNode</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isNotNull(org.apache.calcite.rex.RexNode)">isNotNull</a></span>&#8203;(org.apache.calcite.rex.RexNode&nbsp;node)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>protected org.apache.calcite.rex.RexNode</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isNotTrue(org.apache.calcite.rex.RexNode)">isNotTrue</a></span>&#8203;(org.apache.calcite.rex.RexNode&nbsp;node)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>protected org.apache.calcite.rex.RexNode</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isNull(org.apache.calcite.rex.RexNode)">isNull</a></span>&#8203;(org.apache.calcite.rex.RexNode&nbsp;node)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>protected org.apache.calcite.rex.RexNode</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isTrue(org.apache.calcite.rex.RexNode)">isTrue</a></span>&#8203;(org.apache.calcite.rex.RexNode&nbsp;node)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code>protected org.apache.calcite.rex.RexNode</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isUnknown(org.apache.calcite.rex.RexNode)">isUnknown</a></span>&#8203;(org.apache.calcite.rex.RexNode&nbsp;node)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code>protected org.apache.calcite.rex.RexNode</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#le(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">le</a></span>&#8203;(org.apache.calcite.rex.RexNode&nbsp;n1,
org.apache.calcite.rex.RexNode&nbsp;n2)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code>protected org.apache.calcite.rex.RexNode</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#literal(boolean)">literal</a></span>&#8203;(boolean&nbsp;value)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code>protected org.apache.calcite.rex.RexNode</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#literal(int)">literal</a></span>&#8203;(int&nbsp;value)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code>protected org.apache.calcite.rex.RexNode</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#literal(java.lang.Boolean)">literal</a></span>&#8203;(java.lang.Boolean&nbsp;value)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><code>protected org.apache.calcite.rex.RexNode</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#literal(java.lang.Integer)">literal</a></span>&#8203;(java.lang.Integer&nbsp;value)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i31" class="rowColor">
<td class="colFirst"><code>protected org.apache.calcite.rex.RexNode</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#literal(java.lang.String)">literal</a></span>&#8203;(java.lang.String&nbsp;value)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i32" class="altColor">
<td class="colFirst"><code>protected org.apache.calcite.rex.RexNode</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#literal(java.math.BigDecimal)">literal</a></span>&#8203;(java.math.BigDecimal&nbsp;value)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i33" class="rowColor">
<td class="colFirst"><code>protected org.apache.calcite.rex.RexNode</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#literal(java.math.BigDecimal,org.apache.calcite.rel.type.RelDataType)">literal</a></span>&#8203;(java.math.BigDecimal&nbsp;value,
org.apache.calcite.rel.type.RelDataType&nbsp;type)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i34" class="altColor">
<td class="colFirst"><code>protected org.apache.calcite.rex.RexNode</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#lt(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">lt</a></span>&#8203;(org.apache.calcite.rex.RexNode&nbsp;n1,
org.apache.calcite.rex.RexNode&nbsp;n2)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i35" class="rowColor">
<td class="colFirst"><code>protected org.apache.calcite.rex.RexNode</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#mul(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">mul</a></span>&#8203;(org.apache.calcite.rex.RexNode&nbsp;n1,
org.apache.calcite.rex.RexNode&nbsp;n2)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i36" class="altColor">
<td class="colFirst"><code>protected org.apache.calcite.rex.RexNode</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#ne(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">ne</a></span>&#8203;(org.apache.calcite.rex.RexNode&nbsp;n1,
org.apache.calcite.rex.RexNode&nbsp;n2)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i37" class="rowColor">
<td class="colFirst"><code>protected org.apache.calcite.rex.RexNode</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#not(org.apache.calcite.rex.RexNode)">not</a></span>&#8203;(org.apache.calcite.rex.RexNode&nbsp;node)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i38" class="altColor">
<td class="colFirst"><code>protected org.apache.calcite.rex.RexLiteral</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#null_(org.apache.calcite.rel.type.RelDataType)">null_</a></span>&#8203;(org.apache.calcite.rel.type.RelDataType&nbsp;type)</code></th>
<td class="colLast">
<div class="block">Creates null literal with given type.</div>
</td>
</tr>
<tr id="i39" class="rowColor">
<td class="colFirst"><code>protected org.apache.calcite.rel.type.RelDataType</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#nullable(org.apache.calcite.rel.type.RelDataType)">nullable</a></span>&#8203;(org.apache.calcite.rel.type.RelDataType&nbsp;type)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i40" class="altColor">
<td class="colFirst"><code>protected org.apache.calcite.rex.RexNode</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#nullIf(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">nullIf</a></span>&#8203;(org.apache.calcite.rex.RexNode&nbsp;node1,
org.apache.calcite.rex.RexNode&nbsp;node2)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i41" class="rowColor">
<td class="colFirst"><code>protected org.apache.calcite.rex.RexNode</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#or(java.lang.Iterable)">or</a></span>&#8203;(java.lang.Iterable&lt;? extends org.apache.calcite.rex.RexNode&gt;&nbsp;nodes)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i42" class="altColor">
<td class="colFirst"><code>protected org.apache.calcite.rex.RexNode</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#or(org.apache.calcite.rex.RexNode...)">or</a></span>&#8203;(org.apache.calcite.rex.RexNode...&nbsp;nodes)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i43" class="rowColor">
<td class="colFirst"><code>protected org.apache.calcite.rex.RexNode</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#plus(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">plus</a></span>&#8203;(org.apache.calcite.rex.RexNode&nbsp;n1,
org.apache.calcite.rex.RexNode&nbsp;n2)</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="#setUp()">setUp</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i45" class="rowColor">
<td class="colFirst"><code>protected org.apache.calcite.rex.RexNode</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#sub(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">sub</a></span>&#8203;(org.apache.calcite.rex.RexNode&nbsp;n1,
org.apache.calcite.rex.RexNode&nbsp;n2)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i46" class="altColor">
<td class="colFirst"><code>protected org.apache.calcite.rel.type.RelDataType</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#tBoolean()">tBoolean</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i47" class="rowColor">
<td class="colFirst"><code>protected org.apache.calcite.rel.type.RelDataType</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#tBoolean(boolean)">tBoolean</a></span>&#8203;(boolean&nbsp;nullable)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i48" class="altColor">
<td class="colFirst"><code>protected org.apache.calcite.rel.type.RelDataType</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#tInt()">tInt</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i49" class="rowColor">
<td class="colFirst"><code>protected org.apache.calcite.rel.type.RelDataType</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#tInt(boolean)">tInt</a></span>&#8203;(boolean&nbsp;nullable)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i50" class="altColor">
<td class="colFirst"><code>protected org.apache.calcite.rel.type.RelDataType</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#tVarchar()">tVarchar</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i51" class="rowColor">
<td class="colFirst"><code>protected org.apache.calcite.rel.type.RelDataType</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#tVarchar(boolean)">tVarchar</a></span>&#8203;(boolean&nbsp;nullable)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i52" class="altColor">
<td class="colFirst"><code>protected org.apache.calcite.rex.RexNode</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#unaryMinus(org.apache.calcite.rex.RexNode)">unaryMinus</a></span>&#8203;(org.apache.calcite.rex.RexNode&nbsp;node)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i53" class="rowColor">
<td class="colFirst"><code>protected org.apache.calcite.rex.RexNode</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#unaryPlus(org.apache.calcite.rex.RexNode)">unaryPlus</a></span>&#8203;(org.apache.calcite.rex.RexNode&nbsp;node)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i54" class="altColor">
<td class="colFirst"><code>protected org.apache.calcite.rex.RexNode</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#vBool()">vBool</a></span>()</code></th>
<td class="colLast">
<div class="block">Creates <code>nullable boolean variable</code> with index of 0.</div>
</td>
</tr>
<tr id="i55" class="rowColor">
<td class="colFirst"><code>protected org.apache.calcite.rex.RexNode</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#vBool(int)">vBool</a></span>&#8203;(int&nbsp;arg)</code></th>
<td class="colLast">
<div class="block">Creates <code>nullable boolean variable</code> with index of <code>arg</code> (0-based).</div>
</td>
</tr>
<tr id="i56" class="altColor">
<td class="colFirst"><code>protected org.apache.calcite.rex.RexNode</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#vBoolNotNull()">vBoolNotNull</a></span>()</code></th>
<td class="colLast">
<div class="block">Creates <code>non-nullable boolean variable</code> with index of 0.</div>
</td>
</tr>
<tr id="i57" class="rowColor">
<td class="colFirst"><code>protected org.apache.calcite.rex.RexNode</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#vBoolNotNull(int)">vBoolNotNull</a></span>&#8203;(int&nbsp;arg)</code></th>
<td class="colLast">
<div class="block">Creates <code>non-nullable boolean variable</code> with index of <code>arg</code> (0-based).</div>
</td>
</tr>
<tr id="i58" class="altColor">
<td class="colFirst"><code>protected org.apache.calcite.rex.RexNode</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#vInt()">vInt</a></span>()</code></th>
<td class="colLast">
<div class="block">Creates <code>nullable int variable</code> with index of 0.</div>
</td>
</tr>
<tr id="i59" class="rowColor">
<td class="colFirst"><code>protected org.apache.calcite.rex.RexNode</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#vInt(int)">vInt</a></span>&#8203;(int&nbsp;arg)</code></th>
<td class="colLast">
<div class="block">Creates <code>nullable int variable</code> with index of <code>arg</code> (0-based).</div>
</td>
</tr>
<tr id="i60" class="altColor">
<td class="colFirst"><code>protected org.apache.calcite.rex.RexNode</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#vIntNotNull()">vIntNotNull</a></span>()</code></th>
<td class="colLast">
<div class="block">Creates <code>non-nullable int variable</code> with index of 0.</div>
</td>
</tr>
<tr id="i61" class="rowColor">
<td class="colFirst"><code>protected org.apache.calcite.rex.RexNode</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#vIntNotNull(int)">vIntNotNull</a></span>&#8203;(int&nbsp;arg)</code></th>
<td class="colLast">
<div class="block">Creates <code>non-nullable int variable</code> with index of <code>arg</code> (0-based).</div>
</td>
</tr>
<tr id="i62" class="altColor">
<td class="colFirst"><code>protected org.apache.calcite.rex.RexNode</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#vVarchar()">vVarchar</a></span>()</code></th>
<td class="colLast">
<div class="block">Creates <code>nullable varchar variable</code> with index of 0.</div>
</td>
</tr>
<tr id="i63" class="rowColor">
<td class="colFirst"><code>protected org.apache.calcite.rex.RexNode</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#vVarchar(int)">vVarchar</a></span>&#8203;(int&nbsp;arg)</code></th>
<td class="colLast">
<div class="block">Creates <code>nullable varchar variable</code> with index of <code>arg</code> (0-based).</div>
</td>
</tr>
<tr id="i64" class="altColor">
<td class="colFirst"><code>protected org.apache.calcite.rex.RexNode</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#vVarcharNotNull()">vVarcharNotNull</a></span>()</code></th>
<td class="colLast">
<div class="block">Creates <code>non-nullable varchar variable</code> with index of 0.</div>
</td>
</tr>
<tr id="i65" class="rowColor">
<td class="colFirst"><code>protected org.apache.calcite.rex.RexNode</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#vVarcharNotNull(int)">vVarcharNotNull</a></span>&#8203;(int&nbsp;arg)</code></th>
<td class="colLast">
<div class="block">Creates <code>non-nullable varchar variable</code> with index of <code>arg</code> (0-based).</div>
</td>
</tr>
</table>
<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">
<!-- ============ FIELD DETAIL =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a id="MAX_FIELDS">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>MAX_FIELDS</h4>
<pre>protected static final&nbsp;int MAX_FIELDS</pre>
<div class="block">Input variables for tests should come from a struct type, so
a struct is created where the first <code>MAX_FIELDS</code> are nullable,
and the next <code>MAX_FIELDS</code> are not nullable.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.calcite.test.RexProgramBuilderBase.MAX_FIELDS">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="typeFactory">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>typeFactory</h4>
<pre>protected&nbsp;org.apache.calcite.adapter.java.JavaTypeFactory typeFactory</pre>
</li>
</ul>
<a id="rexBuilder">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>rexBuilder</h4>
<pre>protected&nbsp;org.apache.calcite.rex.RexBuilder rexBuilder</pre>
</li>
</ul>
<a id="executor">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>executor</h4>
<pre>protected&nbsp;org.apache.calcite.rex.RexExecutor executor</pre>
</li>
</ul>
<a id="simplify">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>simplify</h4>
<pre>protected&nbsp;org.apache.calcite.rex.RexSimplify simplify</pre>
</li>
</ul>
<a id="trueLiteral">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>trueLiteral</h4>
<pre>protected&nbsp;org.apache.calcite.rex.RexLiteral trueLiteral</pre>
</li>
</ul>
<a id="falseLiteral">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>falseLiteral</h4>
<pre>protected&nbsp;org.apache.calcite.rex.RexLiteral falseLiteral</pre>
</li>
</ul>
<a id="nullBool">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nullBool</h4>
<pre>protected&nbsp;org.apache.calcite.rex.RexLiteral nullBool</pre>
</li>
</ul>
<a id="nullInt">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nullInt</h4>
<pre>protected&nbsp;org.apache.calcite.rex.RexLiteral nullInt</pre>
</li>
</ul>
<a id="nullVarchar">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nullVarchar</h4>
<pre>protected&nbsp;org.apache.calcite.rex.RexLiteral nullVarchar</pre>
</li>
</ul>
<a id="nullableBool">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nullableBool</h4>
<pre>private&nbsp;org.apache.calcite.rel.type.RelDataType nullableBool</pre>
</li>
</ul>
<a id="nonNullableBool">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nonNullableBool</h4>
<pre>private&nbsp;org.apache.calcite.rel.type.RelDataType nonNullableBool</pre>
</li>
</ul>
<a id="nullableInt">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nullableInt</h4>
<pre>private&nbsp;org.apache.calcite.rel.type.RelDataType nullableInt</pre>
</li>
</ul>
<a id="nonNullableInt">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nonNullableInt</h4>
<pre>private&nbsp;org.apache.calcite.rel.type.RelDataType nonNullableInt</pre>
</li>
</ul>
<a id="nullableVarchar">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nullableVarchar</h4>
<pre>private&nbsp;org.apache.calcite.rel.type.RelDataType nullableVarchar</pre>
</li>
</ul>
<a id="nonNullableVarchar">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nonNullableVarchar</h4>
<pre>private&nbsp;org.apache.calcite.rel.type.RelDataType nonNullableVarchar</pre>
</li>
</ul>
<a id="dynamicParams">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>dynamicParams</h4>
<pre>private&nbsp;java.util.Map&lt;org.apache.calcite.rel.type.RelDataType,&#8203;org.apache.calcite.rex.RexDynamicParam&gt; dynamicParams</pre>
</li>
</ul>
</li>
</ul>
</section>
<!-- ========= 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>RexProgramBuilderBase</h4>
<pre>public&nbsp;RexProgramBuilderBase()</pre>
</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>
</li>
</ul>
<a id="getDynamicParam(org.apache.calcite.rel.type.RelDataType,java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDynamicParam</h4>
<pre class="methodSignature">private&nbsp;org.apache.calcite.rex.RexDynamicParam&nbsp;getDynamicParam&#8203;(org.apache.calcite.rel.type.RelDataType&nbsp;type,
java.lang.String&nbsp;fieldNamePrefix)</pre>
</li>
</ul>
<a id="isNull(org.apache.calcite.rex.RexNode)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isNull</h4>
<pre class="methodSignature">protected&nbsp;org.apache.calcite.rex.RexNode&nbsp;isNull&#8203;(org.apache.calcite.rex.RexNode&nbsp;node)</pre>
</li>
</ul>
<a id="isUnknown(org.apache.calcite.rex.RexNode)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isUnknown</h4>
<pre class="methodSignature">protected&nbsp;org.apache.calcite.rex.RexNode&nbsp;isUnknown&#8203;(org.apache.calcite.rex.RexNode&nbsp;node)</pre>
</li>
</ul>
<a id="isNotNull(org.apache.calcite.rex.RexNode)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isNotNull</h4>
<pre class="methodSignature">protected&nbsp;org.apache.calcite.rex.RexNode&nbsp;isNotNull&#8203;(org.apache.calcite.rex.RexNode&nbsp;node)</pre>
</li>
</ul>
<a id="isFalse(org.apache.calcite.rex.RexNode)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isFalse</h4>
<pre class="methodSignature">protected&nbsp;org.apache.calcite.rex.RexNode&nbsp;isFalse&#8203;(org.apache.calcite.rex.RexNode&nbsp;node)</pre>
</li>
</ul>
<a id="isNotFalse(org.apache.calcite.rex.RexNode)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isNotFalse</h4>
<pre class="methodSignature">protected&nbsp;org.apache.calcite.rex.RexNode&nbsp;isNotFalse&#8203;(org.apache.calcite.rex.RexNode&nbsp;node)</pre>
</li>
</ul>
<a id="isTrue(org.apache.calcite.rex.RexNode)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isTrue</h4>
<pre class="methodSignature">protected&nbsp;org.apache.calcite.rex.RexNode&nbsp;isTrue&#8203;(org.apache.calcite.rex.RexNode&nbsp;node)</pre>
</li>
</ul>
<a id="isNotTrue(org.apache.calcite.rex.RexNode)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isNotTrue</h4>
<pre class="methodSignature">protected&nbsp;org.apache.calcite.rex.RexNode&nbsp;isNotTrue&#8203;(org.apache.calcite.rex.RexNode&nbsp;node)</pre>
</li>
</ul>
<a id="isDistinctFrom(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isDistinctFrom</h4>
<pre class="methodSignature">protected&nbsp;org.apache.calcite.rex.RexNode&nbsp;isDistinctFrom&#8203;(org.apache.calcite.rex.RexNode&nbsp;a,
org.apache.calcite.rex.RexNode&nbsp;b)</pre>
</li>
</ul>
<a id="isNotDistinctFrom(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isNotDistinctFrom</h4>
<pre class="methodSignature">protected&nbsp;org.apache.calcite.rex.RexNode&nbsp;isNotDistinctFrom&#8203;(org.apache.calcite.rex.RexNode&nbsp;a,
org.apache.calcite.rex.RexNode&nbsp;b)</pre>
</li>
</ul>
<a id="nullIf(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nullIf</h4>
<pre class="methodSignature">protected&nbsp;org.apache.calcite.rex.RexNode&nbsp;nullIf&#8203;(org.apache.calcite.rex.RexNode&nbsp;node1,
org.apache.calcite.rex.RexNode&nbsp;node2)</pre>
</li>
</ul>
<a id="not(org.apache.calcite.rex.RexNode)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>not</h4>
<pre class="methodSignature">protected&nbsp;org.apache.calcite.rex.RexNode&nbsp;not&#8203;(org.apache.calcite.rex.RexNode&nbsp;node)</pre>
</li>
</ul>
<a id="unaryMinus(org.apache.calcite.rex.RexNode)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>unaryMinus</h4>
<pre class="methodSignature">protected&nbsp;org.apache.calcite.rex.RexNode&nbsp;unaryMinus&#8203;(org.apache.calcite.rex.RexNode&nbsp;node)</pre>
</li>
</ul>
<a id="unaryPlus(org.apache.calcite.rex.RexNode)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>unaryPlus</h4>
<pre class="methodSignature">protected&nbsp;org.apache.calcite.rex.RexNode&nbsp;unaryPlus&#8203;(org.apache.calcite.rex.RexNode&nbsp;node)</pre>
</li>
</ul>
<a id="and(org.apache.calcite.rex.RexNode...)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>and</h4>
<pre class="methodSignature">protected&nbsp;org.apache.calcite.rex.RexNode&nbsp;and&#8203;(org.apache.calcite.rex.RexNode...&nbsp;nodes)</pre>
</li>
</ul>
<a id="and(java.lang.Iterable)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>and</h4>
<pre class="methodSignature">protected&nbsp;org.apache.calcite.rex.RexNode&nbsp;and&#8203;(java.lang.Iterable&lt;? extends org.apache.calcite.rex.RexNode&gt;&nbsp;nodes)</pre>
</li>
</ul>
<a id="or(org.apache.calcite.rex.RexNode...)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>or</h4>
<pre class="methodSignature">protected&nbsp;org.apache.calcite.rex.RexNode&nbsp;or&#8203;(org.apache.calcite.rex.RexNode...&nbsp;nodes)</pre>
</li>
</ul>
<a id="or(java.lang.Iterable)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>or</h4>
<pre class="methodSignature">protected&nbsp;org.apache.calcite.rex.RexNode&nbsp;or&#8203;(java.lang.Iterable&lt;? extends org.apache.calcite.rex.RexNode&gt;&nbsp;nodes)</pre>
</li>
</ul>
<a id="case_(org.apache.calcite.rex.RexNode...)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>case_</h4>
<pre class="methodSignature">protected&nbsp;org.apache.calcite.rex.RexNode&nbsp;case_&#8203;(org.apache.calcite.rex.RexNode...&nbsp;nodes)</pre>
</li>
</ul>
<a id="case_(java.lang.Iterable)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>case_</h4>
<pre class="methodSignature">protected&nbsp;org.apache.calcite.rex.RexNode&nbsp;case_&#8203;(java.lang.Iterable&lt;? extends org.apache.calcite.rex.RexNode&gt;&nbsp;nodes)</pre>
</li>
</ul>
<a id="abstractCast(org.apache.calcite.rex.RexNode,org.apache.calcite.rel.type.RelDataType)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>abstractCast</h4>
<pre class="methodSignature">protected&nbsp;org.apache.calcite.rex.RexNode&nbsp;abstractCast&#8203;(org.apache.calcite.rex.RexNode&nbsp;e,
org.apache.calcite.rel.type.RelDataType&nbsp;type)</pre>
<div class="block">Creates a call to the CAST operator.
<p>This method enables to create <code>CAST(42 nullable int)</code> expressions.</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>e</code> - input node</dd>
<dd><code>type</code> - type to cast to</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>call to CAST operator</dd>
</dl>
</li>
</ul>
<a id="cast(org.apache.calcite.rex.RexNode,org.apache.calcite.rel.type.RelDataType)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>cast</h4>
<pre class="methodSignature">protected&nbsp;org.apache.calcite.rex.RexNode&nbsp;cast&#8203;(org.apache.calcite.rex.RexNode&nbsp;e,
org.apache.calcite.rel.type.RelDataType&nbsp;type)</pre>
<div class="block">Creates a call to the CAST operator, expanding if possible, and not
preserving nullability.
<p>Tries to expand the cast, and therefore the result may be something
other than a <code>RexCall</code> to the CAST operator, such as a
<code>RexLiteral</code>.</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>e</code> - input node</dd>
<dd><code>type</code> - type to cast to</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>input node converted to given type</dd>
</dl>
</li>
</ul>
<a id="eq(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>eq</h4>
<pre class="methodSignature">protected&nbsp;org.apache.calcite.rex.RexNode&nbsp;eq&#8203;(org.apache.calcite.rex.RexNode&nbsp;n1,
org.apache.calcite.rex.RexNode&nbsp;n2)</pre>
</li>
</ul>
<a id="ne(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ne</h4>
<pre class="methodSignature">protected&nbsp;org.apache.calcite.rex.RexNode&nbsp;ne&#8203;(org.apache.calcite.rex.RexNode&nbsp;n1,
org.apache.calcite.rex.RexNode&nbsp;n2)</pre>
</li>
</ul>
<a id="le(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>le</h4>
<pre class="methodSignature">protected&nbsp;org.apache.calcite.rex.RexNode&nbsp;le&#8203;(org.apache.calcite.rex.RexNode&nbsp;n1,
org.apache.calcite.rex.RexNode&nbsp;n2)</pre>
</li>
</ul>
<a id="lt(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>lt</h4>
<pre class="methodSignature">protected&nbsp;org.apache.calcite.rex.RexNode&nbsp;lt&#8203;(org.apache.calcite.rex.RexNode&nbsp;n1,
org.apache.calcite.rex.RexNode&nbsp;n2)</pre>
</li>
</ul>
<a id="ge(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ge</h4>
<pre class="methodSignature">protected&nbsp;org.apache.calcite.rex.RexNode&nbsp;ge&#8203;(org.apache.calcite.rex.RexNode&nbsp;n1,
org.apache.calcite.rex.RexNode&nbsp;n2)</pre>
</li>
</ul>
<a id="gt(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>gt</h4>
<pre class="methodSignature">protected&nbsp;org.apache.calcite.rex.RexNode&nbsp;gt&#8203;(org.apache.calcite.rex.RexNode&nbsp;n1,
org.apache.calcite.rex.RexNode&nbsp;n2)</pre>
</li>
</ul>
<a id="plus(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>plus</h4>
<pre class="methodSignature">protected&nbsp;org.apache.calcite.rex.RexNode&nbsp;plus&#8203;(org.apache.calcite.rex.RexNode&nbsp;n1,
org.apache.calcite.rex.RexNode&nbsp;n2)</pre>
</li>
</ul>
<a id="mul(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>mul</h4>
<pre class="methodSignature">protected&nbsp;org.apache.calcite.rex.RexNode&nbsp;mul&#8203;(org.apache.calcite.rex.RexNode&nbsp;n1,
org.apache.calcite.rex.RexNode&nbsp;n2)</pre>
</li>
</ul>
<a id="coalesce(org.apache.calcite.rex.RexNode...)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>coalesce</h4>
<pre class="methodSignature">protected&nbsp;org.apache.calcite.rex.RexNode&nbsp;coalesce&#8203;(org.apache.calcite.rex.RexNode...&nbsp;nodes)</pre>
</li>
</ul>
<a id="divInt(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>divInt</h4>
<pre class="methodSignature">protected&nbsp;org.apache.calcite.rex.RexNode&nbsp;divInt&#8203;(org.apache.calcite.rex.RexNode&nbsp;n1,
org.apache.calcite.rex.RexNode&nbsp;n2)</pre>
</li>
</ul>
<a id="div(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>div</h4>
<pre class="methodSignature">protected&nbsp;org.apache.calcite.rex.RexNode&nbsp;div&#8203;(org.apache.calcite.rex.RexNode&nbsp;n1,
org.apache.calcite.rex.RexNode&nbsp;n2)</pre>
</li>
</ul>
<a id="sub(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sub</h4>
<pre class="methodSignature">protected&nbsp;org.apache.calcite.rex.RexNode&nbsp;sub&#8203;(org.apache.calcite.rex.RexNode&nbsp;n1,
org.apache.calcite.rex.RexNode&nbsp;n2)</pre>
</li>
</ul>
<a id="add(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>add</h4>
<pre class="methodSignature">protected&nbsp;org.apache.calcite.rex.RexNode&nbsp;add&#8203;(org.apache.calcite.rex.RexNode&nbsp;n1,
org.apache.calcite.rex.RexNode&nbsp;n2)</pre>
</li>
</ul>
<a id="in(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode...)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>in</h4>
<pre class="methodSignature">protected&nbsp;org.apache.calcite.rex.RexNode&nbsp;in&#8203;(org.apache.calcite.rex.RexNode&nbsp;node,
org.apache.calcite.rex.RexNode...&nbsp;nodes)</pre>
<div class="block">Generates <code>x IN (y, z)</code> expression when called as <code>in(x, y, z)</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>node</code> - left side of the IN expression</dd>
<dd><code>nodes</code> - nodes in the right side of IN expression</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>IN expression</dd>
</dl>
</li>
</ul>
<a id="nullable(org.apache.calcite.rel.type.RelDataType)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nullable</h4>
<pre class="methodSignature">protected&nbsp;org.apache.calcite.rel.type.RelDataType&nbsp;nullable&#8203;(org.apache.calcite.rel.type.RelDataType&nbsp;type)</pre>
</li>
</ul>
<a id="tVarchar()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>tVarchar</h4>
<pre class="methodSignature">protected&nbsp;org.apache.calcite.rel.type.RelDataType&nbsp;tVarchar()</pre>
</li>
</ul>
<a id="tVarchar(boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>tVarchar</h4>
<pre class="methodSignature">protected&nbsp;org.apache.calcite.rel.type.RelDataType&nbsp;tVarchar&#8203;(boolean&nbsp;nullable)</pre>
</li>
</ul>
<a id="tBoolean()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>tBoolean</h4>
<pre class="methodSignature">protected&nbsp;org.apache.calcite.rel.type.RelDataType&nbsp;tBoolean()</pre>
</li>
</ul>
<a id="tBoolean(boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>tBoolean</h4>
<pre class="methodSignature">protected&nbsp;org.apache.calcite.rel.type.RelDataType&nbsp;tBoolean&#8203;(boolean&nbsp;nullable)</pre>
</li>
</ul>
<a id="tInt()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>tInt</h4>
<pre class="methodSignature">protected&nbsp;org.apache.calcite.rel.type.RelDataType&nbsp;tInt()</pre>
</li>
</ul>
<a id="tInt(boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>tInt</h4>
<pre class="methodSignature">protected&nbsp;org.apache.calcite.rel.type.RelDataType&nbsp;tInt&#8203;(boolean&nbsp;nullable)</pre>
</li>
</ul>
<a id="null_(org.apache.calcite.rel.type.RelDataType)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>null_</h4>
<pre class="methodSignature">protected&nbsp;org.apache.calcite.rex.RexLiteral&nbsp;null_&#8203;(org.apache.calcite.rel.type.RelDataType&nbsp;type)</pre>
<div class="block">Creates null literal with given type.
For instance: <code>null_(tInt())</code></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>type</code> - type of required null</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>null literal of a given type</dd>
</dl>
</li>
</ul>
<a id="literal(boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>literal</h4>
<pre class="methodSignature">protected&nbsp;org.apache.calcite.rex.RexNode&nbsp;literal&#8203;(boolean&nbsp;value)</pre>
</li>
</ul>
<a id="literal(java.lang.Boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>literal</h4>
<pre class="methodSignature">protected&nbsp;org.apache.calcite.rex.RexNode&nbsp;literal&#8203;(java.lang.Boolean&nbsp;value)</pre>
</li>
</ul>
<a id="literal(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>literal</h4>
<pre class="methodSignature">protected&nbsp;org.apache.calcite.rex.RexNode&nbsp;literal&#8203;(int&nbsp;value)</pre>
</li>
</ul>
<a id="literal(java.math.BigDecimal)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>literal</h4>
<pre class="methodSignature">protected&nbsp;org.apache.calcite.rex.RexNode&nbsp;literal&#8203;(java.math.BigDecimal&nbsp;value)</pre>
</li>
</ul>
<a id="literal(java.math.BigDecimal,org.apache.calcite.rel.type.RelDataType)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>literal</h4>
<pre class="methodSignature">protected&nbsp;org.apache.calcite.rex.RexNode&nbsp;literal&#8203;(java.math.BigDecimal&nbsp;value,
org.apache.calcite.rel.type.RelDataType&nbsp;type)</pre>
</li>
</ul>
<a id="literal(java.lang.Integer)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>literal</h4>
<pre class="methodSignature">protected&nbsp;org.apache.calcite.rex.RexNode&nbsp;literal&#8203;(java.lang.Integer&nbsp;value)</pre>
</li>
</ul>
<a id="literal(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>literal</h4>
<pre class="methodSignature">protected&nbsp;org.apache.calcite.rex.RexNode&nbsp;literal&#8203;(java.lang.String&nbsp;value)</pre>
</li>
</ul>
<a id="input(org.apache.calcite.rel.type.RelDataType,int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>input</h4>
<pre class="methodSignature">protected&nbsp;org.apache.calcite.rex.RexNode&nbsp;input&#8203;(org.apache.calcite.rel.type.RelDataType&nbsp;type,
int&nbsp;arg)</pre>
<div class="block">Generates input ref with given type and index.
<p>Prefer <a href="#vBool()"><code>vBool()</code></a>, <a href="#vInt()"><code>vInt()</code></a> and so on.
<p>The problem with "input refs" is <code>input(tInt(), 0).toString()</code>
yields <code>$0</code>, so the type of the expression is not printed, and it
makes it hard to analyze the expressions.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>type</code> - desired type of the node</dd>
<dd><code>arg</code> - argument index (0-based)</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>input ref with given type and index</dd>
</dl>
</li>
</ul>
<a id="assertArgValue(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>assertArgValue</h4>
<pre class="methodSignature">private&nbsp;void&nbsp;assertArgValue&#8203;(int&nbsp;arg)</pre>
</li>
</ul>
<a id="vBool()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>vBool</h4>
<pre class="methodSignature">protected&nbsp;org.apache.calcite.rex.RexNode&nbsp;vBool()</pre>
<div class="block">Creates <code>nullable boolean variable</code> with index of 0.
If you need several distinct variables, use <a href="#vBool(int)"><code>vBool(int)</code></a></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>nullable boolean variable with index of 0</dd>
</dl>
</li>
</ul>
<a id="vBool(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>vBool</h4>
<pre class="methodSignature">protected&nbsp;org.apache.calcite.rex.RexNode&nbsp;vBool&#8203;(int&nbsp;arg)</pre>
<div class="block">Creates <code>nullable boolean variable</code> with index of <code>arg</code> (0-based).
The resulting node would look like <code>?0.bool3</code> if <code>arg</code> is <code>3</code>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>nullable boolean variable with given index (0-based)</dd>
</dl>
</li>
</ul>
<a id="vBoolNotNull()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>vBoolNotNull</h4>
<pre class="methodSignature">protected&nbsp;org.apache.calcite.rex.RexNode&nbsp;vBoolNotNull()</pre>
<div class="block">Creates <code>non-nullable boolean variable</code> with index of 0.
If you need several distinct variables, use <a href="#vBoolNotNull(int)"><code>vBoolNotNull(int)</code></a>.
The resulting node would look like <code>?0.notNullBool0</code></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>non-nullable boolean variable with index of 0</dd>
</dl>
</li>
</ul>
<a id="vBoolNotNull(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>vBoolNotNull</h4>
<pre class="methodSignature">protected&nbsp;org.apache.calcite.rex.RexNode&nbsp;vBoolNotNull&#8203;(int&nbsp;arg)</pre>
<div class="block">Creates <code>non-nullable boolean variable</code> with index of <code>arg</code> (0-based).
The resulting node would look like <code>?0.notNullBool3</code> if <code>arg</code> is <code>3</code>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>non-nullable boolean variable with given index (0-based)</dd>
</dl>
</li>
</ul>
<a id="vInt()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>vInt</h4>
<pre class="methodSignature">protected&nbsp;org.apache.calcite.rex.RexNode&nbsp;vInt()</pre>
<div class="block">Creates <code>nullable int variable</code> with index of 0.
If you need several distinct variables, use <a href="#vInt(int)"><code>vInt(int)</code></a>.
The resulting node would look like <code>?0.notNullInt0</code></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>nullable int variable with index of 0</dd>
</dl>
</li>
</ul>
<a id="vInt(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>vInt</h4>
<pre class="methodSignature">protected&nbsp;org.apache.calcite.rex.RexNode&nbsp;vInt&#8203;(int&nbsp;arg)</pre>
<div class="block">Creates <code>nullable int variable</code> with index of <code>arg</code> (0-based).
The resulting node would look like <code>?0.int3</code> if <code>arg</code> is <code>3</code>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>nullable int variable with given index (0-based)</dd>
</dl>
</li>
</ul>
<a id="vIntNotNull()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>vIntNotNull</h4>
<pre class="methodSignature">protected&nbsp;org.apache.calcite.rex.RexNode&nbsp;vIntNotNull()</pre>
<div class="block">Creates <code>non-nullable int variable</code> with index of 0.
If you need several distinct variables, use <a href="#vIntNotNull(int)"><code>vIntNotNull(int)</code></a>.
The resulting node would look like <code>?0.notNullInt0</code></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>non-nullable int variable with index of 0</dd>
</dl>
</li>
</ul>
<a id="vIntNotNull(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>vIntNotNull</h4>
<pre class="methodSignature">protected&nbsp;org.apache.calcite.rex.RexNode&nbsp;vIntNotNull&#8203;(int&nbsp;arg)</pre>
<div class="block">Creates <code>non-nullable int variable</code> with index of <code>arg</code> (0-based).
The resulting node would look like <code>?0.notNullInt3</code> if <code>arg</code> is <code>3</code>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>non-nullable int variable with given index (0-based)</dd>
</dl>
</li>
</ul>
<a id="vVarchar()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>vVarchar</h4>
<pre class="methodSignature">protected&nbsp;org.apache.calcite.rex.RexNode&nbsp;vVarchar()</pre>
<div class="block">Creates <code>nullable varchar variable</code> with index of 0.
If you need several distinct variables, use <a href="#vVarchar(int)"><code>vVarchar(int)</code></a>.
The resulting node would look like <code>?0.notNullVarchar0</code></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>nullable varchar variable with index of 0</dd>
</dl>
</li>
</ul>
<a id="vVarchar(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>vVarchar</h4>
<pre class="methodSignature">protected&nbsp;org.apache.calcite.rex.RexNode&nbsp;vVarchar&#8203;(int&nbsp;arg)</pre>
<div class="block">Creates <code>nullable varchar variable</code> with index of <code>arg</code> (0-based).
The resulting node would look like <code>?0.varchar3</code> if <code>arg</code> is <code>3</code>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>nullable varchar variable with given index (0-based)</dd>
</dl>
</li>
</ul>
<a id="vVarcharNotNull()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>vVarcharNotNull</h4>
<pre class="methodSignature">protected&nbsp;org.apache.calcite.rex.RexNode&nbsp;vVarcharNotNull()</pre>
<div class="block">Creates <code>non-nullable varchar variable</code> with index of 0.
If you need several distinct variables, use <a href="#vVarcharNotNull(int)"><code>vVarcharNotNull(int)</code></a>.
The resulting node would look like <code>?0.notNullVarchar0</code></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>non-nullable varchar variable with index of 0</dd>
</dl>
</li>
</ul>
<a id="vVarcharNotNull(int)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>vVarcharNotNull</h4>
<pre class="methodSignature">protected&nbsp;org.apache.calcite.rex.RexNode&nbsp;vVarcharNotNull&#8203;(int&nbsp;arg)</pre>
<div class="block">Creates <code>non-nullable varchar variable</code> with index of <code>arg</code> (0-based).
The resulting node would look like <code>?0.notNullVarchar3</code> if <code>arg</code> is <code>3</code>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>non-nullable varchar variable with given index (0-based)</dd>
</dl>
</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/RexProgramBuilderBase.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><a href="#nested.class.summary">Nested</a>&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><a href="#field.detail">Field</a>&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>