blob: d0336e330feca7cf6397bcd8a3bccc254f2a0706 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>Impala: impala::BlockingJoinNode Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
$(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">Impala
</div>
<div id="projectbrief">Impalaistheopensource,nativeanalyticdatabaseforApacheHadoop.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('classimpala_1_1BlockingJoinNode.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pub-static-attribs">Static Public Attributes</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-static-methods">Static Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="#pri-methods">Private Member Functions</a> &#124;
<a href="classimpala_1_1BlockingJoinNode-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">impala::BlockingJoinNode Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="blocking-join-node_8h_source.html">blocking-join-node.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for impala::BlockingJoinNode:</div>
<div class="dyncontent">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="classimpala_1_1BlockingJoinNode__inherit__graph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div></div>
</div>
<div class="dynheader">
Collaboration diagram for impala::BlockingJoinNode:</div>
<div class="dyncontent">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="classimpala_1_1BlockingJoinNode__coll__graph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div></div>
</div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ab9c580da150c678e03a18a8c9a839d20"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1BlockingJoinNode.html#ab9c580da150c678e03a18a8c9a839d20">BlockingJoinNode</a> (const std::string &amp;node_name, const TJoinOp::type join_op, <a class="el" href="classimpala_1_1ObjectPool.html">ObjectPool</a> *<a class="el" href="expr-benchmark_8cc.html#a3a5de7bd423fbc0afc4cf935c166ca6b">pool</a>, const TPlanNode &amp;tnode, const <a class="el" href="classimpala_1_1DescriptorTbl.html">DescriptorTbl</a> &amp;descs)</td></tr>
<tr class="separator:ab9c580da150c678e03a18a8c9a839d20"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0298cb8f559443af161f2c67700baa9d"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1BlockingJoinNode.html#a0298cb8f559443af161f2c67700baa9d">~BlockingJoinNode</a> ()</td></tr>
<tr class="separator:a0298cb8f559443af161f2c67700baa9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ade60011cccc7cafd5c07f1b8982bb12f"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classimpala_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1BlockingJoinNode.html#ade60011cccc7cafd5c07f1b8982bb12f">Init</a> (const TPlanNode &amp;tnode)</td></tr>
<tr class="separator:ade60011cccc7cafd5c07f1b8982bb12f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9081198a34dc3613015e21c4e2100478"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classimpala_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1BlockingJoinNode.html#a9081198a34dc3613015e21c4e2100478">Prepare</a> (<a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> *state)</td></tr>
<tr class="separator:a9081198a34dc3613015e21c4e2100478"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b5679fb9c03b667cb3c90512a24faab"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classimpala_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1BlockingJoinNode.html#a8b5679fb9c03b667cb3c90512a24faab">Open</a> (<a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> *state)</td></tr>
<tr class="separator:a8b5679fb9c03b667cb3c90512a24faab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed593f75e4fe2bec8e50a74998d7a3c9"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classimpala_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1BlockingJoinNode.html#aed593f75e4fe2bec8e50a74998d7a3c9">Reset</a> (<a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> *state)</td></tr>
<tr class="separator:aed593f75e4fe2bec8e50a74998d7a3c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a026dc3cee5e676a7ad6ababfa9baebee"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1BlockingJoinNode.html#a026dc3cee5e676a7ad6ababfa9baebee">Close</a> (<a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> *state)</td></tr>
<tr class="separator:a026dc3cee5e676a7ad6ababfa9baebee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a151fe2bdeb1cd399dd561f049aee2523"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classimpala_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a151fe2bdeb1cd399dd561f049aee2523">GetNext</a> (<a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> *state, <a class="el" href="classimpala_1_1RowBatch.html">RowBatch</a> *row_batch, <a class="el" href="classbool.html">bool</a> *eos)=0</td></tr>
<tr class="separator:a151fe2bdeb1cd399dd561f049aee2523"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a79a78df488ddcb12e0150b919efc059a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a79a78df488ddcb12e0150b919efc059a">CollectNodes</a> (TPlanNodeType::type node_type, std::vector&lt; <a class="el" href="classimpala_1_1ExecNode.html">ExecNode</a> * &gt; *nodes)</td></tr>
<tr class="separator:a79a78df488ddcb12e0150b919efc059a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeaf6b6a9dff1fd661e63258272c62b96"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#aeaf6b6a9dff1fd661e63258272c62b96">CollectScanNodes</a> (std::vector&lt; <a class="el" href="classimpala_1_1ExecNode.html">ExecNode</a> * &gt; *nodes)</td></tr>
<tr class="memdesc:aeaf6b6a9dff1fd661e63258272c62b96"><td class="mdescLeft">&#160;</td><td class="mdescRight">Collect all scan node types. <a href="#aeaf6b6a9dff1fd661e63258272c62b96">More...</a><br/></td></tr>
<tr class="separator:aeaf6b6a9dff1fd661e63258272c62b96"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a56de50f3c92483ba38f6e42ab19cc0a2"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a56de50f3c92483ba38f6e42ab19cc0a2">DebugString</a> () const </td></tr>
<tr class="memdesc:a56de50f3c92483ba38f6e42ab19cc0a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a string representation in DFS order of the plan rooted at this. <a href="#a56de50f3c92483ba38f6e42ab19cc0a2">More...</a><br/></td></tr>
<tr class="separator:a56de50f3c92483ba38f6e42ab19cc0a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad21c25a63f7a11127082710941d23654"><td class="memItemLeft" align="right" valign="top">const std::vector&lt; <a class="el" href="classimpala_1_1ExprContext.html">ExprContext</a> * &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#ad21c25a63f7a11127082710941d23654">conjunct_ctxs</a> () const </td></tr>
<tr class="separator:ad21c25a63f7a11127082710941d23654"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2088a36bc4bb4e0c3c7c1444198b76dd"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a2088a36bc4bb4e0c3c7c1444198b76dd">id</a> () const </td></tr>
<tr class="separator:a2088a36bc4bb4e0c3c7c1444198b76dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef75c686c9c11e8fcb9b21cfa74c442d"><td class="memItemLeft" align="right" valign="top">TPlanNodeType::type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#aef75c686c9c11e8fcb9b21cfa74c442d">type</a> () const </td></tr>
<tr class="separator:aef75c686c9c11e8fcb9b21cfa74c442d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a467297b1704ae33db61ae61d3400c35f"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classimpala_1_1RowDescriptor.html">RowDescriptor</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a467297b1704ae33db61ae61d3400c35f">row_desc</a> () const </td></tr>
<tr class="separator:a467297b1704ae33db61ae61d3400c35f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f3a896c7e58304582acd34f662b4c72"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a3f3a896c7e58304582acd34f662b4c72">rows_returned</a> () const </td></tr>
<tr class="separator:a3f3a896c7e58304582acd34f662b4c72"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8083cea2b4b6646c80d8d87a0522074b"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a8083cea2b4b6646c80d8d87a0522074b">limit</a> () const </td></tr>
<tr class="separator:a8083cea2b4b6646c80d8d87a0522074b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3ff26374466bc587eaa4c7d00b3e126a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbool.html">bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a3ff26374466bc587eaa4c7d00b3e126a">ReachedLimit</a> ()</td></tr>
<tr class="separator:a3ff26374466bc587eaa4c7d00b3e126a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad062f28c78add1a869fffdab9419b09d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1RuntimeProfile.html">RuntimeProfile</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#ad062f28c78add1a869fffdab9419b09d">runtime_profile</a> ()</td></tr>
<tr class="separator:ad062f28c78add1a869fffdab9419b09d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abd7922a579e4adc353756849a0f45b48"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1MemTracker.html">MemTracker</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#abd7922a579e4adc353756849a0f45b48">mem_tracker</a> ()</td></tr>
<tr class="separator:abd7922a579e4adc353756849a0f45b48"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abe940aa2d7da783c4e8c65f0af22ad8f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1MemTracker.html">MemTracker</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#abe940aa2d7da783c4e8c65f0af22ad8f">expr_mem_tracker</a> ()</td></tr>
<tr class="separator:abe940aa2d7da783c4e8c65f0af22ad8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:aad99835d1957684b656d5f2d4427b5eb"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classimpala_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#aad99835d1957684b656d5f2d4427b5eb">CreateTree</a> (<a class="el" href="classimpala_1_1ObjectPool.html">ObjectPool</a> *<a class="el" href="expr-benchmark_8cc.html#a3a5de7bd423fbc0afc4cf935c166ca6b">pool</a>, const TPlan &amp;plan, const <a class="el" href="classimpala_1_1DescriptorTbl.html">DescriptorTbl</a> &amp;descs, <a class="el" href="classimpala_1_1ExecNode.html">ExecNode</a> **root)</td></tr>
<tr class="separator:aad99835d1957684b656d5f2d4427b5eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a39054faeb49a0adeeabb256106f456af"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a39054faeb49a0adeeabb256106f456af">SetDebugOptions</a> (int node_id, TExecNodePhase::type phase, TDebugAction::type action, <a class="el" href="classimpala_1_1ExecNode.html">ExecNode</a> *tree)</td></tr>
<tr class="memdesc:a39054faeb49a0adeeabb256106f456af"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set debug action for node with given id in 'tree'. <a href="#a39054faeb49a0adeeabb256106f456af">More...</a><br/></td></tr>
<tr class="separator:a39054faeb49a0adeeabb256106f456af"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a48ec693b9eb748682b58479751812f08"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classbool.html">bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a48ec693b9eb748682b58479751812f08">EvalConjuncts</a> (<a class="el" href="classimpala_1_1ExprContext.html">ExprContext</a> *const *ctxs, int num_ctxs, <a class="el" href="classimpala_1_1TupleRow.html">TupleRow</a> *row)</td></tr>
<tr class="separator:a48ec693b9eb748682b58479751812f08"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a64bf8cb31a57b9d6dc3f5cd60066a686"><td class="memItemLeft" align="right" valign="top">static llvm::Function *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a64bf8cb31a57b9d6dc3f5cd60066a686">CodegenEvalConjuncts</a> (<a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> *state, const std::vector&lt; <a class="el" href="classimpala_1_1ExprContext.html">ExprContext</a> * &gt; &amp;<a class="el" href="classimpala_1_1ExecNode.html#ad21c25a63f7a11127082710941d23654">conjunct_ctxs</a>, const char *<a class="el" href="namespaceimpala.html#aaebb9aadfa9e5aec064bc26565df06d3">name</a>=&quot;EvalConjuncts&quot;)</td></tr>
<tr class="separator:a64bf8cb31a57b9d6dc3f5cd60066a686"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3e2d144b60f904f6b1f3219b9471aad3"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a3e2d144b60f904f6b1f3219b9471aad3">GetNodeIdFromProfile</a> (<a class="el" href="classimpala_1_1RuntimeProfile.html">RuntimeProfile</a> *p)</td></tr>
<tr class="memdesc:a3e2d144b60f904f6b1f3219b9471aad3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Extract node id from p-&gt;<a class="el" href="namespaceimpala.html#aaebb9aadfa9e5aec064bc26565df06d3">name()</a>. <a href="#a3e2d144b60f904f6b1f3219b9471aad3">More...</a><br/></td></tr>
<tr class="separator:a3e2d144b60f904f6b1f3219b9471aad3"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>
Static Public Attributes</h2></td></tr>
<tr class="memitem:a017212785c5784e56363422c18fa11d4"><td class="memItemLeft" align="right" valign="top">static const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1BlockingJoinNode.html#a017212785c5784e56363422c18fa11d4">LLVM_CLASS_NAME</a> = &quot;class.impala::BlockingJoinNode&quot;</td></tr>
<tr class="separator:a017212785c5784e56363422c18fa11d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a514778516fb852eed80c2e98bf08fac2"><td class="memItemLeft" align="right" valign="top">static const std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a514778516fb852eed80c2e98bf08fac2">ROW_THROUGHPUT_COUNTER</a> = &quot;RowsReturnedRate&quot;</td></tr>
<tr class="memdesc:a514778516fb852eed80c2e98bf08fac2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Names of counters shared by all exec nodes. <a href="#a514778516fb852eed80c2e98bf08fac2">More...</a><br/></td></tr>
<tr class="separator:a514778516fb852eed80c2e98bf08fac2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:aefb66021c52d596572754cbfb85ce760"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classimpala_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1BlockingJoinNode.html#aefb66021c52d596572754cbfb85ce760">InitGetNext</a> (<a class="el" href="classimpala_1_1TupleRow.html">TupleRow</a> *first_left_child_row)=0</td></tr>
<tr class="separator:aefb66021c52d596572754cbfb85ce760"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a14f3862ffcf38dd7fd7d56c8efe30f90"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classimpala_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1BlockingJoinNode.html#a14f3862ffcf38dd7fd7d56c8efe30f90">ConstructBuildSide</a> (<a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> *state)=0</td></tr>
<tr class="separator:a14f3862ffcf38dd7fd7d56c8efe30f90"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6b34a0e7d31c372c94d2829c56a0b32a"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1BlockingJoinNode.html#a6b34a0e7d31c372c94d2829c56a0b32a">AddToDebugString</a> (int indentation_level, std::stringstream *out) const </td></tr>
<tr class="separator:a6b34a0e7d31c372c94d2829c56a0b32a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac8de59dcb8911596a8dcab7eed11b346"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1BlockingJoinNode.html#ac8de59dcb8911596a8dcab7eed11b346">DebugString</a> (int indentation_level, std::stringstream *out) const </td></tr>
<tr class="memdesc:ac8de59dcb8911596a8dcab7eed11b346"><td class="mdescLeft">&#160;</td><td class="mdescRight">Subclasses should not override, use <a class="el" href="classimpala_1_1BlockingJoinNode.html#a6b34a0e7d31c372c94d2829c56a0b32a">AddToDebugString()</a> to add to the result. <a href="#ac8de59dcb8911596a8dcab7eed11b346">More...</a><br/></td></tr>
<tr class="separator:ac8de59dcb8911596a8dcab7eed11b346"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4e170b3fdc3487364270d4c9db23db2c"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1BlockingJoinNode.html#a4e170b3fdc3487364270d4c9db23db2c">GetLeftChildRowString</a> (<a class="el" href="classimpala_1_1TupleRow.html">TupleRow</a> *row)</td></tr>
<tr class="separator:a4e170b3fdc3487364270d4c9db23db2c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9c75eba8abec44f42095f21f5e90b9ce"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1BlockingJoinNode.html#a9c75eba8abec44f42095f21f5e90b9ce">CreateOutputRow</a> (<a class="el" href="classimpala_1_1TupleRow.html">TupleRow</a> *out_row, <a class="el" href="classimpala_1_1TupleRow.html">TupleRow</a> *probe_row, <a class="el" href="classimpala_1_1TupleRow.html">TupleRow</a> *build_row)</td></tr>
<tr class="separator:a9c75eba8abec44f42095f21f5e90b9ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1fb77c5926ec8ad015f153aabb190237"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1ExecNode.html">ExecNode</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a1fb77c5926ec8ad015f153aabb190237">child</a> (int i)</td></tr>
<tr class="separator:a1fb77c5926ec8ad015f153aabb190237"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a467751b7182365c83e867dc3d50b43e2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbool.html">bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a467751b7182365c83e867dc3d50b43e2">is_closed</a> ()</td></tr>
<tr class="separator:a467751b7182365c83e867dc3d50b43e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa4941adc86040c00d0fe1b52bb1c0221"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classbool.html">bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#aa4941adc86040c00d0fe1b52bb1c0221">IsScanNode</a> () const </td></tr>
<tr class="separator:aa4941adc86040c00d0fe1b52bb1c0221"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adf07b8ec102e4bc7cc3707157c8f0e99"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#adf07b8ec102e4bc7cc3707157c8f0e99">InitRuntimeProfile</a> (const std::string &amp;<a class="el" href="namespaceimpala.html#aaebb9aadfa9e5aec064bc26565df06d3">name</a>)</td></tr>
<tr class="separator:adf07b8ec102e4bc7cc3707157c8f0e99"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a310d3a6b28f5bb1046a90ef8995ffb12"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a310d3a6b28f5bb1046a90ef8995ffb12">ExecDebugAction</a> (TExecNodePhase::type phase, <a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> *state)</td></tr>
<tr class="separator:a310d3a6b28f5bb1046a90ef8995ffb12"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a05e056b5d11b187a1d31723c7d1592eb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a05e056b5d11b187a1d31723c7d1592eb">AddRuntimeExecOption</a> (const std::string &amp;option)</td></tr>
<tr class="memdesc:a05e056b5d11b187a1d31723c7d1592eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Appends option to 'runtime_exec_options_'. <a href="#a05e056b5d11b187a1d31723c7d1592eb">More...</a><br/></td></tr>
<tr class="separator:a05e056b5d11b187a1d31723c7d1592eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab8f2832c6a5487aa8168b2a7d65773ee"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classimpala_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#ab8f2832c6a5487aa8168b2a7d65773ee">QueryMaintenance</a> (<a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> *state)</td></tr>
<tr class="separator:ab8f2832c6a5487aa8168b2a7d65773ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ad378d275c91637f12ca7fa742d59db"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a4ad378d275c91637f12ca7fa742d59db">AddExprCtxToFree</a> (<a class="el" href="classimpala_1_1ExprContext.html">ExprContext</a> *ctx)</td></tr>
<tr class="separator:a4ad378d275c91637f12ca7fa742d59db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a19340582202dd61e0b028c28efa5490a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a19340582202dd61e0b028c28efa5490a">AddExprCtxsToFree</a> (const std::vector&lt; <a class="el" href="classimpala_1_1ExprContext.html">ExprContext</a> * &gt; &amp;ctxs)</td></tr>
<tr class="separator:a19340582202dd61e0b028c28efa5490a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afa7de6fd3a4f1580884680c35b9b8804"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#afa7de6fd3a4f1580884680c35b9b8804">AddExprCtxsToFree</a> (const <a class="el" href="classimpala_1_1SortExecExprs.html">SortExecExprs</a> &amp;sort_exec_exprs)</td></tr>
<tr class="separator:afa7de6fd3a4f1580884680c35b9b8804"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-static-methods"></a>
Static Protected Member Functions</h2></td></tr>
<tr class="memitem:af055b7d9d3de849cbde01b12c608ee38"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classimpala_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#af055b7d9d3de849cbde01b12c608ee38">CreateNode</a> (<a class="el" href="classimpala_1_1ObjectPool.html">ObjectPool</a> *<a class="el" href="expr-benchmark_8cc.html#a3a5de7bd423fbc0afc4cf935c166ca6b">pool</a>, const TPlanNode &amp;tnode, const <a class="el" href="classimpala_1_1DescriptorTbl.html">DescriptorTbl</a> &amp;descs, <a class="el" href="classimpala_1_1ExecNode.html">ExecNode</a> **node)</td></tr>
<tr class="memdesc:af055b7d9d3de849cbde01b12c608ee38"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a single exec node derived from thrift node; place exec node in 'pool'. <a href="#af055b7d9d3de849cbde01b12c608ee38">More...</a><br/></td></tr>
<tr class="separator:af055b7d9d3de849cbde01b12c608ee38"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d97c1b8247ed300dd82db66f38e7b00"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classimpala_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a3d97c1b8247ed300dd82db66f38e7b00">CreateTreeHelper</a> (<a class="el" href="classimpala_1_1ObjectPool.html">ObjectPool</a> *<a class="el" href="expr-benchmark_8cc.html#a3a5de7bd423fbc0afc4cf935c166ca6b">pool</a>, const std::vector&lt; TPlanNode &gt; &amp;tnodes, const <a class="el" href="classimpala_1_1DescriptorTbl.html">DescriptorTbl</a> &amp;descs, <a class="el" href="classimpala_1_1ExecNode.html">ExecNode</a> *parent, int *node_idx, <a class="el" href="classimpala_1_1ExecNode.html">ExecNode</a> **root)</td></tr>
<tr class="separator:a3d97c1b8247ed300dd82db66f38e7b00"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:aea8e20d9588cd609720e6c7c0505a56e"><td class="memItemLeft" align="right" valign="top">const std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1BlockingJoinNode.html#aea8e20d9588cd609720e6c7c0505a56e">node_name_</a></td></tr>
<tr class="separator:aea8e20d9588cd609720e6c7c0505a56e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad744c2cb396ed68c438d46395d612df6"><td class="memItemLeft" align="right" valign="top">TJoinOp::type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1BlockingJoinNode.html#ad744c2cb396ed68c438d46395d612df6">join_op_</a></td></tr>
<tr class="separator:ad744c2cb396ed68c438d46395d612df6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e815e2ed755fc790f34a83769bf6461"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbool.html">bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1BlockingJoinNode.html#a5e815e2ed755fc790f34a83769bf6461">eos_</a></td></tr>
<tr class="separator:a5e815e2ed755fc790f34a83769bf6461"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6d1a0e3a68490dbae73c03660a77c6cf"><td class="memItemLeft" align="right" valign="top">boost::scoped_ptr&lt; <a class="el" href="classimpala_1_1MemPool.html">MemPool</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1BlockingJoinNode.html#a6d1a0e3a68490dbae73c03660a77c6cf">build_pool_</a></td></tr>
<tr class="separator:a6d1a0e3a68490dbae73c03660a77c6cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeabc74d9da08ed93250d0f75446cf04c"><td class="memItemLeft" align="right" valign="top">boost::scoped_ptr&lt; <a class="el" href="classimpala_1_1RowBatch.html">RowBatch</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1BlockingJoinNode.html#aeabc74d9da08ed93250d0f75446cf04c">probe_batch_</a></td></tr>
<tr class="separator:aeabc74d9da08ed93250d0f75446cf04c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0fe32f863b33a065dd9a3bc4f3637d23"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbool.html">bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1BlockingJoinNode.html#a0fe32f863b33a065dd9a3bc4f3637d23">probe_side_eos_</a></td></tr>
<tr class="separator:a0fe32f863b33a065dd9a3bc4f3637d23"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a21024309ba8920fdceb9857987e6a57b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1BlockingJoinNode.html#a21024309ba8920fdceb9857987e6a57b">probe_batch_pos_</a></td></tr>
<tr class="separator:a21024309ba8920fdceb9857987e6a57b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a04915018145d23f213cee07c29b04d14"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1TupleRow.html">TupleRow</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1BlockingJoinNode.html#a04915018145d23f213cee07c29b04d14">current_probe_row_</a></td></tr>
<tr class="separator:a04915018145d23f213cee07c29b04d14"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2eedd711f6d355162bf2cbfbaac9b98b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbool.html">bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1BlockingJoinNode.html#a2eedd711f6d355162bf2cbfbaac9b98b">matched_probe_</a></td></tr>
<tr class="separator:a2eedd711f6d355162bf2cbfbaac9b98b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a085b4bc35b4a643e2447a7fa147aacb0"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1BlockingJoinNode.html#a085b4bc35b4a643e2447a7fa147aacb0">probe_tuple_row_size_</a></td></tr>
<tr class="separator:a085b4bc35b4a643e2447a7fa147aacb0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a66ccfeffb647bf47ef207db6eead4be1"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1BlockingJoinNode.html#a66ccfeffb647bf47ef207db6eead4be1">build_tuple_row_size_</a></td></tr>
<tr class="separator:a66ccfeffb647bf47ef207db6eead4be1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac8b67078e6b7fce5155c9747f596c616"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1TupleRow.html">TupleRow</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1BlockingJoinNode.html#ac8b67078e6b7fce5155c9747f596c616">semi_join_staging_row_</a></td></tr>
<tr class="separator:ac8b67078e6b7fce5155c9747f596c616"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a93c5f051338e0caeaba575d270ed6c08"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbool.html">bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1BlockingJoinNode.html#a93c5f051338e0caeaba575d270ed6c08">can_add_probe_filters_</a></td></tr>
<tr class="separator:a93c5f051338e0caeaba575d270ed6c08"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a393b4e350abca15c76dfdd52a928015f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1RuntimeProfile_1_1Counter.html">RuntimeProfile::Counter</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1BlockingJoinNode.html#a393b4e350abca15c76dfdd52a928015f">build_timer_</a></td></tr>
<tr class="separator:a393b4e350abca15c76dfdd52a928015f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a502d996c7d1a273c71b157fe1145db45"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1RuntimeProfile_1_1Counter.html">RuntimeProfile::Counter</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1BlockingJoinNode.html#a502d996c7d1a273c71b157fe1145db45">probe_timer_</a></td></tr>
<tr class="separator:a502d996c7d1a273c71b157fe1145db45"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afef0cb4927ae57c782b22b46c71a94bc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1RuntimeProfile_1_1Counter.html">RuntimeProfile::Counter</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1BlockingJoinNode.html#afef0cb4927ae57c782b22b46c71a94bc">build_row_counter_</a></td></tr>
<tr class="separator:afef0cb4927ae57c782b22b46c71a94bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3966103610bfaa17d3746a6dd9a2addd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1RuntimeProfile_1_1Counter.html">RuntimeProfile::Counter</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1BlockingJoinNode.html#a3966103610bfaa17d3746a6dd9a2addd">probe_row_counter_</a></td></tr>
<tr class="separator:a3966103610bfaa17d3746a6dd9a2addd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2d543ec055a04199286b52d23a82280f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a2d543ec055a04199286b52d23a82280f">id_</a></td></tr>
<tr class="separator:a2d543ec055a04199286b52d23a82280f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab86051ba57221a009063eda6e2aefd76"><td class="memItemLeft" align="right" valign="top">TPlanNodeType::type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#ab86051ba57221a009063eda6e2aefd76">type_</a></td></tr>
<tr class="separator:ab86051ba57221a009063eda6e2aefd76"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac55aaa21c7750fd5f8774aee1ac5211a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1ObjectPool.html">ObjectPool</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#ac55aaa21c7750fd5f8774aee1ac5211a">pool_</a></td></tr>
<tr class="separator:ac55aaa21c7750fd5f8774aee1ac5211a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a302f24417303ae6eb522e50a15f9ca2c"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="classimpala_1_1ExprContext.html">ExprContext</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a302f24417303ae6eb522e50a15f9ca2c">conjunct_ctxs_</a></td></tr>
<tr class="separator:a302f24417303ae6eb522e50a15f9ca2c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab5b4aff8e7b124468f2b61ca63b87ab5"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="classimpala_1_1ExecNode.html">ExecNode</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#ab5b4aff8e7b124468f2b61ca63b87ab5">children_</a></td></tr>
<tr class="separator:ab5b4aff8e7b124468f2b61ca63b87ab5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a900a9e0a75e9839f9c6d4658518944b8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1RowDescriptor.html">RowDescriptor</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a900a9e0a75e9839f9c6d4658518944b8">row_descriptor_</a></td></tr>
<tr class="separator:a900a9e0a75e9839f9c6d4658518944b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a76c55d45e1b55f82b83614898240adaf"><td class="memItemLeft" align="right" valign="top">TExecNodePhase::type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a76c55d45e1b55f82b83614898240adaf">debug_phase_</a></td></tr>
<tr class="separator:a76c55d45e1b55f82b83614898240adaf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a08cd2dfda956999b3995caafe76190fd"><td class="memItemLeft" align="right" valign="top">TDebugAction::type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a08cd2dfda956999b3995caafe76190fd">debug_action_</a></td></tr>
<tr class="separator:a08cd2dfda956999b3995caafe76190fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae41f912c39b004f60987b4d480e442b8"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#ae41f912c39b004f60987b4d480e442b8">limit_</a></td></tr>
<tr class="separator:ae41f912c39b004f60987b4d480e442b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9789aeca3e98cda63998a8f47d355fd9"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a9789aeca3e98cda63998a8f47d355fd9">num_rows_returned_</a></td></tr>
<tr class="separator:a9789aeca3e98cda63998a8f47d355fd9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9cab4e45a94527ff97333c0f280036f8"><td class="memItemLeft" align="right" valign="top">boost::scoped_ptr&lt; <a class="el" href="classimpala_1_1RuntimeProfile.html">RuntimeProfile</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a9cab4e45a94527ff97333c0f280036f8">runtime_profile_</a></td></tr>
<tr class="separator:a9cab4e45a94527ff97333c0f280036f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a632a4cdd4c654f362f630936c5ecb29a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1RuntimeProfile_1_1Counter.html">RuntimeProfile::Counter</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a632a4cdd4c654f362f630936c5ecb29a">rows_returned_counter_</a></td></tr>
<tr class="separator:a632a4cdd4c654f362f630936c5ecb29a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1fda03b2e215e5fac1352403ae737030"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classimpala_1_1RuntimeProfile_1_1Counter.html">RuntimeProfile::Counter</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a1fda03b2e215e5fac1352403ae737030">rows_returned_rate_</a></td></tr>
<tr class="separator:a1fda03b2e215e5fac1352403ae737030"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aba2362d7d1816b4f90f3e1f6768accd1"><td class="memItemLeft" align="right" valign="top">boost::scoped_ptr&lt; <a class="el" href="classimpala_1_1MemTracker.html">MemTracker</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#aba2362d7d1816b4f90f3e1f6768accd1">mem_tracker_</a></td></tr>
<tr class="memdesc:aba2362d7d1816b4f90f3e1f6768accd1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Account for peak memory used by this node. <a href="#aba2362d7d1816b4f90f3e1f6768accd1">More...</a><br/></td></tr>
<tr class="separator:aba2362d7d1816b4f90f3e1f6768accd1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8574c9973af1609b90cef86ccc331141"><td class="memItemLeft" align="right" valign="top">boost::scoped_ptr&lt; <a class="el" href="classimpala_1_1MemTracker.html">MemTracker</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a8574c9973af1609b90cef86ccc331141">expr_mem_tracker_</a></td></tr>
<tr class="memdesc:a8574c9973af1609b90cef86ccc331141"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classimpala_1_1MemTracker.html" title="This class is thread-safe. ">MemTracker</a> that should be used for ExprContexts. <a href="#a8574c9973af1609b90cef86ccc331141">More...</a><br/></td></tr>
<tr class="separator:a8574c9973af1609b90cef86ccc331141"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa536e5c953d915df988c5bcbf24db9f4"><td class="memItemLeft" align="right" valign="top">boost::mutex&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#aa536e5c953d915df988c5bcbf24db9f4">exec_options_lock_</a></td></tr>
<tr class="separator:aa536e5c953d915df988c5bcbf24db9f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6e72d8a73cfdc5ab09f6bafcca6f8411"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1ExecNode.html#a6e72d8a73cfdc5ab09f6bafcca6f8411">runtime_exec_options_</a></td></tr>
<tr class="separator:a6e72d8a73cfdc5ab09f6bafcca6f8411"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
Private Member Functions</h2></td></tr>
<tr class="memitem:aa2e6cddab7d7554a1ab0b5c1ec29941d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classimpala_1_1BlockingJoinNode.html#aa2e6cddab7d7554a1ab0b5c1ec29941d">BuildSideThread</a> (<a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> *state, <a class="el" href="classimpala_1_1Promise.html">Promise</a>&lt; <a class="el" href="classimpala_1_1Status.html">Status</a> &gt; *status)</td></tr>
<tr class="separator:aa2e6cddab7d7554a1ab0b5c1ec29941d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Abstract base class for join nodes that block while consuming all rows from their right child in <a class="el" href="classimpala_1_1BlockingJoinNode.html#a8b5679fb9c03b667cb3c90512a24faab">Open()</a>. </p>
<p>Definition at line <a class="el" href="blocking-join-node_8h_source.html#l00036">36</a> of file <a class="el" href="blocking-join-node_8h_source.html">blocking-join-node.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="ab9c580da150c678e03a18a8c9a839d20"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">BlockingJoinNode::BlockingJoinNode </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>node_name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const TJoinOp::type&#160;</td>
<td class="paramname"><em>join_op</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classimpala_1_1ObjectPool.html">ObjectPool</a> *&#160;</td>
<td class="paramname"><em>pool</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const TPlanNode &amp;&#160;</td>
<td class="paramname"><em>tnode</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classimpala_1_1DescriptorTbl.html">DescriptorTbl</a> &amp;&#160;</td>
<td class="paramname"><em>descs</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="blocking-join-node_8cc_source.html#l00034">34</a> of file <a class="el" href="blocking-join-node_8cc_source.html">blocking-join-node.cc</a>.</p>
</div>
</div>
<a class="anchor" id="a0298cb8f559443af161f2c67700baa9d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">BlockingJoinNode::~BlockingJoinNode </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="blocking-join-node_8cc_source.html#l00050">50</a> of file <a class="el" href="blocking-join-node_8cc_source.html">blocking-join-node.cc</a>.</p>
<p>References <a class="el" href="blocking-join-node_8h_source.html#l00075">probe_batch_</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a19340582202dd61e0b028c28efa5490a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void impala::ExecNode::AddExprCtxsToFree </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classimpala_1_1ExprContext.html">ExprContext</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>ctxs</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Referenced by <a class="el" href="exec-node_8cc_source.html#l00410">impala::ExecNode::AddExprCtxsToFree()</a>, <a class="el" href="union-node_8cc_source.html#l00058">impala::UnionNode::Prepare()</a>, <a class="el" href="sort-node_8cc_source.html#l00042">impala::SortNode::Prepare()</a>, <a class="el" href="topn-node_8cc_source.html#l00056">impala::TopNNode::Prepare()</a>, <a class="el" href="exchange-node_8cc_source.html#l00061">impala::ExchangeNode::Prepare()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00094">impala::PartitionedHashJoinNode::Prepare()</a>, <a class="el" href="exec-node_8cc_source.html#l00130">impala::ExecNode::Prepare()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00095">impala::PartitionedAggregationNode::Prepare()</a>, and <a class="el" href="hdfs-scan-node_8cc_source.html#l00304">impala::HdfsScanNode::Prepare()</a>.</p>
</div>
</div>
<a class="anchor" id="afa7de6fd3a4f1580884680c35b9b8804"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void impala::ExecNode::AddExprCtxsToFree </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classimpala_1_1SortExecExprs.html">SortExecExprs</a> &amp;&#160;</td>
<td class="paramname"><em>sort_exec_exprs</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="exec-node_8cc_source.html#l00410">410</a> of file <a class="el" href="exec-node_8cc_source.html">exec-node.cc</a>.</p>
<p>References <a class="el" href="classimpala_1_1ExecNode.html#a19340582202dd61e0b028c28efa5490a">impala::ExecNode::AddExprCtxsToFree()</a>, <a class="el" href="sort-exec-exprs_8h_source.html#l00055">impala::SortExecExprs::lhs_ordering_expr_ctxs()</a>, <a class="el" href="sort-exec-exprs_8h_source.html#l00059">impala::SortExecExprs::rhs_ordering_expr_ctxs()</a>, and <a class="el" href="sort-exec-exprs_8h_source.html#l00050">impala::SortExecExprs::sort_tuple_slot_expr_ctxs()</a>.</p>
</div>
</div>
<a class="anchor" id="a4ad378d275c91637f12ca7fa742d59db"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void impala::ExecNode::AddExprCtxToFree </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classimpala_1_1ExprContext.html">ExprContext</a> *&#160;</td>
<td class="paramname"><em>ctx</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Add an <a class="el" href="classimpala_1_1ExprContext.html">ExprContext</a> to have its local allocations freed by <a class="el" href="classimpala_1_1ExecNode.html#ab8f2832c6a5487aa8168b2a7d65773ee">QueryMaintenance()</a>. Exprs that are evaluated in the main execution thread should be added. Exprs evaluated in a separate thread are generally not safe to add, since a local allocation may be freed while it's being used. Rather than using this mechanism, threads should call FreeLocalAllocations() on local ExprContexts periodically. </p>
<p>Definition at line <a class="el" href="exec-node_8h_source.html#l00276">276</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p>
<p>References <a class="el" href="exec-node_8h_source.html#l00286">impala::ExecNode::expr_ctxs_to_free_</a>.</p>
<p>Referenced by <a class="el" href="analytic-eval-node_8cc_source.html#l00124">impala::AnalyticEvalNode::Prepare()</a>.</p>
</div>
</div>
<a class="anchor" id="a05e056b5d11b187a1d31723c7d1592eb"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void impala::ExecNode::AddRuntimeExecOption </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>option</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Appends option to 'runtime_exec_options_'. </p>
<p>Definition at line <a class="el" href="exec-node_8cc_source.html#l00188">188</a> of file <a class="el" href="exec-node_8cc_source.html">exec-node.cc</a>.</p>
<p>References <a class="el" href="runtime-profile_8cc_source.html#l00406">impala::RuntimeProfile::AddInfoString()</a>, <a class="el" href="exec-node_8h_source.html#l00238">impala::ExecNode::exec_options_lock_</a>, <a class="el" href="exec-node_8h_source.html#l00239">impala::ExecNode::runtime_exec_options_</a>, and <a class="el" href="exec-node_8h_source.html#l00161">impala::ExecNode::runtime_profile()</a>.</p>
<p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00400">impala::PartitionedHashJoinNode::AttachProbeFilters()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00154">impala::HashJoinNode::ConstructBuildSide()</a>, <a class="el" href="blocking-join-node_8cc_source.html#l00156">Open()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00080">impala::HashJoinNode::Prepare()</a>, <a class="el" href="aggregation-node_8cc_source.html#l00085">impala::AggregationNode::Prepare()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00094">impala::PartitionedHashJoinNode::Prepare()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00095">impala::PartitionedAggregationNode::Prepare()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00304">impala::HdfsScanNode::Prepare()</a>, and <a class="el" href="hdfs-scan-node_8cc_source.html#l00982">impala::HdfsScanNode::StopAndFinalizeCounters()</a>.</p>
</div>
</div>
<a class="anchor" id="a6b34a0e7d31c372c94d2829c56a0b32a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void impala::BlockingJoinNode::AddToDebugString </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>indentation_level</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::stringstream *&#160;</td>
<td class="paramname"><em>out</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Gives subclasses an opportunity to add debug output to the debug string printed by <a class="el" href="classimpala_1_1BlockingJoinNode.html#ac8de59dcb8911596a8dcab7eed11b346" title="Subclasses should not override, use AddToDebugString() to add to the result. ">DebugString()</a>. </p>
<p>Reimplemented in <a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#a5f3d77b8ecfc7499f3df9a857c3fa918">impala::PartitionedHashJoinNode</a>, and <a class="el" href="classimpala_1_1HashJoinNode.html#a96d717feacbe5d618295dbb012fecc41">impala::HashJoinNode</a>.</p>
<p>Definition at line <a class="el" href="blocking-join-node_8h_source.html#l00117">117</a> of file <a class="el" href="blocking-join-node_8h_source.html">blocking-join-node.h</a>.</p>
<p>Referenced by <a class="el" href="blocking-join-node_8cc_source.html#l00212">DebugString()</a>.</p>
</div>
</div>
<a class="anchor" id="aa2e6cddab7d7554a1ab0b5c1ec29941d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void BlockingJoinNode::BuildSideThread </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> *&#160;</td>
<td class="paramname"><em>state</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classimpala_1_1Promise.html">Promise</a>&lt; <a class="el" href="classimpala_1_1Status.html">Status</a> &gt; *&#160;</td>
<td class="paramname"><em>status</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Supervises ConstructBuildSide in a separate thread, and returns its status in the promise parameter. </p>
<p>Definition at line <a class="el" href="blocking-join-node_8cc_source.html#l00136">136</a> of file <a class="el" href="blocking-join-node_8cc_source.html">blocking-join-node.cc</a>.</p>
<p>References <a class="el" href="exec-node_8h_source.html#l00241">impala::ExecNode::child()</a>, <a class="el" href="exec-node_8cc_source.html#l00166">impala::ExecNode::Close()</a>, <a class="el" href="classimpala_1_1BlockingJoinNode.html#a14f3862ffcf38dd7fd7d56c8efe30f90">ConstructBuildSide()</a>, <a class="el" href="status_8h_source.html#l00172">impala::Status::ok()</a>, <a class="el" href="thread-resource-mgr_8h_source.html#l00255">impala::ThreadResourceMgr::ResourcePool::ReleaseThreadToken()</a>, <a class="el" href="runtime-state_8h_source.html#l00142">impala::RuntimeState::resource_pool()</a>, <a class="el" href="exec-node_8h_source.html#l00161">impala::ExecNode::runtime_profile()</a>, <a class="el" href="runtime-profile_8h_source.html#l00053">SCOPED_TIMER</a>, <a class="el" href="promise_8h_source.html#l00038">impala::Promise&lt; T &gt;::Set()</a>, and <a class="el" href="runtime-state_8h_source.html#l00238">impala::RuntimeState::total_cpu_timer()</a>.</p>
<p>Referenced by <a class="el" href="blocking-join-node_8cc_source.html#l00156">Open()</a>.</p>
</div>
</div>
<a class="anchor" id="a1fb77c5926ec8ad015f153aabb190237"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classimpala_1_1ExecNode.html">ExecNode</a>* impala::ExecNode::child </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>i</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="exec-node_8h_source.html#l00241">241</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p>
<p>References <a class="el" href="exec-node_8h_source.html#l00214">impala::ExecNode::children_</a>.</p>
<p>Referenced by <a class="el" href="cross-join-node_8cc_source.html#l00133">impala::CrossJoinNode::BuildListDebugString()</a>, <a class="el" href="blocking-join-node_8cc_source.html#l00136">BuildSideThread()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00462">impala::HashJoinNode::CodegenCreateOutputRow()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01382">impala::PartitionedHashJoinNode::CodegenCreateOutputRow()</a>, <a class="el" href="cross-join-node_8cc_source.html#l00059">impala::CrossJoinNode::ConstructBuildSide()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00154">impala::HashJoinNode::ConstructBuildSide()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00485">impala::PartitionedHashJoinNode::ConstructBuildSide()</a>, <a class="el" href="blocking-join-node_8cc_source.html#l00222">GetLeftChildRowString()</a>, <a class="el" href="select-node_8cc_source.html#l00049">impala::SelectNode::GetNext()</a>, <a class="el" href="union-node_8cc_source.html#l00119">impala::UnionNode::GetNext()</a>, <a class="el" href="cross-join-node_8cc_source.html#l00085">impala::CrossJoinNode::GetNext()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00218">impala::HashJoinNode::GetNext()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00634">impala::AnalyticEvalNode::GetNextOutputBatch()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00429">impala::PartitionedAggregationNode::Partition::InitStreams()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00378">impala::HashJoinNode::LeftJoinGetNext()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00598">impala::PartitionedHashJoinNode::NextProbeRowBatch()</a>, <a class="el" href="select-node_8cc_source.html#l00042">impala::SelectNode::Open()</a>, <a class="el" href="sort-node_8cc_source.html#l00051">impala::SortNode::Open()</a>, <a class="el" href="topn-node_8cc_source.html#l00070">impala::TopNNode::Open()</a>, <a class="el" href="blocking-join-node_8cc_source.html#l00156">Open()</a>, <a class="el" href="aggregation-node_8cc_source.html#l00174">impala::AggregationNode::Open()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00166">impala::AnalyticEvalNode::Open()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00209">impala::PartitionedAggregationNode::Open()</a>, <a class="el" href="union-node_8cc_source.html#l00107">impala::UnionNode::OpenCurrentChild()</a>, <a class="el" href="select-node_8cc_source.html#l00034">impala::SelectNode::Prepare()</a>, <a class="el" href="sort-node_8cc_source.html#l00042">impala::SortNode::Prepare()</a>, <a class="el" href="union-node_8cc_source.html#l00058">impala::UnionNode::Prepare()</a>, <a class="el" href="topn-node_8cc_source.html#l00056">impala::TopNNode::Prepare()</a>, <a class="el" href="blocking-join-node_8cc_source.html#l00055">Prepare()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00080">impala::HashJoinNode::Prepare()</a>, <a class="el" href="aggregation-node_8cc_source.html#l00085">impala::AggregationNode::Prepare()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00124">impala::AnalyticEvalNode::Prepare()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00094">impala::PartitionedHashJoinNode::Prepare()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00095">impala::PartitionedAggregationNode::Prepare()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00500">impala::PartitionedHashJoinNode::ProcessBuildInput()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00525">impala::AnalyticEvalNode::ProcessChildBatches()</a>, and <a class="el" href="sort-node_8cc_source.html#l00143">impala::SortNode::SortInput()</a>.</p>
</div>
</div>
<a class="anchor" id="a026dc3cee5e676a7ad6ababfa9baebee"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void BlockingJoinNode::Close </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> *&#160;</td>
<td class="paramname"><em>state</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Subclasses should close any other structures and then call <a class="el" href="classimpala_1_1BlockingJoinNode.html#a026dc3cee5e676a7ad6ababfa9baebee">BlockingJoinNode::Close()</a>. </p>
<p>Reimplemented from <a class="el" href="classimpala_1_1ExecNode.html#a726e2aca524ace8e4c043377e621285a">impala::ExecNode</a>.</p>
<p>Reimplemented in <a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#aec578db442601bcba3835a3a52698d8d">impala::PartitionedHashJoinNode</a>, <a class="el" href="classimpala_1_1HashJoinNode.html#a4a4690455840ef07077a1b153bb80cc2">impala::HashJoinNode</a>, and <a class="el" href="classimpala_1_1CrossJoinNode.html#a2a591ebe9783d52b3a20bea19663f8d8">impala::CrossJoinNode</a>.</p>
<p>Definition at line <a class="el" href="blocking-join-node_8cc_source.html#l00128">128</a> of file <a class="el" href="blocking-join-node_8cc_source.html">blocking-join-node.cc</a>.</p>
<p>References <a class="el" href="blocking-join-node_8h_source.html#l00070">build_pool_</a>, <a class="el" href="exec-node_8cc_source.html#l00166">impala::ExecNode::Close()</a>, <a class="el" href="exec-node_8h_source.html#l00242">impala::ExecNode::is_closed()</a>, <a class="el" href="blocking-join-node_8h_source.html#l00075">probe_batch_</a>, and <a class="el" href="blocking-join-node_8h_source.html#l00094">semi_join_staging_row_</a>.</p>
<p>Referenced by <a class="el" href="cross-join-node_8cc_source.html#l00052">impala::CrossJoinNode::Close()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00145">impala::HashJoinNode::Close()</a>, and <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00192">impala::PartitionedHashJoinNode::Close()</a>.</p>
</div>
</div>
<a class="anchor" id="a64bf8cb31a57b9d6dc3f5cd60066a686"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Function * impala::ExecNode::CodegenEvalConjuncts </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> *&#160;</td>
<td class="paramname"><em>state</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classimpala_1_1ExprContext.html">ExprContext</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>conjunct_ctxs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>name</em> = <code>&quot;EvalConjuncts&quot;</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns a codegen'd version of <a class="el" href="classimpala_1_1ExecNode.html#a48ec693b9eb748682b58479751812f08">EvalConjuncts()</a>, or NULL if the function couldn't be codegen'd. The codegen'd version uses inlined, codegen'd GetBooleanVal() functions. </p>
<p>Definition at line <a class="el" href="exec-node_8cc_source.html#l00452">452</a> of file <a class="el" href="exec-node_8cc_source.html">exec-node.cc</a>.</p>
<p>References <a class="el" href="llvm-codegen_8h_source.html#l00171">impala::LlvmCodeGen::FnPrototype::AddArgument()</a>, <a class="el" href="llvm-codegen_8h_source.html#l00214">impala::LlvmCodeGen::context()</a>, <a class="el" href="codegen-anyval_8cc_source.html#l00148">impala::CodegenAnyVal::CreateCallWrapped()</a>, <a class="el" href="llvm-codegen_8h_source.html#l00381">impala::LlvmCodeGen::false_value()</a>, <a class="el" href="llvm-codegen_8cc_source.html#l00596">impala::LlvmCodeGen::FinalizeFunction()</a>, <a class="el" href="runtime-state_8cc_source.html#l00312">impala::RuntimeState::GetCodegen()</a>, <a class="el" href="status_8cc_source.html#l00184">impala::Status::GetDetail()</a>, <a class="el" href="codegen-anyval_8cc_source.html#l00171">impala::CodegenAnyVal::GetIsNull()</a>, <a class="el" href="llvm-codegen_8cc_source.html#l00312">impala::LlvmCodeGen::GetType()</a>, <a class="el" href="codegen-anyval_8cc_source.html#l00258">impala::CodegenAnyVal::GetVal()</a>, <a class="el" href="tuple-row_8h_source.html#l00076">impala::TupleRow::LLVM_CLASS_NAME</a>, <a class="el" href="expr-context_8h_source.html#l00126">impala::ExprContext::LLVM_CLASS_NAME</a>, <a class="el" href="status_8h_source.html#l00172">impala::Status::ok()</a>, <a class="el" href="llvm-codegen_8h_source.html#l00380">impala::LlvmCodeGen::true_value()</a>, <a class="el" href="exec-node_8h_source.html#l00155">impala::ExecNode::type()</a>, <a class="el" href="types_8h_source.html#l00030">impala::TYPE_BOOLEAN</a>, <a class="el" href="types_8h_source.html#l00033">impala::TYPE_INT</a>, and <a class="el" href="logging_8h_source.html#l00057">VLOG_QUERY</a>.</p>
<p>Referenced by <a class="el" href="hdfs-avro-scanner_8cc_source.html#l00885">impala::HdfsAvroScanner::CodegenDecodeAvroData()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00559">impala::HashJoinNode::CodegenProcessProbeBatch()</a>, and <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01498">impala::PartitionedHashJoinNode::CodegenProcessProbeBatch()</a>.</p>
</div>
</div>
<a class="anchor" id="a79a78df488ddcb12e0150b919efc059a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void impala::ExecNode::CollectNodes </td>
<td>(</td>
<td class="paramtype">TPlanNodeType::type&#160;</td>
<td class="paramname"><em>node_type</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; <a class="el" href="classimpala_1_1ExecNode.html">ExecNode</a> * &gt; *&#160;</td>
<td class="paramname"><em>nodes</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Collect all nodes of given 'node_type' that are part of this subtree, and return in 'nodes'. </p>
<p>Definition at line <a class="el" href="exec-node_8cc_source.html#l00359">359</a> of file <a class="el" href="exec-node_8cc_source.html">exec-node.cc</a>.</p>
<p>References <a class="el" href="exec-node_8h_source.html#l00214">impala::ExecNode::children_</a>, and <a class="el" href="exec-node_8h_source.html#l00210">impala::ExecNode::type_</a>.</p>
<p>Referenced by <a class="el" href="exec-node_8cc_source.html#l00366">impala::ExecNode::CollectScanNodes()</a>, and <a class="el" href="plan-fragment-executor_8cc_source.html#l00080">impala::PlanFragmentExecutor::Prepare()</a>.</p>
</div>
</div>
<a class="anchor" id="aeaf6b6a9dff1fd661e63258272c62b96"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void impala::ExecNode::CollectScanNodes </td>
<td>(</td>
<td class="paramtype">std::vector&lt; <a class="el" href="classimpala_1_1ExecNode.html">ExecNode</a> * &gt; *&#160;</td>
<td class="paramname"><em>nodes</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Collect all scan node types. </p>
<p>Definition at line <a class="el" href="exec-node_8cc_source.html#l00366">366</a> of file <a class="el" href="exec-node_8cc_source.html">exec-node.cc</a>.</p>
<p>References <a class="el" href="exec-node_8cc_source.html#l00359">impala::ExecNode::CollectNodes()</a>.</p>
<p>Referenced by <a class="el" href="plan-fragment-executor_8cc_source.html#l00080">impala::PlanFragmentExecutor::Prepare()</a>.</p>
</div>
</div>
<a class="anchor" id="ad21c25a63f7a11127082710941d23654"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const std::vector&lt;<a class="el" href="classimpala_1_1ExprContext.html">ExprContext</a>*&gt;&amp; impala::ExecNode::conjunct_ctxs </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="exec-node_8h_source.html#l00152">152</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p>
<p>References <a class="el" href="exec-node_8h_source.html#l00212">impala::ExecNode::conjunct_ctxs_</a>.</p>
<p>Referenced by <a class="el" href="hdfs-scan-node_8cc_source.html#l00956">impala::HdfsScanNode::ComputeSlotMaterializationOrder()</a>, <a class="el" href="select-node_8cc_source.html#l00088">impala::SelectNode::CopyRows()</a>, <a class="el" href="union-node_8cc_source.html#l00198">impala::UnionNode::EvalAndMaterializeExprs()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00218">impala::HashJoinNode::GetNext()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00865">impala::PartitionedHashJoinNode::OutputUnmatchedBuild()</a>, <a class="el" href="hash-join-node-ir_8cc_source.html#l00040">impala::HashJoinNode::ProcessProbeBatch()</a>, and <a class="el" href="partitioned-hash-join-node-ir_8cc_source.html#l00040">impala::PartitionedHashJoinNode::ProcessProbeBatch()</a>.</p>
</div>
</div>
<a class="anchor" id="a14f3862ffcf38dd7fd7d56c8efe30f90"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="classimpala_1_1Status.html">Status</a> impala::BlockingJoinNode::ConstructBuildSide </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> *&#160;</td>
<td class="paramname"><em>state</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>We parallelize building the build-side with Open'ing the left child. If, for example, the left child is another join node, it can start to build its own build-side at the same time. </p>
<p>Implemented in <a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#a51ee0388c45a326abca64b5da2e223fb">impala::PartitionedHashJoinNode</a>, <a class="el" href="classimpala_1_1HashJoinNode.html#ab7021b1582d938a6b85df5e8b9e6f1d0">impala::HashJoinNode</a>, and <a class="el" href="classimpala_1_1CrossJoinNode.html#ae22520e816d4a428d55b5e1919a15d86">impala::CrossJoinNode</a>.</p>
<p>Referenced by <a class="el" href="blocking-join-node_8cc_source.html#l00136">BuildSideThread()</a>, and <a class="el" href="blocking-join-node_8cc_source.html#l00156">Open()</a>.</p>
</div>
</div>
<a class="anchor" id="af055b7d9d3de849cbde01b12c608ee38"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classimpala_1_1Status.html">Status</a> impala::ExecNode::CreateNode </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classimpala_1_1ObjectPool.html">ObjectPool</a> *&#160;</td>
<td class="paramname"><em>pool</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const TPlanNode &amp;&#160;</td>
<td class="paramname"><em>tnode</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classimpala_1_1DescriptorTbl.html">DescriptorTbl</a> &amp;&#160;</td>
<td class="paramname"><em>descs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classimpala_1_1ExecNode.html">ExecNode</a> **&#160;</td>
<td class="paramname"><em>node</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Create a single exec node derived from thrift node; place exec node in 'pool'. </p>
<p>Definition at line <a class="el" href="exec-node_8cc_source.html#l00260">260</a> of file <a class="el" href="exec-node_8cc_source.html">exec-node.cc</a>.</p>
<p>References <a class="el" href="object-pool_8h_source.html#l00042">impala::ObjectPool::Add()</a>, <a class="el" href="status_8h_source.html#l00087">impala::Status::OK</a>, and <a class="el" href="status_8h_source.html#l00242">RETURN_IF_ERROR</a>.</p>
<p>Referenced by <a class="el" href="exec-node_8cc_source.html#l00218">impala::ExecNode::CreateTreeHelper()</a>.</p>
</div>
</div>
<a class="anchor" id="a9c75eba8abec44f42095f21f5e90b9ce"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void BlockingJoinNode::CreateOutputRow </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classimpala_1_1TupleRow.html">TupleRow</a> *&#160;</td>
<td class="paramname"><em>out_row</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classimpala_1_1TupleRow.html">TupleRow</a> *&#160;</td>
<td class="paramname"><em>probe_row</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classimpala_1_1TupleRow.html">TupleRow</a> *&#160;</td>
<td class="paramname"><em>build_row</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Write combined row, consisting of the left child's 'probe_row' and right child's 'build_row' to 'out_row'. This is replaced by codegen. </p>
<p>Definition at line <a class="el" href="blocking-join-node_8cc_source.html#l00240">240</a> of file <a class="el" href="blocking-join-node_8cc_source.html">blocking-join-node.cc</a>.</p>
<p>References <a class="el" href="blocking-join-node_8h_source.html#l00089">build_tuple_row_size_</a>, and <a class="el" href="blocking-join-node_8h_source.html#l00088">probe_tuple_row_size_</a>.</p>
<p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01163">impala::PartitionedHashJoinNode::EvaluateNullProbe()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00218">impala::HashJoinNode::GetNext()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00998">impala::PartitionedHashJoinNode::OutputNullAwareProbeRows()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00865">impala::PartitionedHashJoinNode::OutputUnmatchedBuild()</a>, <a class="el" href="cross-join-node_8cc_source.html#l00142">impala::CrossJoinNode::ProcessLeftChildBatch()</a>, <a class="el" href="hash-join-node-ir_8cc_source.html#l00040">impala::HashJoinNode::ProcessProbeBatch()</a>, and <a class="el" href="partitioned-hash-join-node-ir_8cc_source.html#l00040">impala::PartitionedHashJoinNode::ProcessProbeBatch()</a>.</p>
</div>
</div>
<a class="anchor" id="aad99835d1957684b656d5f2d4427b5eb"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classimpala_1_1Status.html">Status</a> impala::ExecNode::CreateTree </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classimpala_1_1ObjectPool.html">ObjectPool</a> *&#160;</td>
<td class="paramname"><em>pool</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const TPlan &amp;&#160;</td>
<td class="paramname"><em>plan</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classimpala_1_1DescriptorTbl.html">DescriptorTbl</a> &amp;&#160;</td>
<td class="paramname"><em>descs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classimpala_1_1ExecNode.html">ExecNode</a> **&#160;</td>
<td class="paramname"><em>root</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates exec node tree from list of nodes contained in plan via depth-first traversal. All nodes are placed in pool. Returns error if 'plan' is corrupted, otherwise success. </p>
<p>Definition at line <a class="el" href="exec-node_8cc_source.html#l00199">199</a> of file <a class="el" href="exec-node_8cc_source.html">exec-node.cc</a>.</p>
<p>References <a class="el" href="exec-node_8cc_source.html#l00218">impala::ExecNode::CreateTreeHelper()</a>, <a class="el" href="status_8h_source.html#l00087">impala::Status::OK</a>, and <a class="el" href="status_8h_source.html#l00172">impala::Status::ok()</a>.</p>
<p>Referenced by <a class="el" href="plan-fragment-executor_8cc_source.html#l00080">impala::PlanFragmentExecutor::Prepare()</a>.</p>
</div>
</div>
<a class="anchor" id="a3d97c1b8247ed300dd82db66f38e7b00"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classimpala_1_1Status.html">Status</a> impala::ExecNode::CreateTreeHelper </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classimpala_1_1ObjectPool.html">ObjectPool</a> *&#160;</td>
<td class="paramname"><em>pool</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; TPlanNode &gt; &amp;&#160;</td>
<td class="paramname"><em>tnodes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classimpala_1_1DescriptorTbl.html">DescriptorTbl</a> &amp;&#160;</td>
<td class="paramname"><em>descs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classimpala_1_1ExecNode.html">ExecNode</a> *&#160;</td>
<td class="paramname"><em>parent</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>node_idx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classimpala_1_1ExecNode.html">ExecNode</a> **&#160;</td>
<td class="paramname"><em>root</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="exec-node_8cc_source.html#l00218">218</a> of file <a class="el" href="exec-node_8cc_source.html">exec-node.cc</a>.</p>
<p>References <a class="el" href="runtime-profile_8cc_source.html#l00368">impala::RuntimeProfile::AddChild()</a>, <a class="el" href="exec-node_8h_source.html#l00214">impala::ExecNode::children_</a>, <a class="el" href="exec-node_8cc_source.html#l00260">impala::ExecNode::CreateNode()</a>, <a class="el" href="status_8h_source.html#l00087">impala::Status::OK</a>, <a class="el" href="status_8h_source.html#l00242">RETURN_IF_ERROR</a>, and <a class="el" href="exec-node_8h_source.html#l00161">impala::ExecNode::runtime_profile()</a>.</p>
<p>Referenced by <a class="el" href="exec-node_8cc_source.html#l00199">impala::ExecNode::CreateTree()</a>.</p>
</div>
</div>
<a class="anchor" id="ac8de59dcb8911596a8dcab7eed11b346"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void BlockingJoinNode::DebugString </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>indentation_level</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::stringstream *&#160;</td>
<td class="paramname"><em>out</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Subclasses should not override, use <a class="el" href="classimpala_1_1BlockingJoinNode.html#a6b34a0e7d31c372c94d2829c56a0b32a">AddToDebugString()</a> to add to the result. </p>
<p>Reimplemented from <a class="el" href="classimpala_1_1ExecNode.html#ad01139ec9ccb2cdb2069995bc282593b">impala::ExecNode</a>.</p>
<p>Definition at line <a class="el" href="blocking-join-node_8cc_source.html#l00212">212</a> of file <a class="el" href="blocking-join-node_8cc_source.html">blocking-join-node.cc</a>.</p>
<p>References <a class="el" href="blocking-join-node_8h_source.html#l00117">AddToDebugString()</a>, <a class="el" href="exec-node_8cc_source.html#l00345">impala::ExecNode::DebugString()</a>, <a class="el" href="blocking-join-node_8h_source.html#l00069">eos_</a>, <a class="el" href="blocking-join-node_8h_source.html#l00067">node_name_</a>, and <a class="el" href="blocking-join-node_8h_source.html#l00081">probe_batch_pos_</a>.</p>
</div>
</div>
<a class="anchor" id="a56de50f3c92483ba38f6e42ab19cc0a2"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">string impala::ExecNode::DebugString </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns a string representation in DFS order of the plan rooted at this. </p>
<p>Definition at line <a class="el" href="exec-node_8cc_source.html#l00345">345</a> of file <a class="el" href="exec-node_8cc_source.html">exec-node.cc</a>.</p>
<p>Referenced by <a class="el" href="sort-node_8cc_source.html#l00130">impala::SortNode::DebugString()</a>, <a class="el" href="topn-node_8cc_source.html#l00184">impala::TopNNode::DebugString()</a>, <a class="el" href="exchange-node_8cc_source.html#l00207">impala::ExchangeNode::DebugString()</a>, <a class="el" href="aggregation-node_8cc_source.html#l00401">impala::AggregationNode::DebugString()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00766">impala::AnalyticEvalNode::DebugString()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00716">impala::PartitionedAggregationNode::DebugString()</a>, <a class="el" href="blocking-join-node_8cc_source.html#l00212">DebugString()</a>, and <a class="el" href="plan-fragment-executor_8cc_source.html#l00080">impala::PlanFragmentExecutor::Prepare()</a>.</p>
</div>
</div>
<a class="anchor" id="a48ec693b9eb748682b58479751812f08"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classbool.html">bool</a> impala::ExecNode::EvalConjuncts </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classimpala_1_1ExprContext.html">ExprContext</a> *const *&#160;</td>
<td class="paramname"><em>ctxs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>num_ctxs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classimpala_1_1TupleRow.html">TupleRow</a> *&#160;</td>
<td class="paramname"><em>row</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Evaluate ExprContexts over row. Returns true if all exprs return true. TODO: This doesn't use the vector&lt;Expr*&gt; signature because I haven't figured out how to deal with declaring a templated std:vector type in IR </p>
<p>Definition at line <a class="el" href="exec-node_8cc_source.html#l00393">393</a> of file <a class="el" href="exec-node_8cc_source.html">exec-node.cc</a>.</p>
<p>References <a class="el" href="expr-context_8cc_source.html#l00310">impala::ExprContext::GetBooleanVal()</a>, <a class="el" href="udf_8h_source.html#l00359">impala_udf::AnyVal::is_null</a>, and <a class="el" href="udf_8h_source.html#l00364">impala_udf::BooleanVal::val</a>.</p>
<p>Referenced by <a class="el" href="select-node_8cc_source.html#l00088">impala::SelectNode::CopyRows()</a>, <a class="el" href="union-node_8cc_source.html#l00198">impala::UnionNode::EvalAndMaterializeExprs()</a>, <a class="el" href="hdfs-scanner_8h_source.html#l00266">impala::HdfsScanner::EvalConjuncts()</a>, <a class="el" href="partitioned-hash-join-node-ir_8cc_source.html#l00032">EvalOtherJoinConjuncts()</a>, <a class="el" href="hash-join-node-ir_8cc_source.html#l00033">EvalOtherJoinConjuncts2()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01163">impala::PartitionedHashJoinNode::EvaluateNullProbe()</a>, <a class="el" href="hbase-scan-node_8cc_source.html#l00147">impala::HBaseScanNode::GetNext()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00218">impala::HashJoinNode::GetNext()</a>, <a class="el" href="aggregation-node_8cc_source.html#l00230">impala::AggregationNode::GetNext()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00271">impala::PartitionedAggregationNode::GetNext()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00634">impala::AnalyticEvalNode::GetNextOutputBatch()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00998">impala::PartitionedHashJoinNode::OutputNullAwareProbeRows()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00865">impala::PartitionedHashJoinNode::OutputUnmatchedBuild()</a>, <a class="el" href="cross-join-node_8cc_source.html#l00142">impala::CrossJoinNode::ProcessLeftChildBatch()</a>, <a class="el" href="hash-join-node-ir_8cc_source.html#l00040">impala::HashJoinNode::ProcessProbeBatch()</a>, and <a class="el" href="partitioned-hash-join-node-ir_8cc_source.html#l00040">impala::PartitionedHashJoinNode::ProcessProbeBatch()</a>.</p>
</div>
</div>
<a class="anchor" id="a310d3a6b28f5bb1046a90ef8995ffb12"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classimpala_1_1Status.html">Status</a> impala::ExecNode::ExecDebugAction </td>
<td>(</td>
<td class="paramtype">TExecNodePhase::type&#160;</td>
<td class="paramname"><em>phase</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> *&#160;</td>
<td class="paramname"><em>state</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Executes debug_action_ if phase matches debug_phase_. 'phase' must not be INVALID. </p>
<p>Definition at line <a class="el" href="exec-node_8cc_source.html#l00378">378</a> of file <a class="el" href="exec-node_8cc_source.html">exec-node.cc</a>.</p>
<p>References <a class="el" href="status_8h_source.html#l00088">impala::Status::CANCELLED</a>, <a class="el" href="exec-node_8h_source.html#l00220">impala::ExecNode::debug_action_</a>, <a class="el" href="exec-node_8h_source.html#l00219">impala::ExecNode::debug_phase_</a>, <a class="el" href="runtime-state_8h_source.html#l00235">impala::RuntimeState::is_cancelled()</a>, and <a class="el" href="status_8h_source.html#l00087">impala::Status::OK</a>.</p>
<p>Referenced by <a class="el" href="select-node_8cc_source.html#l00049">impala::SelectNode::GetNext()</a>, <a class="el" href="sort-node_8cc_source.html#l00078">impala::SortNode::GetNext()</a>, <a class="el" href="union-node_8cc_source.html#l00119">impala::UnionNode::GetNext()</a>, <a class="el" href="hbase-scan-node_8cc_source.html#l00147">impala::HBaseScanNode::GetNext()</a>, <a class="el" href="topn-node_8cc_source.html#l00106">impala::TopNNode::GetNext()</a>, <a class="el" href="exchange-node_8cc_source.html#l00120">impala::ExchangeNode::GetNext()</a>, <a class="el" href="cross-join-node_8cc_source.html#l00085">impala::CrossJoinNode::GetNext()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00218">impala::HashJoinNode::GetNext()</a>, <a class="el" href="aggregation-node_8cc_source.html#l00230">impala::AggregationNode::GetNext()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00696">impala::AnalyticEvalNode::GetNext()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00735">impala::PartitionedHashJoinNode::GetNext()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00271">impala::PartitionedAggregationNode::GetNext()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00139">impala::HdfsScanNode::GetNextInternal()</a>, <a class="el" href="exec-node_8cc_source.html#l00154">impala::ExecNode::Open()</a>, and <a class="el" href="exec-node_8cc_source.html#l00130">impala::ExecNode::Prepare()</a>.</p>
</div>
</div>
<a class="anchor" id="abe940aa2d7da783c4e8c65f0af22ad8f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classimpala_1_1MemTracker.html">MemTracker</a>* impala::ExecNode::expr_mem_tracker </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="exec-node_8h_source.html#l00163">163</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p>
<p>References <a class="el" href="exec-node_8h_source.html#l00233">impala::ExecNode::expr_mem_tracker_</a>.</p>
<p>Referenced by <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00429">impala::PartitionedAggregationNode::Partition::InitStreams()</a>, <a class="el" href="sort-node_8cc_source.html#l00042">impala::SortNode::Prepare()</a>, <a class="el" href="union-node_8cc_source.html#l00058">impala::UnionNode::Prepare()</a>, <a class="el" href="topn-node_8cc_source.html#l00056">impala::TopNNode::Prepare()</a>, <a class="el" href="exchange-node_8cc_source.html#l00061">impala::ExchangeNode::Prepare()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00080">impala::HashJoinNode::Prepare()</a>, <a class="el" href="aggregation-node_8cc_source.html#l00085">impala::AggregationNode::Prepare()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00094">impala::PartitionedHashJoinNode::Prepare()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00124">impala::AnalyticEvalNode::Prepare()</a>, <a class="el" href="exec-node_8cc_source.html#l00130">impala::ExecNode::Prepare()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00095">impala::PartitionedAggregationNode::Prepare()</a>, and <a class="el" href="hdfs-scan-node_8cc_source.html#l00304">impala::HdfsScanNode::Prepare()</a>.</p>
</div>
</div>
<a class="anchor" id="a4e170b3fdc3487364270d4c9db23db2c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">string BlockingJoinNode::GetLeftChildRowString </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classimpala_1_1TupleRow.html">TupleRow</a> *&#160;</td>
<td class="paramname"><em>row</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns a debug string for the left child's 'row'. They have tuple ptrs that are uninitialized; the left child only populates the tuple ptrs it is responsible for. This function outputs just the row values and leaves the build side values as NULL. This is only used for debugging and outputting the left child rows before doing the join. </p>
<p>Definition at line <a class="el" href="blocking-join-node_8cc_source.html#l00222">222</a> of file <a class="el" href="blocking-join-node_8cc_source.html">blocking-join-node.cc</a>.</p>
<p>References <a class="el" href="exec-node_8h_source.html#l00241">impala::ExecNode::child()</a>, <a class="el" href="tuple-row_8h_source.html#l00030">impala::TupleRow::GetTuple()</a>, <a class="el" href="debug-util_8cc_source.html#l00166">impala::PrintTuple()</a>, <a class="el" href="exec-node_8h_source.html#l00156">impala::ExecNode::row_desc()</a>, and <a class="el" href="descriptors_8h_source.html#l00412">impala::RowDescriptor::tuple_descriptors()</a>.</p>
<p>Referenced by <a class="el" href="hash-join-node_8cc_source.html#l00218">impala::HashJoinNode::GetNext()</a>.</p>
</div>
</div>
<a class="anchor" id="a151fe2bdeb1cd399dd561f049aee2523"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="classimpala_1_1Status.html">Status</a> impala::ExecNode::GetNext </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> *&#160;</td>
<td class="paramname"><em>state</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classimpala_1_1RowBatch.html">RowBatch</a> *&#160;</td>
<td class="paramname"><em>row_batch</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classbool.html">bool</a> *&#160;</td>
<td class="paramname"><em>eos</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Retrieves rows and returns them via row_batch. Sets eos to true if subsequent calls will not retrieve any more rows. Data referenced by any tuples returned in row_batch must not be overwritten by the callee until <a class="el" href="classimpala_1_1ExecNode.html#a726e2aca524ace8e4c043377e621285a">Close()</a> is called. The memory holding that data can be returned via row_batch's tuple_data_pool (in which case it may be deleted by the caller) or held on to by the callee. The row_batch, including its tuple_data_pool, will be destroyed by the caller at some point prior to the final <a class="el" href="classimpala_1_1ExecNode.html#a726e2aca524ace8e4c043377e621285a">Close()</a> call. In other words, if the memory holding the tuple data will be referenced by the callee in subsequent <a class="el" href="classimpala_1_1ExecNode.html#a151fe2bdeb1cd399dd561f049aee2523">GetNext()</a> calls, it must <em>not</em> be attached to the row_batch's tuple_data_pool. Caller must not be holding any io buffers. This will cause deadlock. TODO: <a class="el" href="classimpala_1_1AggregationNode.html">AggregationNode</a> and <a class="el" href="classimpala_1_1HashJoinNode.html">HashJoinNode</a> cannot be "re-opened" yet. </p>
<p>Implemented in <a class="el" href="classimpala_1_1HdfsScanNode.html#a7d9631e3dbf9ec410699953759694890">impala::HdfsScanNode</a>, <a class="el" href="classimpala_1_1PartitionedAggregationNode.html#a6dc1ef7b12c3aa78d803e5e4038f4c27">impala::PartitionedAggregationNode</a>, <a class="el" href="classimpala_1_1AnalyticEvalNode.html#aa0cb1ccfdc50eaafb140ac9aad1c4b36">impala::AnalyticEvalNode</a>, <a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#a06b5e353f58aece9a8f5661ebd92897b">impala::PartitionedHashJoinNode</a>, <a class="el" href="classimpala_1_1AggregationNode.html#ac1e2c95b70b797220f69a5b6104457cf">impala::AggregationNode</a>, <a class="el" href="classimpala_1_1HashJoinNode.html#af4b3341245c41750589e2bb532c1abd4">impala::HashJoinNode</a>, <a class="el" href="classimpala_1_1DataSourceScanNode.html#af78cfbd7469bacb744a427bf7d82d546">impala::DataSourceScanNode</a>, <a class="el" href="classimpala_1_1CrossJoinNode.html#a2198db16d4c821638ebf8b4a02fe9f1f">impala::CrossJoinNode</a>, <a class="el" href="classimpala_1_1ExchangeNode.html#a868513c43837ef112a41d7895f6b9fb3">impala::ExchangeNode</a>, <a class="el" href="classimpala_1_1TopNNode.html#acd520388c2ef0dc8e11d95a23ad2fc70">impala::TopNNode</a>, <a class="el" href="classimpala_1_1HBaseScanNode.html#a0fc14dbf33110c597e64164c6be2ec34">impala::HBaseScanNode</a>, <a class="el" href="classimpala_1_1SortNode.html#a069f75cb466ea82d7b475163707e7f65">impala::SortNode</a>, <a class="el" href="classimpala_1_1UnionNode.html#acf1c2b19444f27c2ba8193ab35de6e1c">impala::UnionNode</a>, <a class="el" href="classimpala_1_1SelectNode.html#a8a69706b214f776504eae9f6826d7757">impala::SelectNode</a>, and <a class="el" href="classimpala_1_1EmptySetNode.html#a0b2d44d18ca6c710de005963dd1054f3">impala::EmptySetNode</a>.</p>
<p>Referenced by <a class="el" href="plan-fragment-executor_8cc_source.html#l00471">impala::PlanFragmentExecutor::GetNextInternal()</a>, and <a class="el" href="blocking-join-node_8cc_source.html#l00156">Open()</a>.</p>
</div>
</div>
<a class="anchor" id="a3e2d144b60f904f6b1f3219b9471aad3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int impala::ExecNode::GetNodeIdFromProfile </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classimpala_1_1RuntimeProfile.html">RuntimeProfile</a> *&#160;</td>
<td class="paramname"><em>p</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Extract node id from p-&gt;<a class="el" href="namespaceimpala.html#aaebb9aadfa9e5aec064bc26565df06d3">name()</a>. </p>
<p>Definition at line <a class="el" href="exec-node_8cc_source.html#l00062">62</a> of file <a class="el" href="exec-node_8cc_source.html">exec-node.cc</a>.</p>
<p>References <a class="el" href="runtime-profile_8h_source.html#l00493">impala::RuntimeProfile::metadata()</a>.</p>
</div>
</div>
<a class="anchor" id="a2088a36bc4bb4e0c3c7c1444198b76dd"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int impala::ExecNode::id </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="exec-node_8h_source.html#l00154">154</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p>
<p>References <a class="el" href="exec-node_8h_source.html#l00209">impala::ExecNode::id_</a>.</p>
<p>Referenced by <a class="el" href="analytic-eval-node_8cc_source.html#l00337">impala::AnalyticEvalNode::AddResultTuple()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00306">impala::AnalyticEvalNode::AddRow()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00030">impala::AnalyticEvalNode::AnalyticEvalNode()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00696">impala::AnalyticEvalNode::GetNext()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00634">impala::AnalyticEvalNode::GetNextOutputBatch()</a>, <a class="el" href="hdfs-scanner_8cc_source.html#l00087">impala::HdfsScanner::InitializeWriteTuplesFn()</a>, <a class="el" href="hdfs-avro-scanner_8cc_source.html#l00493">impala::HdfsAvroScanner::InitNewRange()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00435">impala::AnalyticEvalNode::InitNextPartition()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00922">impala::PartitionedAggregationNode::MoveHashPartitions()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01310">impala::PartitionedHashJoinNode::NodeDebugString()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00166">impala::AnalyticEvalNode::Open()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00511">impala::HdfsScanNode::Open()</a>, <a class="el" href="plan-fragment-executor_8cc_source.html#l00080">impala::PlanFragmentExecutor::Prepare()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00500">impala::PartitionedHashJoinNode::ProcessBuildInput()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00548">impala::AnalyticEvalNode::ProcessChildBatch()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00797">impala::HdfsScanNode::ScannerThread()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00391">impala::AnalyticEvalNode::TryAddRemainingResults()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00364">impala::AnalyticEvalNode::TryAddResultTupleForCurrRow()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00350">impala::AnalyticEvalNode::TryAddResultTupleForPrevRow()</a>, and <a class="el" href="analytic-eval-node_8cc_source.html#l00375">impala::AnalyticEvalNode::TryRemoveRowsBeforeWindow()</a>.</p>
</div>
</div>
<a class="anchor" id="ade60011cccc7cafd5c07f1b8982bb12f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classimpala_1_1Status.html">Status</a> BlockingJoinNode::Init </td>
<td>(</td>
<td class="paramtype">const TPlanNode &amp;&#160;</td>
<td class="paramname"><em>tnode</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Subclasses should call <a class="el" href="classimpala_1_1BlockingJoinNode.html#ade60011cccc7cafd5c07f1b8982bb12f">BlockingJoinNode::Init()</a> and then perform any other <a class="el" href="classimpala_1_1BlockingJoinNode.html#ade60011cccc7cafd5c07f1b8982bb12f">Init()</a> work, e.g. creating expr trees. </p>
<p>Reimplemented from <a class="el" href="classimpala_1_1ExecNode.html#a13f30c4259774ce6896fa5c1d5d86966">impala::ExecNode</a>.</p>
<p>Reimplemented in <a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#a5ebb23f2487cea6f4726c39d05057a8e">impala::PartitionedHashJoinNode</a>, and <a class="el" href="classimpala_1_1HashJoinNode.html#a5530e4a16e714cd3c23d7997fc340dfe">impala::HashJoinNode</a>.</p>
<p>Definition at line <a class="el" href="blocking-join-node_8cc_source.html#l00045">45</a> of file <a class="el" href="blocking-join-node_8cc_source.html">blocking-join-node.cc</a>.</p>
<p>References <a class="el" href="exec-node_8cc_source.html#l00124">impala::ExecNode::Init()</a>, <a class="el" href="status_8h_source.html#l00087">impala::Status::OK</a>, and <a class="el" href="status_8h_source.html#l00242">RETURN_IF_ERROR</a>.</p>
<p>Referenced by <a class="el" href="hash-join-node_8cc_source.html#l00062">impala::HashJoinNode::Init()</a>, and <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00066">impala::PartitionedHashJoinNode::Init()</a>.</p>
</div>
</div>
<a class="anchor" id="aefb66021c52d596572754cbfb85ce760"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="classimpala_1_1Status.html">Status</a> impala::BlockingJoinNode::InitGetNext </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classimpala_1_1TupleRow.html">TupleRow</a> *&#160;</td>
<td class="paramname"><em>first_left_child_row</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Init the build-side state for a new left child row (e.g. hash table iterator or list iterator) given the first row. Used in <a class="el" href="classimpala_1_1BlockingJoinNode.html#a8b5679fb9c03b667cb3c90512a24faab">Open()</a> to prepare for <a class="el" href="classimpala_1_1ExecNode.html#a151fe2bdeb1cd399dd561f049aee2523">GetNext()</a>. A NULL ptr for first_left_child_row indicates the left child eos. </p>
<p>Implemented in <a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#a77f33b07249f4a9038108632348d3bce">impala::PartitionedHashJoinNode</a>, <a class="el" href="classimpala_1_1HashJoinNode.html#a795aa58e744fa40b63cb4960e6fe3eda">impala::HashJoinNode</a>, and <a class="el" href="classimpala_1_1CrossJoinNode.html#a0bd94e425b02885cb5a857a0c69cb435">impala::CrossJoinNode</a>.</p>
<p>Referenced by <a class="el" href="blocking-join-node_8cc_source.html#l00156">Open()</a>.</p>
</div>
</div>
<a class="anchor" id="adf07b8ec102e4bc7cc3707157c8f0e99"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void impala::ExecNode::InitRuntimeProfile </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>name</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="exec-node_8cc_source.html#l00371">371</a> of file <a class="el" href="exec-node_8cc_source.html">exec-node.cc</a>.</p>
<p>References <a class="el" href="exec-node_8h_source.html#l00209">impala::ExecNode::id_</a>, <a class="el" href="exec-node_8h_source.html#l00211">impala::ExecNode::pool_</a>, and <a class="el" href="exec-node_8h_source.html#l00225">impala::ExecNode::runtime_profile_</a>.</p>
<p>Referenced by <a class="el" href="exec-node_8cc_source.html#l00106">impala::ExecNode::ExecNode()</a>.</p>
</div>
</div>
<a class="anchor" id="a467751b7182365c83e867dc3d50b43e2"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classbool.html">bool</a> impala::ExecNode::is_closed </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="exec-node_8h_source.html#l00242">242</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p>
<p>References <a class="el" href="exec-node_8h_source.html#l00283">impala::ExecNode::is_closed_</a>.</p>
<p>Referenced by <a class="el" href="select-node_8cc_source.html#l00115">impala::SelectNode::Close()</a>, <a class="el" href="sort-node_8cc_source.html#l00123">impala::SortNode::Close()</a>, <a class="el" href="union-node_8cc_source.html#l00186">impala::UnionNode::Close()</a>, <a class="el" href="topn-node_8cc_source.html#l00136">impala::TopNNode::Close()</a>, <a class="el" href="exchange-node_8cc_source.html#l00098">impala::ExchangeNode::Close()</a>, <a class="el" href="hbase-scan-node_8cc_source.html#l00277">impala::HBaseScanNode::Close()</a>, <a class="el" href="cross-join-node_8cc_source.html#l00052">impala::CrossJoinNode::Close()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00145">impala::HashJoinNode::Close()</a>, <a class="el" href="aggregation-node_8cc_source.html#l00278">impala::AggregationNode::Close()</a>, <a class="el" href="blocking-join-node_8cc_source.html#l00128">Close()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00738">impala::AnalyticEvalNode::Close()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00192">impala::PartitionedHashJoinNode::Close()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00380">impala::PartitionedAggregationNode::Close()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00622">impala::HdfsScanNode::Close()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00570">impala::PartitionedAggregationNode::Partition::Close()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00248">impala::PartitionedHashJoinNode::Partition::Close()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01200">impala::PartitionedHashJoinNode::ReserveTupleStreamBlocks()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00450">impala::PartitionedHashJoinNode::SpillPartition()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00872">impala::PartitionedAggregationNode::SpillPartition()</a>, and <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00235">impala::PartitionedHashJoinNode::Partition::~Partition()</a>.</p>
</div>
</div>
<a class="anchor" id="aa4941adc86040c00d0fe1b52bb1c0221"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="classbool.html">bool</a> impala::ExecNode::IsScanNode </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Reimplemented in <a class="el" href="classimpala_1_1ScanNode.html#adbdf97ab757ffe5ccdf37552d946d280">impala::ScanNode</a>.</p>
<p>Definition at line <a class="el" href="exec-node_8h_source.html#l00251">251</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p>
</div>
</div>
<a class="anchor" id="a8083cea2b4b6646c80d8d87a0522074b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int64_t impala::ExecNode::limit </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="exec-node_8h_source.html#l00158">158</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p>
<p>References <a class="el" href="exec-node_8h_source.html#l00222">impala::ExecNode::limit_</a>.</p>
<p>Referenced by <a class="el" href="cross-join-node_8cc_source.html#l00085">impala::CrossJoinNode::GetNext()</a>, and <a class="el" href="hash-join-node_8cc_source.html#l00378">impala::HashJoinNode::LeftJoinGetNext()</a>.</p>
</div>
</div>
<a class="anchor" id="abd7922a579e4adc353756849a0f45b48"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classimpala_1_1MemTracker.html">MemTracker</a>* impala::ExecNode::mem_tracker </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="exec-node_8h_source.html#l00162">162</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p>
<p>References <a class="el" href="exec-node_8h_source.html#l00230">impala::ExecNode::mem_tracker_</a>.</p>
<p>Referenced by <a class="el" href="exec-node_8cc_source.html#l00166">impala::ExecNode::Close()</a>, <a class="el" href="cross-join-node_8cc_source.html#l00059">impala::CrossJoinNode::ConstructBuildSide()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00154">impala::HashJoinNode::ConstructBuildSide()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00706">impala::HdfsScanNode::EnoughMemoryForScannerThread()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00634">impala::AnalyticEvalNode::GetNextOutputBatch()</a>, <a class="el" href="sort-node_8cc_source.html#l00051">impala::SortNode::Open()</a>, <a class="el" href="topn-node_8cc_source.html#l00070">impala::TopNNode::Open()</a>, <a class="el" href="aggregation-node_8cc_source.html#l00174">impala::AggregationNode::Open()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00166">impala::AnalyticEvalNode::Open()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00209">impala::PartitionedAggregationNode::Open()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00511">impala::HdfsScanNode::Open()</a>, <a class="el" href="union-node_8cc_source.html#l00107">impala::UnionNode::OpenCurrentChild()</a>, <a class="el" href="select-node_8cc_source.html#l00034">impala::SelectNode::Prepare()</a>, <a class="el" href="hbase-scan-node_8cc_source.html#l00056">impala::HBaseScanNode::Prepare()</a>, <a class="el" href="topn-node_8cc_source.html#l00056">impala::TopNNode::Prepare()</a>, <a class="el" href="blocking-join-node_8cc_source.html#l00055">Prepare()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00080">impala::HashJoinNode::Prepare()</a>, <a class="el" href="aggregation-node_8cc_source.html#l00085">impala::AggregationNode::Prepare()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00094">impala::PartitionedHashJoinNode::Prepare()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00124">impala::AnalyticEvalNode::Prepare()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00095">impala::PartitionedAggregationNode::Prepare()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00304">impala::HdfsScanNode::Prepare()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00661">impala::PartitionedHashJoinNode::PrepareNextPartition()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00500">impala::PartitionedHashJoinNode::ProcessBuildInput()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00849">impala::PartitionedAggregationNode::ProcessStream()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00254">impala::HdfsRCFileScanner::ReadRowGroup()</a>, <a class="el" href="hdfs-avro-scanner_8cc_source.html#l00220">impala::HdfsAvroScanner::ResolveSchemas()</a>, <a class="el" href="sort-node_8cc_source.html#l00143">impala::SortNode::SortInput()</a>, and <a class="el" href="hdfs-scanner_8cc_source.html#l00108">impala::HdfsScanner::StartNewRowBatch()</a>.</p>
</div>
</div>
<a class="anchor" id="a8b5679fb9c03b667cb3c90512a24faab"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classimpala_1_1Status.html">Status</a> BlockingJoinNode::Open </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> *&#160;</td>
<td class="paramname"><em>state</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Open prepares the build side structures (subclasses should implement <a class="el" href="classimpala_1_1BlockingJoinNode.html#a14f3862ffcf38dd7fd7d56c8efe30f90">ConstructBuildSide()</a>) and then prepares for GetNext with the first left child row (subclasses should implement <a class="el" href="classimpala_1_1BlockingJoinNode.html#aefb66021c52d596572754cbfb85ce760">InitGetNext()</a>). </p>
<p>Reimplemented from <a class="el" href="classimpala_1_1ExecNode.html#a0e9b5636a80c8fe8c2ab31990c84ff51">impala::ExecNode</a>.</p>
<p>Definition at line <a class="el" href="blocking-join-node_8cc_source.html#l00156">156</a> of file <a class="el" href="blocking-join-node_8cc_source.html">blocking-join-node.cc</a>.</p>
<p>References <a class="el" href="exec-node_8cc_source.html#l00188">impala::ExecNode::AddRuntimeExecOption()</a>, <a class="el" href="cgroups-mgr_8cc_source.html#l00142">impala::CgroupsMgr::AssignThreadToCgroup()</a>, <a class="el" href="blocking-join-node_8cc_source.html#l00136">BuildSideThread()</a>, <a class="el" href="runtime-state_8h_source.html#l00129">impala::RuntimeState::cgroup()</a>, <a class="el" href="exec-env_8h_source.html#l00088">impala::ExecEnv::cgroups_mgr()</a>, <a class="el" href="exec-node_8h_source.html#l00241">impala::ExecNode::child()</a>, <a class="el" href="classimpala_1_1BlockingJoinNode.html#a14f3862ffcf38dd7fd7d56c8efe30f90">ConstructBuildSide()</a>, <a class="el" href="runtime-profile_8h_source.html#l00055">COUNTER_ADD</a>, <a class="el" href="blocking-join-node_8h_source.html#l00082">current_probe_row_</a>, <a class="el" href="blocking-join-node_8h_source.html#l00069">eos_</a>, <a class="el" href="runtime-state_8h_source.html#l00130">impala::RuntimeState::exec_env()</a>, <a class="el" href="promise_8h_source.html#l00059">impala::Promise&lt; T &gt;::Get()</a>, <a class="el" href="classimpala_1_1ExecNode.html#a151fe2bdeb1cd399dd561f049aee2523">impala::ExecNode::GetNext()</a>, <a class="el" href="classimpala_1_1BlockingJoinNode.html#aefb66021c52d596572754cbfb85ce760">InitGetNext()</a>, <a class="el" href="runtime-state_8cc_source.html#l00224">impala::RuntimeState::LogError()</a>, <a class="el" href="status_8h_source.html#l00189">impala::Status::msg()</a>, <a class="el" href="blocking-join-node_8h_source.html#l00067">node_name_</a>, <a class="el" href="status_8h_source.html#l00087">impala::Status::OK</a>, <a class="el" href="status_8h_source.html#l00172">impala::Status::ok()</a>, <a class="el" href="exec-node_8cc_source.html#l00154">impala::ExecNode::Open()</a>, <a class="el" href="blocking-join-node_8h_source.html#l00075">probe_batch_</a>, <a class="el" href="blocking-join-node_8h_source.html#l00081">probe_batch_pos_</a>, <a class="el" href="blocking-join-node_8h_source.html#l00103">probe_row_counter_</a>, <a class="el" href="blocking-join-node_8h_source.html#l00077">probe_side_eos_</a>, <a class="el" href="exec-node_8cc_source.html#l00401">impala::ExecNode::QueryMaintenance()</a>, <a class="el" href="runtime-state_8h_source.html#l00142">impala::RuntimeState::resource_pool()</a>, <a class="el" href="runtime-state_8h_source.html#l00384">RETURN_IF_CANCELLED</a>, <a class="el" href="status_8h_source.html#l00242">RETURN_IF_ERROR</a>, <a class="el" href="exec-node_8h_source.html#l00225">impala::ExecNode::runtime_profile_</a>, <a class="el" href="runtime-profile_8h_source.html#l00053">SCOPED_TIMER</a>, and <a class="el" href="thread-resource-mgr_8h_source.html#l00235">impala::ThreadResourceMgr::ResourcePool::TryAcquireThreadToken()</a>.</p>
<p>Referenced by <a class="el" href="cross-join-node_8cc_source.html#l00059">impala::CrossJoinNode::ConstructBuildSide()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00154">impala::HashJoinNode::ConstructBuildSide()</a>, and <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00485">impala::PartitionedHashJoinNode::ConstructBuildSide()</a>.</p>
</div>
</div>
<a class="anchor" id="a9081198a34dc3613015e21c4e2100478"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classimpala_1_1Status.html">Status</a> BlockingJoinNode::Prepare </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> *&#160;</td>
<td class="paramname"><em>state</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Subclasses should call <a class="el" href="classimpala_1_1BlockingJoinNode.html#a9081198a34dc3613015e21c4e2100478">BlockingJoinNode::Prepare()</a> and then perform any other <a class="el" href="classimpala_1_1BlockingJoinNode.html#a9081198a34dc3613015e21c4e2100478">Prepare()</a> work, e.g. codegen. </p>
<p>Reimplemented from <a class="el" href="classimpala_1_1ExecNode.html#a0ae75733979977dbd9e7270359631b3e">impala::ExecNode</a>.</p>
<p>Reimplemented in <a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#a9082f61fb211521b18752a148d2e5d73">impala::PartitionedHashJoinNode</a>, <a class="el" href="classimpala_1_1HashJoinNode.html#ad66f2a05475eef746a09e8a5724aa057">impala::HashJoinNode</a>, and <a class="el" href="classimpala_1_1CrossJoinNode.html#ada892305e87ddb582ff1e6d0744cc427">impala::CrossJoinNode</a>.</p>
<p>Definition at line <a class="el" href="blocking-join-node_8cc_source.html#l00055">55</a> of file <a class="el" href="blocking-join-node_8cc_source.html">blocking-join-node.cc</a>.</p>
<p>References <a class="el" href="runtime-profile_8h_source.html#l00047">ADD_COUNTER</a>, <a class="el" href="runtime-profile_8h_source.html#l00050">ADD_TIMER</a>, <a class="el" href="runtime-state_8h_source.html#l00098">impala::RuntimeState::batch_size()</a>, <a class="el" href="blocking-join-node_8h_source.html#l00070">build_pool_</a>, <a class="el" href="blocking-join-node_8h_source.html#l00102">build_row_counter_</a>, <a class="el" href="blocking-join-node_8h_source.html#l00100">build_timer_</a>, <a class="el" href="blocking-join-node_8h_source.html#l00089">build_tuple_row_size_</a>, <a class="el" href="exec-node_8h_source.html#l00241">impala::ExecNode::child()</a>, <a class="el" href="descriptors_8h_source.html#l00306">impala::TupleDescriptor::id()</a>, <a class="el" href="blocking-join-node_8h_source.html#l00068">join_op_</a>, <a class="el" href="exec-node_8h_source.html#l00162">impala::ExecNode::mem_tracker()</a>, <a class="el" href="status_8h_source.html#l00087">impala::Status::OK</a>, <a class="el" href="exec-node_8cc_source.html#l00130">impala::ExecNode::Prepare()</a>, <a class="el" href="blocking-join-node_8h_source.html#l00075">probe_batch_</a>, <a class="el" href="blocking-join-node_8h_source.html#l00103">probe_row_counter_</a>, <a class="el" href="blocking-join-node_8h_source.html#l00101">probe_timer_</a>, <a class="el" href="blocking-join-node_8h_source.html#l00088">probe_tuple_row_size_</a>, <a class="el" href="status_8h_source.html#l00242">RETURN_IF_ERROR</a>, <a class="el" href="exec-node_8h_source.html#l00156">impala::ExecNode::row_desc()</a>, <a class="el" href="exec-node_8h_source.html#l00161">impala::ExecNode::runtime_profile()</a>, <a class="el" href="exec-node_8h_source.html#l00225">impala::ExecNode::runtime_profile_</a>, <a class="el" href="runtime-profile_8h_source.html#l00053">SCOPED_TIMER</a>, <a class="el" href="blocking-join-node_8h_source.html#l00094">semi_join_staging_row_</a>, and <a class="el" href="descriptors_8h_source.html#l00412">impala::RowDescriptor::tuple_descriptors()</a>.</p>
<p>Referenced by <a class="el" href="cross-join-node_8cc_source.html#l00038">impala::CrossJoinNode::Prepare()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00080">impala::HashJoinNode::Prepare()</a>, and <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00094">impala::PartitionedHashJoinNode::Prepare()</a>.</p>
</div>
</div>
<a class="anchor" id="ab8f2832c6a5487aa8168b2a7d65773ee"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classimpala_1_1Status.html">Status</a> impala::ExecNode::QueryMaintenance </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> *&#160;</td>
<td class="paramname"><em>state</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Frees any local allocations made by expr_ctxs_to_free_ and returns the result of state-&gt;CheckQueryState(). Nodes should call this periodically, e.g. once per input row batch. This should not be called outside the main execution thread. Nodes may override this to add extra periodic cleanup, e.g. freeing other local allocations. ExecNodes overriding this function should return <a class="el" href="classimpala_1_1ExecNode.html#ab8f2832c6a5487aa8168b2a7d65773ee">ExecNode::QueryMaintenance()</a>. </p>
<p>Reimplemented in <a class="el" href="classimpala_1_1PartitionedAggregationNode.html#a7a5917169ffd6b1888da137c2b0ee783">impala::PartitionedAggregationNode</a>, and <a class="el" href="classimpala_1_1AnalyticEvalNode.html#af15cf540c4d2895f42f6708b83e77de4">impala::AnalyticEvalNode</a>.</p>
<p>Definition at line <a class="el" href="exec-node_8cc_source.html#l00401">401</a> of file <a class="el" href="exec-node_8cc_source.html">exec-node.cc</a>.</p>
<p>References <a class="el" href="runtime-state_8cc_source.html#l00286">impala::RuntimeState::CheckQueryState()</a>, <a class="el" href="exec-node_8h_source.html#l00286">impala::ExecNode::expr_ctxs_to_free_</a>, and <a class="el" href="expr-context_8cc_source.html#l00109">impala::ExprContext::FreeLocalAllocations()</a>.</p>
<p>Referenced by <a class="el" href="cross-join-node_8cc_source.html#l00059">impala::CrossJoinNode::ConstructBuildSide()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00154">impala::HashJoinNode::ConstructBuildSide()</a>, <a class="el" href="select-node_8cc_source.html#l00049">impala::SelectNode::GetNext()</a>, <a class="el" href="sort-node_8cc_source.html#l00078">impala::SortNode::GetNext()</a>, <a class="el" href="union-node_8cc_source.html#l00119">impala::UnionNode::GetNext()</a>, <a class="el" href="hbase-scan-node_8cc_source.html#l00147">impala::HBaseScanNode::GetNext()</a>, <a class="el" href="topn-node_8cc_source.html#l00106">impala::TopNNode::GetNext()</a>, <a class="el" href="exchange-node_8cc_source.html#l00120">impala::ExchangeNode::GetNext()</a>, <a class="el" href="cross-join-node_8cc_source.html#l00085">impala::CrossJoinNode::GetNext()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00218">impala::HashJoinNode::GetNext()</a>, <a class="el" href="aggregation-node_8cc_source.html#l00230">impala::AggregationNode::GetNext()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00735">impala::PartitionedHashJoinNode::GetNext()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00139">impala::HdfsScanNode::GetNextInternal()</a>, <a class="el" href="hbase-scan-node_8cc_source.html#l00117">impala::HBaseScanNode::Open()</a>, <a class="el" href="sort-node_8cc_source.html#l00051">impala::SortNode::Open()</a>, <a class="el" href="topn-node_8cc_source.html#l00070">impala::TopNNode::Open()</a>, <a class="el" href="blocking-join-node_8cc_source.html#l00156">Open()</a>, <a class="el" href="aggregation-node_8cc_source.html#l00174">impala::AggregationNode::Open()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00500">impala::PartitionedHashJoinNode::ProcessBuildInput()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00781">impala::AnalyticEvalNode::QueryMaintenance()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00968">impala::PartitionedAggregationNode::QueryMaintenance()</a>, and <a class="el" href="sort-node_8cc_source.html#l00143">impala::SortNode::SortInput()</a>.</p>
</div>
</div>
<a class="anchor" id="a3ff26374466bc587eaa4c7d00b3e126a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classbool.html">bool</a> impala::ExecNode::ReachedLimit </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="exec-node_8h_source.html#l00159">159</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p>
<p>References <a class="el" href="exec-node_8h_source.html#l00222">impala::ExecNode::limit_</a>, and <a class="el" href="exec-node_8h_source.html#l00223">impala::ExecNode::num_rows_returned_</a>.</p>
<p>Referenced by <a class="el" href="hdfs-parquet-scanner_8cc_source.html#l00805">impala::HdfsParquetScanner::AssembleRows()</a>, <a class="el" href="select-node_8cc_source.html#l00088">impala::SelectNode::CopyRows()</a>, <a class="el" href="union-node_8cc_source.html#l00198">impala::UnionNode::EvalAndMaterializeExprs()</a>, <a class="el" href="hdfs-text-scanner_8cc_source.html#l00253">impala::HdfsTextScanner::FinishScanRange()</a>, <a class="el" href="select-node_8cc_source.html#l00049">impala::SelectNode::GetNext()</a>, <a class="el" href="union-node_8cc_source.html#l00119">impala::UnionNode::GetNext()</a>, <a class="el" href="sort-node_8cc_source.html#l00078">impala::SortNode::GetNext()</a>, <a class="el" href="hbase-scan-node_8cc_source.html#l00147">impala::HBaseScanNode::GetNext()</a>, <a class="el" href="exchange-node_8cc_source.html#l00120">impala::ExchangeNode::GetNext()</a>, <a class="el" href="cross-join-node_8cc_source.html#l00085">impala::CrossJoinNode::GetNext()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00218">impala::HashJoinNode::GetNext()</a>, <a class="el" href="aggregation-node_8cc_source.html#l00230">impala::AggregationNode::GetNext()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00735">impala::PartitionedHashJoinNode::GetNext()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00696">impala::AnalyticEvalNode::GetNext()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00271">impala::PartitionedAggregationNode::GetNext()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00139">impala::HdfsScanNode::GetNextInternal()</a>, <a class="el" href="exchange-node_8cc_source.html#l00174">impala::ExchangeNode::GetNextMerging()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00634">impala::AnalyticEvalNode::GetNextOutputBatch()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00378">impala::HashJoinNode::LeftJoinGetNext()</a>, <a class="el" href="hdfs-sequence-scanner_8cc_source.html#l00161">impala::HdfsSequenceScanner::ProcessBlockCompressedScanRange()</a>, <a class="el" href="hdfs-text-scanner_8cc_source.html#l00325">impala::HdfsTextScanner::ProcessRange()</a>, <a class="el" href="hdfs-avro-scanner_8cc_source.html#l00517">impala::HdfsAvroScanner::ProcessRange()</a>, <a class="el" href="hdfs-sequence-scanner_8cc_source.html#l00271">impala::HdfsSequenceScanner::ProcessRange()</a>, <a class="el" href="hdfs-rcfile-scanner_8cc_source.html#l00451">impala::HdfsRCFileScanner::ProcessRange()</a>, and <a class="el" href="plan-fragment-executor_8cc_source.html#l00547">impala::PlanFragmentExecutor::ReachedLimit()</a>.</p>
</div>
</div>
<a class="anchor" id="aed593f75e4fe2bec8e50a74998d7a3c9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classimpala_1_1Status.html">Status</a> BlockingJoinNode::Reset </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classimpala_1_1RuntimeState.html">RuntimeState</a> *&#160;</td>
<td class="paramname"><em>state</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Subclasses should reset any state modified in <a class="el" href="classimpala_1_1BlockingJoinNode.html#a8b5679fb9c03b667cb3c90512a24faab">Open()</a> and <a class="el" href="classimpala_1_1ExecNode.html#a151fe2bdeb1cd399dd561f049aee2523">GetNext()</a> and then call <a class="el" href="classimpala_1_1BlockingJoinNode.html#aed593f75e4fe2bec8e50a74998d7a3c9">BlockingJoinNode::Reset()</a>. </p>
<p>Reimplemented from <a class="el" href="classimpala_1_1ExecNode.html#ad71c699df350036b9df84b9bc19934cd">impala::ExecNode</a>.</p>
<p>Reimplemented in <a class="el" href="classimpala_1_1PartitionedHashJoinNode.html#a012279e5ada40ecf525931496ba39590">impala::PartitionedHashJoinNode</a>, <a class="el" href="classimpala_1_1HashJoinNode.html#a80ce6332b8d36af13a55490ae8bd6ab1">impala::HashJoinNode</a>, and <a class="el" href="classimpala_1_1CrossJoinNode.html#a64ba69d16580bbd6d256d109e270186c">impala::CrossJoinNode</a>.</p>
<p>Definition at line <a class="el" href="blocking-join-node_8cc_source.html#l00120">120</a> of file <a class="el" href="blocking-join-node_8cc_source.html">blocking-join-node.cc</a>.</p>
<p>References <a class="el" href="blocking-join-node_8h_source.html#l00070">build_pool_</a>, <a class="el" href="blocking-join-node_8h_source.html#l00069">eos_</a>, <a class="el" href="blocking-join-node_8h_source.html#l00075">probe_batch_</a>, <a class="el" href="blocking-join-node_8h_source.html#l00077">probe_side_eos_</a>, and <a class="el" href="exec-node_8cc_source.html#l00159">impala::ExecNode::Reset()</a>.</p>
<p>Referenced by <a class="el" href="cross-join-node_8cc_source.html#l00045">impala::CrossJoinNode::Reset()</a>.</p>
</div>
</div>
<a class="anchor" id="a467297b1704ae33db61ae61d3400c35f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="classimpala_1_1RowDescriptor.html">RowDescriptor</a>&amp; impala::ExecNode::row_desc </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="exec-node_8h_source.html#l00156">156</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p>
<p>References <a class="el" href="exec-node_8h_source.html#l00215">impala::ExecNode::row_descriptor_</a>.</p>
<p>Referenced by <a class="el" href="cross-join-node_8cc_source.html#l00133">impala::CrossJoinNode::BuildListDebugString()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00462">impala::HashJoinNode::CodegenCreateOutputRow()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01382">impala::PartitionedHashJoinNode::CodegenCreateOutputRow()</a>, <a class="el" href="cross-join-node_8cc_source.html#l00059">impala::CrossJoinNode::ConstructBuildSide()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00154">impala::HashJoinNode::ConstructBuildSide()</a>, <a class="el" href="blocking-join-node_8cc_source.html#l00222">GetLeftChildRowString()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00218">impala::HashJoinNode::GetNext()</a>, <a class="el" href="aggregation-node_8cc_source.html#l00230">impala::AggregationNode::GetNext()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00634">impala::AnalyticEvalNode::GetNextOutputBatch()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00429">impala::PartitionedAggregationNode::Partition::InitStreams()</a>, <a class="el" href="topn-node_8cc_source.html#l00070">impala::TopNNode::Open()</a>, <a class="el" href="aggregation-node_8cc_source.html#l00174">impala::AggregationNode::Open()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00166">impala::AnalyticEvalNode::Open()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00209">impala::PartitionedAggregationNode::Open()</a>, <a class="el" href="union-node_8cc_source.html#l00107">impala::UnionNode::OpenCurrentChild()</a>, <a class="el" href="select-node_8cc_source.html#l00034">impala::SelectNode::Prepare()</a>, <a class="el" href="sort-node_8cc_source.html#l00042">impala::SortNode::Prepare()</a>, <a class="el" href="union-node_8cc_source.html#l00058">impala::UnionNode::Prepare()</a>, <a class="el" href="topn-node_8cc_source.html#l00056">impala::TopNNode::Prepare()</a>, <a class="el" href="blocking-join-node_8cc_source.html#l00055">Prepare()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00080">impala::HashJoinNode::Prepare()</a>, <a class="el" href="aggregation-node_8cc_source.html#l00085">impala::AggregationNode::Prepare()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00124">impala::AnalyticEvalNode::Prepare()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00094">impala::PartitionedHashJoinNode::Prepare()</a>, <a class="el" href="exec-node_8cc_source.html#l00130">impala::ExecNode::Prepare()</a>, <a class="el" href="plan-fragment-executor_8cc_source.html#l00080">impala::PlanFragmentExecutor::Prepare()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00095">impala::PartitionedAggregationNode::Prepare()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00304">impala::HdfsScanNode::Prepare()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00500">impala::PartitionedHashJoinNode::ProcessBuildInput()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00849">impala::PartitionedAggregationNode::ProcessStream()</a>, <a class="el" href="plan-fragment-executor_8cc_source.html#l00539">impala::PlanFragmentExecutor::row_desc()</a>, <a class="el" href="sort-node_8cc_source.html#l00143">impala::SortNode::SortInput()</a>, and <a class="el" href="hdfs-scanner_8cc_source.html#l00108">impala::HdfsScanner::StartNewRowBatch()</a>.</p>
</div>
</div>
<a class="anchor" id="a3f3a896c7e58304582acd34f662b4c72"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int64_t impala::ExecNode::rows_returned </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="exec-node_8h_source.html#l00157">157</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p>
<p>References <a class="el" href="exec-node_8h_source.html#l00223">impala::ExecNode::num_rows_returned_</a>.</p>
<p>Referenced by <a class="el" href="cross-join-node_8cc_source.html#l00085">impala::CrossJoinNode::GetNext()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00696">impala::AnalyticEvalNode::GetNext()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00378">impala::HashJoinNode::LeftJoinGetNext()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00209">impala::PartitionedAggregationNode::Open()</a>, <a class="el" href="hdfs-sequence-scanner_8cc_source.html#l00198">impala::HdfsSequenceScanner::ProcessDecompressedBlock()</a>, <a class="el" href="cross-join-node_8cc_source.html#l00142">impala::CrossJoinNode::ProcessLeftChildBatch()</a>, <a class="el" href="hash-join-node-ir_8cc_source.html#l00040">impala::HashJoinNode::ProcessProbeBatch()</a>, and <a class="el" href="hdfs-text-scanner_8cc_source.html#l00663">impala::HdfsTextScanner::WriteFields()</a>.</p>
</div>
</div>
<a class="anchor" id="ad062f28c78add1a869fffdab9419b09d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classimpala_1_1RuntimeProfile.html">RuntimeProfile</a>* impala::ExecNode::runtime_profile </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="exec-node_8h_source.html#l00161">161</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p>
<p>References <a class="el" href="exec-node_8h_source.html#l00225">impala::ExecNode::runtime_profile_</a>.</p>
<p>Referenced by <a class="el" href="exec-node_8cc_source.html#l00188">impala::ExecNode::AddRuntimeExecOption()</a>, <a class="el" href="blocking-join-node_8cc_source.html#l00136">BuildSideThread()</a>, <a class="el" href="exec-node_8cc_source.html#l00218">impala::ExecNode::CreateTreeHelper()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00429">impala::PartitionedAggregationNode::Partition::InitStreams()</a>, <a class="el" href="sort-node_8cc_source.html#l00051">impala::SortNode::Open()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00166">impala::AnalyticEvalNode::Open()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00209">impala::PartitionedAggregationNode::Open()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00511">impala::HdfsScanNode::Open()</a>, <a class="el" href="hdfs-text-scanner_8cc_source.html#l00620">impala::HdfsTextScanner::Prepare()</a>, <a class="el" href="hbase-scan-node_8cc_source.html#l00056">impala::HBaseScanNode::Prepare()</a>, <a class="el" href="base-sequence-scanner_8cc_source.html#l00074">impala::BaseSequenceScanner::Prepare()</a>, <a class="el" href="exchange-node_8cc_source.html#l00061">impala::ExchangeNode::Prepare()</a>, <a class="el" href="hdfs-parquet-scanner_8cc_source.html#l00440">impala::HdfsParquetScanner::Prepare()</a>, <a class="el" href="blocking-join-node_8cc_source.html#l00055">Prepare()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00080">impala::HashJoinNode::Prepare()</a>, <a class="el" href="aggregation-node_8cc_source.html#l00085">impala::AggregationNode::Prepare()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00124">impala::AnalyticEvalNode::Prepare()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00094">impala::PartitionedHashJoinNode::Prepare()</a>, <a class="el" href="exec-node_8cc_source.html#l00130">impala::ExecNode::Prepare()</a>, <a class="el" href="scan-node_8cc_source.html#l00044">impala::ScanNode::Prepare()</a>, <a class="el" href="plan-fragment-executor_8cc_source.html#l00080">impala::PlanFragmentExecutor::Prepare()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00095">impala::PartitionedAggregationNode::Prepare()</a>, <a class="el" href="hdfs-scanner_8cc_source.html#l00071">impala::HdfsScanner::Prepare()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00304">impala::HdfsScanNode::Prepare()</a>, and <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00500">impala::PartitionedHashJoinNode::ProcessBuildInput()</a>.</p>
</div>
</div>
<a class="anchor" id="a39054faeb49a0adeeabb256106f456af"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void impala::ExecNode::SetDebugOptions </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>node_id</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">TExecNodePhase::type&#160;</td>
<td class="paramname"><em>phase</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">TDebugAction::type&#160;</td>
<td class="paramname"><em>action</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classimpala_1_1ExecNode.html">ExecNode</a> *&#160;</td>
<td class="paramname"><em>tree</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Set debug action for node with given id in 'tree'. </p>
<p>Definition at line <a class="el" href="exec-node_8cc_source.html#l00332">332</a> of file <a class="el" href="exec-node_8cc_source.html">exec-node.cc</a>.</p>
<p>References <a class="el" href="exec-node_8h_source.html#l00214">impala::ExecNode::children_</a>, <a class="el" href="exec-node_8h_source.html#l00220">impala::ExecNode::debug_action_</a>, <a class="el" href="exec-node_8h_source.html#l00219">impala::ExecNode::debug_phase_</a>, and <a class="el" href="exec-node_8h_source.html#l00209">impala::ExecNode::id_</a>.</p>
<p>Referenced by <a class="el" href="plan-fragment-executor_8cc_source.html#l00080">impala::PlanFragmentExecutor::Prepare()</a>.</p>
</div>
</div>
<a class="anchor" id="aef75c686c9c11e8fcb9b21cfa74c442d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">TPlanNodeType::type impala::ExecNode::type </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="exec-node_8h_source.html#l00155">155</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p>
<p>References <a class="el" href="exec-node_8h_source.html#l00210">impala::ExecNode::type_</a>.</p>
<p>Referenced by <a class="el" href="exec-node_8cc_source.html#l00452">impala::ExecNode::CodegenEvalConjuncts()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l01241">impala::PartitionedAggregationNode::CodegenUpdateTuple()</a>, and <a class="el" href="plan-fragment-executor_8cc_source.html#l00080">impala::PlanFragmentExecutor::Prepare()</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="a6d1a0e3a68490dbae73c03660a77c6cf"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">boost::scoped_ptr&lt;<a class="el" href="classimpala_1_1MemPool.html">MemPool</a>&gt; impala::BlockingJoinNode::build_pool_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="blocking-join-node_8h_source.html#l00070">70</a> of file <a class="el" href="blocking-join-node_8h_source.html">blocking-join-node.h</a>.</p>
<p>Referenced by <a class="el" href="blocking-join-node_8cc_source.html#l00128">Close()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00154">impala::HashJoinNode::ConstructBuildSide()</a>, <a class="el" href="blocking-join-node_8cc_source.html#l00055">Prepare()</a>, and <a class="el" href="blocking-join-node_8cc_source.html#l00120">Reset()</a>.</p>
</div>
</div>
<a class="anchor" id="afef0cb4927ae57c782b22b46c71a94bc"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classimpala_1_1RuntimeProfile_1_1Counter.html">RuntimeProfile::Counter</a>* impala::BlockingJoinNode::build_row_counter_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="blocking-join-node_8h_source.html#l00102">102</a> of file <a class="el" href="blocking-join-node_8h_source.html">blocking-join-node.h</a>.</p>
<p>Referenced by <a class="el" href="cross-join-node_8cc_source.html#l00059">impala::CrossJoinNode::ConstructBuildSide()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00154">impala::HashJoinNode::ConstructBuildSide()</a>, <a class="el" href="blocking-join-node_8cc_source.html#l00055">Prepare()</a>, and <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00500">impala::PartitionedHashJoinNode::ProcessBuildInput()</a>.</p>
</div>
</div>
<a class="anchor" id="a393b4e350abca15c76dfdd52a928015f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classimpala_1_1RuntimeProfile_1_1Counter.html">RuntimeProfile::Counter</a>* impala::BlockingJoinNode::build_timer_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="blocking-join-node_8h_source.html#l00100">100</a> of file <a class="el" href="blocking-join-node_8h_source.html">blocking-join-node.h</a>.</p>
<p>Referenced by <a class="el" href="cross-join-node_8cc_source.html#l00059">impala::CrossJoinNode::ConstructBuildSide()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00154">impala::HashJoinNode::ConstructBuildSide()</a>, and <a class="el" href="blocking-join-node_8cc_source.html#l00055">Prepare()</a>.</p>
</div>
</div>
<a class="anchor" id="a66ccfeffb647bf47ef207db6eead4be1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int impala::BlockingJoinNode::build_tuple_row_size_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="blocking-join-node_8h_source.html#l00089">89</a> of file <a class="el" href="blocking-join-node_8h_source.html">blocking-join-node.h</a>.</p>
<p>Referenced by <a class="el" href="hash-join-node_8cc_source.html#l00462">impala::HashJoinNode::CodegenCreateOutputRow()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01382">impala::PartitionedHashJoinNode::CodegenCreateOutputRow()</a>, <a class="el" href="blocking-join-node_8cc_source.html#l00240">CreateOutputRow()</a>, and <a class="el" href="blocking-join-node_8cc_source.html#l00055">Prepare()</a>.</p>
</div>
</div>
<a class="anchor" id="a93c5f051338e0caeaba575d270ed6c08"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classbool.html">bool</a> impala::BlockingJoinNode::can_add_probe_filters_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>If true, this node can add filters to the probe (left child) node after processing the entire build side. </p>
<p>Definition at line <a class="el" href="blocking-join-node_8h_source.html#l00098">98</a> of file <a class="el" href="blocking-join-node_8h_source.html">blocking-join-node.h</a>.</p>
<p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00382">impala::PartitionedHashJoinNode::AllocateProbeFilters()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00400">impala::PartitionedHashJoinNode::AttachProbeFilters()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01065">impala::PartitionedHashJoinNode::BuildHashTables()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00154">impala::HashJoinNode::ConstructBuildSide()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00040">impala::HashJoinNode::HashJoinNode()</a>, and <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00043">impala::PartitionedHashJoinNode::PartitionedHashJoinNode()</a>.</p>
</div>
</div>
<a class="anchor" id="ab5b4aff8e7b124468f2b61ca63b87ab5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::vector&lt;<a class="el" href="classimpala_1_1ExecNode.html">ExecNode</a>*&gt; impala::ExecNode::children_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="exec-node_8h_source.html#l00214">214</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p>
<p>Referenced by <a class="el" href="exec-node_8h_source.html#l00241">impala::ExecNode::child()</a>, <a class="el" href="exec-node_8cc_source.html#l00166">impala::ExecNode::Close()</a>, <a class="el" href="exec-node_8cc_source.html#l00359">impala::ExecNode::CollectNodes()</a>, <a class="el" href="exec-node_8cc_source.html#l00218">impala::ExecNode::CreateTreeHelper()</a>, <a class="el" href="hbase-scan-node_8cc_source.html#l00294">impala::HBaseScanNode::DebugString()</a>, <a class="el" href="union-node_8cc_source.html#l00119">impala::UnionNode::GetNext()</a>, <a class="el" href="union-node_8cc_source.html#l00088">impala::UnionNode::Open()</a>, <a class="el" href="aggregation-node_8cc_source.html#l00174">impala::AggregationNode::Open()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00209">impala::PartitionedAggregationNode::Open()</a>, <a class="el" href="union-node_8cc_source.html#l00107">impala::UnionNode::OpenCurrentChild()</a>, <a class="el" href="exec-node_8cc_source.html#l00130">impala::ExecNode::Prepare()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00849">impala::PartitionedAggregationNode::ProcessStream()</a>, <a class="el" href="exec-node_8cc_source.html#l00159">impala::ExecNode::Reset()</a>, and <a class="el" href="exec-node_8cc_source.html#l00332">impala::ExecNode::SetDebugOptions()</a>.</p>
</div>
</div>
<a class="anchor" id="a302f24417303ae6eb522e50a15f9ca2c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::vector&lt;<a class="el" href="classimpala_1_1ExprContext.html">ExprContext</a>*&gt; impala::ExecNode::conjunct_ctxs_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="exec-node_8h_source.html#l00212">212</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p>
<p>Referenced by <a class="el" href="exec-node_8cc_source.html#l00166">impala::ExecNode::Close()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00559">impala::HashJoinNode::CodegenProcessProbeBatch()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01498">impala::PartitionedHashJoinNode::CodegenProcessProbeBatch()</a>, <a class="el" href="exec-node_8h_source.html#l00152">impala::ExecNode::conjunct_ctxs()</a>, <a class="el" href="select-node_8cc_source.html#l00088">impala::SelectNode::CopyRows()</a>, <a class="el" href="union-node_8cc_source.html#l00198">impala::UnionNode::EvalAndMaterializeExprs()</a>, <a class="el" href="hbase-scan-node_8cc_source.html#l00147">impala::HBaseScanNode::GetNext()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00218">impala::HashJoinNode::GetNext()</a>, <a class="el" href="aggregation-node_8cc_source.html#l00230">impala::AggregationNode::GetNext()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00271">impala::PartitionedAggregationNode::GetNext()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00634">impala::AnalyticEvalNode::GetNextOutputBatch()</a>, <a class="el" href="topn-node_8cc_source.html#l00044">impala::TopNNode::Init()</a>, <a class="el" href="exec-node_8cc_source.html#l00124">impala::ExecNode::Init()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00066">impala::PartitionedHashJoinNode::Init()</a>, <a class="el" href="exec-node_8cc_source.html#l00154">impala::ExecNode::Open()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00865">impala::PartitionedHashJoinNode::OutputUnmatchedBuild()</a>, <a class="el" href="exec-node_8cc_source.html#l00130">impala::ExecNode::Prepare()</a>, <a class="el" href="cross-join-node_8cc_source.html#l00142">impala::CrossJoinNode::ProcessLeftChildBatch()</a>, <a class="el" href="hash-join-node-ir_8cc_source.html#l00040">impala::HashJoinNode::ProcessProbeBatch()</a>, and <a class="el" href="partitioned-hash-join-node-ir_8cc_source.html#l00040">impala::PartitionedHashJoinNode::ProcessProbeBatch()</a>.</p>
</div>
</div>
<a class="anchor" id="a04915018145d23f213cee07c29b04d14"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classimpala_1_1TupleRow.html">TupleRow</a>* impala::BlockingJoinNode::current_probe_row_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="blocking-join-node_8h_source.html#l00082">82</a> of file <a class="el" href="blocking-join-node_8h_source.html">blocking-join-node.h</a>.</p>
<p>Referenced by <a class="el" href="hash-join-node_8cc_source.html#l00218">impala::HashJoinNode::GetNext()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00735">impala::PartitionedHashJoinNode::GetNext()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00598">impala::PartitionedHashJoinNode::NextProbeRowBatch()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00622">impala::PartitionedHashJoinNode::NextSpilledProbeRowBatch()</a>, <a class="el" href="blocking-join-node_8cc_source.html#l00156">Open()</a>, <a class="el" href="cross-join-node_8cc_source.html#l00142">impala::CrossJoinNode::ProcessLeftChildBatch()</a>, <a class="el" href="hash-join-node-ir_8cc_source.html#l00040">impala::HashJoinNode::ProcessProbeBatch()</a>, <a class="el" href="partitioned-hash-join-node-ir_8cc_source.html#l00040">impala::PartitionedHashJoinNode::ProcessProbeBatch()</a>, and <a class="el" href="partitioned-hash-join-node_8inline_8h_source.html#l00024">impala::PartitionedHashJoinNode::ResetForProbe()</a>.</p>
</div>
</div>
<a class="anchor" id="a08cd2dfda956999b3995caafe76190fd"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">TDebugAction::type impala::ExecNode::debug_action_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="exec-node_8h_source.html#l00220">220</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p>
<p>Referenced by <a class="el" href="exec-node_8cc_source.html#l00378">impala::ExecNode::ExecDebugAction()</a>, and <a class="el" href="exec-node_8cc_source.html#l00332">impala::ExecNode::SetDebugOptions()</a>.</p>
</div>
</div>
<a class="anchor" id="a76c55d45e1b55f82b83614898240adaf"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">TExecNodePhase::type impala::ExecNode::debug_phase_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>debug-only: if debug_action_ is not INVALID, node will perform action in debug_phase_ </p>
<p>Definition at line <a class="el" href="exec-node_8h_source.html#l00219">219</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p>
<p>Referenced by <a class="el" href="exec-node_8cc_source.html#l00378">impala::ExecNode::ExecDebugAction()</a>, and <a class="el" href="exec-node_8cc_source.html#l00332">impala::ExecNode::SetDebugOptions()</a>.</p>
</div>
</div>
<a class="anchor" id="a5e815e2ed755fc790f34a83769bf6461"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classbool.html">bool</a> impala::BlockingJoinNode::eos_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="blocking-join-node_8h_source.html#l00069">69</a> of file <a class="el" href="blocking-join-node_8h_source.html">blocking-join-node.h</a>.</p>
<p>Referenced by <a class="el" href="blocking-join-node_8cc_source.html#l00212">DebugString()</a>, <a class="el" href="cross-join-node_8cc_source.html#l00085">impala::CrossJoinNode::GetNext()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00218">impala::HashJoinNode::GetNext()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00378">impala::HashJoinNode::LeftJoinGetNext()</a>, <a class="el" href="blocking-join-node_8cc_source.html#l00156">Open()</a>, and <a class="el" href="blocking-join-node_8cc_source.html#l00120">Reset()</a>.</p>
</div>
</div>
<a class="anchor" id="aa536e5c953d915df988c5bcbf24db9f4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">boost::mutex impala::ExecNode::exec_options_lock_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Execution options that are determined at runtime. This is added to the runtime profile at <a class="el" href="classimpala_1_1ExecNode.html#a726e2aca524ace8e4c043377e621285a">Close()</a>. Examples for options logged here would be "Codegen Enabled" </p>
<p>Definition at line <a class="el" href="exec-node_8h_source.html#l00238">238</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p>
<p>Referenced by <a class="el" href="exec-node_8cc_source.html#l00188">impala::ExecNode::AddRuntimeExecOption()</a>.</p>
</div>
</div>
<a class="anchor" id="a8574c9973af1609b90cef86ccc331141"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">boost::scoped_ptr&lt;<a class="el" href="classimpala_1_1MemTracker.html">MemTracker</a>&gt; impala::ExecNode::expr_mem_tracker_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p><a class="el" href="classimpala_1_1MemTracker.html" title="This class is thread-safe. ">MemTracker</a> that should be used for ExprContexts. </p>
<p>Definition at line <a class="el" href="exec-node_8h_source.html#l00233">233</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p>
<p>Referenced by <a class="el" href="exec-node_8h_source.html#l00163">impala::ExecNode::expr_mem_tracker()</a>, and <a class="el" href="exec-node_8cc_source.html#l00130">impala::ExecNode::Prepare()</a>.</p>
</div>
</div>
<a class="anchor" id="a2d543ec055a04199286b52d23a82280f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int impala::ExecNode::id_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="exec-node_8h_source.html#l00209">209</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p>
<p>Referenced by <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00729">impala::PartitionedAggregationNode::CreateHashPartitions()</a>, <a class="el" href="exec-node_8h_source.html#l00154">impala::ExecNode::id()</a>, <a class="el" href="exec-node_8cc_source.html#l00371">impala::ExecNode::InitRuntimeProfile()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00771">impala::PartitionedAggregationNode::NextPartition()</a>, <a class="el" href="exchange-node_8cc_source.html#l00061">impala::ExchangeNode::Prepare()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00661">impala::PartitionedHashJoinNode::PrepareNextPartition()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00500">impala::PartitionedHashJoinNode::ProcessBuildInput()</a>, and <a class="el" href="exec-node_8cc_source.html#l00332">impala::ExecNode::SetDebugOptions()</a>.</p>
</div>
</div>
<a class="anchor" id="ad744c2cb396ed68c438d46395d612df6"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">TJoinOp::type impala::BlockingJoinNode::join_op_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="blocking-join-node_8h_source.html#l00068">68</a> of file <a class="el" href="blocking-join-node_8h_source.html">blocking-join-node.h</a>.</p>
<p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01228">impala::PartitionedHashJoinNode::CleanUpHashPartitions()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01382">impala::PartitionedHashJoinNode::CodegenCreateOutputRow()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01498">impala::PartitionedHashJoinNode::CodegenProcessProbeBatch()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00735">impala::PartitionedHashJoinNode::GetNext()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00040">impala::HashJoinNode::HashJoinNode()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00066">impala::PartitionedHashJoinNode::Init()</a>, <a class="el" href="partitioned-hash-join-node_8h_source.html#l00282">impala::PartitionedHashJoinNode::MinRequiredBuffers()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00622">impala::PartitionedHashJoinNode::NextSpilledProbeRowBatch()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01310">impala::PartitionedHashJoinNode::NodeDebugString()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00865">impala::PartitionedHashJoinNode::OutputUnmatchedBuild()</a>, <a class="el" href="cross-join-node_8cc_source.html#l00038">impala::CrossJoinNode::Prepare()</a>, <a class="el" href="blocking-join-node_8cc_source.html#l00055">Prepare()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00080">impala::HashJoinNode::Prepare()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00094">impala::PartitionedHashJoinNode::Prepare()</a>, and <a class="el" href="hash-join-node-ir_8cc_source.html#l00040">impala::HashJoinNode::ProcessProbeBatch()</a>.</p>
</div>
</div>
<a class="anchor" id="ae41f912c39b004f60987b4d480e442b8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int64_t impala::ExecNode::limit_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="exec-node_8h_source.html#l00222">222</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p>
<p>Referenced by <a class="el" href="sort-node_8cc_source.html#l00078">impala::SortNode::GetNext()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00139">impala::HdfsScanNode::GetNextInternal()</a>, <a class="el" href="exchange-node_8cc_source.html#l00174">impala::ExchangeNode::GetNextMerging()</a>, <a class="el" href="topn-node_8cc_source.html#l00144">impala::TopNNode::InsertTupleRow()</a>, <a class="el" href="hdfs-scan-node_8h_source.html#l00117">impala::HdfsScanNode::limit()</a>, <a class="el" href="exec-node_8h_source.html#l00158">impala::ExecNode::limit()</a>, <a class="el" href="topn-node_8cc_source.html#l00070">impala::TopNNode::Open()</a>, and <a class="el" href="exec-node_8h_source.html#l00159">impala::ExecNode::ReachedLimit()</a>.</p>
</div>
</div>
<a class="anchor" id="a017212785c5784e56363422c18fa11d4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const char * BlockingJoinNode::LLVM_CLASS_NAME = &quot;class.impala::BlockingJoinNode&quot;</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="blocking-join-node_8h_source.html#l00064">64</a> of file <a class="el" href="blocking-join-node_8h_source.html">blocking-join-node.h</a>.</p>
<p>Referenced by <a class="el" href="hash-join-node_8cc_source.html#l00462">impala::HashJoinNode::CodegenCreateOutputRow()</a>, and <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01382">impala::PartitionedHashJoinNode::CodegenCreateOutputRow()</a>.</p>
</div>
</div>
<a class="anchor" id="a2eedd711f6d355162bf2cbfbaac9b98b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classbool.html">bool</a> impala::BlockingJoinNode::matched_probe_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="blocking-join-node_8h_source.html#l00083">83</a> of file <a class="el" href="blocking-join-node_8h_source.html">blocking-join-node.h</a>.</p>
<p>Referenced by <a class="el" href="hash-join-node_8cc_source.html#l00218">impala::HashJoinNode::GetNext()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00208">impala::HashJoinNode::InitGetNext()</a>, <a class="el" href="hash-join-node-ir_8cc_source.html#l00040">impala::HashJoinNode::ProcessProbeBatch()</a>, <a class="el" href="partitioned-hash-join-node-ir_8cc_source.html#l00040">impala::PartitionedHashJoinNode::ProcessProbeBatch()</a>, and <a class="el" href="partitioned-hash-join-node_8inline_8h_source.html#l00024">impala::PartitionedHashJoinNode::ResetForProbe()</a>.</p>
</div>
</div>
<a class="anchor" id="aba2362d7d1816b4f90f3e1f6768accd1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">boost::scoped_ptr&lt;<a class="el" href="classimpala_1_1MemTracker.html">MemTracker</a>&gt; impala::ExecNode::mem_tracker_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Account for peak memory used by this node. </p>
<p>Definition at line <a class="el" href="exec-node_8h_source.html#l00230">230</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p>
<p>Referenced by <a class="el" href="exec-node_8h_source.html#l00162">impala::ExecNode::mem_tracker()</a>, and <a class="el" href="exec-node_8cc_source.html#l00130">impala::ExecNode::Prepare()</a>.</p>
</div>
</div>
<a class="anchor" id="aea8e20d9588cd609720e6c7c0505a56e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const std::string impala::BlockingJoinNode::node_name_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="blocking-join-node_8h_source.html#l00067">67</a> of file <a class="el" href="blocking-join-node_8h_source.html">blocking-join-node.h</a>.</p>
<p>Referenced by <a class="el" href="blocking-join-node_8cc_source.html#l00212">DebugString()</a>, and <a class="el" href="blocking-join-node_8cc_source.html#l00156">Open()</a>.</p>
</div>
</div>
<a class="anchor" id="a9789aeca3e98cda63998a8f47d355fd9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int64_t impala::ExecNode::num_rows_returned_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="exec-node_8h_source.html#l00223">223</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p>
<p>Referenced by <a class="el" href="exec-node_8cc_source.html#l00166">impala::ExecNode::Close()</a>, <a class="el" href="select-node_8cc_source.html#l00088">impala::SelectNode::CopyRows()</a>, <a class="el" href="union-node_8cc_source.html#l00198">impala::UnionNode::EvalAndMaterializeExprs()</a>, <a class="el" href="sort-node_8cc_source.html#l00078">impala::SortNode::GetNext()</a>, <a class="el" href="hbase-scan-node_8cc_source.html#l00147">impala::HBaseScanNode::GetNext()</a>, <a class="el" href="topn-node_8cc_source.html#l00106">impala::TopNNode::GetNext()</a>, <a class="el" href="exchange-node_8cc_source.html#l00120">impala::ExchangeNode::GetNext()</a>, <a class="el" href="cross-join-node_8cc_source.html#l00085">impala::CrossJoinNode::GetNext()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00218">impala::HashJoinNode::GetNext()</a>, <a class="el" href="aggregation-node_8cc_source.html#l00230">impala::AggregationNode::GetNext()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00735">impala::PartitionedHashJoinNode::GetNext()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00696">impala::AnalyticEvalNode::GetNext()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00271">impala::PartitionedAggregationNode::GetNext()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00139">impala::HdfsScanNode::GetNextInternal()</a>, <a class="el" href="exchange-node_8cc_source.html#l00174">impala::ExchangeNode::GetNextMerging()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00634">impala::AnalyticEvalNode::GetNextOutputBatch()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00378">impala::HashJoinNode::LeftJoinGetNext()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00865">impala::PartitionedHashJoinNode::OutputUnmatchedBuild()</a>, <a class="el" href="exec-node_8h_source.html#l00159">impala::ExecNode::ReachedLimit()</a>, and <a class="el" href="exec-node_8h_source.html#l00157">impala::ExecNode::rows_returned()</a>.</p>
</div>
</div>
<a class="anchor" id="ac55aaa21c7750fd5f8774aee1ac5211a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classimpala_1_1ObjectPool.html">ObjectPool</a>* impala::ExecNode::pool_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="exec-node_8h_source.html#l00211">211</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p>
<p>Referenced by <a class="el" href="sort-node_8cc_source.html#l00034">impala::SortNode::Init()</a>, <a class="el" href="union-node_8cc_source.html#l00038">impala::UnionNode::Init()</a>, <a class="el" href="topn-node_8cc_source.html#l00044">impala::TopNNode::Init()</a>, <a class="el" href="exchange-node_8cc_source.html#l00051">impala::ExchangeNode::Init()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00062">impala::HashJoinNode::Init()</a>, <a class="el" href="aggregation-node_8cc_source.html#l00072">impala::AggregationNode::Init()</a>, <a class="el" href="exec-node_8cc_source.html#l00124">impala::ExecNode::Init()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00066">impala::PartitionedHashJoinNode::Init()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00094">impala::AnalyticEvalNode::Init()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00082">impala::PartitionedAggregationNode::Init()</a>, <a class="el" href="exec-node_8cc_source.html#l00371">impala::ExecNode::InitRuntimeProfile()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00511">impala::HdfsScanNode::Open()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00094">impala::PartitionedHashJoinNode::Prepare()</a>, and <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00500">impala::PartitionedHashJoinNode::ProcessBuildInput()</a>.</p>
</div>
</div>
<a class="anchor" id="aeabc74d9da08ed93250d0f75446cf04c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">boost::scoped_ptr&lt;<a class="el" href="classimpala_1_1RowBatch.html">RowBatch</a>&gt; impala::BlockingJoinNode::probe_batch_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>probe_batch_ must be cleared before calling <a class="el" href="classimpala_1_1ExecNode.html#a151fe2bdeb1cd399dd561f049aee2523">GetNext()</a>. The child node does not initialize all tuple ptrs in the row, only the ones that it is responsible for. </p>
<p>Definition at line <a class="el" href="blocking-join-node_8h_source.html#l00075">75</a> of file <a class="el" href="blocking-join-node_8h_source.html">blocking-join-node.h</a>.</p>
<p>Referenced by <a class="el" href="blocking-join-node_8cc_source.html#l00128">Close()</a>, <a class="el" href="cross-join-node_8cc_source.html#l00085">impala::CrossJoinNode::GetNext()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00218">impala::HashJoinNode::GetNext()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00378">impala::HashJoinNode::LeftJoinGetNext()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00598">impala::PartitionedHashJoinNode::NextProbeRowBatch()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00622">impala::PartitionedHashJoinNode::NextSpilledProbeRowBatch()</a>, <a class="el" href="blocking-join-node_8cc_source.html#l00156">Open()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00927">impala::PartitionedHashJoinNode::OutputNullAwareNullProbe()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00998">impala::PartitionedHashJoinNode::OutputNullAwareProbeRows()</a>, <a class="el" href="blocking-join-node_8cc_source.html#l00055">Prepare()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00918">impala::PartitionedHashJoinNode::PrepareNullAwareNullProbe()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00969">impala::PartitionedHashJoinNode::PrepareNullAwarePartition()</a>, <a class="el" href="partitioned-hash-join-node-ir_8cc_source.html#l00040">impala::PartitionedHashJoinNode::ProcessProbeBatch()</a>, <a class="el" href="blocking-join-node_8cc_source.html#l00120">Reset()</a>, and <a class="el" href="blocking-join-node_8cc_source.html#l00050">~BlockingJoinNode()</a>.</p>
</div>
</div>
<a class="anchor" id="a21024309ba8920fdceb9857987e6a57b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int impala::BlockingJoinNode::probe_batch_pos_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>TODO: These variables should move to a join control block struct, which is local to each probing thread. </p>
<p>Definition at line <a class="el" href="blocking-join-node_8h_source.html#l00081">81</a> of file <a class="el" href="blocking-join-node_8h_source.html">blocking-join-node.h</a>.</p>
<p>Referenced by <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01228">impala::PartitionedHashJoinNode::CleanUpHashPartitions()</a>, <a class="el" href="blocking-join-node_8cc_source.html#l00212">DebugString()</a>, <a class="el" href="cross-join-node_8cc_source.html#l00085">impala::CrossJoinNode::GetNext()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00218">impala::HashJoinNode::GetNext()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00735">impala::PartitionedHashJoinNode::GetNext()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00378">impala::HashJoinNode::LeftJoinGetNext()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00598">impala::PartitionedHashJoinNode::NextProbeRowBatch()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00622">impala::PartitionedHashJoinNode::NextSpilledProbeRowBatch()</a>, <a class="el" href="blocking-join-node_8cc_source.html#l00156">Open()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00927">impala::PartitionedHashJoinNode::OutputNullAwareNullProbe()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00998">impala::PartitionedHashJoinNode::OutputNullAwareProbeRows()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00918">impala::PartitionedHashJoinNode::PrepareNullAwareNullProbe()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00969">impala::PartitionedHashJoinNode::PrepareNullAwarePartition()</a>, <a class="el" href="cross-join-node_8cc_source.html#l00142">impala::CrossJoinNode::ProcessLeftChildBatch()</a>, <a class="el" href="hash-join-node-ir_8cc_source.html#l00040">impala::HashJoinNode::ProcessProbeBatch()</a>, <a class="el" href="partitioned-hash-join-node-ir_8cc_source.html#l00040">impala::PartitionedHashJoinNode::ProcessProbeBatch()</a>, and <a class="el" href="partitioned-hash-join-node_8inline_8h_source.html#l00024">impala::PartitionedHashJoinNode::ResetForProbe()</a>.</p>
</div>
</div>
<a class="anchor" id="a3966103610bfaa17d3746a6dd9a2addd"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classimpala_1_1RuntimeProfile_1_1Counter.html">RuntimeProfile::Counter</a>* impala::BlockingJoinNode::probe_row_counter_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="blocking-join-node_8h_source.html#l00103">103</a> of file <a class="el" href="blocking-join-node_8h_source.html">blocking-join-node.h</a>.</p>
<p>Referenced by <a class="el" href="cross-join-node_8cc_source.html#l00085">impala::CrossJoinNode::GetNext()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00218">impala::HashJoinNode::GetNext()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00378">impala::HashJoinNode::LeftJoinGetNext()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00598">impala::PartitionedHashJoinNode::NextProbeRowBatch()</a>, <a class="el" href="blocking-join-node_8cc_source.html#l00156">Open()</a>, and <a class="el" href="blocking-join-node_8cc_source.html#l00055">Prepare()</a>.</p>
</div>
</div>
<a class="anchor" id="a0fe32f863b33a065dd9a3bc4f3637d23"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classbool.html">bool</a> impala::BlockingJoinNode::probe_side_eos_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="blocking-join-node_8h_source.html#l00077">77</a> of file <a class="el" href="blocking-join-node_8h_source.html">blocking-join-node.h</a>.</p>
<p>Referenced by <a class="el" href="cross-join-node_8cc_source.html#l00085">impala::CrossJoinNode::GetNext()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00218">impala::HashJoinNode::GetNext()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00378">impala::HashJoinNode::LeftJoinGetNext()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00598">impala::PartitionedHashJoinNode::NextProbeRowBatch()</a>, <a class="el" href="blocking-join-node_8cc_source.html#l00156">Open()</a>, and <a class="el" href="blocking-join-node_8cc_source.html#l00120">Reset()</a>.</p>
</div>
</div>
<a class="anchor" id="a502d996c7d1a273c71b157fe1145db45"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classimpala_1_1RuntimeProfile_1_1Counter.html">RuntimeProfile::Counter</a>* impala::BlockingJoinNode::probe_timer_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="blocking-join-node_8h_source.html#l00101">101</a> of file <a class="el" href="blocking-join-node_8h_source.html">blocking-join-node.h</a>.</p>
<p>Referenced by <a class="el" href="cross-join-node_8cc_source.html#l00085">impala::CrossJoinNode::GetNext()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00218">impala::HashJoinNode::GetNext()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00735">impala::PartitionedHashJoinNode::GetNext()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00378">impala::HashJoinNode::LeftJoinGetNext()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00865">impala::PartitionedHashJoinNode::OutputUnmatchedBuild()</a>, and <a class="el" href="blocking-join-node_8cc_source.html#l00055">Prepare()</a>.</p>
</div>
</div>
<a class="anchor" id="a085b4bc35b4a643e2447a7fa147aacb0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int impala::BlockingJoinNode::probe_tuple_row_size_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Size of the <a class="el" href="classimpala_1_1TupleRow.html">TupleRow</a> (just the <a class="el" href="classimpala_1_1Tuple.html" title="A tuple with 0 materialised slots is represented as NULL. ">Tuple</a> ptrs) from the build (right) and probe (left) sides. Set to zero if the build/probe tuples are not returned, e.g., for semi joins. Cached because it is used in the hot path. </p>
<p>Definition at line <a class="el" href="blocking-join-node_8h_source.html#l00088">88</a> of file <a class="el" href="blocking-join-node_8h_source.html">blocking-join-node.h</a>.</p>
<p>Referenced by <a class="el" href="hash-join-node_8cc_source.html#l00462">impala::HashJoinNode::CodegenCreateOutputRow()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01382">impala::PartitionedHashJoinNode::CodegenCreateOutputRow()</a>, <a class="el" href="blocking-join-node_8cc_source.html#l00240">CreateOutputRow()</a>, and <a class="el" href="blocking-join-node_8cc_source.html#l00055">Prepare()</a>.</p>
</div>
</div>
<a class="anchor" id="a900a9e0a75e9839f9c6d4658518944b8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classimpala_1_1RowDescriptor.html">RowDescriptor</a> impala::ExecNode::row_descriptor_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="exec-node_8h_source.html#l00215">215</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p>
<p>Referenced by <a class="el" href="sort-node_8cc_source.html#l00051">impala::SortNode::Open()</a>, <a class="el" href="sort-node_8cc_source.html#l00042">impala::SortNode::Prepare()</a>, <a class="el" href="topn-node_8cc_source.html#l00056">impala::TopNNode::Prepare()</a>, <a class="el" href="exchange-node_8cc_source.html#l00061">impala::ExchangeNode::Prepare()</a>, and <a class="el" href="exec-node_8h_source.html#l00156">impala::ExecNode::row_desc()</a>.</p>
</div>
</div>
<a class="anchor" id="a514778516fb852eed80c2e98bf08fac2"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const string impala::ExecNode::ROW_THROUGHPUT_COUNTER = &quot;RowsReturnedRate&quot;</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Names of counters shared by all exec nodes. </p>
<p>Definition at line <a class="el" href="exec-node_8h_source.html#l00169">169</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p>
<p>Referenced by <a class="el" href="exec-node_8cc_source.html#l00130">impala::ExecNode::Prepare()</a>.</p>
</div>
</div>
<a class="anchor" id="a632a4cdd4c654f362f630936c5ecb29a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classimpala_1_1RuntimeProfile_1_1Counter.html">RuntimeProfile::Counter</a>* impala::ExecNode::rows_returned_counter_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="exec-node_8h_source.html#l00226">226</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p>
<p>Referenced by <a class="el" href="exec-node_8cc_source.html#l00166">impala::ExecNode::Close()</a>, <a class="el" href="select-node_8cc_source.html#l00088">impala::SelectNode::CopyRows()</a>, <a class="el" href="union-node_8cc_source.html#l00198">impala::UnionNode::EvalAndMaterializeExprs()</a>, <a class="el" href="sort-node_8cc_source.html#l00078">impala::SortNode::GetNext()</a>, <a class="el" href="hbase-scan-node_8cc_source.html#l00147">impala::HBaseScanNode::GetNext()</a>, <a class="el" href="topn-node_8cc_source.html#l00106">impala::TopNNode::GetNext()</a>, <a class="el" href="exchange-node_8cc_source.html#l00120">impala::ExchangeNode::GetNext()</a>, <a class="el" href="cross-join-node_8cc_source.html#l00085">impala::CrossJoinNode::GetNext()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00218">impala::HashJoinNode::GetNext()</a>, <a class="el" href="aggregation-node_8cc_source.html#l00230">impala::AggregationNode::GetNext()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00696">impala::AnalyticEvalNode::GetNext()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00735">impala::PartitionedHashJoinNode::GetNext()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00271">impala::PartitionedAggregationNode::GetNext()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00139">impala::HdfsScanNode::GetNextInternal()</a>, <a class="el" href="exchange-node_8cc_source.html#l00174">impala::ExchangeNode::GetNextMerging()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00378">impala::HashJoinNode::LeftJoinGetNext()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00865">impala::PartitionedHashJoinNode::OutputUnmatchedBuild()</a>, and <a class="el" href="exec-node_8cc_source.html#l00130">impala::ExecNode::Prepare()</a>.</p>
</div>
</div>
<a class="anchor" id="a1fda03b2e215e5fac1352403ae737030"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classimpala_1_1RuntimeProfile_1_1Counter.html">RuntimeProfile::Counter</a>* impala::ExecNode::rows_returned_rate_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="exec-node_8h_source.html#l00227">227</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p>
<p>Referenced by <a class="el" href="exec-node_8cc_source.html#l00130">impala::ExecNode::Prepare()</a>.</p>
</div>
</div>
<a class="anchor" id="a6e72d8a73cfdc5ab09f6bafcca6f8411"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::string impala::ExecNode::runtime_exec_options_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="exec-node_8h_source.html#l00239">239</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p>
<p>Referenced by <a class="el" href="exec-node_8cc_source.html#l00188">impala::ExecNode::AddRuntimeExecOption()</a>.</p>
</div>
</div>
<a class="anchor" id="a9cab4e45a94527ff97333c0f280036f8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">boost::scoped_ptr&lt;<a class="el" href="classimpala_1_1RuntimeProfile.html">RuntimeProfile</a>&gt; impala::ExecNode::runtime_profile_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="exec-node_8h_source.html#l00225">225</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p>
<p>Referenced by <a class="el" href="hbase-scan-node_8cc_source.html#l00277">impala::HBaseScanNode::Close()</a>, <a class="el" href="select-node_8cc_source.html#l00049">impala::SelectNode::GetNext()</a>, <a class="el" href="sort-node_8cc_source.html#l00078">impala::SortNode::GetNext()</a>, <a class="el" href="union-node_8cc_source.html#l00119">impala::UnionNode::GetNext()</a>, <a class="el" href="hbase-scan-node_8cc_source.html#l00147">impala::HBaseScanNode::GetNext()</a>, <a class="el" href="topn-node_8cc_source.html#l00106">impala::TopNNode::GetNext()</a>, <a class="el" href="exchange-node_8cc_source.html#l00120">impala::ExchangeNode::GetNext()</a>, <a class="el" href="cross-join-node_8cc_source.html#l00085">impala::CrossJoinNode::GetNext()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00218">impala::HashJoinNode::GetNext()</a>, <a class="el" href="aggregation-node_8cc_source.html#l00230">impala::AggregationNode::GetNext()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00696">impala::AnalyticEvalNode::GetNext()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00735">impala::PartitionedHashJoinNode::GetNext()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00271">impala::PartitionedAggregationNode::GetNext()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00111">impala::HdfsScanNode::GetNext()</a>, <a class="el" href="exec-node_8cc_source.html#l00371">impala::ExecNode::InitRuntimeProfile()</a>, <a class="el" href="select-node_8cc_source.html#l00042">impala::SelectNode::Open()</a>, <a class="el" href="hbase-scan-node_8cc_source.html#l00117">impala::HBaseScanNode::Open()</a>, <a class="el" href="union-node_8cc_source.html#l00088">impala::UnionNode::Open()</a>, <a class="el" href="sort-node_8cc_source.html#l00051">impala::SortNode::Open()</a>, <a class="el" href="topn-node_8cc_source.html#l00070">impala::TopNNode::Open()</a>, <a class="el" href="exchange-node_8cc_source.html#l00077">impala::ExchangeNode::Open()</a>, <a class="el" href="data-source-scan-node_8cc_source.html#l00092">impala::DataSourceScanNode::Open()</a>, <a class="el" href="blocking-join-node_8cc_source.html#l00156">Open()</a>, <a class="el" href="aggregation-node_8cc_source.html#l00174">impala::AggregationNode::Open()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00166">impala::AnalyticEvalNode::Open()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00209">impala::PartitionedAggregationNode::Open()</a>, <a class="el" href="select-node_8cc_source.html#l00034">impala::SelectNode::Prepare()</a>, <a class="el" href="sort-node_8cc_source.html#l00042">impala::SortNode::Prepare()</a>, <a class="el" href="union-node_8cc_source.html#l00058">impala::UnionNode::Prepare()</a>, <a class="el" href="topn-node_8cc_source.html#l00056">impala::TopNNode::Prepare()</a>, <a class="el" href="blocking-join-node_8cc_source.html#l00055">Prepare()</a>, <a class="el" href="hash-join-node_8cc_source.html#l00080">impala::HashJoinNode::Prepare()</a>, <a class="el" href="aggregation-node_8cc_source.html#l00085">impala::AggregationNode::Prepare()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00094">impala::PartitionedHashJoinNode::Prepare()</a>, <a class="el" href="analytic-eval-node_8cc_source.html#l00124">impala::AnalyticEvalNode::Prepare()</a>, <a class="el" href="exec-node_8cc_source.html#l00130">impala::ExecNode::Prepare()</a>, <a class="el" href="scan-node_8cc_source.html#l00044">impala::ScanNode::Prepare()</a>, <a class="el" href="partitioned-aggregation-node_8cc_source.html#l00095">impala::PartitionedAggregationNode::Prepare()</a>, <a class="el" href="hdfs-scan-node_8cc_source.html#l00304">impala::HdfsScanNode::Prepare()</a>, <a class="el" href="exec-node_8h_source.html#l00161">impala::ExecNode::runtime_profile()</a>, and <a class="el" href="hdfs-scan-node_8cc_source.html#l00982">impala::HdfsScanNode::StopAndFinalizeCounters()</a>.</p>
</div>
</div>
<a class="anchor" id="ac8b67078e6b7fce5155c9747f596c616"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classimpala_1_1TupleRow.html">TupleRow</a>* impala::BlockingJoinNode::semi_join_staging_row_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Row assembled from all lhs and rhs tuples used for evaluating the non-equi-join conjuncts for semi joins. Semi joins only return the lhs or rhs output tuples, so this tuple is temporarily assembled for evaluating the conjuncts. </p>
<p>Definition at line <a class="el" href="blocking-join-node_8h_source.html#l00094">94</a> of file <a class="el" href="blocking-join-node_8h_source.html">blocking-join-node.h</a>.</p>
<p>Referenced by <a class="el" href="blocking-join-node_8cc_source.html#l00128">Close()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l01163">impala::PartitionedHashJoinNode::EvaluateNullProbe()</a>, <a class="el" href="partitioned-hash-join-node_8cc_source.html#l00998">impala::PartitionedHashJoinNode::OutputNullAwareProbeRows()</a>, <a class="el" href="blocking-join-node_8cc_source.html#l00055">Prepare()</a>, <a class="el" href="hash-join-node-ir_8cc_source.html#l00040">impala::HashJoinNode::ProcessProbeBatch()</a>, and <a class="el" href="partitioned-hash-join-node-ir_8cc_source.html#l00040">impala::PartitionedHashJoinNode::ProcessProbeBatch()</a>.</p>
</div>
</div>
<a class="anchor" id="ab86051ba57221a009063eda6e2aefd76"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">TPlanNodeType::type impala::ExecNode::type_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="exec-node_8h_source.html#l00210">210</a> of file <a class="el" href="exec-node_8h_source.html">exec-node.h</a>.</p>
<p>Referenced by <a class="el" href="exec-node_8cc_source.html#l00359">impala::ExecNode::CollectNodes()</a>, and <a class="el" href="exec-node_8h_source.html#l00155">impala::ExecNode::type()</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>be/src/exec/<a class="el" href="blocking-join-node_8h_source.html">blocking-join-node.h</a></li>
<li>be/src/exec/<a class="el" href="blocking-join-node_8cc_source.html">blocking-join-node.cc</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespaceimpala.html">impala</a></li><li class="navelem"><a class="el" href="classimpala_1_1BlockingJoinNode.html">BlockingJoinNode</a></li>
<li class="footer">Generated on Thu May 7 2015 16:10:46 for Impala by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6 </li>
</ul>
</div>
</body>
</html>