<!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 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>StormRelNode (Storm 2.4.0 API)</title>
<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="StormRelNode (Storm 2.4.0 API)";
        }
    }
    catch(err) {
    }
//-->
</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="class-use/StormRelNode.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">
<li><a href="../../../../../../org/apache/storm/sql/planner/rel/StormProjectRelBase.html" title="class in org.apache.storm.sql.planner.rel"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../org/apache/storm/sql/planner/rel/StormStreamInsertRelBase.html" title="class in org.apache.storm.sql.planner.rel"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/storm/sql/planner/rel/StormRelNode.html" target="_top">Frames</a></li>
<li><a href="StormRelNode.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>Method</li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li>Method</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.storm.sql.planner.rel</div>
<h2 title="Interface StormRelNode" class="title">Interface StormRelNode</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Cloneable.html?is-external=true" title="class or interface in java.lang">Cloneable</a>, org.apache.calcite.rel.RelNode, org.apache.calcite.plan.RelOptNode</dd>
</dl>
<dl>
<dt>All Known Subinterfaces:</dt>
<dd><a href="../../../../../../org/apache/storm/sql/planner/streams/rel/StreamsRel.html" title="interface in org.apache.storm.sql.planner.streams.rel">StreamsRel</a></dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><a href="../../../../../../org/apache/storm/sql/planner/rel/StormCalcRelBase.html" title="class in org.apache.storm.sql.planner.rel">StormCalcRelBase</a>, <a href="../../../../../../org/apache/storm/sql/planner/rel/StormFilterRelBase.html" title="class in org.apache.storm.sql.planner.rel">StormFilterRelBase</a>, <a href="../../../../../../org/apache/storm/sql/planner/rel/StormJoinRelBase.html" title="class in org.apache.storm.sql.planner.rel">StormJoinRelBase</a>, <a href="../../../../../../org/apache/storm/sql/planner/rel/StormProjectRelBase.html" title="class in org.apache.storm.sql.planner.rel">StormProjectRelBase</a>, <a href="../../../../../../org/apache/storm/sql/planner/rel/StormStreamInsertRelBase.html" title="class in org.apache.storm.sql.planner.rel">StormStreamInsertRelBase</a>, <a href="../../../../../../org/apache/storm/sql/planner/rel/StormStreamScanRelBase.html" title="class in org.apache.storm.sql.planner.rel">StormStreamScanRelBase</a>, <a href="../../../../../../org/apache/storm/sql/planner/streams/rel/StreamsCalcRel.html" title="class in org.apache.storm.sql.planner.streams.rel">StreamsCalcRel</a>, <a href="../../../../../../org/apache/storm/sql/planner/streams/rel/StreamsFilterRel.html" title="class in org.apache.storm.sql.planner.streams.rel">StreamsFilterRel</a>, <a href="../../../../../../org/apache/storm/sql/planner/streams/rel/StreamsProjectRel.html" title="class in org.apache.storm.sql.planner.streams.rel">StreamsProjectRel</a>, <a href="../../../../../../org/apache/storm/sql/planner/streams/rel/StreamsStreamInsertRel.html" title="class in org.apache.storm.sql.planner.streams.rel">StreamsStreamInsertRel</a>, <a href="../../../../../../org/apache/storm/sql/planner/streams/rel/StreamsStreamScanRel.html" title="class in org.apache.storm.sql.planner.streams.rel">StreamsStreamScanRel</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="typeNameLabel">StormRelNode</span>
extends org.apache.calcite.rel.RelNode</pre>
</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.calcite.rel.RelNode">
<!--   -->
</a>
<h3>Nested classes/interfaces inherited from interface&nbsp;org.apache.calcite.rel.RelNode</h3>
<code>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>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.calcite.rel.RelNode">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;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.calcite.plan.RelOptNode">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.calcite.plan.RelOptNode</h3>
<code>getCluster, getDescription, getDigest, getId, getTraitSet</code></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="class-use/StormRelNode.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 class="aboutLanguage"><script type="text/javascript" src="../../../../../../highlight.pack.js"></script>
<script type="text/javascript"><!--
hljs.initHighlightingOnLoad();
//--></script></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../org/apache/storm/sql/planner/rel/StormProjectRelBase.html" title="class in org.apache.storm.sql.planner.rel"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../org/apache/storm/sql/planner/rel/StormStreamInsertRelBase.html" title="class in org.apache.storm.sql.planner.rel"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/storm/sql/planner/rel/StormRelNode.html" target="_top">Frames</a></li>
<li><a href="StormRelNode.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>Method</li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li>Method</li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>
