blob: c860cd2780637aa078ecf2690792570941761ecc [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_181-google-v7) on Mon Jan 27 16:42:32 PST 2020 -->
<title>BeamRelNode (Apache Beam 2.20.0-SNAPSHOT)</title>
<meta name="date" content="2020-01-27">
<link rel="stylesheet" type="text/css" href="../../../../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="BeamRelNode (Apache Beam 2.20.0-SNAPSHOT)";
}
}
catch(err) {
}
//-->
var methods = {"i0":6,"i1":6,"i2":6,"i3":18,"i4":18,"i5":18};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],16:["t5","Default Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../../../org/apache/beam/sdk/extensions/sql/impl/rel/BeamPushDownIOSourceRel.html" title="class in org.apache.beam.sdk.extensions.sql.impl.rel"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../../../org/apache/beam/sdk/extensions/sql/impl/rel/BeamSetOperatorRelBase.html" title="class in org.apache.beam.sdk.extensions.sql.impl.rel"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../../../index.html?org/apache/beam/sdk/extensions/sql/impl/rel/BeamRelNode.html" target="_top">Frames</a></li>
<li><a href="BeamRelNode.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></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>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.beam.sdk.extensions.sql.impl.rel</div>
<h2 title="Interface BeamRelNode" class="title">Interface BeamRelNode</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd>java.lang.Cloneable, org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.rel.RelNode, org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.plan.RelOptNode</dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><a href="../../../../../../../../org/apache/beam/sdk/extensions/sql/impl/rel/AbstractBeamCalcRel.html" title="class in org.apache.beam.sdk.extensions.sql.impl.rel">AbstractBeamCalcRel</a>, <a href="../../../../../../../../org/apache/beam/sdk/extensions/sql/impl/rel/BeamAggregationRel.html" title="class in org.apache.beam.sdk.extensions.sql.impl.rel">BeamAggregationRel</a>, <a href="../../../../../../../../org/apache/beam/sdk/extensions/sql/impl/rel/BeamCalcRel.html" title="class in org.apache.beam.sdk.extensions.sql.impl.rel">BeamCalcRel</a>, <a href="../../../../../../../../org/apache/beam/sdk/extensions/sql/impl/rel/BeamCoGBKJoinRel.html" title="class in org.apache.beam.sdk.extensions.sql.impl.rel">BeamCoGBKJoinRel</a>, <a href="../../../../../../../../org/apache/beam/sdk/extensions/sql/impl/rel/BeamIntersectRel.html" title="class in org.apache.beam.sdk.extensions.sql.impl.rel">BeamIntersectRel</a>, <a href="../../../../../../../../org/apache/beam/sdk/extensions/sql/impl/rel/BeamIOSinkRel.html" title="class in org.apache.beam.sdk.extensions.sql.impl.rel">BeamIOSinkRel</a>, <a href="../../../../../../../../org/apache/beam/sdk/extensions/sql/impl/rel/BeamIOSourceRel.html" title="class in org.apache.beam.sdk.extensions.sql.impl.rel">BeamIOSourceRel</a>, <a href="../../../../../../../../org/apache/beam/sdk/extensions/sql/impl/rel/BeamJoinRel.html" title="class in org.apache.beam.sdk.extensions.sql.impl.rel">BeamJoinRel</a>, <a href="../../../../../../../../org/apache/beam/sdk/extensions/sql/impl/rel/BeamMinusRel.html" title="class in org.apache.beam.sdk.extensions.sql.impl.rel">BeamMinusRel</a>, <a href="../../../../../../../../org/apache/beam/sdk/extensions/sql/impl/rel/BeamPushDownIOSourceRel.html" title="class in org.apache.beam.sdk.extensions.sql.impl.rel">BeamPushDownIOSourceRel</a>, <a href="../../../../../../../../org/apache/beam/sdk/extensions/sql/impl/rel/BeamSideInputJoinRel.html" title="class in org.apache.beam.sdk.extensions.sql.impl.rel">BeamSideInputJoinRel</a>, <a href="../../../../../../../../org/apache/beam/sdk/extensions/sql/impl/rel/BeamSideInputLookupJoinRel.html" title="class in org.apache.beam.sdk.extensions.sql.impl.rel">BeamSideInputLookupJoinRel</a>, <a href="../../../../../../../../org/apache/beam/sdk/extensions/sql/impl/rel/BeamSortRel.html" title="class in org.apache.beam.sdk.extensions.sql.impl.rel">BeamSortRel</a>, <a href="../../../../../../../../org/apache/beam/sdk/extensions/sql/impl/rel/BeamUncollectRel.html" title="class in org.apache.beam.sdk.extensions.sql.impl.rel">BeamUncollectRel</a>, <a href="../../../../../../../../org/apache/beam/sdk/extensions/sql/impl/rel/BeamUnionRel.html" title="class in org.apache.beam.sdk.extensions.sql.impl.rel">BeamUnionRel</a>, <a href="../../../../../../../../org/apache/beam/sdk/extensions/sql/impl/rel/BeamUnnestRel.html" title="class in org.apache.beam.sdk.extensions.sql.impl.rel">BeamUnnestRel</a>, <a href="../../../../../../../../org/apache/beam/sdk/extensions/sql/impl/rel/BeamValuesRel.html" title="class in org.apache.beam.sdk.extensions.sql.impl.rel">BeamValuesRel</a>, <a href="../../../../../../../../org/apache/beam/sdk/extensions/sql/zetasql/BeamZetaSqlCalcRel.html" title="class in org.apache.beam.sdk.extensions.sql.zetasql">BeamZetaSqlCalcRel</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="typeNameLabel">BeamRelNode</span>
extends org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.rel.RelNode</pre>
<div class="block">A <code>RelNode</code> that can also give a <a href="../../../../../../../../org/apache/beam/sdk/transforms/PTransform.html" title="class in org.apache.beam.sdk.transforms"><code>PTransform</code></a> that implements the expression.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<ul class="blockList">
<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.rel.RelNode">
<!-- -->
</a>
<h3>Nested classes/interfaces inherited from interface&nbsp;org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.rel.RelNode</h3>
<code>org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.rel.RelNode.Context</code></li>
</ul>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<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="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t5" class="tableTab"><span><a href="javascript:show(16);">Default Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="../../../../../../../../org/apache/beam/sdk/extensions/sql/impl/planner/BeamCostModel.html" title="class in org.apache.beam.sdk.extensions.sql.impl.planner">BeamCostModel</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/beam/sdk/extensions/sql/impl/rel/BeamRelNode.html#beamComputeSelfCost-org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.plan.RelOptPlanner-org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.rel.metadata.RelMetadataQuery-">beamComputeSelfCost</a></span>(org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.plan.RelOptPlanner&nbsp;planner,
org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.rel.metadata.RelMetadataQuery&nbsp;mq)</code>
<div class="block">This method is called by <code>org.apache.beam.sdk.extensions.sql.impl.CalciteQueryPlanner.NonCumulativeCostImpl</code>.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="../../../../../../../../org/apache/beam/sdk/transforms/PTransform.html" title="class in org.apache.beam.sdk.transforms">PTransform</a>&lt;<a href="../../../../../../../../org/apache/beam/sdk/values/PCollectionList.html" title="class in org.apache.beam.sdk.values">PCollectionList</a>&lt;<a href="../../../../../../../../org/apache/beam/sdk/values/Row.html" title="class in org.apache.beam.sdk.values">Row</a>&gt;,<a href="../../../../../../../../org/apache/beam/sdk/values/PCollection.html" title="class in org.apache.beam.sdk.values">PCollection</a>&lt;<a href="../../../../../../../../org/apache/beam/sdk/values/Row.html" title="class in org.apache.beam.sdk.values">Row</a>&gt;&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/beam/sdk/extensions/sql/impl/rel/BeamRelNode.html#buildPTransform--">buildPTransform</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="../../../../../../../../org/apache/beam/sdk/extensions/sql/impl/planner/NodeStats.html" title="class in org.apache.beam.sdk.extensions.sql.impl.planner">NodeStats</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/beam/sdk/extensions/sql/impl/rel/BeamRelNode.html#estimateNodeStats-org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.rel.metadata.RelMetadataQuery-">estimateNodeStats</a></span>(org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.rel.metadata.RelMetadataQuery&nbsp;mq)</code>
<div class="block">This method is called by <code>org.apache.beam.sdk.extensions.sql.impl.planner.RelMdNodeStats</code>.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>default java.util.List&lt;org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.rel.RelNode&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/beam/sdk/extensions/sql/impl/rel/BeamRelNode.html#getPCollectionInputs--">getPCollectionInputs</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>default java.util.Map&lt;java.lang.String,java.lang.String&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/beam/sdk/extensions/sql/impl/rel/BeamRelNode.html#getPipelineOptions--">getPipelineOptions</a></span>()</code>
<div class="block">Perform a DFS(Depth-First-Search) to find the PipelineOptions config.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>default <a href="../../../../../../../../org/apache/beam/sdk/values/PCollection.IsBounded.html" title="enum in org.apache.beam.sdk.values">PCollection.IsBounded</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/beam/sdk/extensions/sql/impl/rel/BeamRelNode.html#isBounded--">isBounded</a></span>()</code>
<div class="block">Whether the collection of rows represented by this relational expression is bounded (known to
be finite) or unbounded (may or may not be finite).</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.rel.RelNode">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.rel.RelNode</h3>
<code>accept, accept, childrenAccept, collectVariablesSet, collectVariablesUsed, computeSelfCost, computeSelfCost, copy, estimateRowCount, explain, getChildExps, getCollationList, getConvention, getCorrelVariable, getExpectedInputRowType, getInput, getInputs, getQuery, getRelTypeName, getRows, getRowType, getTable, getVariablesSet, getVariablesStopped, isDistinct, isKey, isValid, isValid, metadata, onRegister, recomputeDigest, register, replaceInput</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.plan.RelOptNode">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.plan.RelOptNode</h3>
<code>getCluster, getDescription, getDigest, getId, getTraitSet</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="isBounded--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isBounded</h4>
<pre>default&nbsp;<a href="../../../../../../../../org/apache/beam/sdk/values/PCollection.IsBounded.html" title="enum in org.apache.beam.sdk.values">PCollection.IsBounded</a>&nbsp;isBounded()</pre>
<div class="block">Whether the collection of rows represented by this relational expression is bounded (known to
be finite) or unbounded (may or may not be finite).</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>bounded if and only if all PCollection inputs are bounded</dd>
</dl>
</li>
</ul>
<a name="getPCollectionInputs--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPCollectionInputs</h4>
<pre>default&nbsp;java.util.List&lt;org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.rel.RelNode&gt;&nbsp;getPCollectionInputs()</pre>
</li>
</ul>
<a name="buildPTransform--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>buildPTransform</h4>
<pre><a href="../../../../../../../../org/apache/beam/sdk/transforms/PTransform.html" title="class in org.apache.beam.sdk.transforms">PTransform</a>&lt;<a href="../../../../../../../../org/apache/beam/sdk/values/PCollectionList.html" title="class in org.apache.beam.sdk.values">PCollectionList</a>&lt;<a href="../../../../../../../../org/apache/beam/sdk/values/Row.html" title="class in org.apache.beam.sdk.values">Row</a>&gt;,<a href="../../../../../../../../org/apache/beam/sdk/values/PCollection.html" title="class in org.apache.beam.sdk.values">PCollection</a>&lt;<a href="../../../../../../../../org/apache/beam/sdk/values/Row.html" title="class in org.apache.beam.sdk.values">Row</a>&gt;&gt;&nbsp;buildPTransform()</pre>
</li>
</ul>
<a name="getPipelineOptions--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPipelineOptions</h4>
<pre>default&nbsp;java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;getPipelineOptions()</pre>
<div class="block">Perform a DFS(Depth-First-Search) to find the PipelineOptions config.</div>
</li>
</ul>
<a name="estimateNodeStats-org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.rel.metadata.RelMetadataQuery-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>estimateNodeStats</h4>
<pre><a href="../../../../../../../../org/apache/beam/sdk/extensions/sql/impl/planner/NodeStats.html" title="class in org.apache.beam.sdk.extensions.sql.impl.planner">NodeStats</a>&nbsp;estimateNodeStats(org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.rel.metadata.RelMetadataQuery&nbsp;mq)</pre>
<div class="block">This method is called by <code>org.apache.beam.sdk.extensions.sql.impl.planner.RelMdNodeStats</code>. This is currently only used in
SQLTransform Path (and not JDBC path). When a RelNode wants to calculate its BeamCost or
estimate its NodeStats, it may need NodeStat of its inputs. However, it should not call this
directly (because maybe its inputs are not physical yet). It should call <a href="../../../../../../../../org/apache/beam/sdk/extensions/sql/impl/rel/BeamSqlRelUtils.html#getNodeStats-org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.rel.RelNode-org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.rel.metadata.RelMetadataQuery-"><code>BeamSqlRelUtils.getNodeStats(
org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.rel.RelNode,
org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.rel.metadata.RelMetadataQuery)</code></a>
instead.</div>
</li>
</ul>
<a name="beamComputeSelfCost-org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.plan.RelOptPlanner-org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.rel.metadata.RelMetadataQuery-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>beamComputeSelfCost</h4>
<pre><a href="../../../../../../../../org/apache/beam/sdk/extensions/sql/impl/planner/BeamCostModel.html" title="class in org.apache.beam.sdk.extensions.sql.impl.planner">BeamCostModel</a>&nbsp;beamComputeSelfCost(org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.plan.RelOptPlanner&nbsp;planner,
org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.rel.metadata.RelMetadataQuery&nbsp;mq)</pre>
<div class="block">This method is called by <code>org.apache.beam.sdk.extensions.sql.impl.CalciteQueryPlanner.NonCumulativeCostImpl</code>. This is
currently only used in SQLTransform Path (and not JDBC path). This is needed when Calcite Query
Planner wants to get the cost of a plan. Instead of calling this directly for a node, if we
needed that it should be obtained by calling mq.getNonCumulativeCost. This way RelMetadataQuery
will call this method instead of ComputeSelfCost if the handler is set correctly (see <code>org.apache.beam.sdk.extensions.sql.impl.CalciteQueryPlanner#convertToBeamRel(String)</code>)</div>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../../../org/apache/beam/sdk/extensions/sql/impl/rel/BeamPushDownIOSourceRel.html" title="class in org.apache.beam.sdk.extensions.sql.impl.rel"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../../../org/apache/beam/sdk/extensions/sql/impl/rel/BeamSetOperatorRelBase.html" title="class in org.apache.beam.sdk.extensions.sql.impl.rel"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../../../index.html?org/apache/beam/sdk/extensions/sql/impl/rel/BeamRelNode.html" target="_top">Frames</a></li>
<li><a href="BeamRelNode.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../../../allclasses-noframe.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>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>