blob: fb54b9fce36637842b943bf7516e805371ba38a5 [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>Uses of Class org.apache.calcite.rel.logical.LogicalJoin (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="Uses of Class org.apache.calcite.rel.logical.LogicalJoin (Apache Calcite API)";
}
}
catch(err) {
}
//-->
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><a href="../LogicalJoin.html" title="class in org.apache.calcite.rel.logical">Class</a></li>
<li class="navBarCell1Rev">Use</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>
<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>
<main role="main">
<div class="header">
<h2 title="Uses of Class org.apache.calcite.rel.logical.LogicalJoin" class="title">Uses of Class<br>org.apache.calcite.rel.logical.LogicalJoin</h2>
</div>
<div class="classUseContainer">
<ul class="blockList">
<li class="blockList">
<table class="useSummary">
<caption><span>Packages that use <a href="../LogicalJoin.html" title="class in org.apache.calcite.rel.logical">LogicalJoin</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Package</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.plan">org.apache.calcite.plan</a></th>
<td class="colLast">
<div class="block">Defines interfaces for constructing rule-based optimizers of
relational expressions.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.prepare">org.apache.calcite.prepare</a></th>
<td class="colLast">
<div class="block">Preparation of queries (parsing, planning and implementation).</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.rel">org.apache.calcite.rel</a></th>
<td class="colLast">
<div class="block">Defines relational expressions.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.rel.logical">org.apache.calcite.rel.logical</a></th>
<td class="colLast">
<div class="block">Defines logical relational expressions.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.rel.rules">org.apache.calcite.rel.rules</a></th>
<td class="colLast">
<div class="block">Provides a core set of planner rules.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="#org.apache.calcite.sql2rel">org.apache.calcite.sql2rel</a></th>
<td class="colLast">
<div class="block">Translates a SQL parse tree to relational expression.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList">
<ul class="blockList">
<li class="blockList">
<section role="region"><a id="org.apache.calcite.plan">
<!-- -->
</a>
<h3>Uses of <a href="../LogicalJoin.html" title="class in org.apache.calcite.rel.logical">LogicalJoin</a> in <a href="../../../plan/package-summary.html">org.apache.calcite.plan</a></h3>
<table class="useSummary">
<caption><span>Methods in <a href="../../../plan/package-summary.html">org.apache.calcite.plan</a> with parameters of type <a href="../LogicalJoin.html" title="class in org.apache.calcite.rel.logical">LogicalJoin</a></span><span class="tabEnd">&nbsp;</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>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelOptUtil.</span><code><span class="memberNameLink"><a href="../../../plan/RelOptUtil.html#analyzeSimpleEquiJoin(org.apache.calcite.rel.logical.LogicalJoin,int%5B%5D)">analyzeSimpleEquiJoin</a></span>&#8203;(<a href="../LogicalJoin.html" title="class in org.apache.calcite.rel.logical">LogicalJoin</a>&nbsp;join,
int[]&nbsp;joinFieldOrdinals)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.prepare">
<!-- -->
</a>
<h3>Uses of <a href="../LogicalJoin.html" title="class in org.apache.calcite.rel.logical">LogicalJoin</a> in <a href="../../../prepare/package-summary.html">org.apache.calcite.prepare</a></h3>
<table class="useSummary">
<caption><span>Methods in <a href="../../../prepare/package-summary.html">org.apache.calcite.prepare</a> with parameters of type <a href="../LogicalJoin.html" title="class in org.apache.calcite.rel.logical">LogicalJoin</a></span><span class="tabEnd">&nbsp;</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>
<tbody>
<tr class="altColor">
<td class="colFirst"><code><a href="../../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CalciteMaterializer.RelNullShuttle.</span><code><span class="memberNameLink"><a href="../../../prepare/CalciteMaterializer.RelNullShuttle.html#visit(org.apache.calcite.rel.logical.LogicalJoin)">visit</a></span>&#8203;(<a href="../LogicalJoin.html" title="class in org.apache.calcite.rel.logical">LogicalJoin</a>&nbsp;join)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.rel">
<!-- -->
</a>
<h3>Uses of <a href="../LogicalJoin.html" title="class in org.apache.calcite.rel.logical">LogicalJoin</a> in <a href="../../package-summary.html">org.apache.calcite.rel</a></h3>
<table class="useSummary">
<caption><span>Methods in <a href="../../package-summary.html">org.apache.calcite.rel</a> with parameters of type <a href="../LogicalJoin.html" title="class in org.apache.calcite.rel.logical">LogicalJoin</a></span><span class="tabEnd">&nbsp;</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>
<tbody>
<tr class="altColor">
<td class="colFirst"><code><a href="../../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelHomogeneousShuttle.</span><code><span class="memberNameLink"><a href="../../RelHomogeneousShuttle.html#visit(org.apache.calcite.rel.logical.LogicalJoin)">visit</a></span>&#8203;(<a href="../LogicalJoin.html" title="class in org.apache.calcite.rel.logical">LogicalJoin</a>&nbsp;join)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelShuttle.</span><code><span class="memberNameLink"><a href="../../RelShuttle.html#visit(org.apache.calcite.rel.logical.LogicalJoin)">visit</a></span>&#8203;(<a href="../LogicalJoin.html" title="class in org.apache.calcite.rel.logical">LogicalJoin</a>&nbsp;join)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelShuttleImpl.</span><code><span class="memberNameLink"><a href="../../RelShuttleImpl.html#visit(org.apache.calcite.rel.logical.LogicalJoin)">visit</a></span>&#8203;(<a href="../LogicalJoin.html" title="class in org.apache.calcite.rel.logical">LogicalJoin</a>&nbsp;join)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.rel.logical">
<!-- -->
</a>
<h3>Uses of <a href="../LogicalJoin.html" title="class in org.apache.calcite.rel.logical">LogicalJoin</a> in <a href="../package-summary.html">org.apache.calcite.rel.logical</a></h3>
<table class="useSummary">
<caption><span>Methods in <a href="../package-summary.html">org.apache.calcite.rel.logical</a> that return <a href="../LogicalJoin.html" title="class in org.apache.calcite.rel.logical">LogicalJoin</a></span><span class="tabEnd">&nbsp;</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>
<tbody>
<tr class="altColor">
<td class="colFirst"><code><a href="../LogicalJoin.html" title="class in org.apache.calcite.rel.logical">LogicalJoin</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LogicalJoin.</span><code><span class="memberNameLink"><a href="../LogicalJoin.html#copy(org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rex.RexNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.core.JoinRelType,boolean)">copy</a></span>&#8203;(<a href="../../../plan/RelTraitSet.html" title="class in org.apache.calcite.plan">RelTraitSet</a>&nbsp;traitSet,
<a href="../../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;conditionExpr,
<a href="../../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../../core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType,
boolean&nbsp;semiJoinDone)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../LogicalJoin.html" title="class in org.apache.calcite.rel.logical">LogicalJoin</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LogicalJoin.</span><code><span class="memberNameLink"><a href="../LogicalJoin.html#create(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,java.util.Set,org.apache.calcite.rel.core.JoinRelType)">create</a></span>&#8203;(<a href="../../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition,
java.util.Set&lt;<a href="../../core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&gt;&nbsp;variablesSet,
<a href="../../core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType)</code></th>
<td class="colLast">
<div class="block">Creates a LogicalJoin.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../LogicalJoin.html" title="class in org.apache.calcite.rel.logical">LogicalJoin</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LogicalJoin.</span><code><span class="memberNameLink"><a href="../LogicalJoin.html#create(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,java.util.Set,org.apache.calcite.rel.core.JoinRelType,boolean,com.google.common.collect.ImmutableList)">create</a></span>&#8203;(<a href="../../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition,
java.util.Set&lt;<a href="../../core/CorrelationId.html" title="class in org.apache.calcite.rel.core">CorrelationId</a>&gt;&nbsp;variablesSet,
<a href="../../core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType,
boolean&nbsp;semiJoinDone,
com.google.common.collect.ImmutableList&lt;<a href="../../type/RelDataTypeField.html" title="interface in org.apache.calcite.rel.type">RelDataTypeField</a>&gt;&nbsp;systemFieldList)</code></th>
<td class="colLast">
<div class="block">Creates a LogicalJoin, flagged with whether it has been translated to a
semi-join.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../LogicalJoin.html" title="class in org.apache.calcite.rel.logical">LogicalJoin</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LogicalJoin.</span><code><span class="memberNameLink"><a href="../LogicalJoin.html#create(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,org.apache.calcite.rel.core.JoinRelType,java.util.Set)">create</a></span>&#8203;(<a href="../../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition,
<a href="../../core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType,
java.util.Set&lt;java.lang.String&gt;&nbsp;variablesStopped)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../LogicalJoin.html" title="class in org.apache.calcite.rel.logical">LogicalJoin</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LogicalJoin.</span><code><span class="memberNameLink"><a href="../LogicalJoin.html#create(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rex.RexNode,org.apache.calcite.rel.core.JoinRelType,java.util.Set,boolean,com.google.common.collect.ImmutableList)">create</a></span>&#8203;(<a href="../../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
<a href="../../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;right,
<a href="../../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;condition,
<a href="../../core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>&nbsp;joinType,
java.util.Set&lt;java.lang.String&gt;&nbsp;variablesStopped,
boolean&nbsp;semiJoinDone,
com.google.common.collect.ImmutableList&lt;<a href="../../type/RelDataTypeField.html" title="interface in org.apache.calcite.rel.type">RelDataTypeField</a>&gt;&nbsp;systemFieldList)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.rel.rules">
<!-- -->
</a>
<h3>Uses of <a href="../LogicalJoin.html" title="class in org.apache.calcite.rel.logical">LogicalJoin</a> in <a href="../../rules/package-summary.html">org.apache.calcite.rel.rules</a></h3>
<table class="useSummary">
<caption><span>Fields in <a href="../../rules/package-summary.html">org.apache.calcite.rel.rules</a> declared as <a href="../LogicalJoin.html" title="class in org.apache.calcite.rel.logical">LogicalJoin</a></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>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>(package private) <a href="../LogicalJoin.html" title="class in org.apache.calcite.rel.logical">LogicalJoin</a>[]</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LoptMultiJoin.</span><code><span class="memberNameLink"><a href="../../rules/LoptMultiJoin.html#joinRemovalSemiJoins">joinRemovalSemiJoins</a></span></code></th>
<td class="colLast">
<div class="block">The semijoins that allow the join of a dimension table to be removed</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Fields in <a href="../../rules/package-summary.html">org.apache.calcite.rel.rules</a> with type parameters of type <a href="../LogicalJoin.html" title="class in org.apache.calcite.rel.logical">LogicalJoin</a></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>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>private java.util.Map&lt;java.lang.Integer,&#8203;java.util.Map&lt;java.lang.Integer,&#8203;<a href="../LogicalJoin.html" title="class in org.apache.calcite.rel.logical">LogicalJoin</a>&gt;&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LoptSemiJoinOptimizer.</span><code><span class="memberNameLink"><a href="../../rules/LoptSemiJoinOptimizer.html#possibleSemiJoins">possibleSemiJoins</a></span></code></th>
<td class="colLast">
<div class="block">Associates potential semijoins with each fact table factor.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../../rules/package-summary.html">org.apache.calcite.rel.rules</a> that return <a href="../LogicalJoin.html" title="class in org.apache.calcite.rel.logical">LogicalJoin</a></span><span class="tabEnd">&nbsp;</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>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../LogicalJoin.html" title="class in org.apache.calcite.rel.logical">LogicalJoin</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LoptSemiJoinOptimizer.</span><code><span class="memberNameLink"><a href="../../rules/LoptSemiJoinOptimizer.html#findSemiJoinIndexByCost(org.apache.calcite.rel.rules.LoptMultiJoin,java.util.List,int,int)">findSemiJoinIndexByCost</a></span>&#8203;(<a href="../../rules/LoptMultiJoin.html" title="class in org.apache.calcite.rel.rules">LoptMultiJoin</a>&nbsp;multiJoin,
java.util.List&lt;<a href="../../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;joinFilters,
int&nbsp;factIdx,
int&nbsp;dimIdx)</code></th>
<td class="colLast">
<div class="block">Given a list of possible filters on a fact table, determine if there is
an index that can be used, provided all the fact table keys originate
from the same underlying table.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../LogicalJoin.html" title="class in org.apache.calcite.rel.logical">LogicalJoin</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LoptMultiJoin.</span><code><span class="memberNameLink"><a href="../../rules/LoptMultiJoin.html#getJoinRemovalSemiJoin(int)">getJoinRemovalSemiJoin</a></span>&#8203;(int&nbsp;dimIdx)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../../rules/package-summary.html">org.apache.calcite.rel.rules</a> with parameters of type <a href="../LogicalJoin.html" title="class in org.apache.calcite.rel.logical">LogicalJoin</a></span><span class="tabEnd">&nbsp;</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>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SemiJoinProjectTransposeRule.</span><code><span class="memberNameLink"><a href="../../rules/SemiJoinProjectTransposeRule.html#adjustCondition(org.apache.calcite.rel.logical.LogicalProject,org.apache.calcite.rel.logical.LogicalJoin)">adjustCondition</a></span>&#8203;(<a href="../LogicalProject.html" title="class in org.apache.calcite.rel.logical">LogicalProject</a>&nbsp;project,
<a href="../LogicalJoin.html" title="class in org.apache.calcite.rel.logical">LogicalJoin</a>&nbsp;semiJoin)</code></th>
<td class="colLast">
<div class="block">Pulls the project above the semijoin and returns the resulting semijoin
condition.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private double</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LoptSemiJoinOptimizer.</span><code><span class="memberNameLink"><a href="../../rules/LoptSemiJoinOptimizer.html#computeScore(org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.logical.LogicalJoin)">computeScore</a></span>&#8203;(<a href="../../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;factRel,
<a href="../../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;dimRel,
<a href="../LogicalJoin.html" title="class in org.apache.calcite.rel.logical">LogicalJoin</a>&nbsp;semiJoin)</code></th>
<td class="colLast">
<div class="block">Computes a score relevant to applying a set of semijoins on a fact table.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LoptSemiJoinOptimizer.</span><code><span class="memberNameLink"><a href="../../rules/LoptSemiJoinOptimizer.html#removeJoin(org.apache.calcite.rel.rules.LoptMultiJoin,org.apache.calcite.rel.logical.LogicalJoin,int,int)">removeJoin</a></span>&#8203;(<a href="../../rules/LoptMultiJoin.html" title="class in org.apache.calcite.rel.rules">LoptMultiJoin</a>&nbsp;multiJoin,
<a href="../LogicalJoin.html" title="class in org.apache.calcite.rel.logical">LogicalJoin</a>&nbsp;semiJoin,
int&nbsp;factIdx,
int&nbsp;dimIdx)</code></th>
<td class="colLast">
<div class="block">Determines whether a join of the dimension table in a semijoin can be
removed.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LoptMultiJoin.</span><code><span class="memberNameLink"><a href="../../rules/LoptMultiJoin.html#setJoinRemovalSemiJoin(int,org.apache.calcite.rel.logical.LogicalJoin)">setJoinRemovalSemiJoin</a></span>&#8203;(int&nbsp;dimIdx,
<a href="../LogicalJoin.html" title="class in org.apache.calcite.rel.logical">LogicalJoin</a>&nbsp;semiJoin)</code></th>
<td class="colLast">
<div class="block">Indicates the semijoin that allows the join of a dimension table to be
removed</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Method parameters in <a href="../../rules/package-summary.html">org.apache.calcite.rel.rules</a> with type arguments of type <a href="../LogicalJoin.html" title="class in org.apache.calcite.rel.logical">LogicalJoin</a></span><span class="tabEnd">&nbsp;</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>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>private void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LoptSemiJoinOptimizer.</span><code><span class="memberNameLink"><a href="../../rules/LoptSemiJoinOptimizer.html#removePossibleSemiJoin(java.util.Map,java.lang.Integer,java.lang.Integer)">removePossibleSemiJoin</a></span>&#8203;(java.util.Map&lt;java.lang.Integer,&#8203;<a href="../LogicalJoin.html" title="class in org.apache.calcite.rel.logical">LogicalJoin</a>&gt;&nbsp;possibleDimensions,
java.lang.Integer&nbsp;factIdx,
java.lang.Integer&nbsp;dimIdx)</code></th>
<td class="colLast">
<div class="block">Removes a dimension table from a fact table's list of possible semijoins</div>
</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section role="region"><a id="org.apache.calcite.sql2rel">
<!-- -->
</a>
<h3>Uses of <a href="../LogicalJoin.html" title="class in org.apache.calcite.rel.logical">LogicalJoin</a> in <a href="../../../sql2rel/package-summary.html">org.apache.calcite.sql2rel</a></h3>
<table class="useSummary">
<caption><span>Methods in <a href="../../../sql2rel/package-summary.html">org.apache.calcite.sql2rel</a> with parameters of type <a href="../LogicalJoin.html" title="class in org.apache.calcite.rel.logical">LogicalJoin</a></span><span class="tabEnd">&nbsp;</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>
<tbody>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../sql2rel/RelDecorrelator.Frame.html" title="class in org.apache.calcite.sql2rel">RelDecorrelator.Frame</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelDecorrelator.</span><code><span class="memberNameLink"><a href="../../../sql2rel/RelDecorrelator.html#decorrelateRel(org.apache.calcite.rel.logical.LogicalJoin)">decorrelateRel</a></span>&#8203;(<a href="../LogicalJoin.html" title="class in org.apache.calcite.rel.logical">LogicalJoin</a>&nbsp;rel)</code></th>
<td class="colLast">
<div class="block">Rewrite LogicalJoin.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelDecorrelator.</span><code><span class="memberNameLink"><a href="../../../sql2rel/RelDecorrelator.html#projectJoinOutputWithNullability(org.apache.calcite.rel.logical.LogicalJoin,org.apache.calcite.rel.logical.LogicalProject,int)">projectJoinOutputWithNullability</a></span>&#8203;(<a href="../LogicalJoin.html" title="class in org.apache.calcite.rel.logical">LogicalJoin</a>&nbsp;join,
<a href="../LogicalProject.html" title="class in org.apache.calcite.rel.logical">LogicalProject</a>&nbsp;project,
int&nbsp;nullIndicatorPos)</code></th>
<td class="colLast">
<div class="block">Pulls project above the join from its RHS input.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelStructuredTypeFlattener.</span><code><span class="memberNameLink"><a href="../../../sql2rel/RelStructuredTypeFlattener.html#rewriteRel(org.apache.calcite.rel.logical.LogicalJoin)">rewriteRel</a></span>&#8203;(<a href="../LogicalJoin.html" title="class in org.apache.calcite.rel.logical">LogicalJoin</a>&nbsp;rel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RelDecorrelator.CorelMapBuilder.</span><code><span class="memberNameLink"><a href="../../../sql2rel/RelDecorrelator.CorelMapBuilder.html#visit(org.apache.calcite.rel.logical.LogicalJoin)">visit</a></span>&#8203;(<a href="../LogicalJoin.html" title="class in org.apache.calcite.rel.logical">LogicalJoin</a>&nbsp;join)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</section>
</li>
</ul>
</li>
</ul>
</div>
</main>
<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><a href="../LogicalJoin.html" title="class in org.apache.calcite.rel.logical">Class</a></li>
<li class="navBarCell1Rev">Use</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>
<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>