blob: 5a24f456635119a7ebf4f80d741fa9dc25c07be3 [file] [log] [blame]
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>RelOptNode (Apache Calcite API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="declaration: package: org.apache.calcite.plan, interface: RelOptNode">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
<script type="text/javascript" src="../../../../script-dir/jquery-3.5.1.min.js"></script>
<script type="text/javascript" src="../../../../script-dir/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">var evenRowColor = "even-row-color";
var oddRowColor = "odd-row-color";
var tableTab = "table-tab";
var activeTableTab = "active-table-tab";
var pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<div class="about-language"><b>Apache Calcite</b></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">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#class">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div>
<ul class="sub-nav-list">
<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="sub-nav-list">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method-detail">Method</a></li>
</ul>
</div>
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">org.apache.calcite.plan</a></div>
<h1 title="Interface RelOptNode" class="title">Interface RelOptNode</h1>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Known Subinterfaces:</dt>
<dd><code><a href="../interpreter/BindableRel.html" title="interface in org.apache.calcite.interpreter">BindableRel</a></code>, <code><a href="../adapter/cassandra/CassandraRel.html" title="interface in org.apache.calcite.adapter.cassandra">CassandraRel</a></code>, <code><a href="../rel/convert/Converter.html" title="interface in org.apache.calcite.rel.convert">Converter</a></code>, <code><a href="../adapter/elasticsearch/ElasticsearchRel.html" title="interface in org.apache.calcite.adapter.elasticsearch">ElasticsearchRel</a></code>, <code><a href="../adapter/enumerable/EnumerableRel.html" title="interface in org.apache.calcite.adapter.enumerable">EnumerableRel</a></code>, <code><a href="../adapter/geode/rel/GeodeRel.html" title="interface in org.apache.calcite.adapter.geode.rel">GeodeRel</a></code>, <code><a href="../adapter/innodb/InnodbRel.html" title="interface in org.apache.calcite.adapter.innodb">InnodbRel</a></code>, <code><a href="../interpreter/InterpretableRel.html" title="interface in org.apache.calcite.interpreter">InterpretableRel</a></code>, <code><a href="../adapter/jdbc/JdbcRel.html" title="interface in org.apache.calcite.adapter.jdbc">JdbcRel</a></code>, <code><a href="../adapter/mongodb/MongoRel.html" title="interface in org.apache.calcite.adapter.mongodb">MongoRel</a></code>, <code><a href="../rel/PhysicalNode.html" title="interface in org.apache.calcite.rel">PhysicalNode</a></code>, <code><a href="../adapter/pig/PigRel.html" title="interface in org.apache.calcite.adapter.pig">PigRel</a></code>, <code><a href="../rel/RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code>, <code><a href="../sql2rel/RelStructuredTypeFlattener.SelfFlatteningRel.html" title="interface in org.apache.calcite.sql2rel">RelStructuredTypeFlattener.SelfFlatteningRel</a></code>, <code><a href="../adapter/spark/SparkRel.html" title="interface in org.apache.calcite.adapter.spark">SparkRel</a></code></dd>
</dl>
<dl class="notes">
<dt>All Known Implementing Classes:</dt>
<dd><code><a href="volcano/AbstractConverter.html" title="class in org.apache.calcite.plan.volcano">AbstractConverter</a></code>, <code><a href="../rel/AbstractRelNode.html" title="class in org.apache.calcite.rel">AbstractRelNode</a></code>, <code><a href="../rel/core/Aggregate.html" title="class in org.apache.calcite.rel.core">Aggregate</a></code>, <code><a href="../interpreter/Bindables.BindableAggregate.html" title="class in org.apache.calcite.interpreter">Bindables.BindableAggregate</a></code>, <code><a href="../interpreter/Bindables.BindableFilter.html" title="class in org.apache.calcite.interpreter">Bindables.BindableFilter</a></code>, <code><a href="../interpreter/Bindables.BindableIntersect.html" title="class in org.apache.calcite.interpreter">Bindables.BindableIntersect</a></code>, <code><a href="../interpreter/Bindables.BindableJoin.html" title="class in org.apache.calcite.interpreter">Bindables.BindableJoin</a></code>, <code><a href="../interpreter/Bindables.BindableMatch.html" title="class in org.apache.calcite.interpreter">Bindables.BindableMatch</a></code>, <code><a href="../interpreter/Bindables.BindableMinus.html" title="class in org.apache.calcite.interpreter">Bindables.BindableMinus</a></code>, <code><a href="../interpreter/Bindables.BindableProject.html" title="class in org.apache.calcite.interpreter">Bindables.BindableProject</a></code>, <code><a href="../interpreter/Bindables.BindableSort.html" title="class in org.apache.calcite.interpreter">Bindables.BindableSort</a></code>, <code><a href="../interpreter/Bindables.BindableTableScan.html" title="class in org.apache.calcite.interpreter">Bindables.BindableTableScan</a></code>, <code><a href="../interpreter/Bindables.BindableUnion.html" title="class in org.apache.calcite.interpreter">Bindables.BindableUnion</a></code>, <code><a href="../interpreter/Bindables.BindableValues.html" title="class in org.apache.calcite.interpreter">Bindables.BindableValues</a></code>, <code><a href="../interpreter/Bindables.BindableWindow.html" title="class in org.apache.calcite.interpreter">Bindables.BindableWindow</a></code>, <code><a href="../rel/BiRel.html" title="class in org.apache.calcite.rel">BiRel</a></code>, <code><a href="../rel/core/Calc.html" title="class in org.apache.calcite.rel.core">Calc</a></code>, <code><a href="../adapter/cassandra/CassandraFilter.html" title="class in org.apache.calcite.adapter.cassandra">CassandraFilter</a></code>, <code><a href="../adapter/cassandra/CassandraLimit.html" title="class in org.apache.calcite.adapter.cassandra">CassandraLimit</a></code>, <code><a href="../adapter/cassandra/CassandraProject.html" title="class in org.apache.calcite.adapter.cassandra">CassandraProject</a></code>, <code><a href="../adapter/cassandra/CassandraSort.html" title="class in org.apache.calcite.adapter.cassandra">CassandraSort</a></code>, <code><a href="../adapter/cassandra/CassandraTableScan.html" title="class in org.apache.calcite.adapter.cassandra">CassandraTableScan</a></code>, <code><a href="../adapter/cassandra/CassandraToEnumerableConverter.html" title="class in org.apache.calcite.adapter.cassandra">CassandraToEnumerableConverter</a></code>, <code><a href="../rel/stream/Chi.html" title="class in org.apache.calcite.rel.stream">Chi</a></code>, <code><a href="../rel/core/Collect.html" title="class in org.apache.calcite.rel.core">Collect</a></code>, <code><a href="../rel/convert/ConverterImpl.html" title="class in org.apache.calcite.rel.convert">ConverterImpl</a></code>, <code><a href="../rel/core/Correlate.html" title="class in org.apache.calcite.rel.core">Correlate</a></code>, <code><a href="../adapter/csv/CsvTableScan.html" title="class in org.apache.calcite.adapter.csv">CsvTableScan</a></code>, <code><a href="../adapter/file/CsvTableScan.html" title="class in org.apache.calcite.adapter.file">CsvTableScan</a></code>, <code><a href="../rel/stream/Delta.html" title="class in org.apache.calcite.rel.stream">Delta</a></code>, <code><a href="../adapter/druid/DruidQuery.html" title="class in org.apache.calcite.adapter.druid">DruidQuery</a></code>, <code><a href="../adapter/elasticsearch/ElasticsearchAggregate.html" title="class in org.apache.calcite.adapter.elasticsearch">ElasticsearchAggregate</a></code>, <code><a href="../adapter/elasticsearch/ElasticsearchFilter.html" title="class in org.apache.calcite.adapter.elasticsearch">ElasticsearchFilter</a></code>, <code><a href="../adapter/elasticsearch/ElasticsearchProject.html" title="class in org.apache.calcite.adapter.elasticsearch">ElasticsearchProject</a></code>, <code><a href="../adapter/elasticsearch/ElasticsearchSort.html" title="class in org.apache.calcite.adapter.elasticsearch">ElasticsearchSort</a></code>, <code><a href="../adapter/elasticsearch/ElasticsearchTableScan.html" title="class in org.apache.calcite.adapter.elasticsearch">ElasticsearchTableScan</a></code>, <code><a href="../adapter/elasticsearch/ElasticsearchToEnumerableConverter.html" title="class in org.apache.calcite.adapter.elasticsearch">ElasticsearchToEnumerableConverter</a></code>, <code><a href="../adapter/enumerable/EnumerableAggregate.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableAggregate</a></code>, <code><a href="../adapter/enumerable/EnumerableAggregateBase.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableAggregateBase</a></code>, <code><a href="../adapter/enumerable/EnumerableBatchNestedLoopJoin.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableBatchNestedLoopJoin</a></code>, <code><a href="../adapter/enumerable/EnumerableBindable.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableBindable</a></code>, <code><a href="../adapter/enumerable/EnumerableCalc.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableCalc</a></code>, <code><a href="../adapter/enumerable/EnumerableCollect.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableCollect</a></code>, <code><a href="../adapter/enumerable/EnumerableCorrelate.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableCorrelate</a></code>, <code><a href="../adapter/enumerable/EnumerableFilter.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableFilter</a></code>, <code><a href="../adapter/enumerable/EnumerableHashJoin.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableHashJoin</a></code>, <code><a href="../adapter/enumerable/EnumerableInterpretable.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableInterpretable</a></code>, <code><a href="../adapter/enumerable/EnumerableInterpreter.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableInterpreter</a></code>, <code><a href="../adapter/enumerable/EnumerableIntersect.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableIntersect</a></code>, <code><a href="../adapter/enumerable/EnumerableLimit.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableLimit</a></code>, <code><a href="../adapter/enumerable/EnumerableLimitSort.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableLimitSort</a></code>, <code><a href="../adapter/enumerable/EnumerableMatch.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableMatch</a></code>, <code><a href="../adapter/enumerable/EnumerableMergeJoin.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableMergeJoin</a></code>, <code><a href="../adapter/enumerable/EnumerableMergeUnion.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableMergeUnion</a></code>, <code><a href="../adapter/enumerable/EnumerableMinus.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableMinus</a></code>, <code><a href="../adapter/enumerable/EnumerableNestedLoopJoin.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableNestedLoopJoin</a></code>, <code><a href="../adapter/enumerable/EnumerableProject.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableProject</a></code>, <code><a href="../adapter/enumerable/EnumerableRepeatUnion.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableRepeatUnion</a></code>, <code><a href="../adapter/enumerable/EnumerableSort.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableSort</a></code>, <code><a href="../adapter/enumerable/EnumerableSortedAggregate.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableSortedAggregate</a></code>, <code><a href="../adapter/enumerable/EnumerableTableFunctionScan.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableTableFunctionScan</a></code>, <code><a href="../adapter/enumerable/EnumerableTableModify.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableTableModify</a></code>, <code><a href="../adapter/enumerable/EnumerableTableScan.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableTableScan</a></code>, <code><a href="../adapter/enumerable/EnumerableTableSpool.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableTableSpool</a></code>, <code><a href="../adapter/spark/EnumerableToSparkConverter.html" title="class in org.apache.calcite.adapter.spark">EnumerableToSparkConverter</a></code>, <code><a href="../adapter/enumerable/EnumerableUncollect.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableUncollect</a></code>, <code><a href="../adapter/enumerable/EnumerableUnion.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableUnion</a></code>, <code><a href="../adapter/enumerable/EnumerableValues.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableValues</a></code>, <code><a href="../adapter/enumerable/EnumerableWindow.html" title="class in org.apache.calcite.adapter.enumerable">EnumerableWindow</a></code>, <code><a href="../rel/core/EquiJoin.html" title="class in org.apache.calcite.rel.core">EquiJoin</a></code>, <code><a href="../rel/rules/EquiJoin.html" title="class in org.apache.calcite.rel.rules">EquiJoin</a></code>, <code><a href="../rel/core/Exchange.html" title="class in org.apache.calcite.rel.core">Exchange</a></code>, <code><a href="../rel/core/Filter.html" title="class in org.apache.calcite.rel.core">Filter</a></code>, <code><a href="../adapter/geode/rel/GeodeAggregate.html" title="class in org.apache.calcite.adapter.geode.rel">GeodeAggregate</a></code>, <code><a href="../adapter/geode/rel/GeodeFilter.html" title="class in org.apache.calcite.adapter.geode.rel">GeodeFilter</a></code>, <code><a href="../adapter/geode/rel/GeodeProject.html" title="class in org.apache.calcite.adapter.geode.rel">GeodeProject</a></code>, <code><a href="../adapter/geode/rel/GeodeSort.html" title="class in org.apache.calcite.adapter.geode.rel">GeodeSort</a></code>, <code><a href="../adapter/geode/rel/GeodeTableScan.html" title="class in org.apache.calcite.adapter.geode.rel">GeodeTableScan</a></code>, <code><a href="../adapter/geode/rel/GeodeToEnumerableConverter.html" title="class in org.apache.calcite.adapter.geode.rel">GeodeToEnumerableConverter</a></code>, <code><a href="hep/HepRelVertex.html" title="class in org.apache.calcite.plan.hep">HepRelVertex</a></code>, <code><a href="../adapter/innodb/InnodbFilter.html" title="class in org.apache.calcite.adapter.innodb">InnodbFilter</a></code>, <code><a href="../adapter/innodb/InnodbProject.html" title="class in org.apache.calcite.adapter.innodb">InnodbProject</a></code>, <code><a href="../adapter/innodb/InnodbSort.html" title="class in org.apache.calcite.adapter.innodb">InnodbSort</a></code>, <code><a href="../adapter/innodb/InnodbTableScan.html" title="class in org.apache.calcite.adapter.innodb">InnodbTableScan</a></code>, <code><a href="../adapter/innodb/InnodbToEnumerableConverter.html" title="class in org.apache.calcite.adapter.innodb">InnodbToEnumerableConverter</a></code>, <code><a href="../interpreter/InterpretableConverter.html" title="class in org.apache.calcite.interpreter">InterpretableConverter</a></code>, <code><a href="../rel/core/Intersect.html" title="class in org.apache.calcite.rel.core">Intersect</a></code>, <code><a href="../adapter/jdbc/JdbcRules.JdbcAggregate.html" title="class in org.apache.calcite.adapter.jdbc">JdbcRules.JdbcAggregate</a></code>, <code><a href="../adapter/jdbc/JdbcRules.JdbcCalc.html" title="class in org.apache.calcite.adapter.jdbc">JdbcRules.JdbcCalc</a></code>, <code><a href="../adapter/jdbc/JdbcRules.JdbcFilter.html" title="class in org.apache.calcite.adapter.jdbc">JdbcRules.JdbcFilter</a></code>, <code><a href="../adapter/jdbc/JdbcRules.JdbcIntersect.html" title="class in org.apache.calcite.adapter.jdbc">JdbcRules.JdbcIntersect</a></code>, <code><a href="../adapter/jdbc/JdbcRules.JdbcJoin.html" title="class in org.apache.calcite.adapter.jdbc">JdbcRules.JdbcJoin</a></code>, <code><a href="../adapter/jdbc/JdbcRules.JdbcMinus.html" title="class in org.apache.calcite.adapter.jdbc">JdbcRules.JdbcMinus</a></code>, <code><a href="../adapter/jdbc/JdbcRules.JdbcProject.html" title="class in org.apache.calcite.adapter.jdbc">JdbcRules.JdbcProject</a></code>, <code><a href="../adapter/jdbc/JdbcRules.JdbcSort.html" title="class in org.apache.calcite.adapter.jdbc">JdbcRules.JdbcSort</a></code>, <code><a href="../adapter/jdbc/JdbcRules.JdbcTableModify.html" title="class in org.apache.calcite.adapter.jdbc">JdbcRules.JdbcTableModify</a></code>, <code><a href="../adapter/jdbc/JdbcRules.JdbcUnion.html" title="class in org.apache.calcite.adapter.jdbc">JdbcRules.JdbcUnion</a></code>, <code><a href="../adapter/jdbc/JdbcRules.JdbcValues.html" title="class in org.apache.calcite.adapter.jdbc">JdbcRules.JdbcValues</a></code>, <code><a href="../adapter/jdbc/JdbcTableScan.html" title="class in org.apache.calcite.adapter.jdbc">JdbcTableScan</a></code>, <code><a href="../adapter/jdbc/JdbcToEnumerableConverter.html" title="class in org.apache.calcite.adapter.jdbc">JdbcToEnumerableConverter</a></code>, <code><a href="../adapter/spark/JdbcToSparkConverter.html" title="class in org.apache.calcite.adapter.spark">JdbcToSparkConverter</a></code>, <code><a href="../rel/core/Join.html" title="class in org.apache.calcite.rel.core">Join</a></code>, <code><a href="../rel/logical/LogicalAggregate.html" title="class in org.apache.calcite.rel.logical">LogicalAggregate</a></code>, <code><a href="../rel/logical/LogicalCalc.html" title="class in org.apache.calcite.rel.logical">LogicalCalc</a></code>, <code><a href="../rel/stream/LogicalChi.html" title="class in org.apache.calcite.rel.stream">LogicalChi</a></code>, <code><a href="../rel/logical/LogicalCorrelate.html" title="class in org.apache.calcite.rel.logical">LogicalCorrelate</a></code>, <code><a href="../rel/stream/LogicalDelta.html" title="class in org.apache.calcite.rel.stream">LogicalDelta</a></code>, <code><a href="../rel/logical/LogicalExchange.html" title="class in org.apache.calcite.rel.logical">LogicalExchange</a></code>, <code><a href="../rel/logical/LogicalFilter.html" title="class in org.apache.calcite.rel.logical">LogicalFilter</a></code>, <code><a href="../rel/logical/LogicalIntersect.html" title="class in org.apache.calcite.rel.logical">LogicalIntersect</a></code>, <code><a href="../rel/logical/LogicalJoin.html" title="class in org.apache.calcite.rel.logical">LogicalJoin</a></code>, <code><a href="../rel/logical/LogicalMatch.html" title="class in org.apache.calcite.rel.logical">LogicalMatch</a></code>, <code><a href="../rel/logical/LogicalMinus.html" title="class in org.apache.calcite.rel.logical">LogicalMinus</a></code>, <code><a href="../rel/logical/LogicalProject.html" title="class in org.apache.calcite.rel.logical">LogicalProject</a></code>, <code><a href="../rel/logical/LogicalRepeatUnion.html" title="class in org.apache.calcite.rel.logical">LogicalRepeatUnion</a></code>, <code><a href="../rel/logical/LogicalSnapshot.html" title="class in org.apache.calcite.rel.logical">LogicalSnapshot</a></code>, <code><a href="../rel/logical/LogicalSort.html" title="class in org.apache.calcite.rel.logical">LogicalSort</a></code>, <code><a href="../rel/logical/LogicalSortExchange.html" title="class in org.apache.calcite.rel.logical">LogicalSortExchange</a></code>, <code><a href="../rel/logical/LogicalTableFunctionScan.html" title="class in org.apache.calcite.rel.logical">LogicalTableFunctionScan</a></code>, <code><a href="../rel/logical/LogicalTableModify.html" title="class in org.apache.calcite.rel.logical">LogicalTableModify</a></code>, <code><a href="../rel/logical/LogicalTableScan.html" title="class in org.apache.calcite.rel.logical">LogicalTableScan</a></code>, <code><a href="../rel/logical/LogicalTableSpool.html" title="class in org.apache.calcite.rel.logical">LogicalTableSpool</a></code>, <code><a href="../rel/logical/LogicalUnion.html" title="class in org.apache.calcite.rel.logical">LogicalUnion</a></code>, <code><a href="../rel/logical/LogicalValues.html" title="class in org.apache.calcite.rel.logical">LogicalValues</a></code>, <code><a href="../rel/logical/LogicalWindow.html" title="class in org.apache.calcite.rel.logical">LogicalWindow</a></code>, <code><a href="../rel/core/Match.html" title="class in org.apache.calcite.rel.core">Match</a></code>, <code><a href="../rel/core/Minus.html" title="class in org.apache.calcite.rel.core">Minus</a></code>, <code><a href="../adapter/mongodb/MongoAggregate.html" title="class in org.apache.calcite.adapter.mongodb">MongoAggregate</a></code>, <code><a href="../adapter/mongodb/MongoFilter.html" title="class in org.apache.calcite.adapter.mongodb">MongoFilter</a></code>, <code><a href="../adapter/mongodb/MongoProject.html" title="class in org.apache.calcite.adapter.mongodb">MongoProject</a></code>, <code><a href="../adapter/mongodb/MongoSort.html" title="class in org.apache.calcite.adapter.mongodb">MongoSort</a></code>, <code><a href="../adapter/mongodb/MongoTableScan.html" title="class in org.apache.calcite.adapter.mongodb">MongoTableScan</a></code>, <code><a href="../adapter/mongodb/MongoToEnumerableConverter.html" title="class in org.apache.calcite.adapter.mongodb">MongoToEnumerableConverter</a></code>, <code><a href="../rel/rules/MultiJoin.html" title="class in org.apache.calcite.rel.rules">MultiJoin</a></code>, <code><a href="../rel/convert/NoneConverter.html" title="class in org.apache.calcite.rel.convert">NoneConverter</a></code>, <code><a href="../adapter/pig/PigAggregate.html" title="class in org.apache.calcite.adapter.pig">PigAggregate</a></code>, <code><a href="../adapter/pig/PigFilter.html" title="class in org.apache.calcite.adapter.pig">PigFilter</a></code>, <code><a href="../adapter/pig/PigJoin.html" title="class in org.apache.calcite.adapter.pig">PigJoin</a></code>, <code><a href="../adapter/pig/PigProject.html" title="class in org.apache.calcite.adapter.pig">PigProject</a></code>, <code><a href="../adapter/pig/PigTableScan.html" title="class in org.apache.calcite.adapter.pig">PigTableScan</a></code>, <code><a href="../adapter/pig/PigToEnumerableConverter.html" title="class in org.apache.calcite.adapter.pig">PigToEnumerableConverter</a></code>, <code><a href="../rel/core/Project.html" title="class in org.apache.calcite.rel.core">Project</a></code>, <code><a href="volcano/RelSubset.html" title="class in org.apache.calcite.plan.volcano">RelSubset</a></code>, <code><a href="../rel/core/RepeatUnion.html" title="class in org.apache.calcite.rel.core">RepeatUnion</a></code>, <code><a href="../rel/core/Sample.html" title="class in org.apache.calcite.rel.core">Sample</a></code>, <code><a href="../rel/core/SetOp.html" title="class in org.apache.calcite.rel.core">SetOp</a></code>, <code><a href="../rel/SingleRel.html" title="class in org.apache.calcite.rel">SingleRel</a></code>, <code><a href="../rel/core/Snapshot.html" title="class in org.apache.calcite.rel.core">Snapshot</a></code>, <code><a href="../rel/core/Sort.html" title="class in org.apache.calcite.rel.core">Sort</a></code>, <code><a href="../rel/core/SortExchange.html" title="class in org.apache.calcite.rel.core">SortExchange</a></code>, <code><a href="../adapter/spark/SparkRules.SparkCalc.html" title="class in org.apache.calcite.adapter.spark">SparkRules.SparkCalc</a></code>, <code><a href="../adapter/spark/SparkRules.SparkValues.html" title="class in org.apache.calcite.adapter.spark">SparkRules.SparkValues</a></code>, <code><a href="../adapter/spark/SparkToEnumerableConverter.html" title="class in org.apache.calcite.adapter.spark">SparkToEnumerableConverter</a></code>, <code><a href="../adapter/splunk/SplunkTableScan.html" title="class in org.apache.calcite.adapter.splunk">SplunkTableScan</a></code>, <code><a href="../rel/core/Spool.html" title="class in org.apache.calcite.rel.core">Spool</a></code>, <code><a href="../test/SqlToRelTestBase.CustomCorrelate.html" title="class in org.apache.calcite.test">SqlToRelTestBase.CustomCorrelate</a></code>, <code><a href="../schema/impl/StarTable.StarTableScan.html" title="class in org.apache.calcite.schema.impl">StarTable.StarTableScan</a></code>, <code><a href="../rel/core/TableFunctionScan.html" title="class in org.apache.calcite.rel.core">TableFunctionScan</a></code>, <code><a href="../rel/core/TableModify.html" title="class in org.apache.calcite.rel.core">TableModify</a></code>, <code><a href="../rel/core/TableScan.html" title="class in org.apache.calcite.rel.core">TableScan</a></code>, <code><a href="../rel/core/TableSpool.html" title="class in org.apache.calcite.rel.core">TableSpool</a></code>, <code><a href="../rel/core/Uncollect.html" title="class in org.apache.calcite.rel.core">Uncollect</a></code>, <code><a href="../rel/core/Union.html" title="class in org.apache.calcite.rel.core">Union</a></code>, <code><a href="../rel/core/Values.html" title="class in org.apache.calcite.rel.core">Values</a></code>, <code><a href="../rel/core/Window.html" title="class in org.apache.calcite.rel.core">Window</a></code></dd>
</dl>
<hr>
<div class="type-signature"><span class="modifiers">public interface </span><span class="element-name type-name-label">RelOptNode</span></div>
<div class="block">Node in a planner.</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab3" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" class="table-tab">Abstract Methods</button><button id="method-summary-table-tab6" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab6', 3)" class="table-tab">Deprecated Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getCluster()" class="member-name-link">getCluster</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Returns the cluster this relational expression belongs to.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3 method-summary-table-tab6"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3 method-summary-table-tab6"><code><a href="#getDescription()" class="member-name-link">getDescription</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3 method-summary-table-tab6">
<div class="block"><span class="deprecated-label">Deprecated.</span></div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getDigest()" class="member-name-link">getDigest</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Returns a string which concisely describes the definition of this
relational expression.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>int</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getId()" class="member-name-link">getId</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Returns the ID of this relational expression, unique among all relational
expressions created since the server was started.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;? extends <a href="RelOptNode.html" title="interface in org.apache.calcite.plan">RelOptNode</a>&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getInputs()" class="member-name-link">getInputs</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Returns an array of this relational expression's inputs.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getRowType()" class="member-name-link">getRowType</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getTraitSet()" class="member-name-link">getTraitSet</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Retrieves this RelNode's traits.</div>
</div>
</div>
</div>
</div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="getId()">
<h3>getId</h3>
<div class="member-signature"><span class="return-type">int</span>&nbsp;<span class="element-name">getId</span>()</div>
<div class="block">Returns the ID of this relational expression, unique among all relational
expressions created since the server was started.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>Unique ID</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getDigest()">
<h3>getDigest</h3>
<div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">getDigest</span>()</div>
<div class="block">Returns a string which concisely describes the definition of this
relational expression. Two relational expressions are equivalent if
their digests and <a href="#getRowType()"><code>getRowType()</code></a> (except the field names) are the same.
<p>The digest does not contain the relational expression's identity --
that would prevent similar relational expressions from ever comparing
equal -- but does include the identity of children (on the assumption
that children have already been normalized).
<p>If you want a descriptive string which contains the identity, call
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link"><code>Object.toString()</code></a>, which always returns "rel#{id}:{digest}".</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>Digest string of this <code>RelNode</code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getTraitSet()">
<h3>getTraitSet</h3>
<div class="member-signature"><span class="return-type"><a href="RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a></span>&nbsp;<span class="element-name">getTraitSet</span>()</div>
<div class="block">Retrieves this RelNode's traits. Note that although the RelTraitSet
returned is modifiable, it <b>must not</b> be modified during
optimization. It is legal to modify the traits of a RelNode before or
after optimization, although doing so could render a tree of RelNodes
unimplementable. If a RelNode's traits need to be modified during
optimization, clone the RelNode and change the clone's traits.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>this RelNode's trait set</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getRowType()">
<h3>getRowType</h3>
<div class="member-signature"><span class="return-type"><a href="../rel/type/RelDataType.html" title="interface in org.apache.calcite.rel.type">RelDataType</a></span>&nbsp;<span class="element-name">getRowType</span>()</div>
</section>
</li>
<li>
<section class="detail" id="getDescription()">
<h3>getDescription</h3>
<div class="member-signature"><span class="annotations"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Deprecated.html" title="class or interface in java.lang" class="external-link">@Deprecated</a>
</span><span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">getDescription</span>()</div>
<div class="deprecation-block"><span class="deprecated-label">Deprecated.</span></div>
<div class="block">Returns a string which describes the relational expression and, unlike
<a href="#getDigest()"><code>getDigest()</code></a>, also includes the identity. Typically returns
"rel#{id}:{digest}".</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>String which describes the relational expression and, unlike
<a href="#getDigest()"><code>getDigest()</code></a>, also includes the identity</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getInputs()">
<h3>getInputs</h3>
<div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;? extends <a href="RelOptNode.html" title="interface in org.apache.calcite.plan">RelOptNode</a>&gt;</span>&nbsp;<span class="element-name">getInputs</span>()</div>
<div class="block">Returns an array of this relational expression's inputs. If there are no
inputs, returns an empty list, not <code>null</code>.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>Array of this relational expression's inputs</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getCluster()">
<h3>getCluster</h3>
<div class="member-signature"><span class="return-type"><a href="RelOptCluster.html" title="class in org.apache.calcite.plan">RelOptCluster</a></span>&nbsp;<span class="element-name">getCluster</span>()</div>
<div class="block">Returns the cluster this relational expression belongs to.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>cluster</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
<footer role="contentinfo">
<hr>
<p class="legal-copy"><small>Copyright &copy; 2012-2023 Apache Software Foundation. All Rights Reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>