blob: bfe99e5efdef9853025dd98d2c19e4a55896f140 [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>PigRelBuilder (Apache Calcite 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="PigRelBuilder (Apache Calcite API)";
}
}
catch(err) {
}
//-->
var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":9,"i6":10,"i7":9,"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};
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/PigRelBuilder.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.piglet</a></div>
<h2 title="Class PigRelBuilder" class="title">Class PigRelBuilder</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li><a href="../tools/RelBuilder.html" title="class in org.apache.calcite.tools">org.apache.calcite.tools.RelBuilder</a></li>
<li>
<ul class="inheritance">
<li>org.apache.calcite.piglet.PigRelBuilder</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<pre>public class <span class="typeNameLabel">PigRelBuilder</span>
extends <a href="../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></pre>
<div class="block">Extension to <a href="../tools/RelBuilder.html" title="class in org.apache.calcite.tools"><code>RelBuilder</code></a> for Pig logical operators.</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>class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="PigRelBuilder.PigRelTranslationContext.html" title="class in org.apache.calcite.piglet">PigRelBuilder.PigRelTranslationContext</a></span></code></th>
<td class="colLast">
<div class="block">Context constructed during Pig-to-<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel"><code>RelNode</code></a> translation process.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="nested.classes.inherited.from.class.org.apache.calcite.tools.RelBuilder">
<!-- -->
</a>
<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.calcite.tools.<a href="../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></h3>
<code><a href="../tools/RelBuilder.AggCall.html" title="interface in org.apache.calcite.tools">RelBuilder.AggCall</a>, <a href="../tools/RelBuilder.Config.html" title="class in org.apache.calcite.tools">RelBuilder.Config</a>, <a href="../tools/RelBuilder.ConfigBuilder.html" title="class in org.apache.calcite.tools">RelBuilder.ConfigBuilder</a>, <a href="../tools/RelBuilder.GroupKey.html" title="interface in org.apache.calcite.tools">RelBuilder.GroupKey</a>, <a href="../tools/RelBuilder.GroupKeyImpl.html" title="class in org.apache.calcite.tools">RelBuilder.GroupKeyImpl</a></code></li>
</ul>
</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;java.lang.String,&#8203;<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#aliasMap">aliasMap</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#nextCorrelId">nextCorrelId</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="PigRelBuilder.PigRelTranslationContext.html" title="class in org.apache.calcite.piglet">PigRelBuilder.PigRelTranslationContext</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#pigRelContext">pigRelContext</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private java.util.Map&lt;org.apache.pig.newplan.Operator,&#8203;<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#pigRelMap">pigRelMap</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private java.util.Map&lt;<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;org.apache.pig.newplan.Operator&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#relPigMap">relPigMap</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private java.util.Map&lt;<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;java.lang.String&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#reverseAliasMap">reverseAliasMap</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private java.util.Map&lt;java.lang.String,&#8203;<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#storeMap">storeMap</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="fields.inherited.from.class.org.apache.calcite.tools.RelBuilder">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.calcite.tools.<a href="../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></h3>
<code><a href="../tools/RelBuilder.html#cluster">cluster</a>, <a href="../tools/RelBuilder.html#relOptSchema">relOptSchema</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">Modifier</th>
<th class="colSecond" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private </code></td>
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(org.apache.calcite.plan.Context,org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelOptSchema)">PigRelBuilder</a></span>&#8203;(<a href="../plan/Context.html" title="interface in org.apache.calcite.plan">Context</a>&nbsp;context,
<a href="../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../plan/RelOptSchema.html" title="interface in org.apache.calcite.plan">RelOptSchema</a>&nbsp;relOptSchema)</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="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><a href="../tools/RelBuilder.AggCall.html" title="interface in org.apache.calcite.tools">RelBuilder.AggCall</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#aggregateCall(org.apache.calcite.sql.SqlAggFunction,java.lang.String,org.apache.calcite.rex.RexNode...)">aggregateCall</a></span>&#8203;(<a href="../sql/SqlAggFunction.html" title="class in org.apache.calcite.sql">SqlAggFunction</a>&nbsp;aggFunction,
java.lang.String&nbsp;alias,
<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>...&nbsp;operands)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkMap(org.apache.pig.newplan.logical.relational.LogicalRelationalOperator)">checkMap</a></span>&#8203;(org.apache.pig.newplan.logical.relational.LogicalRelationalOperator&nbsp;pigOp)</code></th>
<td class="colLast">
<div class="block">Checks if a Pig logical operator has been translated before.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#clear()">clear</a></span>()</code></th>
<td class="colLast">
<div class="block">Clears the stack.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#cogroup(java.lang.Iterable)">cogroup</a></span>&#8203;(java.lang.Iterable&lt;? extends <a href="../tools/RelBuilder.GroupKey.html" title="interface in org.apache.calcite.tools">RelBuilder.GroupKey</a>&gt;&nbsp;groupKeys)</code></th>
<td class="colLast">
<div class="block">Cogroups relations on top of the stack.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#collect()">collect</a></span>()</code></th>
<td class="colLast">
<div class="block">Collects all rows of the top rel into a single multiset value.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#compatibleType(org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.type.RelDataType)">compatibleType</a></span>&#8203;(<a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;t1,
<a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;t2)</code></th>
<td class="colLast">
<div class="block">Checks if two relational data types are compatible.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#correl(java.util.List,org.apache.calcite.rel.core.CorrelationId)">correl</a></span>&#8203;(java.util.List&lt;<a href="../rel/type/RelDataTypeField.html" title="interface in org.apache.calcite.rel.type">RelDataTypeField</a>&gt;&nbsp;inputFields,
<a href="../rel/core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&nbsp;correlId)</code></th>
<td class="colLast">
<div class="block">Makes the correlated expression from rel input fields and correlation id.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>static <a href="PigRelBuilder.html" title="class in org.apache.calcite.piglet">PigRelBuilder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#create(org.apache.calcite.tools.FrameworkConfig)">create</a></span>&#8203;(<a href="../tools/FrameworkConfig.html" title="interface in org.apache.calcite.tools">FrameworkConfig</a>&nbsp;config)</code></th>
<td class="colLast">
<div class="block">Creates a PigRelBuilder.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#dot(org.apache.calcite.rex.RexNode,java.lang.Object)">dot</a></span>&#8203;(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;node,
java.lang.Object&nbsp;field)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getAlias()">getAlias</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>(package private) java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getAlias(org.apache.calcite.rel.RelNode)">getAlias</a></span>&#8203;(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>com.google.common.collect.ImmutableList&lt;<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getFields(int,int,int)">getFields</a></span>&#8203;(int&nbsp;inputCount,
int&nbsp;inputOrdinal,
int&nbsp;fieldOrdinal)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>(package private) org.apache.pig.newplan.Operator</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getPig(org.apache.calcite.rel.RelNode)">getPig</a></span>&#8203;(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code><a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getRel(java.lang.String)">getRel</a></span>&#8203;(java.lang.String&nbsp;alias)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code><a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getRel(org.apache.pig.newplan.Operator)">getRel</a></span>&#8203;(org.apache.pig.newplan.Operator&nbsp;pig)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>java.util.List&lt;<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getRelsForStores()">getRelsForStores</a></span>()</code></th>
<td class="colLast">
<div class="block">Gets all relational plans corresponding to Pig Store operators.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code><a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#literal(java.lang.Object,org.apache.calcite.rel.type.RelDataType)">literal</a></span>&#8203;(java.lang.Object&nbsp;value,
<a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;type)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code><a href="../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#multiSetFlatten()">multiSetFlatten</a></span>()</code></th>
<td class="colLast">
<div class="block">Flattens the top relation will all multiset columns.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code><a href="../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#multiSetFlatten(java.util.List,java.util.List)">multiSetFlatten</a></span>&#8203;(java.util.List&lt;java.lang.Integer&gt;&nbsp;flattenCols,
java.util.List&lt;java.lang.String&gt;&nbsp;flattenOutputAliases)</code></th>
<td class="colLast">
<div class="block">Flattens the top relation on provided columns.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>(package private) <a href="../rel/core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#nextCorrelId()">nextCorrelId</a></span>()</code></th>
<td class="colLast">
<div class="block">Gets the next correlation id.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code><a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#project(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.type.RelDataType)">project</a></span>&#8203;(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;outputType)</code></th>
<td class="colLast">
<div class="block">Projects a specific row type out of a relation algebra operator.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>private java.util.List&lt;<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#projects(org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.type.RelDataType)">projects</a></span>&#8203;(<a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;inputType,
<a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;outputType)</code></th>
<td class="colLast">
<div class="block">Builds the projection expressions for a data type on top of an input data type.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>(package private) void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#register(org.apache.pig.newplan.logical.relational.LogicalRelationalOperator)">register</a></span>&#8203;(org.apache.pig.newplan.logical.relational.LogicalRelationalOperator&nbsp;pigOp)</code></th>
<td class="colLast">
<div class="block">Registers the Pig logical operator with the top relational algebra node.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>(package private) void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#registerPigUDF(java.lang.String,org.apache.pig.FuncSpec)">registerPigUDF</a></span>&#8203;(java.lang.String&nbsp;className,
org.apache.pig.FuncSpec&nbsp;pigFunc)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>(package private) void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#replaceTop(org.apache.calcite.rel.RelNode)">replaceTop</a></span>&#8203;(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;newRel)</code></th>
<td class="colLast">
<div class="block">Replaces the relational algebra operator at the top of the stack with
a new one.</div>
</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code>private <a href="../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#scan(org.apache.calcite.plan.RelOptTable)">scan</a></span>&#8203;(<a href="../plan/RelOptTable.html" title="interface in org.apache.calcite.plan">RelOptTable</a>&nbsp;tableSchema)</code></th>
<td class="colLast">
<div class="block">Scans a table with a given schema.</div>
</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code><a href="../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#scan(org.apache.calcite.plan.RelOptTable,java.lang.String...)">scan</a></span>&#8203;(<a href="../plan/RelOptTable.html" title="interface in org.apache.calcite.plan">RelOptTable</a>&nbsp;userSchema,
java.lang.String...&nbsp;tableNames)</code></th>
<td class="colLast">
<div class="block">Scans a table with its given schema and names.</div>
</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code><a href="../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#scan(org.apache.calcite.rel.type.RelDataType,java.lang.String...)">scan</a></span>&#8203;(<a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType,
java.lang.String...&nbsp;tableNames)</code></th>
<td class="colLast">
<div class="block">Makes a table scan operator for a given row type and names</div>
</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code><a href="../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#scan(org.apache.calcite.rel.type.RelDataType,java.util.List)">scan</a></span>&#8203;(<a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType,
java.util.List&lt;java.lang.String&gt;&nbsp;tableNames)</code></th>
<td class="colLast">
<div class="block">Makes a table scan operator for a given row type and names</div>
</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code>protected boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#shouldMergeProject()">shouldMergeProject</a></span>()</code></th>
<td class="colLast">
<div class="block">Whether to attempt to merge consecutive <a href="../rel/core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> operators.</div>
</td>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><code>(package private) <a href="../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#store(java.lang.String)">store</a></span>&#8203;(java.lang.String&nbsp;storeAlias)</code></th>
<td class="colLast">
<div class="block">Save the store alias with the corresponding relational algebra node</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="#updateAlias(org.apache.pig.newplan.Operator,java.lang.String,boolean)">updateAlias</a></span>&#8203;(org.apache.pig.newplan.Operator&nbsp;pigOp,
java.lang.String&nbsp;alias,
boolean&nbsp;updatePigRelMap)</code></th>
<td class="colLast">
<div class="block">Updates the Pig logical operator and its alias with the top
relational algebra node.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.apache.calcite.tools.RelBuilder">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.calcite.tools.<a href="../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></h3>
<code><a href="../tools/RelBuilder.html#aggregate(org.apache.calcite.tools.RelBuilder.GroupKey,java.lang.Iterable)">aggregate</a>, <a href="../tools/RelBuilder.html#aggregate(org.apache.calcite.tools.RelBuilder.GroupKey,java.util.List)">aggregate</a>, <a href="../tools/RelBuilder.html#aggregate(org.apache.calcite.tools.RelBuilder.GroupKey,org.apache.calcite.tools.RelBuilder.AggCall...)">aggregate</a>, <a href="../tools/RelBuilder.html#aggregateCall(org.apache.calcite.sql.SqlAggFunction,boolean,boolean,boolean,org.apache.calcite.rex.RexNode,com.google.common.collect.ImmutableList,java.lang.String,com.google.common.collect.ImmutableList)">aggregateCall</a>, <a href="../tools/RelBuilder.html#aggregateCall(org.apache.calcite.sql.SqlAggFunction,boolean,boolean,org.apache.calcite.rex.RexNode,java.lang.String,java.lang.Iterable)">aggregateCall</a>, <a href="../tools/RelBuilder.html#aggregateCall(org.apache.calcite.sql.SqlAggFunction,boolean,boolean,org.apache.calcite.rex.RexNode,java.lang.String,org.apache.calcite.rex.RexNode...)">aggregateCall</a>, <a href="../tools/RelBuilder.html#aggregateCall(org.apache.calcite.sql.SqlAggFunction,boolean,org.apache.calcite.rex.RexNode,java.lang.String,java.lang.Iterable)">aggregateCall</a>, <a href="../tools/RelBuilder.html#aggregateCall(org.apache.calcite.sql.SqlAggFunction,boolean,org.apache.calcite.rex.RexNode,java.lang.String,org.apache.calcite.rex.RexNode...)">aggregateCall</a>, <a href="../tools/RelBuilder.html#aggregateCall(org.apache.calcite.sql.SqlAggFunction,java.lang.Iterable)">aggregateCall</a>, <a href="../tools/RelBuilder.html#aggregateCall(org.apache.calcite.sql.SqlAggFunction,org.apache.calcite.rex.RexNode...)">aggregateCall</a>, <a href="../tools/RelBuilder.html#alias(org.apache.calcite.rex.RexNode,java.lang.String)">alias</a>, <a href="../tools/RelBuilder.html#and(java.lang.Iterable)">and</a>, <a href="../tools/RelBuilder.html#and(org.apache.calcite.rex.RexNode...)">and</a>, <a href="../tools/RelBuilder.html#antiJoin(java.lang.Iterable)">antiJoin</a>, <a href="../tools/RelBuilder.html#antiJoin(org.apache.calcite.rex.RexNode...)">antiJoin</a>, <a href="../tools/RelBuilder.html#as(java.lang.String)">as</a>, <a href="../tools/RelBuilder.html#avg(boolean,java.lang.String,org.apache.calcite.rex.RexNode)">avg</a>, <a href="../tools/RelBuilder.html#avg(org.apache.calcite.rex.RexNode)">avg</a>, <a href="../tools/RelBuilder.html#build()">build</a>, <a href="../tools/RelBuilder.html#call(org.apache.calcite.sql.SqlOperator,java.lang.Iterable)">call</a>, <a href="../tools/RelBuilder.html#call(org.apache.calcite.sql.SqlOperator,org.apache.calcite.rex.RexNode...)">call</a>, <a href="../tools/RelBuilder.html#cast(org.apache.calcite.rex.RexNode,org.apache.calcite.sql.type.SqlTypeName)">cast</a>, <a href="../tools/RelBuilder.html#cast(org.apache.calcite.rex.RexNode,org.apache.calcite.sql.type.SqlTypeName,int)">cast</a>, <a href="../tools/RelBuilder.html#cast(org.apache.calcite.rex.RexNode,org.apache.calcite.sql.type.SqlTypeName,int,int)">cast</a>, <a href="../tools/RelBuilder.html#convert(org.apache.calcite.rel.type.RelDataType,boolean)">convert</a>, <a href="../tools/RelBuilder.html#correlate(org.apache.calcite.rel.core.JoinRelType,org.apache.calcite.rel.core.CorrelationId,java.lang.Iterable)">correlate</a>, <a href="../tools/RelBuilder.html#correlate(org.apache.calcite.rel.core.JoinRelType,org.apache.calcite.rel.core.CorrelationId,org.apache.calcite.rex.RexNode...)">correlate</a>, <a href="../tools/RelBuilder.html#count(boolean,java.lang.String,java.lang.Iterable)">count</a>, <a href="../tools/RelBuilder.html#count(boolean,java.lang.String,org.apache.calcite.rex.RexNode...)">count</a>, <a href="../tools/RelBuilder.html#count(java.lang.Iterable)">count</a>, <a href="../tools/RelBuilder.html#count(org.apache.calcite.rex.RexNode...)">count</a>, <a href="../tools/RelBuilder.html#countStar(java.lang.String)">countStar</a>, <a href="../tools/RelBuilder.html#cursor(int,int)">cursor</a>, <a href="../tools/RelBuilder.html#desc(org.apache.calcite.rex.RexNode)">desc</a>, <a href="../tools/RelBuilder.html#distinct()">distinct</a>, <a href="../tools/RelBuilder.html#dot(org.apache.calcite.rex.RexNode,int)">dot</a>, <a href="../tools/RelBuilder.html#dot(org.apache.calcite.rex.RexNode,java.lang.String)">dot</a>, <a href="../tools/RelBuilder.html#empty()">empty</a>, <a href="../tools/RelBuilder.html#equals(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">equals</a>, <a href="../tools/RelBuilder.html#exchange(org.apache.calcite.rel.RelDistribution)">exchange</a>, <a href="../tools/RelBuilder.html#field(int)">field</a>, <a href="../tools/RelBuilder.html#field(int,int,int)">field</a>, <a href="../tools/RelBuilder.html#field(int,int,java.lang.String)">field</a>, <a href="../tools/RelBuilder.html#field(int,java.lang.String,java.lang.String)">field</a>, <a href="../tools/RelBuilder.html#field(java.lang.String)">field</a>, <a href="../tools/RelBuilder.html#field(java.lang.String,java.lang.String)">field</a>, <a href="../tools/RelBuilder.html#field(org.apache.calcite.rex.RexNode,java.lang.String)">field</a>, <a href="../tools/RelBuilder.html#fields()">fields</a>, <a href="../tools/RelBuilder.html#fields(int,int)">fields</a>, <a href="../tools/RelBuilder.html#fields(java.lang.Iterable)">fields</a>, <a href="../tools/RelBuilder.html#fields(java.util.List)">fields</a>, <a href="../tools/RelBuilder.html#fields(org.apache.calcite.rel.RelCollation)">fields</a>, <a href="../tools/RelBuilder.html#fields(org.apache.calcite.util.mapping.Mappings.TargetMapping)">fields</a>, <a href="../tools/RelBuilder.html#filter(java.lang.Iterable)">filter</a>, <a href="../tools/RelBuilder.html#filter(java.lang.Iterable,java.lang.Iterable)">filter</a>, <a href="../tools/RelBuilder.html#filter(java.lang.Iterable,org.apache.calcite.rex.RexNode...)">filter</a>, <a href="../tools/RelBuilder.html#filter(org.apache.calcite.rex.RexNode...)">filter</a>, <a href="../tools/RelBuilder.html#functionScan(org.apache.calcite.sql.SqlOperator,int,java.lang.Iterable)">functionScan</a>, <a href="../tools/RelBuilder.html#functionScan(org.apache.calcite.sql.SqlOperator,int,org.apache.calcite.rex.RexNode...)">functionScan</a>, <a href="../tools/RelBuilder.html#getCluster()">getCluster</a>, <a href="../tools/RelBuilder.html#getRelOptSchema()">getRelOptSchema</a>, <a href="../tools/RelBuilder.html#getRexBuilder()">getRexBuilder</a>, <a href="../tools/RelBuilder.html#getScanFactory()">getScanFactory</a>, <a href="../tools/RelBuilder.html#getTypeFactory()">getTypeFactory</a>, <a href="../tools/RelBuilder.html#groupKey()">groupKey</a>, <a href="../tools/RelBuilder.html#groupKey(int...)">groupKey</a>, <a href="../tools/RelBuilder.html#groupKey(java.lang.Iterable)">groupKey</a>, <a href="../tools/RelBuilder.html#groupKey(java.lang.Iterable,boolean,java.lang.Iterable)">groupKey</a>, <a href="../tools/RelBuilder.html#groupKey(java.lang.Iterable,java.lang.Iterable)">groupKey</a>, <a href="../tools/RelBuilder.html#groupKey(java.lang.String...)">groupKey</a>, <a href="../tools/RelBuilder.html#groupKey(org.apache.calcite.rex.RexNode...)">groupKey</a>, <a href="../tools/RelBuilder.html#groupKey(org.apache.calcite.util.ImmutableBitSet)">groupKey</a>, <a href="../tools/RelBuilder.html#groupKey(org.apache.calcite.util.ImmutableBitSet,boolean,com.google.common.collect.ImmutableList)">groupKey</a>, <a href="../tools/RelBuilder.html#groupKey(org.apache.calcite.util.ImmutableBitSet,com.google.common.collect.ImmutableList)">groupKey</a>, <a href="../tools/RelBuilder.html#groupKey(org.apache.calcite.util.ImmutableBitSet,java.lang.Iterable)">groupKey</a>, <a href="../tools/RelBuilder.html#intersect(boolean)">intersect</a>, <a href="../tools/RelBuilder.html#intersect(boolean,int)">intersect</a>, <a href="../tools/RelBuilder.html#isNotNull(org.apache.calcite.rex.RexNode)">isNotNull</a>, <a href="../tools/RelBuilder.html#isNull(org.apache.calcite.rex.RexNode)">isNull</a>, <a href="../tools/RelBuilder.html#join(org.apache.calcite.rel.core.JoinRelType,java.lang.Iterable)">join</a>, <a href="../tools/RelBuilder.html#join(org.apache.calcite.rel.core.JoinRelType,java.lang.String...)">join</a>, <a href="../tools/RelBuilder.html#join(org.apache.calcite.rel.core.JoinRelType,org.apache.calcite.rex.RexNode)">join</a>, <a href="../tools/RelBuilder.html#join(org.apache.calcite.rel.core.JoinRelType,org.apache.calcite.rex.RexNode,java.util.Set)">join</a>, <a href="../tools/RelBuilder.html#join(org.apache.calcite.rel.core.JoinRelType,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode...)">join</a>, <a href="../tools/RelBuilder.html#limit(int,int)">limit</a>, <a href="../tools/RelBuilder.html#literal(java.lang.Object)">literal</a>, <a href="../tools/RelBuilder.html#match(org.apache.calcite.rex.RexNode,boolean,boolean,java.util.Map,java.lang.Iterable,org.apache.calcite.rex.RexNode,java.util.Map,boolean,java.lang.Iterable,java.lang.Iterable,org.apache.calcite.rex.RexNode)">match</a>, <a href="../tools/RelBuilder.html#max(java.lang.String,org.apache.calcite.rex.RexNode)">max</a>, <a href="../tools/RelBuilder.html#max(org.apache.calcite.rex.RexNode)">max</a>, <a href="../tools/RelBuilder.html#min(java.lang.String,org.apache.calcite.rex.RexNode)">min</a>, <a href="../tools/RelBuilder.html#min(org.apache.calcite.rex.RexNode)">min</a>, <a href="../tools/RelBuilder.html#minus(boolean)">minus</a>, <a href="../tools/RelBuilder.html#minus(boolean,int)">minus</a>, <a href="../tools/RelBuilder.html#not(org.apache.calcite.rex.RexNode)">not</a>, <a href="../tools/RelBuilder.html#notEquals(org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)">notEquals</a>, <a href="../tools/RelBuilder.html#nullsFirst(org.apache.calcite.rex.RexNode)">nullsFirst</a>, <a href="../tools/RelBuilder.html#nullsLast(org.apache.calcite.rex.RexNode)">nullsLast</a>, <a href="../tools/RelBuilder.html#or(java.lang.Iterable)">or</a>, <a href="../tools/RelBuilder.html#or(org.apache.calcite.rex.RexNode...)">or</a>, <a href="../tools/RelBuilder.html#patternAlter(java.lang.Iterable)">patternAlter</a>, <a href="../tools/RelBuilder.html#patternAlter(org.apache.calcite.rex.RexNode...)">patternAlter</a>, <a href="../tools/RelBuilder.html#patternConcat(java.lang.Iterable)">patternConcat</a>, <a href="../tools/RelBuilder.html#patternConcat(org.apache.calcite.rex.RexNode...)">patternConcat</a>, <a href="../tools/RelBuilder.html#patternExclude(org.apache.calcite.rex.RexNode)">patternExclude</a>, <a href="../tools/RelBuilder.html#patternField(java.lang.String,org.apache.calcite.rel.type.RelDataType,int)">patternField</a>, <a href="../tools/RelBuilder.html#patternPermute(java.lang.Iterable)">patternPermute</a>, <a href="../tools/RelBuilder.html#patternPermute(org.apache.calcite.rex.RexNode...)">patternPermute</a>, <a href="../tools/RelBuilder.html#patternQuantify(java.lang.Iterable)">patternQuantify</a>, <a href="../tools/RelBuilder.html#patternQuantify(org.apache.calcite.rex.RexNode...)">patternQuantify</a>, <a href="../tools/RelBuilder.html#peek()">peek</a>, <a href="../tools/RelBuilder.html#peek(int)">peek</a>, <a href="../tools/RelBuilder.html#peek(int,int)">peek</a>, <a href="../tools/RelBuilder.html#permute(org.apache.calcite.util.mapping.Mapping)">permute</a>, <a href="../tools/RelBuilder.html#project(java.lang.Iterable)">project</a>, <a href="../tools/RelBuilder.html#project(java.lang.Iterable,java.lang.Iterable)">project</a>, <a href="../tools/RelBuilder.html#project(java.lang.Iterable,java.lang.Iterable,boolean)">project</a>, <a href="../tools/RelBuilder.html#project(org.apache.calcite.rex.RexNode...)">project</a>, <a href="../tools/RelBuilder.html#projectNamed(java.lang.Iterable,java.lang.Iterable,boolean)">projectNamed</a>, <a href="../tools/RelBuilder.html#projectPlus(java.lang.Iterable)">projectPlus</a>, <a href="../tools/RelBuilder.html#projectPlus(org.apache.calcite.rex.RexNode...)">projectPlus</a>, <a href="../tools/RelBuilder.html#proto(java.lang.Object...)">proto</a>, <a href="../tools/RelBuilder.html#proto(org.apache.calcite.plan.Context)">proto</a>, <a href="../tools/RelBuilder.html#push(org.apache.calcite.rel.RelNode)">push</a>, <a href="../tools/RelBuilder.html#pushAll(java.lang.Iterable)">pushAll</a>, <a href="../tools/RelBuilder.html#rename(java.util.List)">rename</a>, <a href="../tools/RelBuilder.html#repeatUnion(java.lang.String,boolean)">repeatUnion</a>, <a href="../tools/RelBuilder.html#repeatUnion(java.lang.String,boolean,int)">repeatUnion</a>, <a href="../tools/RelBuilder.html#scan(java.lang.Iterable)">scan</a>, <a href="../tools/RelBuilder.html#scan(java.lang.String...)">scan</a>, <a href="../tools/RelBuilder.html#semiJoin(java.lang.Iterable)">semiJoin</a>, <a href="../tools/RelBuilder.html#semiJoin(org.apache.calcite.rex.RexNode...)">semiJoin</a>, <a href="../tools/RelBuilder.html#snapshot(org.apache.calcite.rex.RexNode)">snapshot</a>, <a href="../tools/RelBuilder.html#sort(int...)">sort</a>, <a href="../tools/RelBuilder.html#sort(java.lang.Iterable)">sort</a>, <a href="../tools/RelBuilder.html#sort(org.apache.calcite.rex.RexNode...)">sort</a>, <a href="../tools/RelBuilder.html#sortExchange(org.apache.calcite.rel.RelDistribution,org.apache.calcite.rel.RelCollation)">sortExchange</a>, <a href="../tools/RelBuilder.html#sortLimit(int,int,java.lang.Iterable)">sortLimit</a>, <a href="../tools/RelBuilder.html#sortLimit(int,int,org.apache.calcite.rex.RexNode...)">sortLimit</a>, <a href="../tools/RelBuilder.html#sum(boolean,java.lang.String,org.apache.calcite.rex.RexNode)">sum</a>, <a href="../tools/RelBuilder.html#sum(org.apache.calcite.rex.RexNode)">sum</a>, <a href="../tools/RelBuilder.html#toString()">toString</a>, <a href="../tools/RelBuilder.html#transientScan(java.lang.String)">transientScan</a>, <a href="../tools/RelBuilder.html#transientScan(java.lang.String,org.apache.calcite.rel.type.RelDataType)">transientScan</a>, <a href="../tools/RelBuilder.html#union(boolean)">union</a>, <a href="../tools/RelBuilder.html#union(boolean,int)">union</a>, <a href="../tools/RelBuilder.html#values(java.lang.Iterable,org.apache.calcite.rel.type.RelDataType)">values</a>, <a href="../tools/RelBuilder.html#values(java.lang.String%5B%5D,java.lang.Object...)">values</a>, <a href="../tools/RelBuilder.html#values(org.apache.calcite.rel.type.RelDataType)">values</a>, <a href="../tools/RelBuilder.html#values(org.apache.calcite.rel.type.RelDataType,java.lang.Object...)">values</a>, <a href="../tools/RelBuilder.html#variable(org.apache.calcite.util.Holder)">variable</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, 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="reverseAliasMap">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>reverseAliasMap</h4>
<pre>private final&nbsp;java.util.Map&lt;<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;java.lang.String&gt; reverseAliasMap</pre>
</li>
</ul>
<a id="aliasMap">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>aliasMap</h4>
<pre>private final&nbsp;java.util.Map&lt;java.lang.String,&#8203;<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt; aliasMap</pre>
</li>
</ul>
<a id="pigRelMap">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>pigRelMap</h4>
<pre>private final&nbsp;java.util.Map&lt;org.apache.pig.newplan.Operator,&#8203;<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt; pigRelMap</pre>
</li>
</ul>
<a id="relPigMap">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>relPigMap</h4>
<pre>private final&nbsp;java.util.Map&lt;<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>,&#8203;org.apache.pig.newplan.Operator&gt; relPigMap</pre>
</li>
</ul>
<a id="storeMap">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>storeMap</h4>
<pre>private final&nbsp;java.util.Map&lt;java.lang.String,&#8203;<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt; storeMap</pre>
</li>
</ul>
<a id="nextCorrelId">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nextCorrelId</h4>
<pre>private&nbsp;int nextCorrelId</pre>
</li>
</ul>
<a id="pigRelContext">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>pigRelContext</h4>
<pre>private final&nbsp;<a href="PigRelBuilder.PigRelTranslationContext.html" title="class in org.apache.calcite.piglet">PigRelBuilder.PigRelTranslationContext</a> pigRelContext</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;(org.apache.calcite.plan.Context,org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelOptSchema)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>PigRelBuilder</h4>
<pre>private&nbsp;PigRelBuilder&#8203;(<a href="../plan/Context.html" title="interface in org.apache.calcite.plan">Context</a>&nbsp;context,
<a href="../plan/RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a>&nbsp;cluster,
<a href="../plan/RelOptSchema.html" title="interface in org.apache.calcite.plan">RelOptSchema</a>&nbsp;relOptSchema)</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="create(org.apache.calcite.tools.FrameworkConfig)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>create</h4>
<pre class="methodSignature">public static&nbsp;<a href="PigRelBuilder.html" title="class in org.apache.calcite.piglet">PigRelBuilder</a>&nbsp;create&#8203;(<a href="../tools/FrameworkConfig.html" title="interface in org.apache.calcite.tools">FrameworkConfig</a>&nbsp;config)</pre>
<div class="block">Creates a PigRelBuilder.</div>
</li>
</ul>
<a id="getRel(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRel</h4>
<pre class="methodSignature">public&nbsp;<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;getRel&#8203;(java.lang.String&nbsp;alias)</pre>
</li>
</ul>
<a id="getRel(org.apache.pig.newplan.Operator)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRel</h4>
<pre class="methodSignature">public&nbsp;<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;getRel&#8203;(org.apache.pig.newplan.Operator&nbsp;pig)</pre>
</li>
</ul>
<a id="getPig(org.apache.calcite.rel.RelNode)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPig</h4>
<pre class="methodSignature">org.apache.pig.newplan.Operator&nbsp;getPig&#8203;(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</pre>
</li>
</ul>
<a id="getAlias(org.apache.calcite.rel.RelNode)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAlias</h4>
<pre class="methodSignature">java.lang.String&nbsp;getAlias&#8203;(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;rel)</pre>
</li>
</ul>
<a id="nextCorrelId()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nextCorrelId</h4>
<pre class="methodSignature"><a href="../rel/core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&nbsp;nextCorrelId()</pre>
<div class="block">Gets the next correlation id.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The correlation id</dd>
</dl>
</li>
</ul>
<a id="shouldMergeProject()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>shouldMergeProject</h4>
<pre class="methodSignature">protected&nbsp;boolean&nbsp;shouldMergeProject()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../tools/RelBuilder.html#shouldMergeProject()">RelBuilder</a></code></span></div>
<div class="block">Whether to attempt to merge consecutive <a href="../rel/core/Project.html" title="class in org.apache.calcite.rel.core"><code>Project</code></a> operators.
<p>The default implementation returns <code>true</code>;
sub-classes may disable merge by overriding to return <code>false</code>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../tools/RelBuilder.html#shouldMergeProject()">shouldMergeProject</a></code>&nbsp;in class&nbsp;<code><a href="../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></dd>
</dl>
</li>
</ul>
<a id="getAlias()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAlias</h4>
<pre class="methodSignature">public&nbsp;java.lang.String&nbsp;getAlias()</pre>
</li>
</ul>
<a id="clear()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>clear</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;clear()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../tools/RelBuilder.html#clear()">RelBuilder</a></code></span></div>
<div class="block">Clears the stack.
<p>The builder's state is now the same as when it was created.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../tools/RelBuilder.html#clear()">clear</a></code>&nbsp;in class&nbsp;<code><a href="../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a></code></dd>
</dl>
</li>
</ul>
<a id="checkMap(org.apache.pig.newplan.logical.relational.LogicalRelationalOperator)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkMap</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;checkMap&#8203;(org.apache.pig.newplan.logical.relational.LogicalRelationalOperator&nbsp;pigOp)</pre>
<div class="block">Checks if a Pig logical operator has been translated before. If it has,
push the corresponding relational algebra operator on top instead of
doing the translation work again.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>pigOp</code> - The Pig logical operator to check.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true iff the pigOp has been processed before.</dd>
</dl>
</li>
</ul>
<a id="updateAlias(org.apache.pig.newplan.Operator,java.lang.String,boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>updateAlias</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;updateAlias&#8203;(org.apache.pig.newplan.Operator&nbsp;pigOp,
java.lang.String&nbsp;alias,
boolean&nbsp;updatePigRelMap)</pre>
<div class="block">Updates the Pig logical operator and its alias with the top
relational algebra node.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>pigOp</code> - the Pig logical operator</dd>
<dd><code>alias</code> - the alias</dd>
<dd><code>updatePigRelMap</code> - whether to update the PigRelMap</dd>
</dl>
</li>
</ul>
<a id="register(org.apache.pig.newplan.logical.relational.LogicalRelationalOperator)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>register</h4>
<pre class="methodSignature">void&nbsp;register&#8203;(org.apache.pig.newplan.logical.relational.LogicalRelationalOperator&nbsp;pigOp)</pre>
<div class="block">Registers the Pig logical operator with the top relational algebra node.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>pigOp</code> - the Pig logical operator</dd>
</dl>
</li>
</ul>
<a id="registerPigUDF(java.lang.String,org.apache.pig.FuncSpec)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>registerPigUDF</h4>
<pre class="methodSignature">void&nbsp;registerPigUDF&#8203;(java.lang.String&nbsp;className,
org.apache.pig.FuncSpec&nbsp;pigFunc)</pre>
</li>
</ul>
<a id="replaceTop(org.apache.calcite.rel.RelNode)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>replaceTop</h4>
<pre class="methodSignature">void&nbsp;replaceTop&#8203;(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;newRel)</pre>
<div class="block">Replaces the relational algebra operator at the top of the stack with
a new one.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>newRel</code> - the new relational algebra operator to replace</dd>
</dl>
</li>
</ul>
<a id="scan(org.apache.calcite.plan.RelOptTable,java.lang.String...)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>scan</h4>
<pre class="methodSignature">public&nbsp;<a href="../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;scan&#8203;(<a href="../plan/RelOptTable.html" title="interface in org.apache.calcite.plan">RelOptTable</a>&nbsp;userSchema,
java.lang.String...&nbsp;tableNames)</pre>
<div class="block">Scans a table with its given schema and names.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>userSchema</code> - The schema of the table to scan</dd>
<dd><code>tableNames</code> - The names of the table to scan</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This builder</dd>
</dl>
</li>
</ul>
<a id="scan(org.apache.calcite.plan.RelOptTable)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>scan</h4>
<pre class="methodSignature">private&nbsp;<a href="../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;scan&#8203;(<a href="../plan/RelOptTable.html" title="interface in org.apache.calcite.plan">RelOptTable</a>&nbsp;tableSchema)</pre>
<div class="block">Scans a table with a given schema.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>tableSchema</code> - The table schema</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This builder</dd>
</dl>
</li>
</ul>
<a id="scan(org.apache.calcite.rel.type.RelDataType,java.lang.String...)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>scan</h4>
<pre class="methodSignature">public&nbsp;<a href="../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;scan&#8203;(<a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType,
java.lang.String...&nbsp;tableNames)</pre>
<div class="block">Makes a table scan operator for a given row type and names</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>rowType</code> - Row type</dd>
<dd><code>tableNames</code> - Table names</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This builder</dd>
</dl>
</li>
</ul>
<a id="scan(org.apache.calcite.rel.type.RelDataType,java.util.List)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>scan</h4>
<pre class="methodSignature">public&nbsp;<a href="../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;scan&#8203;(<a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;rowType,
java.util.List&lt;java.lang.String&gt;&nbsp;tableNames)</pre>
<div class="block">Makes a table scan operator for a given row type and names</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>rowType</code> - Row type</dd>
<dd><code>tableNames</code> - Table names</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This builder</dd>
</dl>
</li>
</ul>
<a id="project(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.type.RelDataType)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>project</h4>
<pre class="methodSignature">public&nbsp;<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;project&#8203;(<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
<a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;outputType)</pre>
<div class="block">Projects a specific row type out of a relation algebra operator.
For any field in output type, if there is no matching input field, we project
null value of the corresponding output field type.
<p>For example, given:
<ul>
<li>Input rel <code>A</code> with <code>A_type(X: int, Y: varchar)</code>
<li>Output type <code>B_type(X: int, Y: varchar, Z: boolean, W: double)</code>
</ul>
<p><code>project(A, B_type)</code> gives new relation
<code>C(X: int, Y: varchar, null, null)</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>input</code> - The relation algebra operator to be projected</dd>
<dd><code>outputType</code> - The data type for the projected relation algebra operator</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The projected relation algebra operator</dd>
</dl>
</li>
</ul>
<a id="projects(org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.type.RelDataType)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>projects</h4>
<pre class="methodSignature">private&nbsp;java.util.List&lt;<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;projects&#8203;(<a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;inputType,
<a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;outputType)</pre>
<div class="block">Builds the projection expressions for a data type on top of an input data type.
For any field in output type, if there is no matching input field, we build
the literal null expression with the corresponding output field type.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>inputType</code> - The input data type</dd>
<dd><code>outputType</code> - The output data type that defines the types of projection expressions</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>List of projection expressions</dd>
</dl>
</li>
</ul>
<a id="aggregateCall(org.apache.calcite.sql.SqlAggFunction,java.lang.String,org.apache.calcite.rex.RexNode...)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>aggregateCall</h4>
<pre class="methodSignature">public&nbsp;<a href="../tools/RelBuilder.AggCall.html" title="interface in org.apache.calcite.tools">RelBuilder.AggCall</a>&nbsp;aggregateCall&#8203;(<a href="../sql/SqlAggFunction.html" title="class in org.apache.calcite.sql">SqlAggFunction</a>&nbsp;aggFunction,
java.lang.String&nbsp;alias,
<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>...&nbsp;operands)</pre>
</li>
</ul>
<a id="cogroup(java.lang.Iterable)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>cogroup</h4>
<pre class="methodSignature">public&nbsp;<a href="../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;cogroup&#8203;(java.lang.Iterable&lt;? extends <a href="../tools/RelBuilder.GroupKey.html" title="interface in org.apache.calcite.tools">RelBuilder.GroupKey</a>&gt;&nbsp;groupKeys)</pre>
<div class="block">Cogroups relations on top of the stack. The number of relations and the
group key are specified in groupKeys</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>groupKeys</code> - Lists of group keys of relations to be cogrouped.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This builder</dd>
</dl>
</li>
</ul>
<a id="multiSetFlatten(java.util.List,java.util.List)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>multiSetFlatten</h4>
<pre class="methodSignature">public&nbsp;<a href="../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;multiSetFlatten&#8203;(java.util.List&lt;java.lang.Integer&gt;&nbsp;flattenCols,
java.util.List&lt;java.lang.String&gt;&nbsp;flattenOutputAliases)</pre>
<div class="block">Flattens the top relation on provided columns.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>flattenCols</code> - Indexes of columns to be flattened. These columns should have multiset type.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This builder</dd>
</dl>
</li>
</ul>
<a id="multiSetFlatten()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>multiSetFlatten</h4>
<pre class="methodSignature">public&nbsp;<a href="../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;multiSetFlatten()</pre>
<div class="block">Flattens the top relation will all multiset columns. Call this method only if
the top relation contains multiset columns only.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This builder.</dd>
</dl>
</li>
</ul>
<a id="correl(java.util.List,org.apache.calcite.rel.core.CorrelationId)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>correl</h4>
<pre class="methodSignature">public&nbsp;<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;correl&#8203;(java.util.List&lt;<a href="../rel/type/RelDataTypeField.html" title="interface in org.apache.calcite.rel.type">RelDataTypeField</a>&gt;&nbsp;inputFields,
<a href="../rel/core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&nbsp;correlId)</pre>
<div class="block">Makes the correlated expression from rel input fields and correlation id.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>inputFields</code> - Rel input field list</dd>
<dd><code>correlId</code> - Correlation id</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This builder</dd>
</dl>
</li>
</ul>
<a id="collect()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>collect</h4>
<pre class="methodSignature">public&nbsp;<a href="../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;collect()</pre>
<div class="block">Collects all rows of the top rel into a single multiset value.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This builder</dd>
</dl>
</li>
</ul>
<a id="dot(org.apache.calcite.rex.RexNode,java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dot</h4>
<pre class="methodSignature">public&nbsp;<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;dot&#8203;(<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;node,
java.lang.Object&nbsp;field)</pre>
</li>
</ul>
<a id="literal(java.lang.Object,org.apache.calcite.rel.type.RelDataType)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>literal</h4>
<pre class="methodSignature">public&nbsp;<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;literal&#8203;(java.lang.Object&nbsp;value,
<a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;type)</pre>
</li>
</ul>
<a id="store(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>store</h4>
<pre class="methodSignature"><a href="../tools/RelBuilder.html" title="class in org.apache.calcite.tools">RelBuilder</a>&nbsp;store&#8203;(java.lang.String&nbsp;storeAlias)</pre>
<div class="block">Save the store alias with the corresponding relational algebra node</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>storeAlias</code> - alias of the Pig store operator</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This builder</dd>
</dl>
</li>
</ul>
<a id="getRelsForStores()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRelsForStores</h4>
<pre class="methodSignature">public&nbsp;java.util.List&lt;<a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;getRelsForStores()</pre>
<div class="block">Gets all relational plans corresponding to Pig Store operators.</div>
</li>
</ul>
<a id="getFields(int,int,int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFields</h4>
<pre class="methodSignature">public&nbsp;com.google.common.collect.ImmutableList&lt;<a href="../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;getFields&#8203;(int&nbsp;inputCount,
int&nbsp;inputOrdinal,
int&nbsp;fieldOrdinal)</pre>
</li>
</ul>
<a id="compatibleType(org.apache.calcite.rel.type.RelDataType,org.apache.calcite.rel.type.RelDataType)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>compatibleType</h4>
<pre class="methodSignature">public static&nbsp;boolean&nbsp;compatibleType&#8203;(<a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;t1,
<a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a>&nbsp;t2)</pre>
<div class="block">Checks if two relational data types are compatible.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>t1</code> - first type</dd>
<dd><code>t2</code> - second type</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if t1 is compatible with t2</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/PigRelBuilder.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>