<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>JoinToMultiJoinRule (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="JoinToMultiJoinRule (Apache Calcite API)";
        }
    }
    catch(err) {
    }
//-->
var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/JoinToMultiJoinRule.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.apache.calcite.rel.rules</a></div>
<h2 title="Class JoinToMultiJoinRule" class="title">Class JoinToMultiJoinRule</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li><a href="../../plan/RelOptRule.html" title="class in org.apache.calcite.plan">org.apache.calcite.plan.RelOptRule</a></li>
<li>
<ul class="inheritance">
<li>org.apache.calcite.rel.rules.JoinToMultiJoinRule</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<pre>public class <span class="typeNameLabel">JoinToMultiJoinRule</span>
extends <a href="../../plan/RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a></pre>
<div class="block">Planner rule to flatten a tree of
 <a href="../logical/LogicalJoin.html" title="class in org.apache.calcite.rel.logical"><code>LogicalJoin</code></a>s
 into a single <a href="MultiJoin.html" title="class in org.apache.calcite.rel.rules"><code>MultiJoin</code></a> with N inputs.

 <p>An input is not flattened if
 the input is a null generating input in an outer join, i.e., either input in
 a full outer join, the right hand side of a left outer join, or the left hand
 side of a right outer join.

 <p>Join conditions are also pulled up from the inputs into the topmost
 <a href="MultiJoin.html" title="class in org.apache.calcite.rel.rules"><code>MultiJoin</code></a>,
 unless the input corresponds to a null generating input in an outer join,

 <p>Outer join information is also stored in the <a href="MultiJoin.html" title="class in org.apache.calcite.rel.rules"><code>MultiJoin</code></a>. A
 boolean flag indicates if the join is a full outer join, and in the case of
 left and right outer joins, the join type and outer join conditions are
 stored in arrays in the <a href="MultiJoin.html" title="class in org.apache.calcite.rel.rules"><code>MultiJoin</code></a>. This outer join information is
 associated with the null generating input in the outer join. So, in the case
 of a a left outer join between A and B, the information is associated with B,
 not A.

 <p>Here are examples of the <a href="MultiJoin.html" title="class in org.apache.calcite.rel.rules"><code>MultiJoin</code></a>s constructed after this rule
 has been applied on following join trees.

 <ul>
 <li>A JOIN B &rarr; MJ(A, B)

 <li>A JOIN B JOIN C &rarr; MJ(A, B, C)

 <li>A LEFT JOIN B &rarr; MJ(A, B), left outer join on input#1

 <li>A RIGHT JOIN B &rarr; MJ(A, B), right outer join on input#0

 <li>A FULL JOIN B &rarr; MJ[full](A, B)

 <li>A LEFT JOIN (B JOIN C) &rarr; MJ(A, MJ(B, C))), left outer join on
 input#1 in the outermost MultiJoin

 <li>(A JOIN B) LEFT JOIN C &rarr; MJ(A, B, C), left outer join on input#2

 <li>(A LEFT JOIN B) JOIN C &rarr; MJ(MJ(A, B), C), left outer join on input#1
 of the inner MultiJoin        TODO

 <li>A LEFT JOIN (B FULL JOIN C) &rarr; MJ(A, MJ[full](B, C)), left outer join
 on input#1 in the outermost MultiJoin

 <li>(A LEFT JOIN B) FULL JOIN (C RIGHT JOIN D) &rarr;
      MJ[full](MJ(A, B), MJ(C, D)), left outer join on input #1 in the first
      inner MultiJoin and right outer join on input#0 in the second inner
      MultiJoin
 </ul>

 <p>The constructor is parameterized to allow any sub-class of
 <a href="../core/Join.html" title="class in org.apache.calcite.rel.core"><code>Join</code></a>, not just
 <a href="../logical/LogicalJoin.html" title="class in org.apache.calcite.rel.logical"><code>LogicalJoin</code></a>.</p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="FilterMultiJoinMergeRule.html" title="class in org.apache.calcite.rel.rules"><code>FilterMultiJoinMergeRule</code></a>, 
<a href="ProjectMultiJoinMergeRule.html" title="class in org.apache.calcite.rel.rules"><code>ProjectMultiJoinMergeRule</code></a></dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="nested.class.summary">
<!--   -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="JoinToMultiJoinRule.InputReferenceCounter.html" title="class in org.apache.calcite.rel.rules">JoinToMultiJoinRule.InputReferenceCounter</a></span></code></th>
<td class="colLast">
<div class="block">Visitor that keeps a reference count of the inputs used by an expression.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- =========== FIELD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Field</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="JoinToMultiJoinRule.html" title="class in org.apache.calcite.rel.rules">JoinToMultiJoinRule</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#INSTANCE">INSTANCE</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="fields.inherited.from.class.org.apache.calcite.plan.RelOptRule">
<!--   -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.calcite.plan.<a href="../../plan/RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a></h3>
<code><a href="../../plan/RelOptRule.html#description">description</a>, <a href="../../plan/RelOptRule.html#operands">operands</a>, <a href="../../plan/RelOptRule.html#relBuilderFactory">relBuilderFactory</a></code></li>
</ul>
</li>
</ul>
</section>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(java.lang.Class)">JoinToMultiJoinRule</a></span>&#8203;(java.lang.Class&lt;? extends <a href="../core/Join.html" title="class in org.apache.calcite.rel.core">Join</a>&gt;&nbsp;clazz)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr class="rowColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(java.lang.Class,org.apache.calcite.tools.RelBuilderFactory)">JoinToMultiJoinRule</a></span>&#8203;(java.lang.Class&lt;? extends <a href="../core/Join.html" title="class in org.apache.calcite.rel.core">Join</a>&gt;&nbsp;clazz,
                   <a href="../../tools/RelBuilderFactory.html" title="interface in org.apache.calcite.tools">RelBuilderFactory</a>&nbsp;relBuilderFactory)</code></th>
<td class="colLast">
<div class="block">Creates a JoinToMultiJoinRule.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>private com.google.common.collect.ImmutableMap&lt;java.lang.Integer,&#8203;<a href="../../util/ImmutableIntList.html" title="class in org.apache.calcite.util">ImmutableIntList</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addOnJoinFieldRefCounts(java.util.List,int,org.apache.calcite.rex.RexNode,java.util.List)">addOnJoinFieldRefCounts</a></span>&#8203;(java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;multiJoinInputs,
                       int&nbsp;nTotalFields,
                       <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;joinCondition,
                       java.util.List&lt;int[]&gt;&nbsp;origJoinFieldRefCounts)</code></th>
<td class="colLast">
<div class="block">Adds on to the existing join condition reference counts the references
 from the new join condition.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>private boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#canCombine(org.apache.calcite.rel.RelNode,boolean)">canCombine</a></span>&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
          boolean&nbsp;nullGenerating)</code></th>
<td class="colLast">
<div class="block">Returns whether an input can be merged into a given relational expression
 without changing semantics.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>private java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#combineInputs(org.apache.calcite.rel.core.Join,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,java.util.List,java.util.List)">combineInputs</a></span>&#8203;(<a href="../core/Join.html" title="class in org.apache.calcite.rel.core">Join</a>&nbsp;join,
             <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,
             java.util.List&lt;<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&gt;&nbsp;projFieldsList,
             java.util.List&lt;int[]&gt;&nbsp;joinFieldRefCountsList)</code></th>
<td class="colLast">
<div class="block">Combines the inputs into a LogicalJoin into an array of inputs.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>private java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#combineJoinFilters(org.apache.calcite.rel.core.Join,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode)">combineJoinFilters</a></span>&#8203;(<a href="../core/Join.html" title="class in org.apache.calcite.rel.core">Join</a>&nbsp;joinRel,
                  <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)</code></th>
<td class="colLast">
<div class="block">Combines the join filters from the left and right inputs (if they are
 MultiJoinRels) with the join filter in the joinrel into a single AND'd
 join filter, unless the inputs correspond to null generating inputs in an
 outer join</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>private void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#combineOuterJoins(org.apache.calcite.rel.core.Join,java.util.List,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,java.util.List)">combineOuterJoins</a></span>&#8203;(<a href="../core/Join.html" title="class in org.apache.calcite.rel.core">Join</a>&nbsp;joinRel,
                 java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;combinedInputs,
                 <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,
                 java.util.List&lt;<a href="../../util/Pair.html" title="class in org.apache.calcite.util">Pair</a>&lt;<a href="../core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>,&#8203;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&gt;&nbsp;joinSpecs)</code></th>
<td class="colLast">
<div class="block">Combines the outer join conditions and join types from the left and right
 join inputs.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>private java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#combinePostJoinFilters(org.apache.calcite.rel.core.Join,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode)">combinePostJoinFilters</a></span>&#8203;(<a href="../core/Join.html" title="class in org.apache.calcite.rel.core">Join</a>&nbsp;joinRel,
                      <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)</code></th>
<td class="colLast">
<div class="block">Combines the post-join filters from the left and right inputs (if they
 are MultiJoinRels) into a single AND'd filter.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>private void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#copyOuterJoinInfo(org.apache.calcite.rel.rules.MultiJoin,java.util.List,int,java.util.List,java.util.List)">copyOuterJoinInfo</a></span>&#8203;(<a href="MultiJoin.html" title="class in org.apache.calcite.rel.rules">MultiJoin</a>&nbsp;multiJoin,
                 java.util.List&lt;<a href="../../util/Pair.html" title="class in org.apache.calcite.util">Pair</a>&lt;<a href="../core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>,&#8203;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&gt;&nbsp;destJoinSpecs,
                 int&nbsp;adjustmentAmount,
                 java.util.List&lt;<a href="../type/RelDataTypeField.html" title="interface in org.apache.calcite.rel.type">RelDataTypeField</a>&gt;&nbsp;srcFields,
                 java.util.List&lt;<a href="../type/RelDataTypeField.html" title="interface in org.apache.calcite.rel.type">RelDataTypeField</a>&gt;&nbsp;destFields)</code></th>
<td class="colLast">
<div class="block">Copies outer join data from a source MultiJoin to a new set of arrays.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></span>&#8203;(<a href="../../plan/RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</code></th>
<td class="colLast">
<div class="block">Receives notification about a rule match.</div>
</td>
</tr>
<tr id="i8" 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"><code><span class="memberNameLink"><a href="#shiftRightFilter(org.apache.calcite.rel.core.Join,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.rules.MultiJoin,org.apache.calcite.rex.RexNode)">shiftRightFilter</a></span>&#8203;(<a href="../core/Join.html" title="class in org.apache.calcite.rel.core">Join</a>&nbsp;joinRel,
                <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
                <a href="MultiJoin.html" title="class in org.apache.calcite.rel.rules">MultiJoin</a>&nbsp;right,
                <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;rightFilter)</code></th>
<td class="colLast">
<div class="block">Shifts a filter originating from the right child of the LogicalJoin to the
 right, to reflect the filter now being applied on the resulting
 MultiJoin.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.apache.calcite.plan.RelOptRule">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.calcite.plan.<a href="../../plan/RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a></h3>
<code><a href="../../plan/RelOptRule.html#any()">any</a>, <a href="../../plan/RelOptRule.html#convert(org.apache.calcite.rel.RelNode,org.apache.calcite.plan.RelTrait)">convert</a>, <a href="../../plan/RelOptRule.html#convert(org.apache.calcite.rel.RelNode,org.apache.calcite.plan.RelTraitSet)">convert</a>, <a href="../../plan/RelOptRule.html#convertList(java.util.List,org.apache.calcite.plan.RelTrait)">convertList</a>, <a href="../../plan/RelOptRule.html#convertOperand(java.lang.Class,com.google.common.base.Predicate,org.apache.calcite.plan.RelTrait)">convertOperand</a>, <a href="../../plan/RelOptRule.html#convertOperand(java.lang.Class,java.util.function.Predicate,org.apache.calcite.plan.RelTrait)">convertOperand</a>, <a href="../../plan/RelOptRule.html#equals(java.lang.Object)">equals</a>, <a href="../../plan/RelOptRule.html#equals(org.apache.calcite.plan.RelOptRule)">equals</a>, <a href="../../plan/RelOptRule.html#getOperand()">getOperand</a>, <a href="../../plan/RelOptRule.html#getOperands()">getOperands</a>, <a href="../../plan/RelOptRule.html#getOutConvention()">getOutConvention</a>, <a href="../../plan/RelOptRule.html#getOutTrait()">getOutTrait</a>, <a href="../../plan/RelOptRule.html#hashCode()">hashCode</a>, <a href="../../plan/RelOptRule.html#matches(org.apache.calcite.plan.RelOptRuleCall)">matches</a>, <a href="../../plan/RelOptRule.html#none()">none</a>, <a href="../../plan/RelOptRule.html#operand(java.lang.Class,org.apache.calcite.plan.RelOptRuleOperandChildren)">operand</a>, <a href="../../plan/RelOptRule.html#operand(java.lang.Class,org.apache.calcite.plan.RelOptRuleOperand,org.apache.calcite.plan.RelOptRuleOperand...)">operand</a>, <a href="../../plan/RelOptRule.html#operand(java.lang.Class,org.apache.calcite.plan.RelTrait,com.google.common.base.Predicate,org.apache.calcite.plan.RelOptRuleOperandChildren)">operand</a>, <a href="../../plan/RelOptRule.html#operand(java.lang.Class,org.apache.calcite.plan.RelTrait,com.google.common.base.Predicate,org.apache.calcite.plan.RelOptRuleOperand,org.apache.calcite.plan.RelOptRuleOperand...)">operand</a>, <a href="../../plan/RelOptRule.html#operand(java.lang.Class,org.apache.calcite.plan.RelTrait,org.apache.calcite.plan.RelOptRuleOperandChildren)">operand</a>, <a href="../../plan/RelOptRule.html#operandJ(java.lang.Class,org.apache.calcite.plan.RelTrait,java.util.function.Predicate,org.apache.calcite.plan.RelOptRuleOperandChildren)">operandJ</a>, <a href="../../plan/RelOptRule.html#operandJ(java.lang.Class,org.apache.calcite.plan.RelTrait,java.util.function.Predicate,org.apache.calcite.plan.RelOptRuleOperand,org.apache.calcite.plan.RelOptRuleOperand...)">operandJ</a>, <a href="../../plan/RelOptRule.html#some(org.apache.calcite.plan.RelOptRuleOperand,org.apache.calcite.plan.RelOptRuleOperand...)">some</a>, <a href="../../plan/RelOptRule.html#toString()">toString</a>, <a href="../../plan/RelOptRule.html#unordered(org.apache.calcite.plan.RelOptRuleOperand,org.apache.calcite.plan.RelOptRuleOperand...)">unordered</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, finalize, getClass, notify, notifyAll, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.detail">
<!--   -->
</a>
<h3>Field Detail</h3>
<a id="INSTANCE">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>INSTANCE</h4>
<pre>public static final&nbsp;<a href="JoinToMultiJoinRule.html" title="class in org.apache.calcite.rel.rules">JoinToMultiJoinRule</a> INSTANCE</pre>
</li>
</ul>
</li>
</ul>
</section>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;(java.lang.Class)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>JoinToMultiJoinRule</h4>
<pre>@Deprecated
public&nbsp;JoinToMultiJoinRule&#8203;(java.lang.Class&lt;? extends <a href="../core/Join.html" title="class in org.apache.calcite.rel.core">Join</a>&gt;&nbsp;clazz)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
</li>
</ul>
<a id="&lt;init&gt;(java.lang.Class,org.apache.calcite.tools.RelBuilderFactory)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>JoinToMultiJoinRule</h4>
<pre>public&nbsp;JoinToMultiJoinRule&#8203;(java.lang.Class&lt;? extends <a href="../core/Join.html" title="class in org.apache.calcite.rel.core">Join</a>&gt;&nbsp;clazz,
                           <a href="../../tools/RelBuilderFactory.html" title="interface in org.apache.calcite.tools">RelBuilderFactory</a>&nbsp;relBuilderFactory)</pre>
<div class="block">Creates a JoinToMultiJoinRule.</div>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a id="onMatch(org.apache.calcite.plan.RelOptRuleCall)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onMatch</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;onMatch&#8203;(<a href="../../plan/RelOptRuleCall.html" title="class in org.apache.calcite.plan">RelOptRuleCall</a>&nbsp;call)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../plan/RelOptRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">RelOptRule</a></code></span></div>
<div class="block">Receives notification about a rule match. At the time that this method is
 called, <a href="../../plan/RelOptRuleCall.html#rels"><code>call.rels</code></a> holds the set of relational
 expressions which match the operands to the rule; <code>
 call.rels[0]</code> is the root expression.

 <p>Typically a rule would check that the nodes are valid matches, creates
 a new expression, then calls back <a href="../../plan/RelOptRuleCall.html#transformTo(org.apache.calcite.rel.RelNode,java.util.Map)"><code>RelOptRuleCall.transformTo(org.apache.calcite.rel.RelNode, java.util.Map&lt;org.apache.calcite.rel.RelNode, org.apache.calcite.rel.RelNode&gt;)</code></a> to
 register the expression.</p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../plan/RelOptRule.html#onMatch(org.apache.calcite.plan.RelOptRuleCall)">onMatch</a></code>&nbsp;in class&nbsp;<code><a href="../../plan/RelOptRule.html" title="class in org.apache.calcite.plan">RelOptRule</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>call</code> - Rule call</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../plan/RelOptRule.html#matches(org.apache.calcite.plan.RelOptRuleCall)"><code>RelOptRule.matches(RelOptRuleCall)</code></a></dd>
</dl>
</li>
</ul>
<a id="combineInputs(org.apache.calcite.rel.core.Join,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,java.util.List,java.util.List)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>combineInputs</h4>
<pre class="methodSignature">private&nbsp;java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;combineInputs&#8203;(<a href="../core/Join.html" title="class in org.apache.calcite.rel.core">Join</a>&nbsp;join,
                                              <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,
                                              java.util.List&lt;<a href="../../util/ImmutableBitSet.html" title="class in org.apache.calcite.util">ImmutableBitSet</a>&gt;&nbsp;projFieldsList,
                                              java.util.List&lt;int[]&gt;&nbsp;joinFieldRefCountsList)</pre>
<div class="block">Combines the inputs into a LogicalJoin into an array of inputs.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>join</code> - original join</dd>
<dd><code>left</code> - left input into join</dd>
<dd><code>right</code> - right input into join</dd>
<dd><code>projFieldsList</code> - returns a list of the new combined projection
                               fields</dd>
<dd><code>joinFieldRefCountsList</code> - returns a list of the new combined join
                               field reference counts</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>combined left and right inputs in an array</dd>
</dl>
</li>
</ul>
<a id="combineOuterJoins(org.apache.calcite.rel.core.Join,java.util.List,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode,java.util.List)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>combineOuterJoins</h4>
<pre class="methodSignature">private&nbsp;void&nbsp;combineOuterJoins&#8203;(<a href="../core/Join.html" title="class in org.apache.calcite.rel.core">Join</a>&nbsp;joinRel,
                               java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;combinedInputs,
                               <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,
                               java.util.List&lt;<a href="../../util/Pair.html" title="class in org.apache.calcite.util">Pair</a>&lt;<a href="../core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>,&#8203;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&gt;&nbsp;joinSpecs)</pre>
<div class="block">Combines the outer join conditions and join types from the left and right
 join inputs. If the join itself is either a left or right outer join,
 then the join condition corresponding to the join is also set in the
 position corresponding to the null-generating input into the join. The
 join type is also set.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>joinRel</code> - join rel</dd>
<dd><code>combinedInputs</code> - the combined inputs to the join</dd>
<dd><code>left</code> - left child of the joinrel</dd>
<dd><code>right</code> - right child of the joinrel</dd>
<dd><code>joinSpecs</code> - the list where the join types and conditions will be
                       copied</dd>
</dl>
</li>
</ul>
<a id="copyOuterJoinInfo(org.apache.calcite.rel.rules.MultiJoin,java.util.List,int,java.util.List,java.util.List)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>copyOuterJoinInfo</h4>
<pre class="methodSignature">private&nbsp;void&nbsp;copyOuterJoinInfo&#8203;(<a href="MultiJoin.html" title="class in org.apache.calcite.rel.rules">MultiJoin</a>&nbsp;multiJoin,
                               java.util.List&lt;<a href="../../util/Pair.html" title="class in org.apache.calcite.util">Pair</a>&lt;<a href="../core/JoinRelType.html" title="enum in org.apache.calcite.rel.core">JoinRelType</a>,&#8203;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&gt;&nbsp;destJoinSpecs,
                               int&nbsp;adjustmentAmount,
                               java.util.List&lt;<a href="../type/RelDataTypeField.html" title="interface in org.apache.calcite.rel.type">RelDataTypeField</a>&gt;&nbsp;srcFields,
                               java.util.List&lt;<a href="../type/RelDataTypeField.html" title="interface in org.apache.calcite.rel.type">RelDataTypeField</a>&gt;&nbsp;destFields)</pre>
<div class="block">Copies outer join data from a source MultiJoin to a new set of arrays.
 Also adjusts the conditions to reflect the new position of an input if
 that input ends up being shifted to the right.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>multiJoin</code> - the source MultiJoin</dd>
<dd><code>destJoinSpecs</code> - the list where the join types and conditions will
                         be copied</dd>
<dd><code>adjustmentAmount</code> - if &gt; 0, the amount the RexInputRefs in the join
                         conditions need to be adjusted by</dd>
<dd><code>srcFields</code> - the source fields that the original join conditions
                         are referencing</dd>
<dd><code>destFields</code> - the destination fields that the new join conditions</dd>
</dl>
</li>
</ul>
<a id="combineJoinFilters(org.apache.calcite.rel.core.Join,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>combineJoinFilters</h4>
<pre class="methodSignature">private&nbsp;java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;combineJoinFilters&#8203;(<a href="../core/Join.html" title="class in org.apache.calcite.rel.core">Join</a>&nbsp;joinRel,
                                                   <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)</pre>
<div class="block">Combines the join filters from the left and right inputs (if they are
 MultiJoinRels) with the join filter in the joinrel into a single AND'd
 join filter, unless the inputs correspond to null generating inputs in an
 outer join</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>joinRel</code> - join rel</dd>
<dd><code>left</code> - left child of the join</dd>
<dd><code>right</code> - right child of the join</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>combined join filters AND-ed together</dd>
</dl>
</li>
</ul>
<a id="canCombine(org.apache.calcite.rel.RelNode,boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>canCombine</h4>
<pre class="methodSignature">private&nbsp;boolean&nbsp;canCombine&#8203;(<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;input,
                           boolean&nbsp;nullGenerating)</pre>
<div class="block">Returns whether an input can be merged into a given relational expression
 without changing semantics.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>input</code> - input into a join</dd>
<dd><code>nullGenerating</code> - true if the input is null generating</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the input can be combined into a parent MultiJoin</dd>
</dl>
</li>
</ul>
<a id="shiftRightFilter(org.apache.calcite.rel.core.Join,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.rules.MultiJoin,org.apache.calcite.rex.RexNode)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>shiftRightFilter</h4>
<pre class="methodSignature">private&nbsp;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;shiftRightFilter&#8203;(<a href="../core/Join.html" title="class in org.apache.calcite.rel.core">Join</a>&nbsp;joinRel,
                                 <a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&nbsp;left,
                                 <a href="MultiJoin.html" title="class in org.apache.calcite.rel.rules">MultiJoin</a>&nbsp;right,
                                 <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;rightFilter)</pre>
<div class="block">Shifts a filter originating from the right child of the LogicalJoin to the
 right, to reflect the filter now being applied on the resulting
 MultiJoin.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>joinRel</code> - the original LogicalJoin</dd>
<dd><code>left</code> - the left child of the LogicalJoin</dd>
<dd><code>right</code> - the right child of the LogicalJoin</dd>
<dd><code>rightFilter</code> - the filter originating from the right child</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the adjusted right filter</dd>
</dl>
</li>
</ul>
<a id="addOnJoinFieldRefCounts(java.util.List,int,org.apache.calcite.rex.RexNode,java.util.List)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addOnJoinFieldRefCounts</h4>
<pre class="methodSignature">private&nbsp;com.google.common.collect.ImmutableMap&lt;java.lang.Integer,&#8203;<a href="../../util/ImmutableIntList.html" title="class in org.apache.calcite.util">ImmutableIntList</a>&gt;&nbsp;addOnJoinFieldRefCounts&#8203;(java.util.List&lt;<a href="../RelNode.html" title="interface in org.apache.calcite.rel">RelNode</a>&gt;&nbsp;multiJoinInputs,
                                                                                                                 int&nbsp;nTotalFields,
                                                                                                                 <a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&nbsp;joinCondition,
                                                                                                                 java.util.List&lt;int[]&gt;&nbsp;origJoinFieldRefCounts)</pre>
<div class="block">Adds on to the existing join condition reference counts the references
 from the new join condition.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>multiJoinInputs</code> - inputs into the new MultiJoin</dd>
<dd><code>nTotalFields</code> - total number of fields in the MultiJoin</dd>
<dd><code>joinCondition</code> - the new join condition</dd>
<dd><code>origJoinFieldRefCounts</code> - existing join condition reference counts</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Map containing the new join condition</dd>
</dl>
</li>
</ul>
<a id="combinePostJoinFilters(org.apache.calcite.rel.core.Join,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelNode)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>combinePostJoinFilters</h4>
<pre class="methodSignature">private&nbsp;java.util.List&lt;<a href="../../rex/RexNode.html" title="class in org.apache.calcite.rex">RexNode</a>&gt;&nbsp;combinePostJoinFilters&#8203;(<a href="../core/Join.html" title="class in org.apache.calcite.rel.core">Join</a>&nbsp;joinRel,
                                                       <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)</pre>
<div class="block">Combines the post-join filters from the left and right inputs (if they
 are MultiJoinRels) into a single AND'd filter.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>joinRel</code> - the original LogicalJoin</dd>
<dd><code>left</code> - left child of the LogicalJoin</dd>
<dd><code>right</code> - right child of the LogicalJoin</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>combined post-join filters AND'd together</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/JoinToMultiJoinRule.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2012&#x2013;2019 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</body>
</html>
